brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · e7faea4 Raw
124 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=powerpc-unknown-aix \3; RUN:   -mcpu=pwr7 < %s | FileCheck %s4 5declare i32 @llvm.ppc.mfspr.i32(i32 immarg)6declare void @llvm.ppc.mtspr.i32(i32 immarg, i32)7 8@ula = external dso_local global i32, align 49 10define dso_local i32 @test_mfxer() {11; CHECK-LABEL: test_mfxer:12; CHECK:       # %bb.0: # %entry13; CHECK-NEXT:    mfxer 314; CHECK-NEXT:    blr15entry:16  %0 = call i32 @llvm.ppc.mfspr.i32(i32 1)17  ret i32 %018}19 20define dso_local i32 @test_mflr() {21; CHECK-LABEL: test_mflr:22; CHECK:       # %bb.0: # %entry23; CHECK-NEXT:    mfspr 3, 824; CHECK-NEXT:    blr25entry:26  %0 = call i32 @llvm.ppc.mfspr.i32(i32 8)27  ret i32 %028}29 30define dso_local i32 @test_mfctr() {31; CHECK-LABEL: test_mfctr:32; CHECK:       # %bb.0: # %entry33; CHECK-NEXT:    mfspr 3, 934; CHECK-NEXT:    blr35entry:36  %0 = call i32 @llvm.ppc.mfspr.i32(i32 9)37  ret i32 %038}39 40define dso_local i32 @test_mfppr() {41; CHECK-LABEL: test_mfppr:42; CHECK:       # %bb.0: # %entry43; CHECK-NEXT:    mfspr 3, 89644; CHECK-NEXT:    blr45entry:46  %0 = call i32 @llvm.ppc.mfspr.i32(i32 896)47  ret i32 %048}49 50define dso_local i32 @test_mfppr32() {51; CHECK-LABEL: test_mfppr32:52; CHECK:       # %bb.0: # %entry53; CHECK-NEXT:    mfspr 3, 89854; CHECK-NEXT:    blr55entry:56  %0 = call i32 @llvm.ppc.mfspr.i32(i32 898)57  ret i32 %058}59 60define dso_local void @test_mtxer() {61; CHECK-LABEL: test_mtxer:62; CHECK:       # %bb.0: # %entry63; CHECK-NEXT:    lwz 3, L..C0(2) # @ula64; CHECK-NEXT:    lwz 3, 0(3)65; CHECK-NEXT:    mtxer 366; CHECK-NEXT:    blr67entry:68  %0 = load i32, ptr @ula, align 869  tail call void @llvm.ppc.mtspr.i32(i32 1, i32 %0)70  ret void71}72 73define dso_local void @test_mtlr() {74; CHECK-LABEL: test_mtlr:75; CHECK:       # %bb.0: # %entry76; CHECK-NEXT:    lwz 3, L..C0(2) # @ula77; CHECK-NEXT:    lwz 3, 0(3)78; CHECK-NEXT:    mtspr 8, 379; CHECK-NEXT:    blr80entry:81  %0 = load i32, ptr @ula, align 882  tail call void @llvm.ppc.mtspr.i32(i32 8, i32 %0)83  ret void84}85 86define dso_local void @test_mtctr() {87; CHECK-LABEL: test_mtctr:88; CHECK:       # %bb.0: # %entry89; CHECK-NEXT:    lwz 3, L..C0(2) # @ula90; CHECK-NEXT:    lwz 3, 0(3)91; CHECK-NEXT:    mtspr 9, 392; CHECK-NEXT:    blr93entry:94  %0 = load i32, ptr @ula, align 895  tail call void @llvm.ppc.mtspr.i32(i32 9, i32 %0)96  ret void97}98 99define dso_local void @test_mtppr() {100; CHECK-LABEL: test_mtppr:101; CHECK:       # %bb.0: # %entry102; CHECK-NEXT:    lwz 3, L..C0(2) # @ula103; CHECK-NEXT:    lwz 3, 0(3)104; CHECK-NEXT:    mtspr 896, 3105; CHECK-NEXT:    blr106entry:107  %0 = load i32, ptr @ula, align 8108  tail call void @llvm.ppc.mtspr.i32(i32 896, i32 %0)109  ret void110}111 112define dso_local void @test_mtppr32() {113; CHECK-LABEL: test_mtppr32:114; CHECK:       # %bb.0: # %entry115; CHECK-NEXT:    lwz 3, L..C0(2) # @ula116; CHECK-NEXT:    lwz 3, 0(3)117; CHECK-NEXT:    mtspr 898, 3118; CHECK-NEXT:    blr119entry:120  %0 = load i32, ptr @ula, align 8121  tail call void @llvm.ppc.mtspr.i32(i32 898, i32 %0)122  ret void123}124