11; 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
66
7- define i32 @and_select_neg_to_blsi1 (i1 %a0 , i32 inreg %a1 ) nounwind {
87; PR131587
8+ define i32 @and_select_neg_to_blsi1 (i1 %a0 , i32 inreg %a1 ) nounwind {
99; X86-LABEL: and_select_neg_to_blsi1:
1010; X86: # %bb.0:
1111; X86-NEXT: blsil %eax, %ecx
@@ -25,8 +25,8 @@ define i32 @and_select_neg_to_blsi1(i1 %a0, i32 inreg %a1) nounwind {
2525 ret i32 %ret
2626}
2727
28- define i32 @and_select_neg_to_blsi2 (i1 %a0 , i32 inreg %a1 ) nounwind {
2928; PR131587
29+ define i32 @and_select_neg_to_blsi2 (i1 %a0 , i32 inreg %a1 ) nounwind {
3030; X86-LABEL: and_select_neg_to_blsi2:
3131; X86: # %bb.0:
3232; X86-NEXT: blsil %eax, %ecx
@@ -46,8 +46,8 @@ define i32 @and_select_neg_to_blsi2(i1 %a0, i32 inreg %a1) nounwind {
4646 ret i32 %ret
4747}
4848
49- define i32 @and_select_neg_to_blsi3 (i1 %a0 , i32 inreg %a1 ) nounwind {
5049; PR131587
50+ define i32 @and_select_neg_to_blsi3 (i1 %a0 , i32 inreg %a1 ) nounwind {
5151; X86-LABEL: and_select_neg_to_blsi3:
5252; X86: # %bb.0:
5353; X86-NEXT: blsil %eax, %ecx
@@ -67,8 +67,8 @@ define i32 @and_select_neg_to_blsi3(i1 %a0, i32 inreg %a1) nounwind {
6767 ret i32 %ret
6868}
6969
70- define i64 @and_select_neg_to_blsi_i64 (i1 %a0 , i64 %a1 ) nounwind {
7170; PR131587
71+ define i64 @and_select_neg_to_blsi_i64 (i1 %a0 , i64 %a1 ) nounwind {
7272; X86-LABEL: and_select_neg_to_blsi_i64:
7373; X86: # %bb.0:
7474; X86-NEXT: pushl %esi
@@ -283,8 +283,8 @@ define i32 @and_select_neg_different_op(i1 %a0, i32 inreg %a1, i32 inreg %a2) no
283283 ret i32 %ret
284284}
285285
286- define i32 @and_select_sub_1_to_blsr1 (i1 %a0 , i32 inreg %a1 ) nounwind {
287286; PR133848
287+ define i32 @and_select_sub_1_to_blsr1 (i1 %a0 , i32 inreg %a1 ) nounwind {
288288; X86-LABEL: and_select_sub_1_to_blsr1:
289289; X86: # %bb.0:
290290; X86-NEXT: blsrl %eax, %ecx
@@ -304,8 +304,8 @@ define i32 @and_select_sub_1_to_blsr1(i1 %a0, i32 inreg %a1) nounwind {
304304 ret i32 %ret
305305}
306306
307- define i32 @and_select_sub_1_to_blsr2 (i1 %a0 , i32 inreg %a1 ) nounwind {
308307; PR133848
308+ define i32 @and_select_sub_1_to_blsr2 (i1 %a0 , i32 inreg %a1 ) nounwind {
309309; X86-LABEL: and_select_sub_1_to_blsr2:
310310; X86: # %bb.0:
311311; X86-NEXT: blsrl %eax, %ecx
@@ -325,8 +325,8 @@ define i32 @and_select_sub_1_to_blsr2(i1 %a0, i32 inreg %a1) nounwind {
325325 ret i32 %ret
326326}
327327
328- define i32 @and_select_sub_1_to_blsr3 (i1 %a0 , i32 inreg %a1 ) nounwind {
329328; PR133848
329+ define i32 @and_select_sub_1_to_blsr3 (i1 %a0 , i32 inreg %a1 ) nounwind {
330330; X86-LABEL: and_select_sub_1_to_blsr3:
331331; X86: # %bb.0:
332332; X86-NEXT: blsrl %eax, %ecx
@@ -346,8 +346,8 @@ define i32 @and_select_sub_1_to_blsr3(i1 %a0, i32 inreg %a1) nounwind {
346346 ret i32 %ret
347347}
348348
349- define i32 @and_select_sub_1_to_blsr4 (i1 %a0 , i32 inreg %a1 ) nounwind {
350349; PR133848
350+ define i32 @and_select_sub_1_to_blsr4 (i1 %a0 , i32 inreg %a1 ) nounwind {
351351; X86-LABEL: and_select_sub_1_to_blsr4:
352352; X86: # %bb.0:
353353; X86-NEXT: blsrl %eax, %ecx
@@ -392,8 +392,8 @@ define i32 @and_sub_1_select_orig(i1 %a0, i32 inreg %a1) nounwind {
392392 ret i32 %ret
393393}
394394
395- define i64 @and_select_sub_1_to_blsr_i64 (i1 %a0 , i64 %a1 ) nounwind {
396395; PR133848
396+ define i64 @and_select_sub_1_to_blsr_i64 (i1 %a0 , i64 %a1 ) nounwind {
397397; X86-LABEL: and_select_sub_1_to_blsr_i64:
398398; X86: # %bb.0:
399399; X86-NEXT: pushl %esi
@@ -863,8 +863,3 @@ define i32 @xor_select_sub_1_different_op(i1 %a0, i32 inreg %a1, i32 inreg %a2)
863863 %ret = xor i32 %a1 , %bls
864864 ret i32 %ret
865865}
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