1; RUN: llc < %s -mtriple=x86_64-- -filetype=obj -o - | llvm-objdump -d - | FileCheck %s
2
3; This test verifies that we assemble code for different architectures
4; based on target-cpu and target-features attributes.
5target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
6
7define void @foo() #0 {
8entry:
9  call void asm sideeffect "aeskeygenassist  $$0x4, %xmm0, %xmm1", "~{dirflag},~{fpsr},~{flags}"()
10  ret void
11}
12
13; CHECK: foo
14; CHECK: aeskeygenassist
15
16define void @bar() #2 {
17entry:
18  call void asm sideeffect "crc32b 4(%rbx), %eax", "~{dirflag},~{fpsr},~{flags}"()
19  ret void
20}
21
22; CHECK: bar
23; CHECK: crc32b
24
25attributes #0 = { "target-cpu"="x86-64" "target-features"="+avx2" }
26attributes #2 = { "target-cpu"="corei7" "target-features"="+sse4.2" }
27