brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.8 KiB · 2bce693 Raw
164 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc < %s | FileCheck %s3 4target triple = "aarch64--linux-android"5 6define ptr @f1(ptr %x0, ptr %x1) {7; CHECK-LABEL: f1:8; CHECK:       // %bb.0:9; CHECK-NEXT:    str x30, [sp, #-16]! // 8-byte Folded Spill10; CHECK-NEXT:    .cfi_def_cfa_offset 1611; CHECK-NEXT:    .cfi_offset w30, -1612; CHECK-NEXT:    bl __hwasan_check_x1_1_fixed_439804651110413; CHECK-NEXT:    mov x0, x114; CHECK-NEXT:    ldr x30, [sp], #16 // 8-byte Folded Reload15; CHECK-NEXT:    ret16  call void @llvm.hwasan.check.memaccess.fixedshadow(ptr %x1, i32 1, i64 4398046511104)17  ret ptr %x118}19 20define ptr @f2(ptr %x0, ptr %x1) {21; CHECK-LABEL: f2:22; CHECK:       // %bb.0:23; CHECK-NEXT:    str x30, [sp, #-16]! // 8-byte Folded Spill24; CHECK-NEXT:    .cfi_def_cfa_offset 1625; CHECK-NEXT:    .cfi_offset w30, -1626; CHECK-NEXT:    bl __hwasan_check_x0_2_fixed_4398046511104_short_v227; CHECK-NEXT:    ldr x30, [sp], #16 // 8-byte Folded Reload28; CHECK-NEXT:    ret29  call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr %x0, i32 2, i64 4398046511104)30  ret ptr %x031}32 33define void @f3(ptr %x0, ptr %x1) {34  ; 0x3ff0000 (kernel, match-all = 0xff)35; CHECK-LABEL: f3:36; CHECK:       // %bb.0:37; CHECK-NEXT:    str x30, [sp, #-16]! // 8-byte Folded Spill38; CHECK-NEXT:    .cfi_def_cfa_offset 1639; CHECK-NEXT:    .cfi_offset w30, -1640; CHECK-NEXT:    bl __hwasan_check_x1_67043328_fixed_439804651110441; CHECK-NEXT:    ldr x30, [sp], #16 // 8-byte Folded Reload42; CHECK-NEXT:    ret43  call void @llvm.hwasan.check.memaccess.fixedshadow(ptr %x1, i32 67043328, i64 4398046511104)44  ret void45}46 47define void @f4(ptr %x0, ptr %x1) {48  ; 0x1000010 (access-size-index = 0, is-write = 1, match-all = 0x0)49; CHECK-LABEL: f4:50; CHECK:       // %bb.0:51; CHECK-NEXT:    str x30, [sp, #-16]! // 8-byte Folded Spill52; CHECK-NEXT:    .cfi_def_cfa_offset 1653; CHECK-NEXT:    .cfi_offset w30, -1654; CHECK-NEXT:    bl __hwasan_check_x1_16777232_fixed_4398046511104_short_v255; CHECK-NEXT:    ldr x30, [sp], #16 // 8-byte Folded Reload56; CHECK-NEXT:    ret57  call void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr %x1, i32 16777232, i64 4398046511104)58  ret void59}60 61declare void @llvm.hwasan.check.memaccess.fixedshadow(ptr, i32, i64)62declare void @llvm.hwasan.check.memaccess.shortgranules.fixedshadow(ptr, i32, i64)63 64; CHECK:      .section .text.hot,"axG",@progbits,__hwasan_check_x0_2_fixed_4398046511104_short_v2,comdat65; CHECK-NEXT: .type __hwasan_check_x0_2_fixed_4398046511104_short_v2,@function66; CHECK-NEXT: .weak __hwasan_check_x0_2_fixed_4398046511104_short_v267; CHECK-NEXT: .hidden __hwasan_check_x0_2_fixed_4398046511104_short_v268; CHECK-NEXT: __hwasan_check_x0_2_fixed_4398046511104_short_v2:69; CHECK-NEXT: sbfx x16, x0, #4, #5270; CHECK-NEXT: mov x17, #439804651110471; CHECK-NEXT: ldrb w16, [x17, x16]72; CHECK-NEXT: cmp x16, x0, lsr #5673; CHECK-NEXT: b.ne .Ltmp074; CHECK-NEXT: .Ltmp1:75; CHECK-NEXT: ret76; CHECK-NEXT: .Ltmp0:77; CHECK-NEXT: cmp w16, #1578; CHECK-NEXT: b.hi .Ltmp279; CHECK-NEXT: and x17, x0, #0xf80; CHECK-NEXT: add x17, x17, #381; CHECK-NEXT: cmp w16, w1782; CHECK-NEXT: b.ls .Ltmp283; CHECK-NEXT: orr x16, x0, #0xf84; CHECK-NEXT: ldrb w16, [x16]85; CHECK-NEXT: cmp x16, x0, lsr #5686; CHECK-NEXT: b.eq .Ltmp187; CHECK-NEXT: .Ltmp2:88; CHECK-NEXT: stp x0, x1, [sp, #-256]!89; CHECK-NEXT: stp x29, x30, [sp, #232]90; CHECK-NEXT: mov x1, #291; CHECK-NEXT: adrp  x16, :got:__hwasan_tag_mismatch_v292; CHECK-NEXT: ldr x16, [x16, :got_lo12:__hwasan_tag_mismatch_v2]93; CHECK-NEXT: br  x1694 95 96; CHECK:      .section .text.hot,"axG",@progbits,__hwasan_check_x1_1_fixed_4398046511104,comdat97; CHECK-NEXT: .type __hwasan_check_x1_1_fixed_4398046511104,@function98; CHECK-NEXT: .weak __hwasan_check_x1_1_fixed_439804651110499; CHECK-NEXT: .hidden __hwasan_check_x1_1_fixed_4398046511104100; CHECK-NEXT: __hwasan_check_x1_1_fixed_4398046511104:101; CHECK-NEXT: sbfx x16, x1, #4, #52102; CHECK-NEXT: mov x17, #4398046511104103; CHECK-NEXT: ldrb w16, [x17, x16]104; CHECK-NEXT: cmp x16, x1, lsr #56105; CHECK-NEXT: b.ne .Ltmp3106; CHECK-NEXT: .Ltmp4:107; CHECK-NEXT: ret108; CHECK-NEXT: .Ltmp3:109; CHECK-NEXT: stp x0, x1, [sp, #-256]!110; CHECK-NEXT: stp x29, x30, [sp, #232]111; CHECK-NEXT: mov x0, x1112; CHECK-NEXT: mov x1, #1113; CHECK-NEXT: adrp  x16, :got:__hwasan_tag_mismatch114; CHECK-NEXT: ldr x16, [x16, :got_lo12:__hwasan_tag_mismatch]115; CHECK-NEXT: br  x16116 117; CHECK:      __hwasan_check_x1_67043328_fixed_4398046511104:118; CHECK-NEXT: sbfx x16, x1, #4, #52119; CHECK-NEXT: mov x17, #4398046511104120; CHECK-NEXT: ldrb w16, [x17, x16]121; CHECK-NEXT: cmp x16, x1, lsr #56122; CHECK-NEXT: b.ne .Ltmp5123; CHECK-NEXT: .Ltmp6:124; CHECK-NEXT: ret125; CHECK-NEXT: .Ltmp5:126; CHECK-NEXT: lsr x17, x1, #56127; CHECK-NEXT: cmp x17, #255128; CHECK-NEXT: b.eq .Ltmp6129; CHECK-NEXT: stp x0, x1, [sp, #-256]!130; CHECK-NEXT: stp x29, x30, [sp, #232]131; CHECK-NEXT: mov x0, x1132; CHECK-NEXT: mov x1, #0133; CHECK-NEXT: b __hwasan_tag_mismatch134 135; CHECK:      __hwasan_check_x1_16777232_fixed_4398046511104_short_v2:136; CHECK-NEXT: sbfx	x16, x1, #4, #52137; CHECK-NEXT: mov x17, #4398046511104138; CHECK-NEXT: ldrb w16, [x17, x16]139; CHECK-NEXT: cmp	x16, x1, lsr #56140; CHECK-NEXT: b.ne	.Ltmp7141; CHECK-NEXT: .Ltmp8:142; CHECK-NEXT: ret143; CHECK-NEXT: .Ltmp7:144; CHECK-NEXT: lsr	x17, x1, #56145; CHECK-NEXT: cmp	x17, #0146; CHECK-NEXT: b.eq	.Ltmp8147; CHECK-NEXT: cmp	w16, #15148; CHECK-NEXT: b.hi	.Ltmp9149; CHECK-NEXT: and	x17, x1, #0xf150; CHECK-NEXT: cmp	w16, w17151; CHECK-NEXT: b.ls	.Ltmp9152; CHECK-NEXT: orr	x16, x1, #0xf153; CHECK-NEXT: ldrb	w16, [x16]154; CHECK-NEXT: cmp	x16, x1, lsr #56155; CHECK-NEXT: b.eq	.Ltmp8156; CHECK-NEXT: .Ltmp9:157; CHECK-NEXT: stp	x0, x1, [sp, #-256]!158; CHECK-NEXT: stp	x29, x30, [sp, #232]159; CHECK-NEXT: mov	x0, x1160; CHECK-NEXT: mov	x1, #16161; CHECK-NEXT: adrp	x16, :got:__hwasan_tag_mismatch_v2162; CHECK-NEXT: ldr	x16, [x16, :got_lo12:__hwasan_tag_mismatch_v2]163; CHECK-NEXT: br	x16164