summaryrefslogtreecommitdiff
path: root/lib/asan/tests
diff options
context:
space:
mode:
authorMarina Yatsina <marina.yatsina@intel.com>2016-12-26 12:24:49 +0000
committerMarina Yatsina <marina.yatsina@intel.com>2016-12-26 12:24:49 +0000
commit1539663035b25e13b8dbe16bf3df1cf53d2fe280 (patch)
tree873c18d34766f198e0883d9577724a7f7a3ae332 /lib/asan/tests
parent54d197e8c706c9eb5108269de438950f2e56ab7c (diff)
[inline-asm]No error for conflict between inputs\outputs and clobber list
Updated test according to commit 290539: According to extended asm syntax, a case where the clobber list includes a variable from the inputs or outputs should be an error - conflict. for example: const long double a = 0.0; int main() { char b; double t1 = a; __asm__ ("fucompp": "=a" (b) : "u" (t1), "t" (t1) : "cc", "st", "st(1)"); return 0; } This should conflict with the output - t1 which is st, and st which is st aswell. The patch fixes it. Commit on behald of Ziv Izhar. Differential Revision: https://reviews.llvm.org/D15075 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@290540 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan/tests')
-rw-r--r--lib/asan/tests/asan_asm_test.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/asan/tests/asan_asm_test.cc b/lib/asan/tests/asan_asm_test.cc
index 09af5c386..eebf3e339 100644
--- a/lib/asan/tests/asan_asm_test.cc
+++ b/lib/asan/tests/asan_asm_test.cc
@@ -62,7 +62,7 @@ template<> Type asm_read<Type>(Type *ptr) { \
__asm__("rep " Movs " \n\t" \
: \
: "D"(dst), "S"(src), "c"(size) \
- : "rsi", "rdi", "rcx", "memory"); \
+ : "memory"); \
}
DECLARE_ASM_WRITE(U8, "8", "movq", "r");
@@ -104,7 +104,7 @@ template<> Type asm_read<Type>(Type *ptr) { \
__asm__("rep " Movs " \n\t" \
: \
: "D"(dst), "S"(src), "c"(size) \
- : "esi", "edi", "ecx", "memory"); \
+ : "memory"); \
}
} // End of anonymous namespace