1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2
- ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+cmov,+sse2,+bmi | FileCheck %s --check-prefixes=X86,X86-BMI
3
- ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+cmov,+sse2,+bmi,+bmi2 | FileCheck %s --check-prefixes=X86,X86-BMI2
4
- ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+bmi | FileCheck %s --check-prefixes=X64,X64-BMI
5
- ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+bmi,+bmi2 | FileCheck %s --check-prefixes=X64,X64-BMI2
2
+ ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+cmov,+sse2,+bmi | FileCheck %s --check-prefixes=X86
3
+ ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+cmov,+sse2,+bmi,+bmi2 | FileCheck %s --check-prefixes=X86
4
+ ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+bmi | FileCheck %s --check-prefixes=X64
5
+ ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+bmi,+bmi2 | FileCheck %s --check-prefixes=X64
6
6
7
- define i32 @and_select_neg_to_blsi1 (i1 %a0 , i32 inreg %a1 ) nounwind {
8
7
; PR131587
8
+ define i32 @and_select_neg_to_blsi1 (i1 %a0 , i32 inreg %a1 ) nounwind {
9
9
; X86-LABEL: and_select_neg_to_blsi1:
10
10
; X86: # %bb.0:
11
11
; X86-NEXT: blsil %eax, %ecx
@@ -25,8 +25,8 @@ define i32 @and_select_neg_to_blsi1(i1 %a0, i32 inreg %a1) nounwind {
25
25
ret i32 %ret
26
26
}
27
27
28
- define i32 @and_select_neg_to_blsi2 (i1 %a0 , i32 inreg %a1 ) nounwind {
29
28
; PR131587
29
+ define i32 @and_select_neg_to_blsi2 (i1 %a0 , i32 inreg %a1 ) nounwind {
30
30
; X86-LABEL: and_select_neg_to_blsi2:
31
31
; X86: # %bb.0:
32
32
; X86-NEXT: blsil %eax, %ecx
@@ -46,8 +46,8 @@ define i32 @and_select_neg_to_blsi2(i1 %a0, i32 inreg %a1) nounwind {
46
46
ret i32 %ret
47
47
}
48
48
49
- define i32 @and_select_neg_to_blsi3 (i1 %a0 , i32 inreg %a1 ) nounwind {
50
49
; PR131587
50
+ define i32 @and_select_neg_to_blsi3 (i1 %a0 , i32 inreg %a1 ) nounwind {
51
51
; X86-LABEL: and_select_neg_to_blsi3:
52
52
; X86: # %bb.0:
53
53
; X86-NEXT: blsil %eax, %ecx
@@ -67,8 +67,8 @@ define i32 @and_select_neg_to_blsi3(i1 %a0, i32 inreg %a1) nounwind {
67
67
ret i32 %ret
68
68
}
69
69
70
- define i64 @and_select_neg_to_blsi_i64 (i1 %a0 , i64 %a1 ) nounwind {
71
70
; PR131587
71
+ define i64 @and_select_neg_to_blsi_i64 (i1 %a0 , i64 %a1 ) nounwind {
72
72
; X86-LABEL: and_select_neg_to_blsi_i64:
73
73
; X86: # %bb.0:
74
74
; X86-NEXT: pushl %esi
@@ -283,8 +283,8 @@ define i32 @and_select_neg_different_op(i1 %a0, i32 inreg %a1, i32 inreg %a2) no
283
283
ret i32 %ret
284
284
}
285
285
286
- define i32 @and_select_sub_1_to_blsr1 (i1 %a0 , i32 inreg %a1 ) nounwind {
287
286
; PR133848
287
+ define i32 @and_select_sub_1_to_blsr1 (i1 %a0 , i32 inreg %a1 ) nounwind {
288
288
; X86-LABEL: and_select_sub_1_to_blsr1:
289
289
; X86: # %bb.0:
290
290
; X86-NEXT: blsrl %eax, %ecx
@@ -304,8 +304,8 @@ define i32 @and_select_sub_1_to_blsr1(i1 %a0, i32 inreg %a1) nounwind {
304
304
ret i32 %ret
305
305
}
306
306
307
- define i32 @and_select_sub_1_to_blsr2 (i1 %a0 , i32 inreg %a1 ) nounwind {
308
307
; PR133848
308
+ define i32 @and_select_sub_1_to_blsr2 (i1 %a0 , i32 inreg %a1 ) nounwind {
309
309
; X86-LABEL: and_select_sub_1_to_blsr2:
310
310
; X86: # %bb.0:
311
311
; X86-NEXT: blsrl %eax, %ecx
@@ -325,8 +325,8 @@ define i32 @and_select_sub_1_to_blsr2(i1 %a0, i32 inreg %a1) nounwind {
325
325
ret i32 %ret
326
326
}
327
327
328
- define i32 @and_select_sub_1_to_blsr3 (i1 %a0 , i32 inreg %a1 ) nounwind {
329
328
; PR133848
329
+ define i32 @and_select_sub_1_to_blsr3 (i1 %a0 , i32 inreg %a1 ) nounwind {
330
330
; X86-LABEL: and_select_sub_1_to_blsr3:
331
331
; X86: # %bb.0:
332
332
; X86-NEXT: blsrl %eax, %ecx
@@ -346,8 +346,8 @@ define i32 @and_select_sub_1_to_blsr3(i1 %a0, i32 inreg %a1) nounwind {
346
346
ret i32 %ret
347
347
}
348
348
349
- define i32 @and_select_sub_1_to_blsr4 (i1 %a0 , i32 inreg %a1 ) nounwind {
350
349
; PR133848
350
+ define i32 @and_select_sub_1_to_blsr4 (i1 %a0 , i32 inreg %a1 ) nounwind {
351
351
; X86-LABEL: and_select_sub_1_to_blsr4:
352
352
; X86: # %bb.0:
353
353
; X86-NEXT: blsrl %eax, %ecx
@@ -392,8 +392,8 @@ define i32 @and_sub_1_select_orig(i1 %a0, i32 inreg %a1) nounwind {
392
392
ret i32 %ret
393
393
}
394
394
395
- define i64 @and_select_sub_1_to_blsr_i64 (i1 %a0 , i64 %a1 ) nounwind {
396
395
; PR133848
396
+ define i64 @and_select_sub_1_to_blsr_i64 (i1 %a0 , i64 %a1 ) nounwind {
397
397
; X86-LABEL: and_select_sub_1_to_blsr_i64:
398
398
; X86: # %bb.0:
399
399
; X86-NEXT: pushl %esi
@@ -863,8 +863,3 @@ define i32 @xor_select_sub_1_different_op(i1 %a0, i32 inreg %a1, i32 inreg %a2)
863
863
%ret = xor i32 %a1 , %bls
864
864
ret i32 %ret
865
865
}
866
- ;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
867
- ; X64-BMI: {{.*}}
868
- ; X64-BMI2: {{.*}}
869
- ; X86-BMI: {{.*}}
870
- ; X86-BMI2: {{.*}}
0 commit comments