brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 7ac9c43 Raw
80 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 4define i32 @ctpop_i32(i32 %a) {5; MIPS32-LABEL: ctpop_i32:6; MIPS32:       # %bb.0: # %entry7; MIPS32-NEXT:    srl $1, $4, 18; MIPS32-NEXT:    lui $2, 218459; MIPS32-NEXT:    ori $2, $2, 2184510; MIPS32-NEXT:    and $1, $1, $211; MIPS32-NEXT:    subu $2, $4, $112; MIPS32-NEXT:    srl $1, $2, 213; MIPS32-NEXT:    lui $3, 1310714; MIPS32-NEXT:    ori $3, $3, 1310715; MIPS32-NEXT:    and $1, $1, $316; MIPS32-NEXT:    and $2, $2, $317; MIPS32-NEXT:    addu $2, $1, $218; MIPS32-NEXT:    srl $1, $2, 419; MIPS32-NEXT:    addu $1, $1, $220; MIPS32-NEXT:    lui $2, 385521; MIPS32-NEXT:    ori $2, $2, 385522; MIPS32-NEXT:    and $1, $1, $223; MIPS32-NEXT:    lui $2, 25724; MIPS32-NEXT:    ori $2, $2, 25725; MIPS32-NEXT:    mul $1, $1, $226; MIPS32-NEXT:    srl $2, $1, 2427; MIPS32-NEXT:    jr $ra28; MIPS32-NEXT:    nop29entry:30  %0 = call i32 @llvm.ctpop.i32(i32 %a)31  ret i32 %032}33declare i32 @llvm.ctpop.i32(i32)34 35 36define i64 @ctpop_i64(i64 %a) {37; MIPS32-LABEL: ctpop_i64:38; MIPS32:       # %bb.0: # %entry39; MIPS32-NEXT:    srl $1, $4, 140; MIPS32-NEXT:    lui $2, 2184541; MIPS32-NEXT:    ori $7, $2, 2184542; MIPS32-NEXT:    and $1, $1, $743; MIPS32-NEXT:    subu $2, $4, $144; MIPS32-NEXT:    srl $1, $2, 245; MIPS32-NEXT:    lui $3, 1310746; MIPS32-NEXT:    ori $6, $3, 1310747; MIPS32-NEXT:    and $1, $1, $648; MIPS32-NEXT:    and $2, $2, $649; MIPS32-NEXT:    addu $2, $1, $250; MIPS32-NEXT:    srl $1, $2, 451; MIPS32-NEXT:    addu $1, $1, $252; MIPS32-NEXT:    lui $2, 385553; MIPS32-NEXT:    ori $4, $2, 385554; MIPS32-NEXT:    and $1, $1, $455; MIPS32-NEXT:    lui $2, 25756; MIPS32-NEXT:    ori $3, $2, 25757; MIPS32-NEXT:    mul $1, $1, $358; MIPS32-NEXT:    srl $2, $1, 2459; MIPS32-NEXT:    srl $1, $5, 160; MIPS32-NEXT:    and $1, $1, $761; MIPS32-NEXT:    subu $5, $5, $162; MIPS32-NEXT:    srl $1, $5, 263; MIPS32-NEXT:    and $1, $1, $664; MIPS32-NEXT:    and $5, $5, $665; MIPS32-NEXT:    addu $5, $1, $566; MIPS32-NEXT:    srl $1, $5, 467; MIPS32-NEXT:    addu $1, $1, $568; MIPS32-NEXT:    and $1, $1, $469; MIPS32-NEXT:    mul $1, $1, $370; MIPS32-NEXT:    srl $1, $1, 2471; MIPS32-NEXT:    addu $2, $1, $272; MIPS32-NEXT:    ori $3, $zero, 073; MIPS32-NEXT:    jr $ra74; MIPS32-NEXT:    nop75entry:76  %0 = call i64 @llvm.ctpop.i64(i64 %a)77  ret i64 %078}79declare i64 @llvm.ctpop.i64(i64)80