[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / fp128-legalize-crash-pr35690.mir
blob8e65483583a002ae61819e0335c280cc6182c441
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"
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   }
15 ...
16 ---
17 name:            x
18 alignment:       4
19 exposesReturnsTwice: false
20 legalized:       false
21 regBankSelected: false
22 selected:        false
23 tracksRegLiveness: true
24 fixedStack:
25 stack:
26   - { id: 0, name: a.addr, type: default, offset: 0, size: 16, alignment: 16,
27       stack-id: default, callee-saved-register: '', callee-saved-restored: true,
28       debug-info-variable: '', debug-info-expression: '',
29       debug-info-location: '' }
30 body:             |
31   bb.1.entry:
32     liveins: $q0
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 (s128) into %ir.a.addr)
40     %2:_(s128) = G_LOAD %1(p0) :: (load (s128) from %ir.a.addr)
41     %3:_(s128) = G_FNEG %2
42     $q0 = COPY %3(s128)
43     RET_ReallyLR implicit $q0
45 ...