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