diff options
author | Hal Finkel <hfinkel@anl.gov> | 2014-12-04 00:46:20 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2014-12-04 00:46:20 +0000 |
commit | ec086bf087e30f9bbcacbd492e3d30df9202bf6b (patch) | |
tree | e6c9927365a5d60380b9b320e05615801f2888ca /test/CodeGen/PowerPC/cc.ll | |
parent | 6bb0038b54056b71a6cd936024ff0f2c38543228 (diff) |
[PowerPC] 'cc' should be an alias only to 'cr0'
We had mistakenly believed that GCC's 'cc' referred to the entire
condition-code register (cr0 through cr7) -- and implemented this in r205630 to
fix PR19326, but 'cc' is actually an alias only to 'cr0'. This is causing LLVM
to clobber too much with legacy code with inline asm using the 'cc' clobber.
Fixes PR21451.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223328 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PowerPC/cc.ll')
-rw-r--r-- | test/CodeGen/PowerPC/cc.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/CodeGen/PowerPC/cc.ll b/test/CodeGen/PowerPC/cc.ll index f92121bd720..c23ee7c9f5c 100644 --- a/test/CodeGen/PowerPC/cc.ll +++ b/test/CodeGen/PowerPC/cc.ll @@ -41,7 +41,7 @@ entry: br label %foo foo: - call { i64, i64 } asm sideeffect "sc", "={r0},={r3},{r0},~{cc}" (i64 %a) + call { i64, i64 } asm sideeffect "sc", "={r0},={r3},{r0},~{cc},~{cr1},~{cr2},~{cr3},~{cr4},~{cr5},~{cr6},~{cr7}" (i64 %a) br i1 %c, label %bar, label %end bar: |