summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2013-06-12 01:40:06 +0000
committerEli Friedman <eli.friedman@gmail.com>2013-06-12 01:40:06 +0000
commitf045007f117f91656a5d16ae004cfc3934c61c70 (patch)
treebc9790a7b7b22b15957b1b048ff659ba96763f55 /clang/test/CodeGen
parentd8cf1a119d4c38e59ade90018a4df015dff63383 (diff)
downloadbcm5719-llvm-f045007f117f91656a5d16ae004cfc3934c61c70.tar.gz
bcm5719-llvm-f045007f117f91656a5d16ae004cfc3934c61c70.zip
Add support for complex compound assignments where the LHS is a scalar.
Fixes <rdar://problem/11224126> and PR12790. llvm-svn: 183821
Diffstat (limited to 'clang/test/CodeGen')
-rw-r--r--clang/test/CodeGen/complex.c6
-rw-r--r--clang/test/CodeGen/volatile-1.c12
2 files changed, 14 insertions, 4 deletions
diff --git a/clang/test/CodeGen/complex.c b/clang/test/CodeGen/complex.c
index 1212660e878..e99a7152813 100644
--- a/clang/test/CodeGen/complex.c
+++ b/clang/test/CodeGen/complex.c
@@ -32,8 +32,7 @@ void test3() {
double Gr = __real g1;
cf += D;
- // FIXME: Currently unsupported!
- //D += cf;
+ D += cf;
cf /= g1;
g1 = g1 + D;
g1 = D + g1;
@@ -51,8 +50,7 @@ void test3int() {
i = __real ci1;
cs += i;
- // FIXME: Currently unsupported!
- //D += cf;
+ D += cf;
cs /= ci1;
ci1 = ci1 + i;
ci1 = i + ci1;
diff --git a/clang/test/CodeGen/volatile-1.c b/clang/test/CodeGen/volatile-1.c
index 65511593d32..42e576540ff 100644
--- a/clang/test/CodeGen/volatile-1.c
+++ b/clang/test/CodeGen/volatile-1.c
@@ -313,3 +313,15 @@ void test1() {
(void) x;
return x;
}
+
+// CHECK: define i32 @test2()
+int test2() {
+ // CHECK: load volatile i32*
+ // CHECK-NEXT: load volatile i32*
+ // CHECK-NEXT: load volatile i32*
+ // CHECK-NEXT: add i32
+ // CHECK-NEXT: add i32
+ // CHECK-NEXT: store volatile i32
+ // CHECK-NEXT: ret i32
+ return i += ci;
+}
OpenPOWER on IntegriCloud