1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc %s -verify-machineinstrs -mtriple aarch64-unknown-unknown -run-pass=regbankselect -o - | FileCheck %s
3
4...
5---
6
7name:            fma_f32
8alignment:       4
9legalized:       true
10tracksRegLiveness: true
11machineFunctionInfo: {}
12body:             |
13  bb.0:
14    liveins: $s0, $s1, $s2
15
16    ; CHECK-LABEL: name: fma_f32
17    ; CHECK: liveins: $s0, $s1, $s2
18    ; CHECK: [[COPY:%[0-9]+]]:fpr(s32) = COPY $s0
19    ; CHECK: [[COPY1:%[0-9]+]]:fpr(s32) = COPY $s1
20    ; CHECK: [[COPY2:%[0-9]+]]:fpr(s32) = COPY $s2
21    ; CHECK: [[FMA:%[0-9]+]]:fpr(s32) = nnan ninf nsz arcp contract afn reassoc G_FMA [[COPY]], [[COPY1]], [[COPY2]]
22    ; CHECK: $s0 = COPY [[FMA]](s32)
23    ; CHECK: RET_ReallyLR implicit $s0
24    %0:_(s32) = COPY $s0
25    %1:_(s32) = COPY $s1
26    %2:_(s32) = COPY $s2
27    %3:_(s32) = nnan ninf nsz arcp contract afn reassoc G_FMA %0, %1, %2
28    $s0 = COPY %3(s32)
29    RET_ReallyLR implicit $s0
30
31...
32---
33name:            fma_f64
34alignment:       4
35legalized:       true
36tracksRegLiveness: true
37machineFunctionInfo: {}
38body:             |
39  bb.0:
40    liveins: $d0, $d1, $d2
41
42    ; CHECK-LABEL: name: fma_f64
43    ; CHECK: liveins: $d0, $d1, $d2
44    ; CHECK: [[COPY:%[0-9]+]]:fpr(s64) = COPY $d0
45    ; CHECK: [[COPY1:%[0-9]+]]:fpr(s64) = COPY $d1
46    ; CHECK: [[COPY2:%[0-9]+]]:fpr(s64) = COPY $d2
47    ; CHECK: [[FMA:%[0-9]+]]:fpr(s64) = nnan ninf nsz arcp contract afn reassoc G_FMA [[COPY]], [[COPY1]], [[COPY2]]
48    ; CHECK: $d0 = COPY [[FMA]](s64)
49    ; CHECK: RET_ReallyLR implicit $d0
50    %0:_(s64) = COPY $d0
51    %1:_(s64) = COPY $d1
52    %2:_(s64) = COPY $d2
53    %3:_(s64) = nnan ninf nsz arcp contract afn reassoc G_FMA %0, %1, %2
54    $d0 = COPY %3(s64)
55    RET_ReallyLR implicit $d0
56
57...
58