; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-unknown \ ; RUN: -mcpu=pwr8 -O2 < %s | FileCheck %s define void @test_mtvscr() { ; CHECK-LABEL: test_mtvscr: ; CHECK: # %bb.0: # %test_mtvscr_entry ; CHECK-NEXT: addi 3, 1, -16 ; CHECK-NEXT: lxvd2x 0, 0, 3 ; CHECK-NEXT: xxswapd 34, 0 ; CHECK-NEXT: mtvscr 2 ; CHECK-NEXT: blr test_mtvscr_entry: %0 = alloca <4 x i32> %1 = load <4 x i32>, <4 x i32>* %0 call void @llvm.ppc.altivec.mtvscr(<4 x i32> %1) ret void } define void @test_mfvscr() { ; CHECK-LABEL: test_mfvscr: ; CHECK: # %bb.0: # %test_mfvscr_entry ; CHECK-NEXT: mfvscr 2 ; CHECK-NEXT: addi 3, 1, -16 ; CHECK-NEXT: xxswapd 0, 34 ; CHECK-NEXT: stxvd2x 0, 0, 3 ; CHECK-NEXT: blr test_mfvscr_entry: %0 = alloca <8 x i16> %1 = call <8 x i16> @llvm.ppc.altivec.mfvscr() store <8 x i16> %1, <8 x i16>* %0 ret void } declare void @llvm.ppc.altivec.mtvscr(<4 x i32>) declare <8 x i16> @llvm.ppc.altivec.mfvscr()