llvm-project/llvm/test/CodeGen/MIR/X86/fastmath.mir

37 lines
1.2 KiB
YAML

# RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s
# This test ensures that the MIR parser parses the fast math instruction flags.
...
---
name: baz
body: |
bb.0.entry:
liveins: $xmm0
; CHECK: %0:fr32 = COPY $xmm0
%0:fr32 = COPY $xmm0
; CHECK: %1:fr32 = nnan VMULSSrr %0, %0
%1:fr32 = nnan VMULSSrr %0, %0
; CHECK: %2:fr32 = ninf VMULSSrr %1, %1
%2:fr32 = ninf VMULSSrr %1, %1
; CHECK: %3:fr32 = nsz VMULSSrr %2, %2
%3:fr32 = nsz VMULSSrr %2, %2
; CHECK: %4:fr32 = arcp VMULSSrr %3, %3
%4:fr32 = arcp VMULSSrr %3, %3
; CHECK: %5:fr32 = contract VMULSSrr %4, %4
%5:fr32 = contract VMULSSrr %4, %4
; CHECK: %6:fr32 = afn VMULSSrr %5, %5
%6:fr32 = afn VMULSSrr %5, %5
; CHECK: %7:fr32 = reassoc VMULSSrr %6, %6
%7:fr32 = reassoc VMULSSrr %6, %6
; CHECK: %8:fr32 = nsz arcp contract afn reassoc VMULSSrr %7, %7
%8:fr32 = nsz arcp contract afn reassoc VMULSSrr %7, %7
; CHECK: %9:fr32 = contract afn reassoc VMULSSrr %8, %8
%9:fr32 = contract afn reassoc VMULSSrr %8, %8
; CHECK: $xmm0 = COPY %9
$xmm0 = COPY %9
; CHECK: RET 0, $xmm0
RET 0, $xmm0
...