brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 54b8418 Raw
52 lines · plain
1; RUN: llc -O0 -fast-isel -fast-isel-abort=1 -verify-machineinstrs -mtriple=arm64-apple-darwin < %s | FileCheck %s2; RUN: llc -O0 -global-isel -verify-machineinstrs -mtriple=arm64-apple-darwin %s -o - | FileCheck %s --check-prefix=GISEL3 4 5; Materialize using fmov6define float @fmov_float1() {7; CHECK-LABEL: fmov_float18; CHECK:       fmov s0, #1.250000009; GISEL-LABEL: fmov_float110; GISEL:       fmov s0, #1.2500000011  ret float 1.250000e+0012}13 14define float @fmov_float2() {15; CHECK-LABEL: fmov_float216; CHECK:       fmov s0, wzr17; GISEL-LABEL: fmov_float218; GISEL:       movi d0, #000000000000000019  ret float 0.0e+0020}21 22define double @fmov_double1() {23; CHECK-LABEL: fmov_double124; CHECK:       fmov d0, #1.2500000025; GISEL-LABEL: fmov_double126; GISEL:       fmov d0, #1.2500000027  ret double 1.250000e+0028}29 30define double @fmov_double2() {31; CHECK-LABEL: fmov_double232; CHECK:       fmov d0, xzr33; GISEL-LABEL: fmov_double234; GISEL:       movi d0, #000000000000000035  ret double 0.0e+0036}37 38; Materialize from constant pool39define float @cp_float() {40; CHECK-LABEL: cp_float41; CHECK:       adrp [[REG:x[0-9]+]], {{lCPI[0-9]+_0}}@PAGE42; CHECK-NEXT:  ldr s0, [[[REG]], {{lCPI[0-9]+_0}}@PAGEOFF]43  ret float 0x400921FB6000000044}45 46define double @cp_double() {47; CHECK-LABEL: cp_double48; CHECK:       adrp [[REG:x[0-9]+]], {{lCPI[0-9]+_0}}@PAGE49; CHECK-NEXT:  ldr d0, [[[REG]], {{lCPI[0-9]+_0}}@PAGEOFF]50  ret double 0x400921FB54442D1851}52