39 lines · plain
1# RUN: llc -mtriple=x86_64 -run-pass mir-canonicalizer -verify-machineinstrs -o - %s | FileCheck %s2# RUN: llc -mtriple=x86_64 -run-pass mir-canonicalizer -mir-vreg-namer-use-stable-hash -verify-machineinstrs -o - %s | FileCheck %s3# The purpose of this test is to ensure that differing flags do in-fact cause4# 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: baz11body: |12 bb.0:13 14 ; CHECK: COPY15 ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = nnan VMULSSrr16 ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = ninf VMULSSrr17 ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = nsz VMULSSrr18 ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = arcp VMULSSrr19 ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = contract VMULSSrr20 ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = afn VMULSSrr21 ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = reassoc VMULSSrr22 ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = nsz arcp contract afn reassoc VMULSSrr23 ; CHECK-NEXT: %bb0_{{[0-9a-f]+}}__1:fr32 = contract afn reassoc VMULSSrr24 25 %0:fr32 = COPY $xmm026 %1:fr32 = nnan VMULSSrr %0, %0, implicit $mxcsr27 %2:fr32 = ninf VMULSSrr %1, %1, implicit $mxcsr28 %3:fr32 = nsz VMULSSrr %2, %2, implicit $mxcsr29 %4:fr32 = arcp VMULSSrr %3, %3, implicit $mxcsr30 %5:fr32 = contract VMULSSrr %4, %4, implicit $mxcsr31 %6:fr32 = afn VMULSSrr %5, %5, implicit $mxcsr32 %7:fr32 = reassoc VMULSSrr %6, %6, implicit $mxcsr33 %8:fr32 = nsz arcp contract afn reassoc VMULSSrr %7, %7, implicit $mxcsr34 %9:fr32 = contract afn reassoc VMULSSrr %8, %8, implicit $mxcsr35 $xmm0 = COPY %936 RET 0, $xmm037 38...39