diff options
author | Chris Lattner <sabre@nondot.org> | 2010-04-23 16:29:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-04-23 16:29:58 +0000 |
commit | 1a8f394a1fe76c93f8793802cc3fd025560a1123 (patch) | |
tree | 3c94a88784bd2c1dce7ef1b667fb8db752ad4e15 /clang/test/CodeGen/arm_asm_clobber.c | |
parent | 83eb5032c09db7b6d8e0909a2c2a5a36e9bbcff8 (diff) | |
download | bcm5719-llvm-1a8f394a1fe76c93f8793802cc3fd025560a1123.tar.gz bcm5719-llvm-1a8f394a1fe76c93f8793802cc3fd025560a1123.zip |
david conrad points out that {|} in inline assembly on arm are not asm
variants. This fixes neon inline asm which my patch for PR6780 broke.
llvm-svn: 102181
Diffstat (limited to 'clang/test/CodeGen/arm_asm_clobber.c')
-rw-r--r-- | clang/test/CodeGen/arm_asm_clobber.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/clang/test/CodeGen/arm_asm_clobber.c b/clang/test/CodeGen/arm_asm_clobber.c index a7ca0b5332b..aac47d57dc5 100644 --- a/clang/test/CodeGen/arm_asm_clobber.c +++ b/clang/test/CodeGen/arm_asm_clobber.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple armv6-unknown-unknown -emit-llvm -o %t %s +// RUN: %clang_cc1 -triple armv6-unknown-unknown -emit-llvm -o - %s | FileCheck %s void test0(void) { asm volatile("mov r0, r0" :: ); @@ -19,3 +19,14 @@ void test3(void) { asm volatile("mov r0, r0" ::: "v1", "v2", "v3", "v5"); } + + +// {} should not be treated as asm variants. +void test4(float *a, float *b) { + // CHECK: @test4 + // CHECK: call void asm sideeffect "vld1.32 {d8[],d9[]}, + __asm__ volatile ( + "vld1.32 {d8[],d9[]}, [%1,:32] \n\t" + "vst1.32 {q4}, [%0,:128] \n\t" + :: "r"(a), "r"(b)); +} |