1# RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s
2# This test ensures that the MIR parser parses the fast math instruction flags.
3
4...
5---
6name:            baz
7body: |
8  bb.0.entry:
9    liveins: $xmm0
10
11    ; CHECK:     %0:fr32 = COPY $xmm0
12    %0:fr32 = COPY $xmm0
13    ; CHECK:     %1:fr32 = nnan VMULSSrr %0, %0, implicit $mxcsr
14    %1:fr32 = nnan VMULSSrr %0, %0, implicit $mxcsr
15    ; CHECK:     %2:fr32 = ninf VMULSSrr %1, %1, implicit $mxcsr
16    %2:fr32 = ninf VMULSSrr %1, %1, implicit $mxcsr
17    ; CHECK:     %3:fr32 = nsz VMULSSrr %2, %2, implicit $mxcsr
18    %3:fr32 = nsz VMULSSrr %2, %2, implicit $mxcsr
19    ; CHECK:     %4:fr32 = arcp VMULSSrr %3, %3, implicit $mxcsr
20    %4:fr32 = arcp VMULSSrr %3, %3, implicit $mxcsr
21    ; CHECK:     %5:fr32 = contract VMULSSrr %4, %4, implicit $mxcsr
22    %5:fr32 = contract VMULSSrr %4, %4, implicit $mxcsr
23    ; CHECK:     %6:fr32 = afn VMULSSrr %5, %5, implicit $mxcsr
24    %6:fr32 = afn VMULSSrr %5, %5, implicit $mxcsr
25    ; CHECK:     %7:fr32 = reassoc VMULSSrr %6, %6, implicit $mxcsr
26    %7:fr32 = reassoc VMULSSrr %6, %6, implicit $mxcsr
27    ; CHECK:     %8:fr32 = nsz arcp contract afn reassoc VMULSSrr %7, %7, implicit $mxcsr
28    %8:fr32 = nsz arcp contract afn reassoc VMULSSrr %7, %7, implicit $mxcsr
29    ; CHECK:     %9:fr32 = contract afn reassoc VMULSSrr %8, %8, implicit $mxcsr
30    %9:fr32 = contract afn reassoc VMULSSrr %8, %8, implicit $mxcsr
31    ; CHECK:     $xmm0 = COPY %9
32    $xmm0 = COPY %9
33    ; CHECK:     RET 0, $xmm0
34    RET 0, $xmm0
35
36...
37