blob: a0948319878b08d27a25600acf7d9bd746631472 [file] [log] [blame]
# RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s
# REQUIRES: global-isel
# Test that the MIR parser parses types on generic instructions correctly.
--- |
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
%type_alias = type <2 x i32>
%structure_alias = type { i32, i16 }
define void @test_vregs() {
ret void
}
define void @test_unsized() {
ret void
}
...
---
name: test_vregs
# CHECK: registers:
# CHECK-NEXT: - { id: 0, class: _, preferred-register: '' }
# CHECK-NEXT: - { id: 1, class: _, preferred-register: '' }
# CHECK-NEXT: - { id: 2, class: _, preferred-register: '' }
# CHECK-NEXT: - { id: 3, class: _, preferred-register: '' }
# CHECK-NEXT: - { id: 4, class: _, preferred-register: '' }
registers:
- { id: 0, class: _ }
- { id: 1, class: _ }
- { id: 2, class: _ }
- { id: 3, class: _ }
- { id: 4, class: _ }
- { id: 5, class: _ }
- { id: 6, class: _ }
- { id: 7, class: _ }
- { id: 8, class: _ }
body: |
bb.0:
liveins: $edi, $xmm0
; CHECK: %1:_(s32) = G_ADD %0
%0(s32) = COPY $edi
%6(<4 x s32>) = COPY $xmm0
%7(s64) = COPY $rdi
%1(s32) = G_ADD %0, %0
; CHECK: %2:_(<4 x s32>) = G_ADD %6, %6
%2(<4 x s32>) = G_ADD %6, %6
; CHECK: %3:_(s64) = G_ADD %7, %7
%3(s64) = G_ADD %7, %7
; CHECK: %5:_(s48) = G_ADD %8, %8
%8(s48) = G_TRUNC %7
%5(s48) = G_ADD %8, %8
...
---
name: test_unsized
body: |
bb.0:
successors: %bb.0
; CHECK: G_BR %bb.0
G_BR %bb.0
...