The GNU assembler (used in gcc) complains about the syntactic correctness of
the assembly code (at line 9) generated by clang (with the option -no-integrated-as).
We need to delete the white space in "{%k1} {z}" (at line 9) to make both GCC and LLVM happy.
iron@CSE:demo$ cat -n main.s
1 .text
2 .file "main.c"
3 .globl main # -- Begin function main
4 .p2align 4, 0x90
5 .type main,@function
6 main: # @main
7 .cfi_startproc
8 # %bb.0: # %entry
9 vmovdqu16 %zmm5 , %zmm5 {%k1} {z}
10 xorl %eax, %eax
11 retq
12 .Lfunc_end0:
13 .size main, .Lfunc_end0-main
14 .cfi_endproc
15 # -- End function
16
17 .ident "clang"
18 .section ".note.GNU-stack","",@progbitsiron@CSE:demo$ clang -c main.s -o main.o
iron@CSE:demo$ gcc -c main.s -o main.o
main.s: Assembler messages:
main.s:9: Error: unknown vector operation: ` {z}'
Fix the comment as well.