brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 54145a4 Raw
53 lines · plain
1# RUN: llc -mtriple=x86_64 -run-pass none -o - %s | FileCheck %s2 3--- |4  define i64 @test(i64 %x, i64 %y) #0 {5  entry:6    %x0 = call { i64, i64 } asm "foo", "=r,=r,1,0,~{dirflag},~{fpsr},~{flags}"(i64 %x, i64 %y) #07    %x1 = extractvalue { i64, i64 } %x0, 08    ret i64 %x19  }10 11  define i64 @test2(i64 %x, i64 %y) #0 {12  entry:13    %x0 = call { i64, i64 } asm "foo", "=r,=r,1,0,~{dirflag},~{fpsr},~{flags}"(i64 %x, i64 %y) #014    %x1 = extractvalue { i64, i64 } %x0, 015    ret i64 %x116  }17 18  attributes #0 = { nounwind }19...20---21name:            test22tracksRegLiveness: true23liveins:24  - { reg: '$rdi' }25  - { reg: '$rsi' }26body: |27  bb.0.entry:28    liveins: $rdi, $rsi29 30  ; CHECK-LABEL: name: test31  ; CHECK: INLINEASM &foo, 0 /* attdialect */, 4784138 /* regdef:GR64 */, def $rsi, 4784138 /* regdef:GR64 */, def dead $rdi,32    INLINEASM &foo, 0, 4784138, def $rsi, 4784138, def dead $rdi, 2147549193, killed $rdi, 2147483657, killed $rsi, 12, implicit-def dead early-clobber $eflags33    $rax = MOV64rr killed $rsi34    RET64 killed $rax35...36---37name:            test238tracksRegLiveness: true39liveins:40  - { reg: '$rdi' }41  - { reg: '$rsi' }42body: |43  bb.0.entry:44    liveins: $rdi, $rsi45 46  ; Verify that the register ties are preserved.47  ; CHECK-LABEL: name: test248  ; CHECK: INLINEASM &foo, 0 /* attdialect */, 4784138 /* regdef:GR64 */, def $rsi, 4784138 /* regdef:GR64 */, def dead $rdi, 2147549193 /* reguse tiedto:$1 */, killed $rdi(tied-def 5), 2147483657 /* reguse tiedto:$0 */, killed $rsi(tied-def 3), 12 /* clobber */, implicit-def dead early-clobber $eflags49    INLINEASM &foo, 0, 4784138, def $rsi, 4784138, def dead $rdi, 2147549193, killed $rdi(tied-def 5), 2147483657, killed $rsi(tied-def 3), 12, implicit-def dead early-clobber $eflags50    $rax = MOV64rr killed $rsi51    RET64 killed $rax52...53