64 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=aarch64-apple-darwin -fast-isel -fast-isel-abort=1 -verify-machineinstrs < %s | FileCheck %s3 4%struct.foo = type { i32, i64, float, double }5 6define ptr @test_struct(ptr %f) {7; CHECK-LABEL: test_struct:8; CHECK: ; %bb.0:9; CHECK-NEXT: add x0, x0, #2410; CHECK-NEXT: ret11 %1 = getelementptr inbounds %struct.foo, ptr %f, i64 0, i32 312 ret ptr %113}14 15define ptr @test_array1(ptr %a, i64 %i) {16; CHECK-LABEL: test_array1:17; CHECK: ; %bb.0:18; CHECK-NEXT: mov x8, #4 ; =0x419; CHECK-NEXT: madd x0, x1, x8, x020; CHECK-NEXT: ret21 %1 = getelementptr inbounds i32, ptr %a, i64 %i22 ret ptr %123}24 25define ptr @test_array2(ptr %a) {26; CHECK-LABEL: test_array2:27; CHECK: ; %bb.0:28; CHECK-NEXT: add x0, x0, #1629; CHECK-NEXT: ret30 %1 = getelementptr inbounds i32, ptr %a, i64 431 ret ptr %132}33 34define ptr @test_array3(ptr %a) {35; CHECK-LABEL: test_array3:36; CHECK: ; %bb.0:37; CHECK-NEXT: add x0, x0, #1, lsl #12 ; =409638; CHECK-NEXT: ret39 %1 = getelementptr inbounds i32, ptr %a, i64 102440 ret ptr %141}42 43define ptr @test_array4(ptr %a) {44; CHECK-LABEL: test_array4:45; CHECK: ; %bb.0:46; CHECK-NEXT: mov x8, #4104 ; =0x100847; CHECK-NEXT: add x0, x0, x848; CHECK-NEXT: ret49 %1 = getelementptr inbounds i32, ptr %a, i64 102650 ret ptr %151}52 53define ptr @test_array5(ptr %a, i32 %i) {54; CHECK-LABEL: test_array5:55; CHECK: ; %bb.0:56; CHECK-NEXT: ; kill: def $w1 killed $w1 def $x157; CHECK-NEXT: sxtw x8, w158; CHECK-NEXT: mov x9, #4 ; =0x459; CHECK-NEXT: madd x0, x8, x9, x060; CHECK-NEXT: ret61 %1 = getelementptr inbounds i32, ptr %a, i32 %i62 ret ptr %163}64