42 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-unknown \3; RUN: -mcpu=pwr9 | FileCheck %s4; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-ibm-aix-xcoff \5; RUN: -mcpu=pwr9 -vec-extabi | FileCheck %s6; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-unknown \7; RUN: -mcpu=pwr9 -mattr=-altivec | FileCheck %s --check-prefix=NO-ALTIVEC8; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-ibm-aix-xcoff \9; RUN: -mcpu=pwr9 -mattr=-altivec | FileCheck %s --check-prefix=NO-ALTIVEC10 11declare i64 @llvm.bswap.i64(i64)12 13define i64 @bswap64(i64 %x) {14; CHECK-LABEL: bswap64:15; CHECK: # %bb.0: # %entry16; CHECK-NEXT: mtvsrdd 34, 3, 317; CHECK-NEXT: xxbrd 0, 3418; CHECK-NEXT: mffprd 3, 019; CHECK-NEXT: blr20;21; NO-ALTIVEC-LABEL: bswap64:22; NO-ALTIVEC: # %bb.0: # %entry23; NO-ALTIVEC-NEXT: rotldi 5, 3, 1624; NO-ALTIVEC-NEXT: rotldi 4, 3, 825; NO-ALTIVEC-NEXT: rldimi 4, 5, 8, 4826; NO-ALTIVEC-NEXT: rotldi 5, 3, 2427; NO-ALTIVEC-NEXT: rldimi 4, 5, 16, 4028; NO-ALTIVEC-NEXT: rotldi 5, 3, 3229; NO-ALTIVEC-NEXT: rldimi 4, 5, 24, 3230; NO-ALTIVEC-NEXT: rotldi 5, 3, 4831; NO-ALTIVEC-NEXT: rldimi 4, 5, 40, 1632; NO-ALTIVEC-NEXT: rotldi 5, 3, 5633; NO-ALTIVEC-NEXT: rldimi 4, 5, 48, 834; NO-ALTIVEC-NEXT: rldimi 4, 3, 56, 035; NO-ALTIVEC-NEXT: mr 3, 436; NO-ALTIVEC-NEXT: blr37entry:38 %0 = call i64 @llvm.bswap.i64(i64 %x)39 ret i64 %040}41 42