• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -verify-machineinstrs -mtriple aarch64-unknown-unknown -run-pass=instruction-select %s -o - | FileCheck %s
3---
4name:            f64_faddp
5alignment:       4
6legalized:       true
7regBankSelected: true
8tracksRegLiveness: true
9liveins:
10  - { reg: '$q0' }
11frameInfo:
12  maxAlignment:    1
13body:             |
14  bb.1:
15    liveins: $q0
16
17    ; CHECK-LABEL: name: f64_faddp
18    ; CHECK: liveins: $q0
19    ; CHECK: [[COPY:%[0-9]+]]:fpr128 = COPY $q0
20    ; CHECK: [[FADDPv2i64p:%[0-9]+]]:fpr64 = FADDPv2i64p [[COPY]]
21    ; CHECK: $d0 = COPY [[FADDPv2i64p]]
22    ; CHECK: RET_ReallyLR implicit $d0
23    %0:fpr(<2 x s64>) = COPY $q0
24    %6:gpr(s64) = G_CONSTANT i64 0
25    %7:fpr(s64) = G_EXTRACT_VECTOR_ELT %0(<2 x s64>), %6(s64)
26    %8:gpr(s64) = G_CONSTANT i64 1
27    %9:fpr(s64) = G_EXTRACT_VECTOR_ELT %0(<2 x s64>), %8(s64)
28    %4:fpr(s64) = G_FADD %7, %9
29    $d0 = COPY %4(s64)
30    RET_ReallyLR implicit $d0
31
32...
33---
34name:            f32_faddp
35alignment:       4
36legalized:       true
37regBankSelected: true
38tracksRegLiveness: true
39liveins:
40  - { reg: '$d0' }
41frameInfo:
42  maxAlignment:    1
43body:             |
44  bb.1:
45    liveins: $d0
46
47    ; CHECK-LABEL: name: f32_faddp
48    ; CHECK: liveins: $d0
49    ; CHECK: [[COPY:%[0-9]+]]:fpr64 = COPY $d0
50    ; CHECK: [[FADDPv2i32p:%[0-9]+]]:fpr32 = FADDPv2i32p [[COPY]]
51    ; CHECK: $s0 = COPY [[FADDPv2i32p]]
52    ; CHECK: RET_ReallyLR implicit $s0
53    %0:fpr(<2 x s32>) = COPY $d0
54    %6:gpr(s64) = G_CONSTANT i64 0
55    %7:fpr(s32) = G_EXTRACT_VECTOR_ELT %0(<2 x s32>), %6(s64)
56    %8:gpr(s64) = G_CONSTANT i64 1
57    %9:fpr(s32) = G_EXTRACT_VECTOR_ELT %0(<2 x s32>), %8(s64)
58    %4:fpr(s32) = G_FADD %7, %9
59    $s0 = COPY %4(s32)
60    RET_ReallyLR implicit $s0
61
62...
63