brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · bbb04c7 Raw
76 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=arm64-eabi | FileCheck %s3; RUN: llc < %s -mtriple=arm64-eabi -mattr=+cssc | FileCheck %s -check-prefix=CHECK-CSSC4 5define i8 @test_i8(i8 %a) nounwind {6; CHECK-LABEL: test_i8:7; CHECK:       // %bb.0:8; CHECK-NEXT:    sxtb w8, w09; CHECK-NEXT:    cmp w8, #010; CHECK-NEXT:    cneg w0, w8, mi11; CHECK-NEXT:    ret12;13; CHECK-CSSC-LABEL: test_i8:14; CHECK-CSSC:       // %bb.0:15; CHECK-CSSC-NEXT:    sxtb w8, w016; CHECK-CSSC-NEXT:    abs w0, w817; CHECK-CSSC-NEXT:    ret18  %tmp1neg = sub i8 0, %a19  %b = icmp sgt i8 %a, -120  %abs = select i1 %b, i8 %a, i8 %tmp1neg21  ret i8 %abs22}23 24define i16 @test_i16(i16 %a) nounwind {25; CHECK-LABEL: test_i16:26; CHECK:       // %bb.0:27; CHECK-NEXT:    sxth w8, w028; CHECK-NEXT:    cmp w8, #029; CHECK-NEXT:    cneg w0, w8, mi30; CHECK-NEXT:    ret31;32; CHECK-CSSC-LABEL: test_i16:33; CHECK-CSSC:       // %bb.0:34; CHECK-CSSC-NEXT:    sxth w8, w035; CHECK-CSSC-NEXT:    abs w0, w836; CHECK-CSSC-NEXT:    ret37  %tmp1neg = sub i16 0, %a38  %b = icmp sgt i16 %a, -139  %abs = select i1 %b, i16 %a, i16 %tmp1neg40  ret i16 %abs41}42 43define i32 @test_i32(i32 %a) nounwind {44; CHECK-LABEL: test_i32:45; CHECK:       // %bb.0:46; CHECK-NEXT:    cmp w0, #047; CHECK-NEXT:    cneg w0, w0, mi48; CHECK-NEXT:    ret49;50; CHECK-CSSC-LABEL: test_i32:51; CHECK-CSSC:       // %bb.0:52; CHECK-CSSC-NEXT:    abs w0, w053; CHECK-CSSC-NEXT:    ret54  %tmp1neg = sub i32 0, %a55  %b = icmp sgt i32 %a, -156  %abs = select i1 %b, i32 %a, i32 %tmp1neg57  ret i32 %abs58}59 60define i64 @test_i64(i64 %a) nounwind {61; CHECK-LABEL: test_i64:62; CHECK:       // %bb.0:63; CHECK-NEXT:    cmp x0, #064; CHECK-NEXT:    cneg x0, x0, mi65; CHECK-NEXT:    ret66;67; CHECK-CSSC-LABEL: test_i64:68; CHECK-CSSC:       // %bb.0:69; CHECK-CSSC-NEXT:    abs x0, x070; CHECK-CSSC-NEXT:    ret71  %tmp1neg = sub i64 0, %a72  %b = icmp sgt i64 %a, -173  %abs = select i1 %b, i64 %a, i64 %tmp1neg74  ret i64 %abs75}76