xref: /llvm-project/llvm/test/CodeGen/AArch64/vector-gep.ll (revision cc82f1290a1e2157a6c0530d78d8cc84d2b8553d)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=arm64_32-apple-watchos2.0.0 --aarch64-neon-syntax=generic | FileCheck %s
3
4target datalayout = "e-m:o-p:32:32-i64:64-i128:128-n32:64-S128"
5target triple = "arm64_32-apple-watchos2.0.0"
6
7; CHECK-LABEL: lCPI0_0:
8; CHECK-NEXT:    .quad 36
9; CHECK-NEXT:    .quad 4804
10
11define <2 x ptr> @vector_gep(<2 x ptr> %0) {
12; CHECK-LABEL: vector_gep:
13; CHECK:       ; %bb.0: ; %entry
14; CHECK-NEXT:  Lloh0:
15; CHECK-NEXT:    adrp x8, lCPI0_0@PAGE
16; CHECK-NEXT:    movi v2.2d, #0x000000ffffffff
17; CHECK-NEXT:  Lloh1:
18; CHECK-NEXT:    ldr q1, [x8, lCPI0_0@PAGEOFF]
19; CHECK-NEXT:    add v0.2d, v0.2d, v1.2d
20; CHECK-NEXT:    and v0.16b, v0.16b, v2.16b
21; CHECK-NEXT:    ret
22; CHECK-NEXT:    .loh AdrpLdr Lloh0, Lloh1
23entry:
24  %1 = getelementptr i8, <2 x ptr> %0, <2 x i32> <i32 36, i32 4804>
25  ret <2 x ptr> %1
26}
27