@@ -1642,59 +1642,13 @@ define i64 @PR111325(i64 %a0, i1 %a1) {
16421642; X86-NOOPT-NEXT: xorl %edx, %edx
16431643; X86-NOOPT-NEXT: retl
16441644;
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
16981652entry:
16991653 %mul = mul i64 %a0 , 4294967295
17001654 %mask = and i64 %mul , 4294967295
0 commit comments