brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 435235a Raw
171 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc --mtriple=loongarch32 -mattr=+d --verify-machineinstrs < %s | FileCheck %s --check-prefix=LA323; RUN: llc --mtriple=loongarch64 -mattr=+d --verify-machineinstrs < %s | FileCheck %s --check-prefix=LA644 5define i32 @ZC_offset_neg_32769(ptr %p) nounwind {6; LA32-LABEL: ZC_offset_neg_32769:7; LA32:       # %bb.0:8; LA32-NEXT:    lu12i.w $a1, -99; LA32-NEXT:    ori $a1, $a1, 409510; LA32-NEXT:    add.w $a0, $a0, $a111; LA32-NEXT:    #APP12; LA32-NEXT:    ll.w $a0, $a0, 013; LA32-NEXT:    #NO_APP14; LA32-NEXT:    ret15;16; LA64-LABEL: ZC_offset_neg_32769:17; LA64:       # %bb.0:18; LA64-NEXT:    lu12i.w $a1, -919; LA64-NEXT:    ori $a1, $a1, 409520; LA64-NEXT:    add.d $a0, $a0, $a121; LA64-NEXT:    #APP22; LA64-NEXT:    ll.w $a0, $a0, 023; LA64-NEXT:    #NO_APP24; LA64-NEXT:    ret25  %1 = getelementptr inbounds i8, ptr %p, i32 -3276926  %2 = call i32 asm "ll.w $0, $1", "=r,*^ZC"(ptr elementtype(i32) %1)27  ret i32 %228}29 30define i32 @ZC_offset_neg_32768(ptr %p) nounwind {31; LA32-LABEL: ZC_offset_neg_32768:32; LA32:       # %bb.0:33; LA32-NEXT:    #APP34; LA32-NEXT:    ll.w $a0, $a0, -3276835; LA32-NEXT:    #NO_APP36; LA32-NEXT:    ret37;38; LA64-LABEL: ZC_offset_neg_32768:39; LA64:       # %bb.0:40; LA64-NEXT:    #APP41; LA64-NEXT:    ll.w $a0, $a0, -3276842; LA64-NEXT:    #NO_APP43; LA64-NEXT:    ret44  %1 = getelementptr inbounds i8, ptr %p, i32 -3276845  %2 = call i32 asm "ll.w $0, $1", "=r,*^ZC"(ptr elementtype(i32) %1)46  ret i32 %247}48 49define i32 @ZC_offset_neg_4(ptr %p) nounwind {50; LA32-LABEL: ZC_offset_neg_4:51; LA32:       # %bb.0:52; LA32-NEXT:    #APP53; LA32-NEXT:    ll.w $a0, $a0, -454; LA32-NEXT:    #NO_APP55; LA32-NEXT:    ret56;57; LA64-LABEL: ZC_offset_neg_4:58; LA64:       # %bb.0:59; LA64-NEXT:    #APP60; LA64-NEXT:    ll.w $a0, $a0, -461; LA64-NEXT:    #NO_APP62; LA64-NEXT:    ret63  %1 = getelementptr inbounds i8, ptr %p, i32 -464  %2 = call i32 asm "ll.w $0, $1", "=r,*^ZC"(ptr elementtype(i32) %1)65  ret i32 %266}67 68define i32 @ZC_offset_neg_1(ptr %p) nounwind {69; LA32-LABEL: ZC_offset_neg_1:70; LA32:       # %bb.0:71; LA32-NEXT:    addi.w $a0, $a0, -172; LA32-NEXT:    #APP73; LA32-NEXT:    ll.w $a0, $a0, 074; LA32-NEXT:    #NO_APP75; LA32-NEXT:    ret76;77; LA64-LABEL: ZC_offset_neg_1:78; LA64:       # %bb.0:79; LA64-NEXT:    addi.d $a0, $a0, -180; LA64-NEXT:    #APP81; LA64-NEXT:    ll.w $a0, $a0, 082; LA64-NEXT:    #NO_APP83; LA64-NEXT:    ret84  %1 = getelementptr inbounds i8, ptr %p, i32 -185  %2 = call i32 asm "ll.w $0, $1", "=r,*^ZC"(ptr elementtype(i32) %1)86  ret i32 %287}88 89define i32 @ZC_offset_0(ptr %p) nounwind {90; LA32-LABEL: ZC_offset_0:91; LA32:       # %bb.0:92; LA32-NEXT:    #APP93; LA32-NEXT:    ll.w $a0, $a0, 094; LA32-NEXT:    #NO_APP95; LA32-NEXT:    ret96;97; LA64-LABEL: ZC_offset_0:98; LA64:       # %bb.0:99; LA64-NEXT:    #APP100; LA64-NEXT:    ll.w $a0, $a0, 0101; LA64-NEXT:    #NO_APP102; LA64-NEXT:    ret103  %1 = call i32 asm "ll.w $0, $1", "=r,*^ZC"(ptr elementtype(i32) %p)104  ret i32 %1105}106 107define i32 @ZC_offset_1(ptr %p) nounwind {108; LA32-LABEL: ZC_offset_1:109; LA32:       # %bb.0:110; LA32-NEXT:    addi.w $a0, $a0, 1111; LA32-NEXT:    #APP112; LA32-NEXT:    ll.w $a0, $a0, 0113; LA32-NEXT:    #NO_APP114; LA32-NEXT:    ret115;116; LA64-LABEL: ZC_offset_1:117; LA64:       # %bb.0:118; LA64-NEXT:    addi.d $a0, $a0, 1119; LA64-NEXT:    #APP120; LA64-NEXT:    ll.w $a0, $a0, 0121; LA64-NEXT:    #NO_APP122; LA64-NEXT:    ret123  %1 = getelementptr inbounds i8, ptr %p, i32 1124  %2 = call i32 asm "ll.w $0, $1", "=r,*^ZC"(ptr elementtype(i32) %1)125  ret i32 %2126}127 128define i32 @ZC_offset_32764(ptr %p) nounwind {129; LA32-LABEL: ZC_offset_32764:130; LA32:       # %bb.0:131; LA32-NEXT:    #APP132; LA32-NEXT:    ll.w $a0, $a0, 32764133; LA32-NEXT:    #NO_APP134; LA32-NEXT:    ret135;136; LA64-LABEL: ZC_offset_32764:137; LA64:       # %bb.0:138; LA64-NEXT:    #APP139; LA64-NEXT:    ll.w $a0, $a0, 32764140; LA64-NEXT:    #NO_APP141; LA64-NEXT:    ret142  %1 = getelementptr inbounds i8, ptr %p, i32 32764143  %2 = call i32 asm "ll.w $0, $1", "=r,*^ZC"(ptr elementtype(i32) %1)144  ret i32 %2145}146 147define i32 @ZC_offset_32767(ptr %p) nounwind {148; LA32-LABEL: ZC_offset_32767:149; LA32:       # %bb.0:150; LA32-NEXT:    lu12i.w $a1, 7151; LA32-NEXT:    ori $a1, $a1, 4095152; LA32-NEXT:    add.w $a0, $a0, $a1153; LA32-NEXT:    #APP154; LA32-NEXT:    ll.w $a0, $a0, 0155; LA32-NEXT:    #NO_APP156; LA32-NEXT:    ret157;158; LA64-LABEL: ZC_offset_32767:159; LA64:       # %bb.0:160; LA64-NEXT:    lu12i.w $a1, 7161; LA64-NEXT:    ori $a1, $a1, 4095162; LA64-NEXT:    add.d $a0, $a0, $a1163; LA64-NEXT:    #APP164; LA64-NEXT:    ll.w $a0, $a0, 0165; LA64-NEXT:    #NO_APP166; LA64-NEXT:    ret167  %1 = getelementptr inbounds i8, ptr %p, i32 32767168  %2 = call i32 asm "ll.w $0, $1", "=r,*^ZC"(ptr elementtype(i32) %1)169  ret i32 %2170}171