summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/complex-asm.ll
blob: 49878b982db3fb94c55fda74bce6f6d9bdac5b51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
; RUN: llc < %s -mtriple=x86_64-apple-darwin
; This formerly crashed.

%0 = type { i64, i64 }

define %0 @f() nounwind ssp {
entry:
  %v = alloca %0, align 8
  call void asm sideeffect "", "=*r,r,r,0,~{dirflag},~{fpsr},~{flags}"(%0* %v, i32 0, i32 1, i128 undef) nounwind
  %0 = getelementptr inbounds %0* %v, i64 0, i32 0
  %1 = load i64* %0, align 8
  %2 = getelementptr inbounds %0* %v, i64 0, i32 1
  %3 = load i64* %2, align 8
  %mrv4 = insertvalue %0 undef, i64 %1, 0
  %mrv5 = insertvalue %0 %mrv4, i64 %3, 1
  ret %0 %mrv5
}