Test the mcpu option.
[oota-llvm.git] / test / tools / gold / option.ll
1 ; RUN: llvm-as %s -o %t.o
2 ; RUN: ld -plugin %llvmshlibdir/LLVMgold.so -m elf_x86_64 \
3 ; RUN:    --plugin-opt=-jump-table-type=arity \
4 ; RUN:    --plugin-opt=-mattr=+aes \
5 ; RUN:    --plugin-opt=mcpu=core-avx2 \
6 ; RUN:    -shared %t.o -o %t2.o
7 ; RUN: llvm-nm %t2.o | FileCheck %s
8
9 ; CHECK: T __llvm_jump_instr_table_0_1
10 ; CHECK: T __llvm_jump_instr_table_1_1
11
12 target triple = "x86_64-unknown-linux-gnu"
13 define i32 @g(i32 %a) unnamed_addr jumptable {
14   ret i32 %a
15 }
16
17 define i32 @f() unnamed_addr jumptable {
18   ret i32 0
19 }
20
21 define <2 x i64> @test_aes(<2 x i64> %a0, <2 x i64> %a1) {
22   %res = call <2 x i64> @llvm.x86.aesni.aesenc(<2 x i64> %a0, <2 x i64> %a1)
23   ret <2 x i64> %res
24 }
25 declare <2 x i64> @llvm.x86.aesni.aesenc(<2 x i64>, <2 x i64>) nounwind readnone
26
27 define <32 x i8> @test_avx2(<16 x i16> %a0, <16 x i16> %a1) {
28   %res = call <32 x i8> @llvm.x86.avx2.packuswb(<16 x i16> %a0, <16 x i16> %a1)
29   ret <32 x i8> %res
30 }
31 declare <32 x i8> @llvm.x86.avx2.packuswb(<16 x i16>, <16 x i16>) nounwind readnone