summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/adx-intrinsics-upgrade.ll
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2019-01-25 15:58:28 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2019-01-25 15:58:28 +0000
commitf56298f4b9306d038fe415e1f721414bc75fdb57 (patch)
treeb5baed425f750b67cc769835e5234a454be09dbd /llvm/test/CodeGen/X86/adx-intrinsics-upgrade.ll
parent21aa6ddc1413667516f7b5cc7a6013a9593dd404 (diff)
downloadbcm5719-llvm-f56298f4b9306d038fe415e1f721414bc75fdb57.tar.gz
bcm5719-llvm-f56298f4b9306d038fe415e1f721414bc75fdb57.zip
[X86] Simplify X86ISD::ADD/SUB if we don't use the result flag
Simplify to the generic ISD::ADD/SUB if we don't make use of the result flag. This mainly helps with ADDCARRY/SUBBORROW intrinsics which get expanded to X86ISD::ADD/SUB but could be simplified further. Noticed in some of the test cases in PR31754 Differential Revision: https://reviews.llvm.org/D57234 llvm-svn: 352210
Diffstat (limited to 'llvm/test/CodeGen/X86/adx-intrinsics-upgrade.ll')
-rw-r--r--llvm/test/CodeGen/X86/adx-intrinsics-upgrade.ll4
1 files changed, 1 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/X86/adx-intrinsics-upgrade.ll b/llvm/test/CodeGen/X86/adx-intrinsics-upgrade.ll
index 34f8ff87259..762314a5b55 100644
--- a/llvm/test/CodeGen/X86/adx-intrinsics-upgrade.ll
+++ b/llvm/test/CodeGen/X86/adx-intrinsics-upgrade.ll
@@ -108,9 +108,7 @@ define i32 @load_crash(i64* nocapture readonly %a, i64* nocapture readonly %b, i
define void @allzeros() {
; CHECK-LABEL: allzeros:
; CHECK: ## %bb.0: ## %entry
-; CHECK-NEXT: xorl %eax, %eax ## encoding: [0x31,0xc0]
-; CHECK-NEXT: addq $0, %rax ## encoding: [0x48,0x83,0xc0,0x00]
-; CHECK-NEXT: movq %rax, 0 ## encoding: [0x48,0x89,0x04,0x25,0x00,0x00,0x00,0x00]
+; CHECK-NEXT: movq $0, 0 ## encoding: [0x48,0xc7,0x04,0x25,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
; CHECK-NEXT: retq ## encoding: [0xc3]
entry:
%0 = tail call i8 @llvm.x86.addcarryx.u64(i8 0, i64 0, i64 0, i8* null)
OpenPOWER on IntegriCloud