summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorMichael Zuckerman <Michael.zuckerman@intel.com>2016-10-31 15:27:54 +0000
committerMichael Zuckerman <Michael.zuckerman@intel.com>2016-10-31 15:27:54 +0000
commit2460bada567e0bb9213640d53f417dfd4e23a954 (patch)
tree8bf7f492b5076e2fc4c855ce3198ca3a9f47c453 /clang/test
parenta7eebeb156220ba889869756513a8c9e02b4ea85 (diff)
downloadbcm5719-llvm-2460bada567e0bb9213640d53f417dfd4e23a954.tar.gz
bcm5719-llvm-2460bada567e0bb9213640d53f417dfd4e23a954.zip
[x86][inline-asm] Add support for curly brackets escape using "%" in extended inline asm.
Commit on behalf of mharoush After LGTM and check all: This patch is a compatibility fix for clang, matching GCC support for charter escape when using extended in-line assembly (i.e, "%{" ,"%}" --> "{" ,"}" ). It is meant to enable support for advanced features such as AVX512 conditional\masked vector instructions/broadcast assembly syntax. Reviewer: 1. rnk Differential Revision: https://reviews.llvm.org/D25012 llvm-svn: 285585
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/x86_inlineasm_curly_bracket_escape.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/CodeGen/x86_inlineasm_curly_bracket_escape.c b/clang/test/CodeGen/x86_inlineasm_curly_bracket_escape.c
new file mode 100644
index 00000000000..503c13e6137
--- /dev/null
+++ b/clang/test/CodeGen/x86_inlineasm_curly_bracket_escape.c
@@ -0,0 +1,8 @@
+// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-cpu skylake-avx512 -O0 -S -emit-llvm -o - -Wall -Werror | FileCheck %s
+// This test checks validity of inline assembly using curly brackets syntax
+// for extended inline asm.
+
+void test_curly_brackets() {
+ //CHECK: %xmm1,%xmm0,%xmm1 {%k1}{z}
+ asm("vpaddb\t %%xmm1,%%xmm0,%%xmm1 %{%%k1%}%{z%}\t":::);
+} \ No newline at end of file
OpenPOWER on IntegriCloud