diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-09-02 23:52:55 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-09-02 23:52:55 +0000 |
commit | 5047d7657503dfa8f7d97909c9d5c198646cd0ed (patch) | |
tree | aade617964af2fabe3809e8ba4bcc4c6c64cada8 /test/CodeGen/X86/cmov.ll | |
parent | b8e052e123a1950adc180b89d8aba0df7765964f (diff) | |
download | external_llvm-5047d7657503dfa8f7d97909c9d5c198646cd0ed.zip external_llvm-5047d7657503dfa8f7d97909c9d5c198646cd0ed.tar.gz external_llvm-5047d7657503dfa8f7d97909c9d5c198646cd0ed.tar.bz2 |
Pseudo CMOV instructions don't clobber EFLAGS.
The explanation about a 0 argument being materialized as xor is no
longer valid. Rematerialization will check if EFLAGS is live before
clobbering it.
The code produced by X86TargetLowering::EmitLoweredSelect does not
clobber EFLAGS.
This causes one less testb instruction to be generated in the cmov.ll
test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139057 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/cmov.ll')
-rw-r--r-- | test/CodeGen/X86/cmov.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/CodeGen/X86/cmov.ll b/test/CodeGen/X86/cmov.ll index 39d9d1e..7a8d6e6 100644 --- a/test/CodeGen/X86/cmov.ll +++ b/test/CodeGen/X86/cmov.ll @@ -90,8 +90,8 @@ bb.i.i.i: ; preds = %entry ; CHECK: test4: ; CHECK: g_100 ; CHECK: testb -; CHECK: testb %al, %al -; CHECK-NEXT: setne %al +; CHECK-NOT: xor +; CHECK: setne ; CHECK-NEXT: testb func_4.exit.i: ; preds = %bb.i.i.i, %entry |