[MIParser] Set RegClassOrRegBank during instruction parsing
[llvm-complete.git] / test / CodeGen / AArch64 / GlobalISel / select-muladd.mir
blobc44714c17debbc450fa089ef11cb54e236e00835
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -O0 -mtriple=aarch64-- -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
4 --- |
5   target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
7   define void @SMADDLrrr_gpr() { ret void }
8 ...
10 ---
11 name:            SMADDLrrr_gpr
12 legalized:       true
13 regBankSelected: true
15 registers:
16   - { id: 0, class: gpr }
17   - { id: 1, class: gpr }
18   - { id: 2, class: gpr }
19   - { id: 3, class: gpr }
20   - { id: 4, class: gpr }
21   - { id: 5, class: gpr }
22   - { id: 6, class: gpr }
24 body:             |
25   bb.0:
26     liveins: $x0, $w1, $w2
28     ; CHECK-LABEL: name: SMADDLrrr_gpr
29     ; CHECK: [[COPY:%[0-9]+]]:gpr64 = COPY $x0
30     ; CHECK: [[COPY1:%[0-9]+]]:gpr32 = COPY $w1
31     ; CHECK: [[COPY2:%[0-9]+]]:gpr32 = COPY $w2
32     ; CHECK: [[SMADDLrrr:%[0-9]+]]:gpr64 = SMADDLrrr [[COPY1]], [[COPY2]], [[COPY]]
33     ; CHECK: $x0 = COPY [[SMADDLrrr]]
34     %0(s64) = COPY $x0
35     %1(s32) = COPY $w1
36     %2(s32) = COPY $w2
37     %3(s64) = G_SEXT %1
38     %4(s64) = G_SEXT %2
39     %5(s64) = G_MUL %3, %4
40     %6(s64) = G_ADD %0, %5
41     $x0 = COPY %6
42 ...