brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · b168e13 Raw
69 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -O0 -mtriple=mipsel-linux-gnu -global-isel -verify-machineinstrs %s -o -| FileCheck %s -check-prefixes=MIPS323; RUN: llc -O0 -mtriple=mipsel-linux-gnu -global-isel -mattr=+mips32r2 -verify-machineinstrs %s -o -| FileCheck %s -check-prefixes=MIPS32R24 5declare i32 @llvm.bswap.i32(i32)6define i32 @bswap_i32(i32 %x) {7; MIPS32-LABEL: bswap_i32:8; MIPS32:       # %bb.0: # %entry9; MIPS32-NEXT:    sll $2, $4, 2410; MIPS32-NEXT:    srl $1, $4, 2411; MIPS32-NEXT:    or $1, $1, $212; MIPS32-NEXT:    andi $2, $4, 6528013; MIPS32-NEXT:    sll $2, $2, 814; MIPS32-NEXT:    or $1, $1, $215; MIPS32-NEXT:    srl $2, $4, 816; MIPS32-NEXT:    andi $2, $2, 6528017; MIPS32-NEXT:    or $2, $1, $218; MIPS32-NEXT:    jr $ra19; MIPS32-NEXT:    nop20;21; MIPS32R2-LABEL: bswap_i32:22; MIPS32R2:       # %bb.0: # %entry23; MIPS32R2-NEXT:    wsbh $1, $424; MIPS32R2-NEXT:    rotr $2, $1, 1625; MIPS32R2-NEXT:    jr $ra26; MIPS32R2-NEXT:    nop27entry:28  %0 = tail call i32 @llvm.bswap.i32(i32 %x)29  ret i32 %030}31 32declare i64 @llvm.bswap.i64(i64)33define i64 @bswap_i64(i64 %x) {34; MIPS32-LABEL: bswap_i64:35; MIPS32:       # %bb.0: # %entry36; MIPS32-NEXT:    sll $2, $5, 2437; MIPS32-NEXT:    srl $1, $5, 2438; MIPS32-NEXT:    or $1, $1, $239; MIPS32-NEXT:    andi $2, $5, 6528040; MIPS32-NEXT:    sll $2, $2, 841; MIPS32-NEXT:    or $1, $1, $242; MIPS32-NEXT:    srl $2, $5, 843; MIPS32-NEXT:    andi $2, $2, 6528044; MIPS32-NEXT:    or $2, $1, $245; MIPS32-NEXT:    sll $3, $4, 2446; MIPS32-NEXT:    srl $1, $4, 2447; MIPS32-NEXT:    or $1, $1, $348; MIPS32-NEXT:    andi $3, $4, 6528049; MIPS32-NEXT:    sll $3, $3, 850; MIPS32-NEXT:    or $1, $1, $351; MIPS32-NEXT:    srl $3, $4, 852; MIPS32-NEXT:    andi $3, $3, 6528053; MIPS32-NEXT:    or $3, $1, $354; MIPS32-NEXT:    jr $ra55; MIPS32-NEXT:    nop56;57; MIPS32R2-LABEL: bswap_i64:58; MIPS32R2:       # %bb.0: # %entry59; MIPS32R2-NEXT:    wsbh $1, $560; MIPS32R2-NEXT:    rotr $2, $1, 1661; MIPS32R2-NEXT:    wsbh $1, $462; MIPS32R2-NEXT:    rotr $3, $1, 1663; MIPS32R2-NEXT:    jr $ra64; MIPS32R2-NEXT:    nop65entry:66  %0 = tail call i64 @llvm.bswap.i64(i64 %x)67  ret i64 %068}69