xref: /llvm-project/clang/test/CodeGen/SystemZ/vec-abi-gnuattr-05.c (revision 12f78e740c5419f7d1fbcf8f2106e7a40cd1d6f7)
1 // RUN: %clang_cc1 -triple s390x-ibm-linux -emit-llvm -fzvector -o - %s 2>&1 \
2 // RUN:   | FileCheck  %s
3 //
4 // Test the emission of the "s390x-visible-vector-ABI" module flag.
5 
6 // Call via global function pointer in internal function, with vector return
7 // value.
8 
9 typedef __attribute__((vector_size(16))) int v4i32;
10 
11 v4i32 (*bar)(int);
12 
13 static int foo() {
14   return (*bar)(0)[0];
15 }
16 
17 int fun() { return foo(); }
18 
19 //CHECK: !llvm.module.flags = !{!0, !1}
20 //CHECK: !0 = !{i32 2, !"s390x-visible-vector-ABI", i32 1}
21