llvm.org GIT mirror llvm / 9ac6eee
[X86] Add test cases for 32 and 64 bit versions of PR42118. NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362452 91177308-0d34-0410-b5e6-96231b3b80d8 Craig Topper 3 months ago
1 changed file(s) with 17 addition(s) and 10 deletion(s). Raw diff Collapse all Expand all
11521152 define void @pr42118_i32(i32 %x) {
11531153 ; X86-LABEL: pr42118_i32:
11541154 ; X86: # %bb.0:
1155 ; X86-NEXT: blsrl {{[0-9]+}}(%esp), %eax
1155 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1156 ; X86-NEXT: movl %eax, %ecx
1157 ; X86-NEXT: negl %ecx
1158 ; X86-NEXT: andnl %eax, %ecx, %eax
11561159 ; X86-NEXT: jne .LBB48_1
11571160 ; X86-NEXT: # %bb.2:
11581161 ; X86-NEXT: jmp bar # TAILCALL
11611164 ;
11621165 ; X64-LABEL: pr42118_i32:
11631166 ; X64: # %bb.0:
1164 ; X64-NEXT: blsrl %edi, %eax
1167 ; X64-NEXT: movl %edi, %eax
1168 ; X64-NEXT: negl %eax
1169 ; X64-NEXT: andnl %edi, %eax, %eax
11651170 ; X64-NEXT: jne .LBB48_1
11661171 ; X64-NEXT: # %bb.2:
11671172 ; X64-NEXT: jmp bar # TAILCALL
11861191 ; X86-NEXT: .cfi_offset %esi, -8
11871192 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
11881193 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
1189 ; X86-NEXT: movl %eax, %edx
1190 ; X86-NEXT: addl $-1, %edx
1191 ; X86-NEXT: movl %ecx, %esi
1192 ; X86-NEXT: adcl $-1, %esi
1193 ; X86-NEXT: andl %eax, %edx
1194 ; X86-NEXT: andl %ecx, %esi
1195 ; X86-NEXT: orl %edx, %esi
1194 ; X86-NEXT: xorl %edx, %edx
1195 ; X86-NEXT: movl %eax, %esi
1196 ; X86-NEXT: negl %esi
1197 ; X86-NEXT: sbbl %ecx, %edx
1198 ; X86-NEXT: andnl %ecx, %edx, %ecx
1199 ; X86-NEXT: andnl %eax, %esi, %eax
1200 ; X86-NEXT: orl %ecx, %eax
11961201 ; X86-NEXT: jne .LBB49_1
11971202 ; X86-NEXT: # %bb.2:
11981203 ; X86-NEXT: popl %esi
12061211 ;
12071212 ; X64-LABEL: pr42118_i64:
12081213 ; X64: # %bb.0:
1209 ; X64-NEXT: blsrq %rdi, %rax
1214 ; X64-NEXT: movq %rdi, %rax
1215 ; X64-NEXT: negq %rax
1216 ; X64-NEXT: andnq %rdi, %rax, %rax
12101217 ; X64-NEXT: jne .LBB49_1
12111218 ; X64-NEXT: # %bb.2:
12121219 ; X64-NEXT: jmp bar # TAILCALL