diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/uadd_sat.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/uadd_sat.ll | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/llvm/test/CodeGen/X86/uadd_sat.ll b/llvm/test/CodeGen/X86/uadd_sat.ll index 7124e453523..3d3a1f534b0 100644 --- a/llvm/test/CodeGen/X86/uadd_sat.ll +++ b/llvm/test/CodeGen/X86/uadd_sat.ll @@ -98,26 +98,21 @@ define zeroext i4 @func3(i4 zeroext %x, i4 zeroext %y) nounwind { ; X86-LABEL: func3: ; X86: # %bb.0: ; X86-NEXT: movb {{[0-9]+}}(%esp), %al -; X86-NEXT: movb {{[0-9]+}}(%esp), %cl -; X86-NEXT: shlb $4, %cl -; X86-NEXT: shlb $4, %al -; X86-NEXT: addb %cl, %al +; X86-NEXT: addb {{[0-9]+}}(%esp), %al +; X86-NEXT: movzbl %al, %ecx +; X86-NEXT: cmpb $15, %al +; X86-NEXT: movl $15, %eax +; X86-NEXT: cmovbl %ecx, %eax ; X86-NEXT: movzbl %al, %eax -; X86-NEXT: movl $255, %ecx -; X86-NEXT: cmovael %eax, %ecx -; X86-NEXT: shrb $4, %cl -; X86-NEXT: movzbl %cl, %eax ; X86-NEXT: retl ; ; X64-LABEL: func3: ; X64: # %bb.0: -; X64-NEXT: shlb $4, %sil -; X64-NEXT: shlb $4, %dil ; X64-NEXT: addb %sil, %dil ; X64-NEXT: movzbl %dil, %eax -; X64-NEXT: movl $255, %ecx -; X64-NEXT: cmovael %eax, %ecx -; X64-NEXT: shrb $4, %cl +; X64-NEXT: cmpb $15, %al +; X64-NEXT: movl $15, %ecx +; X64-NEXT: cmovbl %eax, %ecx ; X64-NEXT: movzbl %cl, %eax ; X64-NEXT: retq %tmp = call i4 @llvm.uadd.sat.i4(i4 %x, i4 %y) |