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--- 10name: baz 11body: | 12 bb.0: 13 14 ; CHECK: COPY 15 ; CHECK-NEXT: %bb0_{{[0-9]+}}__1:fr32 = nnan VMULSSrr 16 ; CHECK-NEXT: %bb0_{{[0-9]+}}__1:fr32 = ninf VMULSSrr 17 ; CHECK-NEXT: %bb0_{{[0-9]+}}__1:fr32 = nsz VMULSSrr 18 ; CHECK-NEXT: %bb0_{{[0-9]+}}__1:fr32 = arcp VMULSSrr 19 ; CHECK-NEXT: %bb0_{{[0-9]+}}__1:fr32 = contract VMULSSrr 20 ; CHECK-NEXT: %bb0_{{[0-9]+}}__1:fr32 = afn VMULSSrr 21 ; CHECK-NEXT: %bb0_{{[0-9]+}}__1:fr32 = reassoc VMULSSrr 22 ; CHECK-NEXT: %bb0_{{[0-9]+}}__1:fr32 = nsz arcp contract afn reassoc VMULSSrr 23 ; CHECK-NEXT: %bb0_{{[0-9]+}}__1:fr32 = contract afn reassoc VMULSSrr 24 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 37 38... 39