Home | History | Annotate | Download | only in Mips
      1 ; RUN: llc  < %s -march=mipsel -mcpu=mips32r2 | FileCheck %s -check-prefix=MIPS32
      2 ; RUN: llc  < %s -march=mips64el -mcpu=mips64r2 | FileCheck %s -check-prefix=MIPS64
      3 
      4 define i32 @bswap32(i32 %x) nounwind readnone {
      5 entry:
      6 ; MIPS32: bswap32:
      7 ; MIPS32: wsbh $[[R0:[0-9]+]]
      8 ; MIPS32: rotr ${{[0-9]+}}, $[[R0]], 16
      9   %or.3 = call i32 @llvm.bswap.i32(i32 %x)
     10   ret i32 %or.3
     11 }
     12 
     13 define i64 @bswap64(i64 %x) nounwind readnone {
     14 entry:
     15 ; MIPS64: bswap64:
     16 ; MIPS64: dsbh $[[R0:[0-9]+]]
     17 ; MIPS64: dshd ${{[0-9]+}}, $[[R0]]
     18   %or.7 = call i64 @llvm.bswap.i64(i64 %x)
     19   ret i64 %or.7
     20 }
     21 
     22 declare i32 @llvm.bswap.i32(i32) nounwind readnone
     23 
     24 declare i64 @llvm.bswap.i64(i64) nounwind readnone
     25 
     26