1# RUN: llc -O0 -run-pass=legalizer -global-isel-abort=0 %s -o - | FileCheck %s 2--- | 3 target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" 4 target triple = "aarch64" 5 6 define fp128 @x(fp128 %a) { 7 entry: 8 %a.addr = alloca fp128, align 16 9 store fp128 %a, fp128* %a.addr, align 16 10 %0 = load fp128, fp128* %a.addr, align 16 11 %sub = fsub fp128 0xL00000000000000008000000000000000, %0 12 ret fp128 %sub 13 } 14 15... 16--- 17name: x 18alignment: 2 19exposesReturnsTwice: false 20legalized: false 21regBankSelected: false 22selected: false 23tracksRegLiveness: true 24fixedStack: 25stack: 26 - { id: 0, name: a.addr, type: default, offset: 0, size: 16, alignment: 16, 27 stack-id: 0, callee-saved-register: '', callee-saved-restored: true, 28 debug-info-variable: '', debug-info-expression: '', 29 debug-info-location: '' } 30body: | 31 bb.1.entry: 32 liveins: $q0 33 34 ; This test just checks we don't crash on G_FNEG of FP128 types. Expect to fall 35 ; back until support is added for fp128. 36 ; CHECK: ret 37 %0:_(s128) = COPY $q0 38 %1:_(p0) = G_FRAME_INDEX %stack.0.a.addr 39 G_STORE %0(s128), %1(p0) :: (store 16 into %ir.a.addr) 40 %2:_(s128) = G_LOAD %1(p0) :: (load 16 from %ir.a.addr) 41 %3:_(s128) = G_FNEG %2 42 $q0 = COPY %3(s128) 43 RET_ReallyLR implicit $q0 44 45... 46