brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · c50b17e Raw
43 lines · plain
1; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -verify-machineinstrs < %s | FileCheck %s2; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -verify-machineinstrs < %s | FileCheck %s3; RUN: llc -mtriple=powerpc-unknown-linux-gnu -verify-machineinstrs < %s | FileCheck %s4 5; RUN: llc -mtriple=powerpc64-unknown-freebsd -verify-machineinstrs < %s | FileCheck %s6; RUN: llc -mtriple=powerpc-unknown-freebsd -verify-machineinstrs < %s | FileCheck %s7 8define dso_local void @moveToVRSave(i32 signext %i) {9entry:10  tail call void asm sideeffect "mtvrsave $0", "r,~{vrsave}"(i32 %i)11  ret void12}13 14define dso_local signext i32 @moveFromVRSave() {15entry:16  %0 = tail call i32 asm sideeffect "mfvrsave $0", "=r"()17  ret i32 %018}19 20define dso_local void @moveToSPR(i32 signext %i) {21entry:22  tail call void asm sideeffect "mtspr 256, $0", "r,~{vrsave}"(i32 %i)23  ret void24}25 26define dso_local signext i32 @moveFromSPR() {27entry:28  %0 = tail call i32 asm sideeffect "mfspr $0, 256", "=r"()29  ret i32 %030}31 32; CHECK-LABEL: moveToVRSave:33; CHECK:         mtvrsave 334 35; CHECK-LABEL: moveFromVRSave:36; CHECK:         mfvrsave {{[0-9]+}}37 38; CHECK-LABEL: moveToSPR:39; CHECK:         mtspr 256, 340 41; CHECK-LABEL: moveFromSPR:42; CHECK:         mfspr {{[0-9]}}, 25643