diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-01-25 15:58:28 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-01-25 15:58:28 +0000 |
commit | f56298f4b9306d038fe415e1f721414bc75fdb57 (patch) | |
tree | b5baed425f750b67cc769835e5234a454be09dbd /llvm/test/CodeGen/X86/adx-intrinsics-upgrade.ll | |
parent | 21aa6ddc1413667516f7b5cc7a6013a9593dd404 (diff) | |
download | bcm5719-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.ll | 4 |
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) |