122 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=aarch64 -mattr=+fullfp16 | FileCheck %s --check-prefixes=CHECK,CHECK-FP163; RUN: llc < %s -mtriple=aarch64 -mattr=-fullfp16 | FileCheck %s --check-prefixes=CHECK,CHECK-NOFP164 5define bfloat @Const0() {6; CHECK-LABEL: Const0:7; CHECK: // %bb.0: // %entry8; CHECK-NEXT: movi d0, #00000000000000009; CHECK-NEXT: ret10entry:11 ret bfloat 0xR000012}13 14define bfloat @Const1() {15; CHECK-FP16-LABEL: Const1:16; CHECK-FP16: // %bb.0: // %entry17; CHECK-FP16-NEXT: fmov h0, #1.0000000018; CHECK-FP16-NEXT: ret19;20; CHECK-NOFP16-LABEL: Const1:21; CHECK-NOFP16: // %bb.0: // %entry22; CHECK-NOFP16-NEXT: adrp x8, .LCPI1_023; CHECK-NOFP16-NEXT: ldr h0, [x8, :lo12:.LCPI1_0]24; CHECK-NOFP16-NEXT: ret25entry:26 ret bfloat 0xR3C0027}28 29define bfloat @Const2() {30; CHECK-FP16-LABEL: Const2:31; CHECK-FP16: // %bb.0: // %entry32; CHECK-FP16-NEXT: fmov h0, #0.1250000033; CHECK-FP16-NEXT: ret34;35; CHECK-NOFP16-LABEL: Const2:36; CHECK-NOFP16: // %bb.0: // %entry37; CHECK-NOFP16-NEXT: adrp x8, .LCPI2_038; CHECK-NOFP16-NEXT: ldr h0, [x8, :lo12:.LCPI2_0]39; CHECK-NOFP16-NEXT: ret40entry:41 ret bfloat 0xR300042}43 44define bfloat @Const3() {45; CHECK-FP16-LABEL: Const3:46; CHECK-FP16: // %bb.0: // %entry47; CHECK-FP16-NEXT: fmov h0, #30.0000000048; CHECK-FP16-NEXT: ret49;50; CHECK-NOFP16-LABEL: Const3:51; CHECK-NOFP16: // %bb.0: // %entry52; CHECK-NOFP16-NEXT: adrp x8, .LCPI3_053; CHECK-NOFP16-NEXT: ldr h0, [x8, :lo12:.LCPI3_0]54; CHECK-NOFP16-NEXT: ret55entry:56 ret bfloat 0xR4F8057}58 59define bfloat @Const4() {60; CHECK-FP16-LABEL: Const4:61; CHECK-FP16: // %bb.0: // %entry62; CHECK-FP16-NEXT: fmov h0, #31.0000000063; CHECK-FP16-NEXT: ret64;65; CHECK-NOFP16-LABEL: Const4:66; CHECK-NOFP16: // %bb.0: // %entry67; CHECK-NOFP16-NEXT: adrp x8, .LCPI4_068; CHECK-NOFP16-NEXT: ldr h0, [x8, :lo12:.LCPI4_0]69; CHECK-NOFP16-NEXT: ret70entry:71 ret bfloat 0xR4FC072}73 74define bfloat @Const5() {75; CHECK-FP16-LABEL: Const5:76; CHECK-FP16: // %bb.0: // %entry77; CHECK-FP16-NEXT: mov w8, #12272 // =0x2ff078; CHECK-FP16-NEXT: fmov h0, w879; CHECK-FP16-NEXT: ret80;81; CHECK-NOFP16-LABEL: Const5:82; CHECK-NOFP16: // %bb.0: // %entry83; CHECK-NOFP16-NEXT: adrp x8, .LCPI5_084; CHECK-NOFP16-NEXT: ldr h0, [x8, :lo12:.LCPI5_0]85; CHECK-NOFP16-NEXT: ret86entry:87 ret bfloat 0xR2FF088}89 90define bfloat @Const6() {91; CHECK-FP16-LABEL: Const6:92; CHECK-FP16: // %bb.0: // %entry93; CHECK-FP16-NEXT: mov w8, #20417 // =0x4fc194; CHECK-FP16-NEXT: fmov h0, w895; CHECK-FP16-NEXT: ret96;97; CHECK-NOFP16-LABEL: Const6:98; CHECK-NOFP16: // %bb.0: // %entry99; CHECK-NOFP16-NEXT: adrp x8, .LCPI6_0100; CHECK-NOFP16-NEXT: ldr h0, [x8, :lo12:.LCPI6_0]101; CHECK-NOFP16-NEXT: ret102entry:103 ret bfloat 0xR4FC1104}105 106define bfloat @Const7() {107; CHECK-FP16-LABEL: Const7:108; CHECK-FP16: // %bb.0: // %entry109; CHECK-FP16-NEXT: mov w8, #20480 // =0x5000110; CHECK-FP16-NEXT: fmov h0, w8111; CHECK-FP16-NEXT: ret112;113; CHECK-NOFP16-LABEL: Const7:114; CHECK-NOFP16: // %bb.0: // %entry115; CHECK-NOFP16-NEXT: adrp x8, .LCPI7_0116; CHECK-NOFP16-NEXT: ldr h0, [x8, :lo12:.LCPI7_0]117; CHECK-NOFP16-NEXT: ret118entry:119 ret bfloat 0xR5000120}121 122