brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 3351565 Raw
66 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -mtriple=aarch64-none-linux-gnu %s -o - | FileCheck %s3 4define void @func_set_rounding_dyn(i32 %rm) {5; CHECK-LABEL: func_set_rounding_dyn:6; CHECK:       // %bb.0:7; CHECK-NEXT:    lsl w9, w0, #228; CHECK-NEXT:    mrs x8, FPCR9; CHECK-NEXT:    and x8, x8, #0xffffffffff3fffff10; CHECK-NEXT:    sub w9, w9, #1024, lsl #12 // =419430411; CHECK-NEXT:    and w9, w9, #0xc0000012; CHECK-NEXT:    orr x8, x8, x913; CHECK-NEXT:    msr FPCR, x814; CHECK-NEXT:    ret15  call void @llvm.set.rounding(i32 %rm)16  ret void17}18 19define void @func_set_rounding_toward_zero() {20; CHECK-LABEL: func_set_rounding_toward_zero:21; CHECK:       // %bb.0:22; CHECK-NEXT:    mrs x8, FPCR23; CHECK-NEXT:    orr x8, x8, #0xc0000024; CHECK-NEXT:    msr FPCR, x825; CHECK-NEXT:    ret26  call void @llvm.set.rounding(i32 0)27  ret void28}29 30define void @func_set_rounding_tonearest_even() {31; CHECK-LABEL: func_set_rounding_tonearest_even:32; CHECK:       // %bb.0:33; CHECK-NEXT:    mrs x8, FPCR34; CHECK-NEXT:    and x8, x8, #0xffffffffff3fffff35; CHECK-NEXT:    msr FPCR, x836; CHECK-NEXT:    ret37  call void @llvm.set.rounding(i32 1)38  ret void39}40 41define void @func_set_rounding_upward() {42; CHECK-LABEL: func_set_rounding_upward:43; CHECK:       // %bb.0:44; CHECK-NEXT:    mrs x8, FPCR45; CHECK-NEXT:    and x8, x8, #0xffffffffff3fffff46; CHECK-NEXT:    orr x8, x8, #0x40000047; CHECK-NEXT:    msr FPCR, x848; CHECK-NEXT:    ret49  call void @llvm.set.rounding(i32 2)50  ret void51}52 53define void @func_set_rounding_downward() {54; CHECK-LABEL: func_set_rounding_downward:55; CHECK:       // %bb.0:56; CHECK-NEXT:    mrs x8, FPCR57; CHECK-NEXT:    and x8, x8, #0xffffffffff3fffff58; CHECK-NEXT:    orr x8, x8, #0x80000059; CHECK-NEXT:    msr FPCR, x860; CHECK-NEXT:    ret61  call void @llvm.set.rounding(i32 3)62  ret void63}64 65declare void @llvm.set.rounding(i32)66