summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/mult-alt-generic.c
diff options
context:
space:
mode:
authorToma Tabacu <toma.tabacu@imgtec.com>2014-12-17 12:02:58 +0000
committerToma Tabacu <toma.tabacu@imgtec.com>2014-12-17 12:02:58 +0000
commit9941195a9ff05d1f29955473e0f50655803f8e92 (patch)
tree72018851c3433c2eb7a2f67a698fb37c418d7b98 /clang/test/CodeGen/mult-alt-generic.c
parent636fefe25260e5a62f048d5c24d28dbf8596ad9e (diff)
downloadbcm5719-llvm-9941195a9ff05d1f29955473e0f50655803f8e92.tar.gz
bcm5719-llvm-9941195a9ff05d1f29955473e0f50655803f8e92.zip
[mips] Always clobber $1 for MIPS inline asm.
Summary: Because GCC doesn't use $1 for code generation, inline assembly code can use $1 without having to add it to the clobbers list. LLVM, on the other hand, does not shy away from using $1, and this can cause conflicts with inline assembly which assumes GCC-like code generation. A solution to this problem is to make Clang automatically clobber $1 for all MIPS inline assembly. This is not the optimal solution, but it seems like a necessary compromise, for now. Reviewers: dsanders Reviewed By: dsanders Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6638 llvm-svn: 224428
Diffstat (limited to 'clang/test/CodeGen/mult-alt-generic.c')
-rw-r--r--clang/test/CodeGen/mult-alt-generic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/test/CodeGen/mult-alt-generic.c b/clang/test/CodeGen/mult-alt-generic.c
index 6c9d789e412..303edfcf3c4 100644
--- a/clang/test/CodeGen/mult-alt-generic.c
+++ b/clang/test/CodeGen/mult-alt-generic.c
@@ -17,7 +17,7 @@ int marray[2];
// CHECK: @single_m
void single_m()
{
- // CHECK: call void asm "foo $1,$0", "=*m,*m[[CLOBBERS:[a-zA-Z0-9@%{},~_ ]*\"]](i32* {{[a-zA-Z0-9@%]+}}, i32* {{[a-zA-Z0-9@%]+}})
+ // CHECK: call void asm "foo $1,$0", "=*m,*m[[CLOBBERS:[a-zA-Z0-9@%{},~_$ ]*\"]](i32* {{[a-zA-Z0-9@%]+}}, i32* {{[a-zA-Z0-9@%]+}})
asm("foo %1,%0" : "=m" (mout0) : "m" (min1));
}
OpenPOWER on IntegriCloud