@@ -1642,59 +1642,13 @@ define i64 @PR111325(i64 %a0, i1 %a1) {
1642
1642
; X86-NOOPT-NEXT: xorl %edx, %edx
1643
1643
; X86-NOOPT-NEXT: retl
1644
1644
;
1645
- ; X64-HSW-LABEL: PR111325:
1646
- ; X64-HSW: # %bb.0: # %entry
1647
- ; X64-HSW-NEXT: movl $4294967295, %ecx # imm = 0xFFFFFFFF
1648
- ; X64-HSW-NEXT: movl $4294967295, %eax # imm = 0xFFFFFFFF
1649
- ; X64-HSW-NEXT: imull %edi, %eax
1650
- ; X64-HSW-NEXT: testb $1, %sil
1651
- ; X64-HSW-NEXT: cmoveq %rcx, %rax
1652
- ; X64-HSW-NEXT: retq
1653
- ;
1654
- ; X64-JAG-LABEL: PR111325:
1655
- ; X64-JAG: # %bb.0: # %entry
1656
- ; X64-JAG-NEXT: movl $4294967295, %eax # imm = 0xFFFFFFFF
1657
- ; X64-JAG-NEXT: movl $4294967295, %ecx # imm = 0xFFFFFFFF
1658
- ; X64-JAG-NEXT: imull %edi, %eax
1659
- ; X64-JAG-NEXT: testb $1, %sil
1660
- ; X64-JAG-NEXT: cmoveq %rcx, %rax
1661
- ; X64-JAG-NEXT: retq
1662
- ;
1663
- ; X64-SLM-LABEL: PR111325:
1664
- ; X64-SLM: # %bb.0: # %entry
1665
- ; X64-SLM-NEXT: movl $4294967295, %eax # imm = 0xFFFFFFFF
1666
- ; X64-SLM-NEXT: movl $4294967295, %ecx # imm = 0xFFFFFFFF
1667
- ; X64-SLM-NEXT: imull %edi, %eax
1668
- ; X64-SLM-NEXT: testb $1, %sil
1669
- ; X64-SLM-NEXT: cmoveq %rcx, %rax
1670
- ; X64-SLM-NEXT: retq
1671
- ;
1672
- ; X64-HSW-NOOPT-LABEL: PR111325:
1673
- ; X64-HSW-NOOPT: # %bb.0: # %entry
1674
- ; X64-HSW-NOOPT-NEXT: movl $4294967295, %ecx # imm = 0xFFFFFFFF
1675
- ; X64-HSW-NOOPT-NEXT: movl $4294967295, %eax # imm = 0xFFFFFFFF
1676
- ; X64-HSW-NOOPT-NEXT: imull %edi, %eax
1677
- ; X64-HSW-NOOPT-NEXT: testb $1, %sil
1678
- ; X64-HSW-NOOPT-NEXT: cmoveq %rcx, %rax
1679
- ; X64-HSW-NOOPT-NEXT: retq
1680
- ;
1681
- ; X64-JAG-NOOPT-LABEL: PR111325:
1682
- ; X64-JAG-NOOPT: # %bb.0: # %entry
1683
- ; X64-JAG-NOOPT-NEXT: movl $4294967295, %eax # imm = 0xFFFFFFFF
1684
- ; X64-JAG-NOOPT-NEXT: movl $4294967295, %ecx # imm = 0xFFFFFFFF
1685
- ; X64-JAG-NOOPT-NEXT: imull %edi, %eax
1686
- ; X64-JAG-NOOPT-NEXT: testb $1, %sil
1687
- ; X64-JAG-NOOPT-NEXT: cmoveq %rcx, %rax
1688
- ; X64-JAG-NOOPT-NEXT: retq
1689
- ;
1690
- ; X64-SLM-NOOPT-LABEL: PR111325:
1691
- ; X64-SLM-NOOPT: # %bb.0: # %entry
1692
- ; X64-SLM-NOOPT-NEXT: movl $4294967295, %eax # imm = 0xFFFFFFFF
1693
- ; X64-SLM-NOOPT-NEXT: movl $4294967295, %ecx # imm = 0xFFFFFFFF
1694
- ; X64-SLM-NOOPT-NEXT: imull %edi, %eax
1695
- ; X64-SLM-NOOPT-NEXT: testb $1, %sil
1696
- ; X64-SLM-NOOPT-NEXT: cmoveq %rcx, %rax
1697
- ; X64-SLM-NOOPT-NEXT: retq
1645
+ ; X64-LABEL: PR111325:
1646
+ ; X64: # %bb.0: # %entry
1647
+ ; X64-NEXT: negl %edi
1648
+ ; X64-NEXT: testb $1, %sil
1649
+ ; X64-NEXT: movl $4294967295, %eax # imm = 0xFFFFFFFF
1650
+ ; X64-NEXT: cmovneq %rdi, %rax
1651
+ ; X64-NEXT: retq
1698
1652
entry:
1699
1653
%mul = mul i64 %a0 , 4294967295
1700
1654
%mask = and i64 %mul , 4294967295
0 commit comments