fastmath.mir 1.49 KB
# 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, implicit $mxcsr
    %1:fr32 = nnan VMULSSrr %0, %0, implicit $mxcsr
    ; CHECK:     %2:fr32 = ninf VMULSSrr %1, %1, implicit $mxcsr
    %2:fr32 = ninf VMULSSrr %1, %1, implicit $mxcsr
    ; CHECK:     %3:fr32 = nsz VMULSSrr %2, %2, implicit $mxcsr
    %3:fr32 = nsz VMULSSrr %2, %2, implicit $mxcsr
    ; CHECK:     %4:fr32 = arcp VMULSSrr %3, %3, implicit $mxcsr
    %4:fr32 = arcp VMULSSrr %3, %3, implicit $mxcsr
    ; CHECK:     %5:fr32 = contract VMULSSrr %4, %4, implicit $mxcsr
    %5:fr32 = contract VMULSSrr %4, %4, implicit $mxcsr
    ; CHECK:     %6:fr32 = afn VMULSSrr %5, %5, implicit $mxcsr
    %6:fr32 = afn VMULSSrr %5, %5, implicit $mxcsr
    ; CHECK:     %7:fr32 = reassoc VMULSSrr %6, %6, implicit $mxcsr
    %7:fr32 = reassoc VMULSSrr %6, %6, implicit $mxcsr
    ; CHECK:     %8:fr32 = nsz arcp contract afn reassoc VMULSSrr %7, %7, implicit $mxcsr
    %8:fr32 = nsz arcp contract afn reassoc VMULSSrr %7, %7, implicit $mxcsr
    ; CHECK:     %9:fr32 = contract afn reassoc VMULSSrr %8, %8, implicit $mxcsr
    %9:fr32 = contract afn reassoc VMULSSrr %8, %8, implicit $mxcsr
    ; CHECK:     $xmm0 = COPY %9
    $xmm0 = COPY %9
    ; CHECK:     RET 0, $xmm0
    RET 0, $xmm0

...