Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / MIR / X86 / mircanon-flags.mir
blob6b7b577f8ca54999abf31a8b94c5982dd94618c7
1 # RUN: llc -march=x86-64 -run-pass mir-canonicalizer -verify-machineinstrs -o - %s | FileCheck %s
2 # RUN: llc -march=x86-64 -run-pass mir-canonicalizer -mir-vreg-namer-use-stable-hash -verify-machineinstrs -o - %s | FileCheck %s
3 # The purpose of this test is to ensure that differing flags do in-fact cause
4 # naming collisions with the new vreg renamers naming scheme.
5 --- |
6   target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
7   define void @baz() { unreachable }
8 ...
9 ---
10 name:            baz
11 body:             |
12   bb.0:
14     ; CHECK: COPY
15     ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = nnan VMULSSrr
16     ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = ninf VMULSSrr
17     ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = nsz VMULSSrr
18     ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = arcp VMULSSrr
19     ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = contract VMULSSrr
20     ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = afn VMULSSrr
21     ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = reassoc VMULSSrr
22     ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = nsz arcp contract afn reassoc VMULSSrr
23     ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = contract afn reassoc VMULSSrr
25     %0:fr32 = COPY $xmm0
26     %1:fr32 = nnan VMULSSrr %0, %0, implicit $mxcsr
27     %2:fr32 = ninf VMULSSrr %1, %1, implicit $mxcsr
28     %3:fr32 = nsz VMULSSrr %2, %2, implicit $mxcsr
29     %4:fr32 = arcp VMULSSrr %3, %3, implicit $mxcsr
30     %5:fr32 = contract VMULSSrr %4, %4, implicit $mxcsr
31     %6:fr32 = afn VMULSSrr %5, %5, implicit $mxcsr
32     %7:fr32 = reassoc VMULSSrr %6, %6, implicit $mxcsr
33     %8:fr32 = nsz arcp contract afn reassoc VMULSSrr %7, %7, implicit $mxcsr
34     %9:fr32 = contract afn reassoc VMULSSrr %8, %8, implicit $mxcsr
35     $xmm0 = COPY %9
36     RET 0, $xmm0
38 ...