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 // Using external vector variable (twice to test that the module flag is only
7 // added once, which would be an error).
8
9 typedef __attribute__((vector_size(16))) int v4i32;
10
11 extern v4i32 Var;
12
foo()13 static void foo() {
14 v4i32 Loc = {1, 1, 1, 1};
15 Var = Var + Loc;
16 }
17
bar()18 static void bar() {
19 v4i32 Loc = {1, 2, 3, 4};
20 Var = Var + Loc;
21 }
22
fun1()23 void fun1() { foo(); }
fun2()24 void fun2() { bar(); }
25
26 //CHECK: !llvm.module.flags = !{!0, !1}
27 //CHECK: !0 = !{i32 2, !"s390x-visible-vector-ABI", i32 1}
28