[llvm] CodeGen: Drop inert -fp-contract flags from tests (PR #221709)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 8 00:59:11 PDT 2026


https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/221709

>From bb97e64995f48180b8818fa5252837abd3a0cd52 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Mon, 7 Sep 2026 13:30:34 +0200
Subject: [PATCH] CodeGen: Drop inert -fp-contract flags from tests

-fp-contract is nearly dead, but referenced in tests. These have
no output change with or without the flag now.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
---
 .../Analysis/CostModel/AMDGPU/fused_costs.ll  |  12 +-
 llvm/test/CodeGen/AArch64/PBQP-chain.ll       |   4 +-
 .../CodeGen/AArch64/PBQP-coalesce-benefit.ll  |   2 +-
 llvm/test/CodeGen/AArch64/PBQP-csr.ll         |   2 +-
 llvm/test/CodeGen/AArch64/arithmetic_fence.ll |   4 +-
 .../AArch64/arm64-2013-01-13-ffast-fcmp.ll    |   5 -
 .../AArch64/arm64-extract-insert-varidx.ll    |   4 +-
 .../CodeGen/AArch64/arm64-fml-combines.ll     |   1 -
 .../CodeGen/AArch64/arm64-neon-2velem-high.ll |   4 +-
 .../AArch64/arm64-neon-scalar-by-elem-mul.ll  |   2 +-
 .../CodeGen/AArch64/arm64-neon-select_cc.ll   |   2 +-
 .../AArch64/arm64-neon-vector-list-spill.ll   |   2 +-
 llvm/test/CodeGen/AArch64/fnmul.ll            |   1 -
 llvm/test/CodeGen/AArch64/fp16-fmla.ll        |   2 +-
 .../test/CodeGen/AArch64/neon-fpextend_f16.ll |   2 +-
 .../test/CodeGen/AArch64/neon-fpround_f128.ll |   2 +-
 .../AArch64/neon-scalar-by-elem-fma.ll        |   2 +-
 .../GlobalISel/combine-fma-add-ext-fma.ll     |  88 --
 .../GlobalISel/combine-fma-add-fma-mul.ll     | 872 +++++++++---------
 llvm/test/CodeGen/AMDGPU/fdot2.ll             |  38 +-
 .../CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll   |   8 +-
 llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll |   2 +-
 .../test/CodeGen/Hexagon/swp-epilog-reuse2.ll |   2 +-
 llvm/test/CodeGen/Hexagon/swp-loop-carried.ll |   2 +-
 llvm/test/CodeGen/Hexagon/swp-max-stage3.ll   |   2 +-
 .../CodeGen/Hexagon/swp-memrefs-epilog.ll     |   2 +-
 .../CodeGen/Hexagon/swp-rename-dead-phi.ll    |   2 +-
 llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll    |   2 +-
 .../PowerPC/fma-mutate-duplicate-vreg.ll      |   2 +-
 29 files changed, 487 insertions(+), 588 deletions(-)

diff --git a/llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll b/llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
index c87607a52774a..aeec6fd916514 100644
--- a/llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
+++ b/llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
@@ -1,11 +1,11 @@
 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa -denormal-fp-math-f32=preserve-sign -denormal-fp-math=preserve-sign -fp-contract=on < %s | FileCheck -check-prefixes=SLOWF64,FUSED,SLOWF32 %s
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa -denormal-fp-math-f32=ieee -denormal-fp-math=ieee -fp-contract=on < %s | FileCheck -check-prefixes=SLOWF64,FASTF32,GFX9SLOW %s
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu10.30-unknown-amdhsa -denormal-fp-math-f32=preserve-sign -denormal-fp-math=preserve-sign -fp-contract=on < %s | FileCheck -check-prefixes=SLOWF64,FUSED,FASTF32,GFX1030 %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa -denormal-fp-math-f32=preserve-sign -denormal-fp-math=preserve-sign < %s | FileCheck -check-prefixes=SLOWF64,FUSED,SLOWF32 %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa -denormal-fp-math-f32=ieee -denormal-fp-math=ieee < %s | FileCheck -check-prefixes=SLOWF64,FASTF32,GFX9SLOW %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu10.30-unknown-amdhsa -denormal-fp-math-f32=preserve-sign -denormal-fp-math=preserve-sign < %s | FileCheck -check-prefixes=SLOWF64,FUSED,FASTF32,GFX1030 %s
 
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa -denormal-fp-math-f32=preserve-sign -denormal-fp-math=preserve-sign -fp-contract=on < %s | FileCheck -check-prefixes=SLOWF64-SIZE,FUSED-SIZE,SLOWF32-SIZE %s
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa -denormal-fp-math-f32=ieee -denormal-fp-math=ieee -fp-contract=on < %s | FileCheck -check-prefixes=SLOWF64-SIZE,FASTF32-SIZE,GFX9SLOW-SIZE %s
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu10.30-unknown-amdhsa -denormal-fp-math-f32=preserve-sign -denormal-fp-math=preserve-sign -fp-contract=on < %s | FileCheck -check-prefixes=SLOWF64-SIZE,FUSED-SIZE,FASTF32-SIZE,GFX1030-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa -denormal-fp-math-f32=preserve-sign -denormal-fp-math=preserve-sign < %s | FileCheck -check-prefixes=SLOWF64-SIZE,FUSED-SIZE,SLOWF32-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa -denormal-fp-math-f32=ieee -denormal-fp-math=ieee < %s | FileCheck -check-prefixes=SLOWF64-SIZE,FASTF32-SIZE,GFX9SLOW-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu10.30-unknown-amdhsa -denormal-fp-math-f32=preserve-sign -denormal-fp-math=preserve-sign < %s | FileCheck -check-prefixes=SLOWF64-SIZE,FUSED-SIZE,FASTF32-SIZE,GFX1030-SIZE %s
 ; END.
 
 define void @fmul_fadd_f32(float %a, float %b, float %c, <2 x float> %va, <2 x float> %vb, <2 x float> %vc) #0 {
diff --git a/llvm/test/CodeGen/AArch64/PBQP-chain.ll b/llvm/test/CodeGen/AArch64/PBQP-chain.ll
index 10b299f6afa79..e9dced1361ffd 100644
--- a/llvm/test/CodeGen/AArch64/PBQP-chain.ll
+++ b/llvm/test/CodeGen/AArch64/PBQP-chain.ll
@@ -1,5 +1,5 @@
-; RUN: llc < %s -mcpu=cortex-a57 -mattr=+neon -fp-contract=fast -regalloc=pbqp -pbqp-coalescing | FileCheck %s --check-prefix CHECK --check-prefix CHECK-EVEN
-; RUN: llc < %s -mcpu=cortex-a57 -mattr=+neon -fp-contract=fast -regalloc=pbqp -pbqp-coalescing | FileCheck %s --check-prefix CHECK --check-prefix CHECK-ODD
+; RUN: llc < %s -mcpu=cortex-a57 -mattr=+neon -regalloc=pbqp -pbqp-coalescing | FileCheck %s --check-prefix CHECK --check-prefix CHECK-EVEN
+; RUN: llc < %s -mcpu=cortex-a57 -mattr=+neon -regalloc=pbqp -pbqp-coalescing | FileCheck %s --check-prefix CHECK --check-prefix CHECK-ODD
 ;
 ; Test PBQP is able to fulfill the accumulator chaining constraint.
 target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128"
diff --git a/llvm/test/CodeGen/AArch64/PBQP-coalesce-benefit.ll b/llvm/test/CodeGen/AArch64/PBQP-coalesce-benefit.ll
index 6c9e250af0886..aafc1718d686f 100644
--- a/llvm/test/CodeGen/AArch64/PBQP-coalesce-benefit.ll
+++ b/llvm/test/CodeGen/AArch64/PBQP-coalesce-benefit.ll
@@ -1,4 +1,4 @@
-; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a57 -mattr=+neon -fp-contract=fast -regalloc=pbqp -pbqp-coalescing | FileCheck %s
+; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a57 -mattr=+neon -regalloc=pbqp -pbqp-coalescing | FileCheck %s
 
 ; CHECK-LABEL: test:
 define i32 @test(i32 %acc, ptr nocapture readonly %c) {
diff --git a/llvm/test/CodeGen/AArch64/PBQP-csr.ll b/llvm/test/CodeGen/AArch64/PBQP-csr.ll
index 55dbc5720b47f..232ef840d8471 100644
--- a/llvm/test/CodeGen/AArch64/PBQP-csr.ll
+++ b/llvm/test/CodeGen/AArch64/PBQP-csr.ll
@@ -1,4 +1,4 @@
-; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a57 -mattr=+neon -fp-contract=fast -regalloc=pbqp -pbqp-coalescing | FileCheck %s
+; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a57 -mattr=+neon -regalloc=pbqp -pbqp-coalescing | FileCheck %s
 
 %pl = type { i32, i32, i32, i32, ptr, ptr, ptr }
 %p = type { i32, ptr, [27 x ptr], ptr, ptr, ptr, i32 }
diff --git a/llvm/test/CodeGen/AArch64/arithmetic_fence.ll b/llvm/test/CodeGen/AArch64/arithmetic_fence.ll
index c6a711d923032..2fa2a0ffabb01 100644
--- a/llvm/test/CodeGen/AArch64/arithmetic_fence.ll
+++ b/llvm/test/CodeGen/AArch64/arithmetic_fence.ll
@@ -1,6 +1,6 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -mattr=-neon -fp-contract=fast | FileCheck %s --check-prefix=Aarch64
-; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -mattr=+neon -fp-contract=fast | FileCheck %s --check-prefix=Aarch64-Neon
+; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -mattr=-neon | FileCheck %s --check-prefix=Aarch64
+; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -mattr=+neon | FileCheck %s --check-prefix=Aarch64-Neon
 
 define float @f1(float %a, float %b, float %c) {
 ; Aarch64-LABEL: f1:
diff --git a/llvm/test/CodeGen/AArch64/arm64-2013-01-13-ffast-fcmp.ll b/llvm/test/CodeGen/AArch64/arm64-2013-01-13-ffast-fcmp.ll
index 9b08538ad6e96..a3faac2af384e 100644
--- a/llvm/test/CodeGen/AArch64/arm64-2013-01-13-ffast-fcmp.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-2013-01-13-ffast-fcmp.ll
@@ -1,12 +1,7 @@
 ; RUN: llc < %s -mtriple=arm64-apple-ios7.0.0 -aarch64-neon-syntax=apple | FileCheck %s
-; RUN: llc < %s -mtriple=arm64-apple-ios7.0.0 -aarch64-neon-syntax=apple -fp-contract=fast | FileCheck %s --check-prefix=FAST
 
 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-n32:64-S128"
 
-;FAST-LABEL: _Z9example25v:
-;FAST: fcmgt.4s
-;FAST: ret
-
 ;CHECK-LABEL: _Z9example25v:
 ;CHECK: fcmgt.4s
 ;CHECK: ret
diff --git a/llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll b/llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
index 8db13306d92d5..1fa1cf135051a 100644
--- a/llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
@@ -1,6 +1,6 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3
-; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -fp-contract=fast -aarch64-enable-sink-fold=true | FileCheck %s --check-prefixes=CHECK,CHECK-SD
-; RUN: llc < %s -global-isel -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -fp-contract=fast -aarch64-enable-sink-fold=true | FileCheck %s --check-prefixes=CHECK,CHECK-GI
+; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -aarch64-enable-sink-fold=true | FileCheck %s --check-prefixes=CHECK,CHECK-SD
+; RUN: llc < %s -global-isel -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -aarch64-enable-sink-fold=true | FileCheck %s --check-prefixes=CHECK,CHECK-GI
 
 define <4 x i8> @test_varidx_extract_v8s8(<8 x i8> %x, i32 %idx) {
 ; CHECK-SD-LABEL: test_varidx_extract_v8s8:
diff --git a/llvm/test/CodeGen/AArch64/arm64-fml-combines.ll b/llvm/test/CodeGen/AArch64/arm64-fml-combines.ll
index 60c48bfce3f85..1533c7626fba9 100644
--- a/llvm/test/CodeGen/AArch64/arm64-fml-combines.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-fml-combines.ll
@@ -1,5 +1,4 @@
 ; RUN: llc < %s -O3 -mtriple=arm64-apple-ios -mattr=+fullfp16 | FileCheck %s
-; RUN: llc < %s -O3 -mtriple=arm64-apple-ios -fp-contract=fast -mattr=+fullfp16 | FileCheck %s
 
 define void @foo_2d(ptr %src) {
 entry:
diff --git a/llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll b/llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
index 7581671a51f60..50b179be3a02c 100644
--- a/llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
@@ -1,6 +1,6 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc -mtriple=arm64-none-linux-gnu -mattr=+neon -fp-contract=fast < %s -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK,CHECK-SD
-; RUN: llc -mtriple=arm64-none-linux-gnu -mattr=+neon -fp-contract=fast < %s -verify-machineinstrs -global-isel -global-isel-abort=2 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-GI
+; RUN: llc -mtriple=arm64-none-linux-gnu -mattr=+neon < %s -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK,CHECK-SD
+; RUN: llc -mtriple=arm64-none-linux-gnu -mattr=+neon < %s -verify-machineinstrs -global-isel -global-isel-abort=2 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-GI
 
 ; CHECK-GI:       warning: Instruction selection used fallback path for test_vfms_n_f32
 ; CHECK-GI-NEXT:  warning: Instruction selection used fallback path for test_vfmsq_n_f32
diff --git a/llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll b/llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll
index 091cda89bfe40..b1a5bae4699b9 100644
--- a/llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll
@@ -1,5 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
-; RUN: llc < %s -verify-machineinstrs -mtriple=arm64-none-linux-gnu -mattr=+neon -fp-contract=fast | FileCheck %s
+; RUN: llc < %s -verify-machineinstrs -mtriple=arm64-none-linux-gnu -mattr=+neon | FileCheck %s
 
 define float @test_fmul_lane_ss2S_0(float %a, <2 x float> %v) {
 ; CHECK-LABEL: test_fmul_lane_ss2S_0:
diff --git a/llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll b/llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
index 870448b92e18e..9c6eff55022e8 100644
--- a/llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
@@ -1,5 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc  -mtriple=arm64-none-linux-gnu -mattr=+neon -fp-contract=fast \
+; RUN: llc  -mtriple=arm64-none-linux-gnu -mattr=+neon \
 ; RUN:        < %s -verify-machineinstrs | FileCheck %s
 
 define <8x i8> @test_select_cc_v8i8_i8(i8 %a, i8 %b, <8x i8> %c, <8x i8> %d ) {
diff --git a/llvm/test/CodeGen/AArch64/arm64-neon-vector-list-spill.ll b/llvm/test/CodeGen/AArch64/arm64-neon-vector-list-spill.ll
index bb06778696c97..aa68f951076e6 100644
--- a/llvm/test/CodeGen/AArch64/arm64-neon-vector-list-spill.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-neon-vector-list-spill.ll
@@ -1,5 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
-; RUN: llc < %s -verify-machineinstrs -mtriple=arm64-none-linux-gnu -mattr=+neon -fp-contract=fast | FileCheck %s
+; RUN: llc < %s -verify-machineinstrs -mtriple=arm64-none-linux-gnu -mattr=+neon | FileCheck %s
 
 ; FIXME: We should not generate ld/st for such register spill/fill, because the
 ; test case seems very simple and the register pressure is not high. If the
diff --git a/llvm/test/CodeGen/AArch64/fnmul.ll b/llvm/test/CodeGen/AArch64/fnmul.ll
index 0b145a282ba6a..16a04f6018b0a 100644
--- a/llvm/test/CodeGen/AArch64/fnmul.ll
+++ b/llvm/test/CodeGen/AArch64/fnmul.ll
@@ -1,5 +1,4 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-;RUN: llc < %s -mtriple=aarch64-none-linux-gnu -mattr=+v8.2a,+fullfp16 -fp-contract=fast -verify-machineinstrs -global-isel=0 | FileCheck %s
 ;RUN: llc < %s -mtriple=aarch64-none-linux-gnu -mattr=+v8.2a,+fullfp16 -verify-machineinstrs -global-isel=0 | FileCheck %s
 
 
diff --git a/llvm/test/CodeGen/AArch64/fp16-fmla.ll b/llvm/test/CodeGen/AArch64/fp16-fmla.ll
index a81721afb8453..6bbbd9144e40e 100644
--- a/llvm/test/CodeGen/AArch64/fp16-fmla.ll
+++ b/llvm/test/CodeGen/AArch64/fp16-fmla.ll
@@ -1,4 +1,4 @@
-; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -mattr=+v8.2a,+fullfp16 -fp-contract=fast  | FileCheck %s
+; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -mattr=+v8.2a,+fullfp16 | FileCheck %s
 
 define half @test_FMULADDH_OP1(half %a, half %b, half %c) {
 ; CHECK-LABEL: test_FMULADDH_OP1:
diff --git a/llvm/test/CodeGen/AArch64/neon-fpextend_f16.ll b/llvm/test/CodeGen/AArch64/neon-fpextend_f16.ll
index 097e18b810411..63a465d05b71c 100644
--- a/llvm/test/CodeGen/AArch64/neon-fpextend_f16.ll
+++ b/llvm/test/CodeGen/AArch64/neon-fpextend_f16.ll
@@ -1,5 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -fp-contract=fast | FileCheck %s
+; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon | FileCheck %s
 
 ; This is testing that we can scalarize the v1f16 input to fp_extend even
 ; though the v1f64 result is legal.
diff --git a/llvm/test/CodeGen/AArch64/neon-fpround_f128.ll b/llvm/test/CodeGen/AArch64/neon-fpround_f128.ll
index 64bb9934360fb..cf0a400697780 100644
--- a/llvm/test/CodeGen/AArch64/neon-fpround_f128.ll
+++ b/llvm/test/CodeGen/AArch64/neon-fpround_f128.ll
@@ -1,4 +1,4 @@
-; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -fp-contract=fast | FileCheck %s
+; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon | FileCheck %s
 
 define <1 x double> @test_fpround_v1f128(ptr %a) {
 ; CHECK-LABEL: test_fpround_v1f128:
diff --git a/llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll b/llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
index 544d7680f01b8..7da7a89745f2e 100644
--- a/llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
+++ b/llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
@@ -1,5 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
-; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -fp-contract=fast | FileCheck %s
+; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon | FileCheck %s
 
 attributes #0 = { strictfp }
 
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll b/llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
index 5909e89b9199e..254f64c74f57b 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
@@ -1,7 +1,6 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
 ; RUN: llc -global-isel -mtriple=amdgpu9.00 --denormal-fp-math=preserve-sign < %s | FileCheck -check-prefix=GFX9-DENORM %s
 ; RUN: llc -global-isel -mtriple=amdgpu10.10 < %s | FileCheck -check-prefix=GFX10 %s
-; RUN: llc -global-isel -mtriple=amdgpu10.10 -fp-contract=fast < %s | FileCheck -check-prefix=GFX10-CONTRACT %s
 ; RUN: llc -global-isel -mtriple=amdgpu10.10 --denormal-fp-math=preserve-sign < %s | FileCheck -check-prefix=GFX10-DENORM %s
 
 ; fold (fadd (fma x, y, (fpext (fmul u, v))), z) -> (fma x, y, (fma (fpext u), (fpext v), z))
@@ -20,13 +19,6 @@ define amdgpu_vs float @test_f16_f32_add_fma_ext_mul(float %x, float %y, float %
 ; GFX10-NEXT:    v_add_f32_e32 v0, v0, v2
 ; GFX10-NEXT:    ; return to shader part epilog
 ;
-; GFX10-CONTRACT-LABEL: test_f16_f32_add_fma_ext_mul:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    v_mul_f16_e32 v3, v3, v4
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v0, v0, v1, v3 op_sel_hi:[0,0,1]
-; GFX10-CONTRACT-NEXT:    v_add_f32_e32 v0, v0, v2
-; GFX10-CONTRACT-NEXT:    ; return to shader part epilog
-;
 ; GFX10-DENORM-LABEL: test_f16_f32_add_fma_ext_mul:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
 ; GFX10-DENORM-NEXT:    v_mul_f16_e32 v3, v3, v4
@@ -56,13 +48,6 @@ define amdgpu_vs float @test_f16_f32_add_ext_fma_mul(half %x, half %y, float %z,
 ; GFX10-NEXT:    v_fma_mix_f32 v0, v3, 1.0, v2 op_sel_hi:[1,1,0]
 ; GFX10-NEXT:    ; return to shader part epilog
 ;
-; GFX10-CONTRACT-LABEL: test_f16_f32_add_ext_fma_mul:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    v_mul_f16_e32 v3, v3, v4
-; GFX10-CONTRACT-NEXT:    v_fmac_f16_e32 v3, v0, v1
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v0, v3, 1.0, v2 op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    ; return to shader part epilog
-;
 ; GFX10-DENORM-LABEL: test_f16_f32_add_ext_fma_mul:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
 ; GFX10-DENORM-NEXT:    v_mul_f16_e32 v3, v3, v4
@@ -93,13 +78,6 @@ define amdgpu_vs float @test_f16_f32_add_fma_ext_mul_rhs(float %x, float %y, flo
 ; GFX10-NEXT:    v_add_f32_e32 v0, v0, v1
 ; GFX10-NEXT:    ; return to shader part epilog
 ;
-; GFX10-CONTRACT-LABEL: test_f16_f32_add_fma_ext_mul_rhs:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    v_mul_f16_e32 v3, v3, v4
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v1, v1, v2, v3 op_sel_hi:[0,0,1]
-; GFX10-CONTRACT-NEXT:    v_add_f32_e32 v0, v0, v1
-; GFX10-CONTRACT-NEXT:    ; return to shader part epilog
-;
 ; GFX10-DENORM-LABEL: test_f16_f32_add_fma_ext_mul_rhs:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
 ; GFX10-DENORM-NEXT:    v_mul_f16_e32 v3, v3, v4
@@ -129,13 +107,6 @@ define amdgpu_vs float @test_f16_f32_add_ext_fma_mul_rhs(float %x, half %y, half
 ; GFX10-NEXT:    v_fma_mix_f32 v0, v3, 1.0, v0 op_sel_hi:[1,1,0]
 ; GFX10-NEXT:    ; return to shader part epilog
 ;
-; GFX10-CONTRACT-LABEL: test_f16_f32_add_ext_fma_mul_rhs:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    v_mul_f16_e32 v3, v3, v4
-; GFX10-CONTRACT-NEXT:    v_fmac_f16_e32 v3, v1, v2
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v0, v3, 1.0, v0 op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    ; return to shader part epilog
-;
 ; GFX10-DENORM-LABEL: test_f16_f32_add_ext_fma_mul_rhs:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
 ; GFX10-DENORM-NEXT:    v_mul_f16_e32 v3, v3, v4
@@ -181,20 +152,6 @@ define amdgpu_vs <4 x float> @test_v4f16_v4f32_add_fma_ext_mul(<4 x float> %x, <
 ; GFX10-NEXT:    v_add_f32_e32 v3, v3, v11
 ; GFX10-NEXT:    ; return to shader part epilog
 ;
-; GFX10-CONTRACT-LABEL: test_v4f16_v4f32_add_fma_ext_mul:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    v_pk_mul_f16 v12, v12, v14
-; GFX10-CONTRACT-NEXT:    v_pk_mul_f16 v13, v13, v15
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v0, v0, v4, v12 op_sel_hi:[0,0,1]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v1, v1, v5, v12 op_sel:[0,0,1] op_sel_hi:[0,0,1]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v2, v2, v6, v13 op_sel_hi:[0,0,1]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v3, v3, v7, v13 op_sel:[0,0,1] op_sel_hi:[0,0,1]
-; GFX10-CONTRACT-NEXT:    v_add_f32_e32 v0, v0, v8
-; GFX10-CONTRACT-NEXT:    v_add_f32_e32 v1, v1, v9
-; GFX10-CONTRACT-NEXT:    v_add_f32_e32 v2, v2, v10
-; GFX10-CONTRACT-NEXT:    v_add_f32_e32 v3, v3, v11
-; GFX10-CONTRACT-NEXT:    ; return to shader part epilog
-;
 ; GFX10-DENORM-LABEL: test_v4f16_v4f32_add_fma_ext_mul:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
 ; GFX10-DENORM-NEXT:    v_pk_mul_f16 v12, v12, v14
@@ -244,18 +201,6 @@ define amdgpu_vs <4 x float> @test_v4f16_v4f32_add_ext_fma_mul(<4 x half> %x, <4
 ; GFX10-NEXT:    v_fma_mix_f32 v3, v3, 1.0, v7 op_sel:[1,0,0] op_sel_hi:[1,1,0]
 ; GFX10-NEXT:    ; return to shader part epilog
 ;
-; GFX10-CONTRACT-LABEL: test_v4f16_v4f32_add_ext_fma_mul:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    v_pk_mul_f16 v8, v8, v10
-; GFX10-CONTRACT-NEXT:    v_pk_mul_f16 v9, v9, v11
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v2, v0, v2, v8
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v3, v1, v3, v9
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v0, v2, 1.0, v4 op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v1, v2, 1.0, v5 op_sel:[1,0,0] op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v2, v3, 1.0, v6 op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v3, v3, 1.0, v7 op_sel:[1,0,0] op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    ; return to shader part epilog
-;
 ; GFX10-DENORM-LABEL: test_v4f16_v4f32_add_ext_fma_mul:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
 ; GFX10-DENORM-NEXT:    v_pk_mul_f16 v8, v8, v10
@@ -307,20 +252,6 @@ define amdgpu_vs <4 x float> @test_v4f16_v4f32_add_fma_ext_mul_rhs(<4 x float> %
 ; GFX10-NEXT:    v_add_f32_e32 v3, v3, v7
 ; GFX10-NEXT:    ; return to shader part epilog
 ;
-; GFX10-CONTRACT-LABEL: test_v4f16_v4f32_add_fma_ext_mul_rhs:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    v_pk_mul_f16 v12, v12, v14
-; GFX10-CONTRACT-NEXT:    v_pk_mul_f16 v13, v13, v15
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v4, v4, v8, v12 op_sel_hi:[0,0,1]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v5, v5, v9, v12 op_sel:[0,0,1] op_sel_hi:[0,0,1]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v6, v6, v10, v13 op_sel_hi:[0,0,1]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v7, v7, v11, v13 op_sel:[0,0,1] op_sel_hi:[0,0,1]
-; GFX10-CONTRACT-NEXT:    v_add_f32_e32 v0, v0, v4
-; GFX10-CONTRACT-NEXT:    v_add_f32_e32 v1, v1, v5
-; GFX10-CONTRACT-NEXT:    v_add_f32_e32 v2, v2, v6
-; GFX10-CONTRACT-NEXT:    v_add_f32_e32 v3, v3, v7
-; GFX10-CONTRACT-NEXT:    ; return to shader part epilog
-;
 ; GFX10-DENORM-LABEL: test_v4f16_v4f32_add_fma_ext_mul_rhs:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
 ; GFX10-DENORM-NEXT:    v_pk_mul_f16 v12, v12, v14
@@ -370,18 +301,6 @@ define amdgpu_vs <4 x float> @test_v4f16_v4f32_add_ext_fma_mul_rhs(<4 x float> %
 ; GFX10-NEXT:    v_fma_mix_f32 v3, v5, 1.0, v3 op_sel:[1,0,0] op_sel_hi:[1,1,0]
 ; GFX10-NEXT:    ; return to shader part epilog
 ;
-; GFX10-CONTRACT-LABEL: test_v4f16_v4f32_add_ext_fma_mul_rhs:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    v_pk_mul_f16 v8, v8, v10
-; GFX10-CONTRACT-NEXT:    v_pk_mul_f16 v9, v9, v11
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v0, v4, 1.0, v0 op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v1, v4, 1.0, v1 op_sel:[1,0,0] op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v2, v5, 1.0, v2 op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v3, v5, 1.0, v3 op_sel:[1,0,0] op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    ; return to shader part epilog
-;
 ; GFX10-DENORM-LABEL: test_v4f16_v4f32_add_ext_fma_mul_rhs:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
 ; GFX10-DENORM-NEXT:    v_pk_mul_f16 v8, v8, v10
@@ -418,13 +337,6 @@ define amdgpu_ps float @test_matching_source_from_unmerge(ptr addrspace(3) %aptr
 ; GFX10-NEXT:    v_fma_mix_f32 v0, v2, v3, v1 op_sel:[1,1,0] op_sel_hi:[1,1,0]
 ; GFX10-NEXT:    ; return to shader part epilog
 ;
-; GFX10-CONTRACT-LABEL: test_matching_source_from_unmerge:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    ds_read_b64 v[2:3], v0
-; GFX10-CONTRACT-NEXT:    s_waitcnt lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_mix_f32 v0, v2, v3, v1 op_sel:[1,1,0] op_sel_hi:[1,1,0]
-; GFX10-CONTRACT-NEXT:    ; return to shader part epilog
-;
 ; GFX10-DENORM-LABEL: test_matching_source_from_unmerge:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
 ; GFX10-DENORM-NEXT:    ds_read_b64 v[2:3], v0
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll b/llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
index ce4de6e628573..430bc08a704a4 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
@@ -1,10 +1,10 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc -global-isel -mtriple=amdgpu9.00 -fp-contract=fast < %s | FileCheck -check-prefix=GFX9-CONTRACT %s
+; RUN: llc -global-isel -mtriple=amdgpu9.00 < %s | FileCheck -check-prefix=GFX9 %s
 ; RUN: llc -global-isel -mtriple=amdgpu9.00 --denormal-fp-math=preserve-sign < %s | FileCheck -check-prefix=GFX9-DENORM %s
-; RUN: llc -global-isel -mtriple=amdgpu10.10 -fp-contract=fast < %s | FileCheck -check-prefix=GFX10-CONTRACT %s
+; RUN: llc -global-isel -mtriple=amdgpu10.10 < %s | FileCheck -check-prefix=GFX10 %s
 ; RUN: llc -global-isel -mtriple=amdgpu10.10 --denormal-fp-math=preserve-sign < %s | FileCheck -check-prefix=GFX10-DENORM %s
-; RUN: llc -global-isel -mtriple=amdgpu11.00 -mattr=+real-true16 -fp-contract=fast < %s | FileCheck -check-prefixes=GFX11-CONTRACT,GFX11-CONTRACT-TRUE16 %s
-; RUN: llc -global-isel -mtriple=amdgpu11.00 -mattr=-real-true16 -fp-contract=fast < %s | FileCheck -check-prefixes=GFX11-CONTRACT,GFX11-CONTRACT-FAKE16 %s
+; RUN: llc -global-isel -mtriple=amdgpu11.00 -mattr=+real-true16 < %s | FileCheck -check-prefixes=GFX11,GFX11-TRUE16 %s
+; RUN: llc -global-isel -mtriple=amdgpu11.00 -mattr=-real-true16 < %s | FileCheck -check-prefixes=GFX11,GFX11-FAKE16 %s
 ; RUN: llc -global-isel -mtriple=amdgpu11.00 -mattr=+real-true16 --denormal-fp-math=preserve-sign < %s | FileCheck -check-prefixes=GFX11-DENORM,GFX11-DENORM-TRUE16 %s
 ; RUN: llc -global-isel -mtriple=amdgpu11.00 -mattr=-real-true16 --denormal-fp-math=preserve-sign < %s | FileCheck -check-prefixes=GFX11-DENORM,GFX11-DENORM-FAKE16 %s
 
@@ -12,12 +12,12 @@
 ; fadd e, (fma a, b, (fmul c, d)) --> fma a, b, (fma c, d, e)
 
 define float @test_f32_add_mul(float %a, float %b, float %c, float %d, float %e) {
-; GFX9-CONTRACT-LABEL: test_f32_add_mul:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v2, v2, v3, v4
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v0, v0, v1, v2
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_f32_add_mul:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_fma_f32 v2, v2, v3, v4
+; GFX9-NEXT:    v_fma_f32 v0, v0, v1, v2
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_f32_add_mul:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -27,13 +27,13 @@ define float @test_f32_add_mul(float %a, float %b, float %c, float %d, float %e)
 ; GFX9-DENORM-NEXT:    v_mov_b32_e32 v0, v2
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_f32_add_mul:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_f32 v2, v2, v3, v4
-; GFX10-CONTRACT-NEXT:    v_fmac_f32_e32 v2, v0, v1
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v0, v2
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_f32_add_mul:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    v_fma_f32 v2, v2, v3, v4
+; GFX10-NEXT:    v_fmac_f32_e32 v2, v0, v1
+; GFX10-NEXT:    v_mov_b32_e32 v0, v2
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_f32_add_mul:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -43,14 +43,14 @@ define float @test_f32_add_mul(float %a, float %b, float %c, float %d, float %e)
 ; GFX10-DENORM-NEXT:    v_mov_b32_e32 v0, v2
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-LABEL: test_f32_add_mul:
-; GFX11-CONTRACT:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-NEXT:    v_fma_f32 v2, v2, v3, v4
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
-; GFX11-CONTRACT-NEXT:    v_fmac_f32_e32 v2, v0, v1
-; GFX11-CONTRACT-NEXT:    v_mov_b32_e32 v0, v2
-; GFX11-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-LABEL: test_f32_add_mul:
+; GFX11:       ; %bb.0: ; %.entry
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    v_fma_f32 v2, v2, v3, v4
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
+; GFX11-NEXT:    v_fmac_f32_e32 v2, v0, v1
+; GFX11-NEXT:    v_mov_b32_e32 v0, v2
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-LABEL: test_f32_add_mul:
 ; GFX11-DENORM:       ; %bb.0: ; %.entry
@@ -68,12 +68,12 @@ define float @test_f32_add_mul(float %a, float %b, float %c, float %d, float %e)
 }
 
 define float @test_f32_add_mul_rhs(float %a, float %b, float %c, float %d, float %e) {
-; GFX9-CONTRACT-LABEL: test_f32_add_mul_rhs:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v2, v2, v3, v4
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v0, v0, v1, v2
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_f32_add_mul_rhs:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_fma_f32 v2, v2, v3, v4
+; GFX9-NEXT:    v_fma_f32 v0, v0, v1, v2
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_f32_add_mul_rhs:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -83,13 +83,13 @@ define float @test_f32_add_mul_rhs(float %a, float %b, float %c, float %d, float
 ; GFX9-DENORM-NEXT:    v_mov_b32_e32 v0, v2
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_f32_add_mul_rhs:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_f32 v2, v2, v3, v4
-; GFX10-CONTRACT-NEXT:    v_fmac_f32_e32 v2, v0, v1
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v0, v2
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_f32_add_mul_rhs:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    v_fma_f32 v2, v2, v3, v4
+; GFX10-NEXT:    v_fmac_f32_e32 v2, v0, v1
+; GFX10-NEXT:    v_mov_b32_e32 v0, v2
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_f32_add_mul_rhs:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -99,14 +99,14 @@ define float @test_f32_add_mul_rhs(float %a, float %b, float %c, float %d, float
 ; GFX10-DENORM-NEXT:    v_mov_b32_e32 v0, v2
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-LABEL: test_f32_add_mul_rhs:
-; GFX11-CONTRACT:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-NEXT:    v_fma_f32 v2, v2, v3, v4
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
-; GFX11-CONTRACT-NEXT:    v_fmac_f32_e32 v2, v0, v1
-; GFX11-CONTRACT-NEXT:    v_mov_b32_e32 v0, v2
-; GFX11-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-LABEL: test_f32_add_mul_rhs:
+; GFX11:       ; %bb.0: ; %.entry
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    v_fma_f32 v2, v2, v3, v4
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
+; GFX11-NEXT:    v_fmac_f32_e32 v2, v0, v1
+; GFX11-NEXT:    v_mov_b32_e32 v0, v2
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-LABEL: test_f32_add_mul_rhs:
 ; GFX11-DENORM:       ; %bb.0: ; %.entry
@@ -124,12 +124,12 @@ define float @test_f32_add_mul_rhs(float %a, float %b, float %c, float %d, float
 }
 
 define half @test_half_add_mul(half %a, half %b, half %c, half %d, half %e) {
-; GFX9-CONTRACT-LABEL: test_half_add_mul:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f16 v2, v2, v3, v4
-; GFX9-CONTRACT-NEXT:    v_fma_f16 v0, v0, v1, v2
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_half_add_mul:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_fma_f16 v2, v2, v3, v4
+; GFX9-NEXT:    v_fma_f16 v0, v0, v1, v2
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_half_add_mul:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -139,13 +139,13 @@ define half @test_half_add_mul(half %a, half %b, half %c, half %d, half %e) {
 ; GFX9-DENORM-NEXT:    v_mov_b32_e32 v0, v2
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_half_add_mul:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_f16 v2, v2, v3, v4
-; GFX10-CONTRACT-NEXT:    v_fmac_f16_e32 v2, v0, v1
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v0, v2
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_half_add_mul:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    v_fma_f16 v2, v2, v3, v4
+; GFX10-NEXT:    v_fmac_f16_e32 v2, v0, v1
+; GFX10-NEXT:    v_mov_b32_e32 v0, v2
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_half_add_mul:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -156,23 +156,23 @@ define half @test_half_add_mul(half %a, half %b, half %c, half %d, half %e) {
 ; GFX10-DENORM-NEXT:    v_add_f16_e32 v0, v0, v4
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-TRUE16-LABEL: test_half_add_mul:
-; GFX11-CONTRACT-TRUE16:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-TRUE16-NEXT:    v_fma_f16 v2.l, v2.l, v3.l, v4.l
-; GFX11-CONTRACT-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
-; GFX11-CONTRACT-TRUE16-NEXT:    v_fmac_f16_e32 v2.l, v0.l, v1.l
-; GFX11-CONTRACT-TRUE16-NEXT:    v_mov_b32_e32 v0, v2
-; GFX11-CONTRACT-TRUE16-NEXT:    s_setpc_b64 s[30:31]
-;
-; GFX11-CONTRACT-FAKE16-LABEL: test_half_add_mul:
-; GFX11-CONTRACT-FAKE16:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-FAKE16-NEXT:    v_fma_f16 v2, v2, v3, v4
-; GFX11-CONTRACT-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
-; GFX11-CONTRACT-FAKE16-NEXT:    v_fmac_f16_e32 v2, v0, v1
-; GFX11-CONTRACT-FAKE16-NEXT:    v_mov_b32_e32 v0, v2
-; GFX11-CONTRACT-FAKE16-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-TRUE16-LABEL: test_half_add_mul:
+; GFX11-TRUE16:       ; %bb.0: ; %.entry
+; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-TRUE16-NEXT:    v_fma_f16 v2.l, v2.l, v3.l, v4.l
+; GFX11-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
+; GFX11-TRUE16-NEXT:    v_fmac_f16_e32 v2.l, v0.l, v1.l
+; GFX11-TRUE16-NEXT:    v_mov_b32_e32 v0, v2
+; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]
+;
+; GFX11-FAKE16-LABEL: test_half_add_mul:
+; GFX11-FAKE16:       ; %bb.0: ; %.entry
+; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-FAKE16-NEXT:    v_fma_f16 v2, v2, v3, v4
+; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
+; GFX11-FAKE16-NEXT:    v_fmac_f16_e32 v2, v0, v1
+; GFX11-FAKE16-NEXT:    v_mov_b32_e32 v0, v2
+; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-TRUE16-LABEL: test_half_add_mul:
 ; GFX11-DENORM-TRUE16:       ; %bb.0: ; %.entry
@@ -201,12 +201,12 @@ define half @test_half_add_mul(half %a, half %b, half %c, half %d, half %e) {
 }
 
 define half @test_half_add_mul_rhs(half %a, half %b, half %c, half %d, half %e) {
-; GFX9-CONTRACT-LABEL: test_half_add_mul_rhs:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f16 v2, v2, v3, v4
-; GFX9-CONTRACT-NEXT:    v_fma_f16 v0, v0, v1, v2
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_half_add_mul_rhs:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_fma_f16 v2, v2, v3, v4
+; GFX9-NEXT:    v_fma_f16 v0, v0, v1, v2
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_half_add_mul_rhs:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -216,13 +216,13 @@ define half @test_half_add_mul_rhs(half %a, half %b, half %c, half %d, half %e)
 ; GFX9-DENORM-NEXT:    v_mov_b32_e32 v0, v2
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_half_add_mul_rhs:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_f16 v2, v2, v3, v4
-; GFX10-CONTRACT-NEXT:    v_fmac_f16_e32 v2, v0, v1
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v0, v2
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_half_add_mul_rhs:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    v_fma_f16 v2, v2, v3, v4
+; GFX10-NEXT:    v_fmac_f16_e32 v2, v0, v1
+; GFX10-NEXT:    v_mov_b32_e32 v0, v2
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_half_add_mul_rhs:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -233,23 +233,23 @@ define half @test_half_add_mul_rhs(half %a, half %b, half %c, half %d, half %e)
 ; GFX10-DENORM-NEXT:    v_add_f16_e32 v0, v4, v0
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-TRUE16-LABEL: test_half_add_mul_rhs:
-; GFX11-CONTRACT-TRUE16:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-TRUE16-NEXT:    v_fma_f16 v2.l, v2.l, v3.l, v4.l
-; GFX11-CONTRACT-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
-; GFX11-CONTRACT-TRUE16-NEXT:    v_fmac_f16_e32 v2.l, v0.l, v1.l
-; GFX11-CONTRACT-TRUE16-NEXT:    v_mov_b32_e32 v0, v2
-; GFX11-CONTRACT-TRUE16-NEXT:    s_setpc_b64 s[30:31]
-;
-; GFX11-CONTRACT-FAKE16-LABEL: test_half_add_mul_rhs:
-; GFX11-CONTRACT-FAKE16:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-FAKE16-NEXT:    v_fma_f16 v2, v2, v3, v4
-; GFX11-CONTRACT-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
-; GFX11-CONTRACT-FAKE16-NEXT:    v_fmac_f16_e32 v2, v0, v1
-; GFX11-CONTRACT-FAKE16-NEXT:    v_mov_b32_e32 v0, v2
-; GFX11-CONTRACT-FAKE16-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-TRUE16-LABEL: test_half_add_mul_rhs:
+; GFX11-TRUE16:       ; %bb.0: ; %.entry
+; GFX11-TRUE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-TRUE16-NEXT:    v_fma_f16 v2.l, v2.l, v3.l, v4.l
+; GFX11-TRUE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
+; GFX11-TRUE16-NEXT:    v_fmac_f16_e32 v2.l, v0.l, v1.l
+; GFX11-TRUE16-NEXT:    v_mov_b32_e32 v0, v2
+; GFX11-TRUE16-NEXT:    s_setpc_b64 s[30:31]
+;
+; GFX11-FAKE16-LABEL: test_half_add_mul_rhs:
+; GFX11-FAKE16:       ; %bb.0: ; %.entry
+; GFX11-FAKE16-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-FAKE16-NEXT:    v_fma_f16 v2, v2, v3, v4
+; GFX11-FAKE16-NEXT:    s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
+; GFX11-FAKE16-NEXT:    v_fmac_f16_e32 v2, v0, v1
+; GFX11-FAKE16-NEXT:    v_mov_b32_e32 v0, v2
+; GFX11-FAKE16-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-TRUE16-LABEL: test_half_add_mul_rhs:
 ; GFX11-DENORM-TRUE16:       ; %bb.0: ; %.entry
@@ -278,12 +278,12 @@ define half @test_half_add_mul_rhs(half %a, half %b, half %c, half %d, half %e)
 }
 
 define double @test_double_add_mul(double %a, double %b, double %c, double %d, double %e) {
-; GFX9-CONTRACT-LABEL: test_double_add_mul:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_double_add_mul:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
+; GFX9-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_double_add_mul:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -292,12 +292,12 @@ define double @test_double_add_mul(double %a, double %b, double %c, double %d, d
 ; GFX9-DENORM-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_double_add_mul:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_double_add_mul:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
+; GFX10-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_double_add_mul:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -306,13 +306,13 @@ define double @test_double_add_mul(double %a, double %b, double %c, double %d, d
 ; GFX10-DENORM-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-LABEL: test_double_add_mul:
-; GFX11-CONTRACT:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_1)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
-; GFX11-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-LABEL: test_double_add_mul:
+; GFX11:       ; %bb.0: ; %.entry
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)
+; GFX11-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-LABEL: test_double_add_mul:
 ; GFX11-DENORM:       ; %bb.0: ; %.entry
@@ -329,12 +329,12 @@ define double @test_double_add_mul(double %a, double %b, double %c, double %d, d
 }
 
 define double @test_double_add_mul_rhs(double %a, double %b, double %c, double %d, double %e) {
-; GFX9-CONTRACT-LABEL: test_double_add_mul_rhs:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_double_add_mul_rhs:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
+; GFX9-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_double_add_mul_rhs:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -343,12 +343,12 @@ define double @test_double_add_mul_rhs(double %a, double %b, double %c, double %
 ; GFX9-DENORM-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_double_add_mul_rhs:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_double_add_mul_rhs:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
+; GFX10-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_double_add_mul_rhs:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -357,13 +357,13 @@ define double @test_double_add_mul_rhs(double %a, double %b, double %c, double %
 ; GFX10-DENORM-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-LABEL: test_double_add_mul_rhs:
-; GFX11-CONTRACT:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_1)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
-; GFX11-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-LABEL: test_double_add_mul_rhs:
+; GFX11:       ; %bb.0: ; %.entry
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    v_fma_f64 v[4:5], v[4:5], v[6:7], v[8:9]
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)
+; GFX11-NEXT:    v_fma_f64 v[0:1], v[0:1], v[2:3], v[4:5]
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-LABEL: test_double_add_mul_rhs:
 ; GFX11-DENORM:       ; %bb.0: ; %.entry
@@ -380,18 +380,18 @@ define double @test_double_add_mul_rhs(double %a, double %b, double %c, double %
 }
 
 define <4 x float> @test_v4f32_add_mul(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d, <4 x float> %e) {
-; GFX9-CONTRACT-LABEL: test_v4f32_add_mul:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v8, v8, v12, v16
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v9, v9, v13, v17
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v10, v10, v14, v18
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v11, v11, v15, v19
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v0, v0, v4, v8
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v1, v1, v5, v9
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v2, v2, v6, v10
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v3, v3, v7, v11
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_v4f32_add_mul:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_fma_f32 v8, v8, v12, v16
+; GFX9-NEXT:    v_fma_f32 v9, v9, v13, v17
+; GFX9-NEXT:    v_fma_f32 v10, v10, v14, v18
+; GFX9-NEXT:    v_fma_f32 v11, v11, v15, v19
+; GFX9-NEXT:    v_fma_f32 v0, v0, v4, v8
+; GFX9-NEXT:    v_fma_f32 v1, v1, v5, v9
+; GFX9-NEXT:    v_fma_f32 v2, v2, v6, v10
+; GFX9-NEXT:    v_fma_f32 v3, v3, v7, v11
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_v4f32_add_mul:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -410,22 +410,22 @@ define <4 x float> @test_v4f32_add_mul(<4 x float> %a, <4 x float> %b, <4 x floa
 ; GFX9-DENORM-NEXT:    v_mov_b32_e32 v3, v6
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_v4f32_add_mul:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_f32 v8, v8, v12, v16
-; GFX10-CONTRACT-NEXT:    v_fma_f32 v9, v9, v13, v17
-; GFX10-CONTRACT-NEXT:    v_fma_f32 v10, v10, v14, v18
-; GFX10-CONTRACT-NEXT:    v_fma_f32 v11, v11, v15, v19
-; GFX10-CONTRACT-NEXT:    v_fmac_f32_e32 v8, v0, v4
-; GFX10-CONTRACT-NEXT:    v_fmac_f32_e32 v9, v1, v5
-; GFX10-CONTRACT-NEXT:    v_fmac_f32_e32 v10, v2, v6
-; GFX10-CONTRACT-NEXT:    v_fmac_f32_e32 v11, v3, v7
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v0, v8
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v1, v9
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v2, v10
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v3, v11
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_v4f32_add_mul:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    v_fma_f32 v8, v8, v12, v16
+; GFX10-NEXT:    v_fma_f32 v9, v9, v13, v17
+; GFX10-NEXT:    v_fma_f32 v10, v10, v14, v18
+; GFX10-NEXT:    v_fma_f32 v11, v11, v15, v19
+; GFX10-NEXT:    v_fmac_f32_e32 v8, v0, v4
+; GFX10-NEXT:    v_fmac_f32_e32 v9, v1, v5
+; GFX10-NEXT:    v_fmac_f32_e32 v10, v2, v6
+; GFX10-NEXT:    v_fmac_f32_e32 v11, v3, v7
+; GFX10-NEXT:    v_mov_b32_e32 v0, v8
+; GFX10-NEXT:    v_mov_b32_e32 v1, v9
+; GFX10-NEXT:    v_mov_b32_e32 v2, v10
+; GFX10-NEXT:    v_mov_b32_e32 v3, v11
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_v4f32_add_mul:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -444,20 +444,20 @@ define <4 x float> @test_v4f32_add_mul(<4 x float> %a, <4 x float> %b, <4 x floa
 ; GFX10-DENORM-NEXT:    v_mov_b32_e32 v3, v11
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-LABEL: test_v4f32_add_mul:
-; GFX11-CONTRACT:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-NEXT:    v_fma_f32 v8, v8, v12, v16
-; GFX11-CONTRACT-NEXT:    v_fma_f32 v9, v9, v13, v17
-; GFX11-CONTRACT-NEXT:    v_fma_f32 v10, v10, v14, v18
-; GFX11-CONTRACT-NEXT:    v_fma_f32 v11, v11, v15, v19
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-CONTRACT-NEXT:    v_dual_fmac_f32 v8, v0, v4 :: v_dual_fmac_f32 v9, v1, v5
-; GFX11-CONTRACT-NEXT:    v_dual_fmac_f32 v10, v2, v6 :: v_dual_fmac_f32 v11, v3, v7
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-CONTRACT-NEXT:    v_dual_mov_b32 v0, v8 :: v_dual_mov_b32 v1, v9
-; GFX11-CONTRACT-NEXT:    v_dual_mov_b32 v2, v10 :: v_dual_mov_b32 v3, v11
-; GFX11-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-LABEL: test_v4f32_add_mul:
+; GFX11:       ; %bb.0: ; %.entry
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    v_fma_f32 v8, v8, v12, v16
+; GFX11-NEXT:    v_fma_f32 v9, v9, v13, v17
+; GFX11-NEXT:    v_fma_f32 v10, v10, v14, v18
+; GFX11-NEXT:    v_fma_f32 v11, v11, v15, v19
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-NEXT:    v_dual_fmac_f32 v8, v0, v4 :: v_dual_fmac_f32 v9, v1, v5
+; GFX11-NEXT:    v_dual_fmac_f32 v10, v2, v6 :: v_dual_fmac_f32 v11, v3, v7
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-NEXT:    v_dual_mov_b32 v0, v8 :: v_dual_mov_b32 v1, v9
+; GFX11-NEXT:    v_dual_mov_b32 v2, v10 :: v_dual_mov_b32 v3, v11
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-LABEL: test_v4f32_add_mul:
 ; GFX11-DENORM:       ; %bb.0: ; %.entry
@@ -481,18 +481,18 @@ define <4 x float> @test_v4f32_add_mul(<4 x float> %a, <4 x float> %b, <4 x floa
 }
 
 define <4 x float> @test_v4f32_add_mul_rhs(<4 x float> %a, <4 x float> %b, <4 x float> %c, <4 x float> %d, <4 x float> %e) {
-; GFX9-CONTRACT-LABEL: test_v4f32_add_mul_rhs:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v8, v8, v12, v16
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v9, v9, v13, v17
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v10, v10, v14, v18
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v11, v11, v15, v19
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v0, v0, v4, v8
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v1, v1, v5, v9
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v2, v2, v6, v10
-; GFX9-CONTRACT-NEXT:    v_fma_f32 v3, v3, v7, v11
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_v4f32_add_mul_rhs:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_fma_f32 v8, v8, v12, v16
+; GFX9-NEXT:    v_fma_f32 v9, v9, v13, v17
+; GFX9-NEXT:    v_fma_f32 v10, v10, v14, v18
+; GFX9-NEXT:    v_fma_f32 v11, v11, v15, v19
+; GFX9-NEXT:    v_fma_f32 v0, v0, v4, v8
+; GFX9-NEXT:    v_fma_f32 v1, v1, v5, v9
+; GFX9-NEXT:    v_fma_f32 v2, v2, v6, v10
+; GFX9-NEXT:    v_fma_f32 v3, v3, v7, v11
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_v4f32_add_mul_rhs:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -511,22 +511,22 @@ define <4 x float> @test_v4f32_add_mul_rhs(<4 x float> %a, <4 x float> %b, <4 x
 ; GFX9-DENORM-NEXT:    v_mov_b32_e32 v3, v6
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_v4f32_add_mul_rhs:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_f32 v8, v8, v12, v16
-; GFX10-CONTRACT-NEXT:    v_fma_f32 v9, v9, v13, v17
-; GFX10-CONTRACT-NEXT:    v_fma_f32 v10, v10, v14, v18
-; GFX10-CONTRACT-NEXT:    v_fma_f32 v11, v11, v15, v19
-; GFX10-CONTRACT-NEXT:    v_fmac_f32_e32 v8, v0, v4
-; GFX10-CONTRACT-NEXT:    v_fmac_f32_e32 v9, v1, v5
-; GFX10-CONTRACT-NEXT:    v_fmac_f32_e32 v10, v2, v6
-; GFX10-CONTRACT-NEXT:    v_fmac_f32_e32 v11, v3, v7
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v0, v8
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v1, v9
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v2, v10
-; GFX10-CONTRACT-NEXT:    v_mov_b32_e32 v3, v11
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_v4f32_add_mul_rhs:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    v_fma_f32 v8, v8, v12, v16
+; GFX10-NEXT:    v_fma_f32 v9, v9, v13, v17
+; GFX10-NEXT:    v_fma_f32 v10, v10, v14, v18
+; GFX10-NEXT:    v_fma_f32 v11, v11, v15, v19
+; GFX10-NEXT:    v_fmac_f32_e32 v8, v0, v4
+; GFX10-NEXT:    v_fmac_f32_e32 v9, v1, v5
+; GFX10-NEXT:    v_fmac_f32_e32 v10, v2, v6
+; GFX10-NEXT:    v_fmac_f32_e32 v11, v3, v7
+; GFX10-NEXT:    v_mov_b32_e32 v0, v8
+; GFX10-NEXT:    v_mov_b32_e32 v1, v9
+; GFX10-NEXT:    v_mov_b32_e32 v2, v10
+; GFX10-NEXT:    v_mov_b32_e32 v3, v11
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_v4f32_add_mul_rhs:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -545,20 +545,20 @@ define <4 x float> @test_v4f32_add_mul_rhs(<4 x float> %a, <4 x float> %b, <4 x
 ; GFX10-DENORM-NEXT:    v_mov_b32_e32 v3, v11
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-LABEL: test_v4f32_add_mul_rhs:
-; GFX11-CONTRACT:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-NEXT:    v_fma_f32 v8, v8, v12, v16
-; GFX11-CONTRACT-NEXT:    v_fma_f32 v9, v9, v13, v17
-; GFX11-CONTRACT-NEXT:    v_fma_f32 v10, v10, v14, v18
-; GFX11-CONTRACT-NEXT:    v_fma_f32 v11, v11, v15, v19
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-CONTRACT-NEXT:    v_dual_fmac_f32 v8, v0, v4 :: v_dual_fmac_f32 v9, v1, v5
-; GFX11-CONTRACT-NEXT:    v_dual_fmac_f32 v10, v2, v6 :: v_dual_fmac_f32 v11, v3, v7
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-CONTRACT-NEXT:    v_dual_mov_b32 v0, v8 :: v_dual_mov_b32 v1, v9
-; GFX11-CONTRACT-NEXT:    v_dual_mov_b32 v2, v10 :: v_dual_mov_b32 v3, v11
-; GFX11-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-LABEL: test_v4f32_add_mul_rhs:
+; GFX11:       ; %bb.0: ; %.entry
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    v_fma_f32 v8, v8, v12, v16
+; GFX11-NEXT:    v_fma_f32 v9, v9, v13, v17
+; GFX11-NEXT:    v_fma_f32 v10, v10, v14, v18
+; GFX11-NEXT:    v_fma_f32 v11, v11, v15, v19
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-NEXT:    v_dual_fmac_f32 v8, v0, v4 :: v_dual_fmac_f32 v9, v1, v5
+; GFX11-NEXT:    v_dual_fmac_f32 v10, v2, v6 :: v_dual_fmac_f32 v11, v3, v7
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-NEXT:    v_dual_mov_b32 v0, v8 :: v_dual_mov_b32 v1, v9
+; GFX11-NEXT:    v_dual_mov_b32 v2, v10 :: v_dual_mov_b32 v3, v11
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-LABEL: test_v4f32_add_mul_rhs:
 ; GFX11-DENORM:       ; %bb.0: ; %.entry
@@ -582,14 +582,14 @@ define <4 x float> @test_v4f32_add_mul_rhs(<4 x float> %a, <4 x float> %b, <4 x
 }
 
 define <4 x half> @test_f16_add_mul(<4 x half> %a, <4 x half> %b, <4 x half> %c, <4 x half> %d, <4 x half> %e) {
-; GFX9-CONTRACT-LABEL: test_f16_add_mul:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
-; GFX9-CONTRACT-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
-; GFX9-CONTRACT-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
-; GFX9-CONTRACT-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_f16_add_mul:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
+; GFX9-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
+; GFX9-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
+; GFX9-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_f16_add_mul:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -604,14 +604,14 @@ define <4 x half> @test_f16_add_mul(<4 x half> %a, <4 x half> %b, <4 x half> %c,
 ; GFX9-DENORM-NEXT:    v_pk_add_f16 v1, v1, v9
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_f16_add_mul:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_f16_add_mul:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
+; GFX10-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
+; GFX10-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
+; GFX10-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_f16_add_mul:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -626,15 +626,15 @@ define <4 x half> @test_f16_add_mul(<4 x half> %a, <4 x half> %b, <4 x half> %c,
 ; GFX10-DENORM-NEXT:    v_pk_add_f16 v1, v1, v9
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-LABEL: test_f16_add_mul:
-; GFX11-CONTRACT:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
-; GFX11-CONTRACT-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-CONTRACT-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
-; GFX11-CONTRACT-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
-; GFX11-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-LABEL: test_f16_add_mul:
+; GFX11:       ; %bb.0: ; %.entry
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
+; GFX11-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
+; GFX11-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-LABEL: test_f16_add_mul:
 ; GFX11-DENORM:       ; %bb.0: ; %.entry
@@ -658,14 +658,14 @@ define <4 x half> @test_f16_add_mul(<4 x half> %a, <4 x half> %b, <4 x half> %c,
 }
 
 define <4 x half> @test_f16_add_mul_rhs(<4 x half> %a, <4 x half> %b, <4 x half> %c, <4 x half> %d, <4 x half> %e) {
-; GFX9-CONTRACT-LABEL: test_f16_add_mul_rhs:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
-; GFX9-CONTRACT-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
-; GFX9-CONTRACT-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
-; GFX9-CONTRACT-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_f16_add_mul_rhs:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
+; GFX9-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
+; GFX9-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
+; GFX9-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_f16_add_mul_rhs:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -680,14 +680,14 @@ define <4 x half> @test_f16_add_mul_rhs(<4 x half> %a, <4 x half> %b, <4 x half>
 ; GFX9-DENORM-NEXT:    v_pk_add_f16 v1, v9, v1
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_f16_add_mul_rhs:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
-; GFX10-CONTRACT-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_f16_add_mul_rhs:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
+; GFX10-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
+; GFX10-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
+; GFX10-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_f16_add_mul_rhs:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -702,15 +702,15 @@ define <4 x half> @test_f16_add_mul_rhs(<4 x half> %a, <4 x half> %b, <4 x half>
 ; GFX10-DENORM-NEXT:    v_pk_add_f16 v1, v9, v1
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-LABEL: test_f16_add_mul_rhs:
-; GFX11-CONTRACT:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
-; GFX11-CONTRACT-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
-; GFX11-CONTRACT-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
-; GFX11-CONTRACT-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
-; GFX11-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-LABEL: test_f16_add_mul_rhs:
+; GFX11:       ; %bb.0: ; %.entry
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    v_pk_fma_f16 v4, v4, v6, v8
+; GFX11-NEXT:    v_pk_fma_f16 v5, v5, v7, v9
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
+; GFX11-NEXT:    v_pk_fma_f16 v0, v0, v2, v4
+; GFX11-NEXT:    v_pk_fma_f16 v1, v1, v3, v5
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-LABEL: test_f16_add_mul_rhs:
 ; GFX11-DENORM:       ; %bb.0: ; %.entry
@@ -734,31 +734,31 @@ define <4 x half> @test_f16_add_mul_rhs(<4 x half> %a, <4 x half> %b, <4 x half>
 }
 
 define <4 x double> @test_f64_add_mul(<4 x double> %a, <4 x double> %b, <4 x double> %c, <4 x double> %d, <4 x double> %e) {
-; GFX9-CONTRACT-LABEL: test_f64_add_mul:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:4
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:8
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[31:32]
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:12
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:16
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[24:25]
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:20
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:24
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[24:25]
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v31, off, s[0:3], s32
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:28
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:32
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[24:25]
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_f64_add_mul:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:4
+; GFX9-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:8
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[31:32]
+; GFX9-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:12
+; GFX9-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:16
+; GFX9-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[24:25]
+; GFX9-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:20
+; GFX9-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:24
+; GFX9-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[24:25]
+; GFX9-NEXT:    buffer_load_dword v31, off, s[0:3], s32
+; GFX9-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:28
+; GFX9-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:32
+; GFX9-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[24:25]
+; GFX9-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_f64_add_mul:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -786,32 +786,32 @@ define <4 x double> @test_f64_add_mul(<4 x double> %a, <4 x double> %b, <4 x dou
 ; GFX9-DENORM-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_f64_add_mul:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    s_clause 0x8
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v31, off, s[0:3], s32
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:4
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:8
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:12
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:16
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:20
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:24
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:28
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:32
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(6)
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[32:33]
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(4)
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[34:35]
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(2)
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[36:37]
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[38:39]
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_f64_add_mul:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    s_clause 0x8
+; GFX10-NEXT:    buffer_load_dword v31, off, s[0:3], s32
+; GFX10-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:4
+; GFX10-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:8
+; GFX10-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:12
+; GFX10-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:16
+; GFX10-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:20
+; GFX10-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:24
+; GFX10-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:28
+; GFX10-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:32
+; GFX10-NEXT:    s_waitcnt vmcnt(6)
+; GFX10-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[32:33]
+; GFX10-NEXT:    s_waitcnt vmcnt(4)
+; GFX10-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[34:35]
+; GFX10-NEXT:    s_waitcnt vmcnt(2)
+; GFX10-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[36:37]
+; GFX10-NEXT:    s_waitcnt vmcnt(0)
+; GFX10-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[38:39]
+; GFX10-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
+; GFX10-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
+; GFX10-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
+; GFX10-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_f64_add_mul:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -840,34 +840,34 @@ define <4 x double> @test_f64_add_mul(<4 x double> %a, <4 x double> %b, <4 x dou
 ; GFX10-DENORM-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-LABEL: test_f64_add_mul:
-; GFX11-CONTRACT:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-NEXT:    s_clause 0x8
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v31, off, s32
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v32, off, s32 offset:4
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v33, off, s32 offset:8
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v34, off, s32 offset:12
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v35, off, s32 offset:16
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v36, off, s32 offset:20
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v37, off, s32 offset:24
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v38, off, s32 offset:28
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v39, off, s32 offset:32
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(6)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[32:33]
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(4)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[34:35]
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(2)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[36:37]
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[38:39]
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
-; GFX11-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-LABEL: test_f64_add_mul:
+; GFX11:       ; %bb.0: ; %.entry
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    s_clause 0x8
+; GFX11-NEXT:    scratch_load_b32 v31, off, s32
+; GFX11-NEXT:    scratch_load_b32 v32, off, s32 offset:4
+; GFX11-NEXT:    scratch_load_b32 v33, off, s32 offset:8
+; GFX11-NEXT:    scratch_load_b32 v34, off, s32 offset:12
+; GFX11-NEXT:    scratch_load_b32 v35, off, s32 offset:16
+; GFX11-NEXT:    scratch_load_b32 v36, off, s32 offset:20
+; GFX11-NEXT:    scratch_load_b32 v37, off, s32 offset:24
+; GFX11-NEXT:    scratch_load_b32 v38, off, s32 offset:28
+; GFX11-NEXT:    scratch_load_b32 v39, off, s32 offset:32
+; GFX11-NEXT:    s_waitcnt vmcnt(6)
+; GFX11-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[32:33]
+; GFX11-NEXT:    s_waitcnt vmcnt(4)
+; GFX11-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[34:35]
+; GFX11-NEXT:    s_waitcnt vmcnt(2)
+; GFX11-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[36:37]
+; GFX11-NEXT:    s_waitcnt vmcnt(0)
+; GFX11-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[38:39]
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
+; GFX11-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
+; GFX11-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
+; GFX11-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
+; GFX11-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-LABEL: test_f64_add_mul:
 ; GFX11-DENORM:       ; %bb.0: ; %.entry
@@ -905,31 +905,31 @@ define <4 x double> @test_f64_add_mul(<4 x double> %a, <4 x double> %b, <4 x dou
 }
 
 define <4 x double> @test_f64_add_mul_rhs(<4 x double> %a, <4 x double> %b, <4 x double> %c, <4 x double> %d, <4 x double> %e) {
-; GFX9-CONTRACT-LABEL: test_f64_add_mul_rhs:
-; GFX9-CONTRACT:       ; %bb.0: ; %.entry
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:4
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:8
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[31:32]
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:12
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:16
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[24:25]
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:20
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:24
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[24:25]
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v31, off, s[0:3], s32
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:28
-; GFX9-CONTRACT-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:32
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
-; GFX9-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[24:25]
-; GFX9-CONTRACT-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
-; GFX9-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX9-LABEL: test_f64_add_mul_rhs:
+; GFX9:       ; %bb.0: ; %.entry
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    buffer_load_dword v31, off, s[0:3], s32 offset:4
+; GFX9-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:8
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[31:32]
+; GFX9-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:12
+; GFX9-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:16
+; GFX9-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[24:25]
+; GFX9-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:20
+; GFX9-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:24
+; GFX9-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[24:25]
+; GFX9-NEXT:    buffer_load_dword v31, off, s[0:3], s32
+; GFX9-NEXT:    buffer_load_dword v24, off, s[0:3], s32 offset:28
+; GFX9-NEXT:    buffer_load_dword v25, off, s[0:3], s32 offset:32
+; GFX9-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[24:25]
+; GFX9-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX9-DENORM-LABEL: test_f64_add_mul_rhs:
 ; GFX9-DENORM:       ; %bb.0: ; %.entry
@@ -957,32 +957,32 @@ define <4 x double> @test_f64_add_mul_rhs(<4 x double> %a, <4 x double> %b, <4 x
 ; GFX9-DENORM-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
 ; GFX9-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX10-CONTRACT-LABEL: test_f64_add_mul_rhs:
-; GFX10-CONTRACT:       ; %bb.0: ; %.entry
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX10-CONTRACT-NEXT:    s_clause 0x8
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v31, off, s[0:3], s32
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:4
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:8
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:12
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:16
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:20
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:24
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:28
-; GFX10-CONTRACT-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:32
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(6)
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[32:33]
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(4)
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[34:35]
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(2)
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[36:37]
-; GFX10-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[38:39]
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
-; GFX10-CONTRACT-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
-; GFX10-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX10-LABEL: test_f64_add_mul_rhs:
+; GFX10:       ; %bb.0: ; %.entry
+; GFX10-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX10-NEXT:    s_clause 0x8
+; GFX10-NEXT:    buffer_load_dword v31, off, s[0:3], s32
+; GFX10-NEXT:    buffer_load_dword v32, off, s[0:3], s32 offset:4
+; GFX10-NEXT:    buffer_load_dword v33, off, s[0:3], s32 offset:8
+; GFX10-NEXT:    buffer_load_dword v34, off, s[0:3], s32 offset:12
+; GFX10-NEXT:    buffer_load_dword v35, off, s[0:3], s32 offset:16
+; GFX10-NEXT:    buffer_load_dword v36, off, s[0:3], s32 offset:20
+; GFX10-NEXT:    buffer_load_dword v37, off, s[0:3], s32 offset:24
+; GFX10-NEXT:    buffer_load_dword v38, off, s[0:3], s32 offset:28
+; GFX10-NEXT:    buffer_load_dword v39, off, s[0:3], s32 offset:32
+; GFX10-NEXT:    s_waitcnt vmcnt(6)
+; GFX10-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[32:33]
+; GFX10-NEXT:    s_waitcnt vmcnt(4)
+; GFX10-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[34:35]
+; GFX10-NEXT:    s_waitcnt vmcnt(2)
+; GFX10-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[36:37]
+; GFX10-NEXT:    s_waitcnt vmcnt(0)
+; GFX10-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[38:39]
+; GFX10-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
+; GFX10-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
+; GFX10-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
+; GFX10-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
+; GFX10-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX10-DENORM-LABEL: test_f64_add_mul_rhs:
 ; GFX10-DENORM:       ; %bb.0: ; %.entry
@@ -1011,34 +1011,34 @@ define <4 x double> @test_f64_add_mul_rhs(<4 x double> %a, <4 x double> %b, <4 x
 ; GFX10-DENORM-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
 ; GFX10-DENORM-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-CONTRACT-LABEL: test_f64_add_mul_rhs:
-; GFX11-CONTRACT:       ; %bb.0: ; %.entry
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-CONTRACT-NEXT:    s_clause 0x8
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v31, off, s32
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v32, off, s32 offset:4
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v33, off, s32 offset:8
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v34, off, s32 offset:12
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v35, off, s32 offset:16
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v36, off, s32 offset:20
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v37, off, s32 offset:24
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v38, off, s32 offset:28
-; GFX11-CONTRACT-NEXT:    scratch_load_b32 v39, off, s32 offset:32
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(6)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[32:33]
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(4)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[34:35]
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(2)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[36:37]
-; GFX11-CONTRACT-NEXT:    s_waitcnt vmcnt(0)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[38:39]
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
-; GFX11-CONTRACT-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
-; GFX11-CONTRACT-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
-; GFX11-CONTRACT-NEXT:    s_setpc_b64 s[30:31]
+; GFX11-LABEL: test_f64_add_mul_rhs:
+; GFX11:       ; %bb.0: ; %.entry
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    s_clause 0x8
+; GFX11-NEXT:    scratch_load_b32 v31, off, s32
+; GFX11-NEXT:    scratch_load_b32 v32, off, s32 offset:4
+; GFX11-NEXT:    scratch_load_b32 v33, off, s32 offset:8
+; GFX11-NEXT:    scratch_load_b32 v34, off, s32 offset:12
+; GFX11-NEXT:    scratch_load_b32 v35, off, s32 offset:16
+; GFX11-NEXT:    scratch_load_b32 v36, off, s32 offset:20
+; GFX11-NEXT:    scratch_load_b32 v37, off, s32 offset:24
+; GFX11-NEXT:    scratch_load_b32 v38, off, s32 offset:28
+; GFX11-NEXT:    scratch_load_b32 v39, off, s32 offset:32
+; GFX11-NEXT:    s_waitcnt vmcnt(6)
+; GFX11-NEXT:    v_fma_f64 v[16:17], v[16:17], v[24:25], v[32:33]
+; GFX11-NEXT:    s_waitcnt vmcnt(4)
+; GFX11-NEXT:    v_fma_f64 v[18:19], v[18:19], v[26:27], v[34:35]
+; GFX11-NEXT:    s_waitcnt vmcnt(2)
+; GFX11-NEXT:    v_fma_f64 v[20:21], v[20:21], v[28:29], v[36:37]
+; GFX11-NEXT:    s_waitcnt vmcnt(0)
+; GFX11-NEXT:    v_fma_f64 v[22:23], v[22:23], v[30:31], v[38:39]
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
+; GFX11-NEXT:    v_fma_f64 v[0:1], v[0:1], v[8:9], v[16:17]
+; GFX11-NEXT:    v_fma_f64 v[2:3], v[2:3], v[10:11], v[18:19]
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
+; GFX11-NEXT:    v_fma_f64 v[4:5], v[4:5], v[12:13], v[20:21]
+; GFX11-NEXT:    v_fma_f64 v[6:7], v[6:7], v[14:15], v[22:23]
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-DENORM-LABEL: test_f64_add_mul_rhs:
 ; GFX11-DENORM:       ; %bb.0: ; %.entry
diff --git a/llvm/test/CodeGen/AMDGPU/fdot2.ll b/llvm/test/CodeGen/AMDGPU/fdot2.ll
index ce04bf760303e..e48bf9e70c20a 100644
--- a/llvm/test/CodeGen/AMDGPU/fdot2.ll
+++ b/llvm/test/CodeGen/AMDGPU/fdot2.ll
@@ -1,10 +1,10 @@
 ; RUN: llc -mtriple=amdgpu9.00 -denormal-fp-math-f32=preserve-sign < %s | FileCheck %s  -check-prefixes=GCN,GFX900
 ; RUN: llc -mtriple=amdgpu9.06 -denormal-fp-math-f32=preserve-sign < %s | FileCheck %s  -check-prefixes=GCN,GCN-DL-UNSAFE,GFX906-DL-UNSAFE
-; RUN: llc -mtriple=amdgpu10.11 -denormal-fp-math-f32=preserve-sign < %s | FileCheck %s  -check-prefixes=GCN,GCN-DL-UNSAFE,GFX10-DL-UNSAFE,GFX10-CONTRACT
-; RUN: llc -mtriple=amdgpu10.12 -denormal-fp-math-f32=preserve-sign < %s | FileCheck %s  -check-prefixes=GCN,GCN-DL-UNSAFE,GFX10-DL-UNSAFE,GFX10-CONTRACT
+; RUN: llc -mtriple=amdgpu10.11 -denormal-fp-math-f32=preserve-sign < %s | FileCheck %s  -check-prefixes=GCN,GCN-DL-UNSAFE,GFX10-DL-UNSAFE,GFX10
+; RUN: llc -mtriple=amdgpu10.12 -denormal-fp-math-f32=preserve-sign < %s | FileCheck %s  -check-prefixes=GCN,GCN-DL-UNSAFE,GFX10-DL-UNSAFE,GFX10
 ; RUN: llc -mtriple=amdgpu9.06 -denormal-fp-math-f32=preserve-sign < %s | FileCheck %s  -check-prefixes=GCN,GFX906
-; RUN: llc -mtriple=amdgpu9.06 -denormal-fp-math=preserve-sign -fp-contract=fast < %s | FileCheck %s  -check-prefixes=GCN,GFX906-CONTRACT
-; RUN: llc -mtriple=amdgpu9.06 -denormal-fp-math=ieee -fp-contract=fast < %s | FileCheck %s  -check-prefixes=GCN,GFX906-DENORM-CONTRACT
+; RUN: llc -mtriple=amdgpu9.06 -denormal-fp-math=preserve-sign < %s | FileCheck %s  -check-prefixes=GCN,GFX906-DENORM
+; RUN: llc -mtriple=amdgpu9.06 -denormal-fp-math=ieee < %s | FileCheck %s  -check-prefixes=GCN,GFX906-IEEE
 ; RUN: llc -mtriple=amdgpu9.06 -denormal-fp-math-f32=preserve-sign -mattr="+dot7-insts,-dot10-insts" < %s | FileCheck %s  -check-prefixes=GCN,GFX906-DOT10-DISABLED
 ; RUN: llc -mtriple=amdgpu9.0a -denormal-fp-math-f32=preserve-sign < %s | FileCheck %s  -check-prefixes=GCN,GFX90A-PS
 ; RUN: llc -mtriple=amdgpu9.0a -denormal-fp-math-f32=ieee < %s | FileCheck %s  -check-prefixes=GCN,GFX90A-IEEE
@@ -19,10 +19,10 @@
 ; GFX900: v_fma_f16
 
 ; GFX906-DL-UNSAFE:  v_fma_f16
-; GFX10-CONTRACT: v_fmac_f16
+; GFX10: v_fmac_f16
 
-; GFX906-CONTRACT: v_mac_f16_e32
-; GFX906-DENORM-CONTRACT: v_fma_f16
+; GFX906-DENORM: v_mac_f16_e32
+; GFX906-IEEE: v_fma_f16
 ; GFX906-DOT10-DISABLED: v_fma_f16
 
 define amdgpu_kernel void @dotproduct_f16_contract(ptr addrspace(1) %src1,
@@ -84,9 +84,9 @@ entry:
 ; GFX906-DL-UNSAFE: v_fma_mix_f32
 ; GFX10-DL-UNSAFE: v_fma_mix_f32
 
-; GFX906-CONTRACT: v_fma_mix_f32
+; GFX906-DENORM: v_fma_mix_f32
 
-; GFX906-DENORM-CONTRACT: v_dot2_f32_f16
+; GFX906-IEEE: v_dot2_f32_f16
 ; GFX906-DOT10-DISABLED: v_fma_mix_f32
 ; GFX90A-PS:   v_dot2c_f32_f16
 ; GFX90A-IEEE: v_fma_mix_f32
@@ -158,8 +158,8 @@ entry:
 ; GFX906-DL-UNSAFE: v_fma_mix_f32
 ; GFX10-DL-UNSAFE: v_fma_mix_f32
 
-; GFX906-CONTRACT: v_fma_mix_f32
-; GFX906-DENORM-CONTRACT: v_dot2_f32_f16
+; GFX906-DENORM: v_fma_mix_f32
+; GFX906-IEEE: v_dot2_f32_f16
 ; GFX906-DOT10-DISABLED: v_fma_mix_f32
 ; GFX90A-PS:   v_dot2c_f32_f16
 ; GFX90A-IEEE: v_fma_mix_f32
@@ -227,8 +227,8 @@ entry:
 
 ; GCN-DL-UNSAFE: v_fma_mix_f32
 
-; GFX906-CONTRACT: v_fma_mix_f32
-; GFX906-DENORM-CONTRACT: v_fma_mix_f32
+; GFX906-DENORM: v_fma_mix_f32
+; GFX906-IEEE: v_fma_mix_f32
 ; GFX906-DOT10-DISABLED: v_fma_mix_f32
 define amdgpu_kernel void @dotproduct_v4f16_contract(ptr addrspace(1) %src1,
                                                      ptr addrspace(1) %src2,
@@ -292,8 +292,8 @@ entry:
 
 ; GCN-DL-UNSAFE: v_fma_mix_f32
 
-; GFX906-CONTRACT: v_fma_mix_f32
-; GFX906-DENORM-CONTRACT: v_fma_mix_f32
+; GFX906-DENORM: v_fma_mix_f32
+; GFX906-IEEE: v_fma_mix_f32
 ; GFX906-DOT10-DISABLED: v_fma_mix_f32
 define amdgpu_kernel void @NotAdotproductContract(ptr addrspace(1) %src1,
                                                   ptr addrspace(1) %src2,
@@ -358,8 +358,8 @@ entry:
 
 ; GCN-DL-UNSAFE: v_fma_mix_f32
 
-; GFX906-CONTRACT: v_fma_mix_f32
-; GFX906-DENORM-CONTRACT: v_fma_mix_f32
+; GFX906-DENORM: v_fma_mix_f32
+; GFX906-IEEE: v_fma_mix_f32
 ; GFX906-DOT10-DISABLED: v_fma_mix_f32
 define amdgpu_kernel void @Diff_Idx_NotAdotproductContract(ptr addrspace(1) %src1,
                                                            ptr addrspace(1) %src2,
@@ -470,8 +470,8 @@ define amdgpu_kernel void @dotproduct_f16_f32_contract_dynamic_denorm(<2 x half>
 ; afn on both FMAs overrides the denormal gating: the caller accepts approximate
 ; results, so dot2's subnormal flushing is acceptable regardless of mode or GPU.
 ; GCN-LABEL: {{^}}dotproduct_f16_f32_afn
-; GFX906-CONTRACT:      v_dot2_f32_f16
-; GFX906-DENORM-CONTRACT: v_dot2_f32_f16
+; GFX906-DENORM:      v_dot2_f32_f16
+; GFX906-IEEE: v_dot2_f32_f16
 ; GFX90A-PS:            v_dot2c_f32_f16
 ; GFX90A-IEEE:          v_dot2c_f32_f16
 ; GFX950-DENORM:        v_dot2c_f32_f16
diff --git a/llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll b/llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
index 6760124b7b2d3..e419128480dd4 100644
--- a/llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
+++ b/llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
@@ -1,7 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
-; RUN: opt -S -passes='simplifycfg<hoist-common-insts>' -mtriple=amdgpu10.30-- --fp-contract=fast < %s | FileCheck -check-prefix=GFX -check-prefix=FP-CONTRACT-FAST %s
-; RUN: opt -S -passes='simplifycfg<hoist-common-insts>' -mtriple=amdgpu10.30-- --fp-contract=off < %s | FileCheck -check-prefix=GFX -check-prefix=UNSAFE-FP-MATH %s
-; RUN: opt -S -passes='simplifycfg<hoist-common-insts>' -mtriple=amdgpu10.30-- --fp-contract=off < %s | FileCheck -check-prefix=GFX -check-prefix=NO-UNSAFE-FP-MATH %s
+; RUN: opt -S -passes='simplifycfg<hoist-common-insts>' -mtriple=amdgpu10.30-- < %s | FileCheck -check-prefix=GFX %s
 
 define double @is_profitable_f64_contract(ptr dereferenceable(8) %ptr_x, ptr dereferenceable(8) %ptr_y, ptr dereferenceable(8) %ptr_a) #0 {
 ; GFX-LABEL: define double @is_profitable_f64_contract(
@@ -400,7 +398,3 @@ if.else:                                          ; preds = %entry
 
 attributes #0 = { nounwind denormal_fpenv(preservesign) }
 attributes #1 = { nounwind denormal_fpenv(ieee|ieee) }
-;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
-; FP-CONTRACT-FAST: {{.*}}
-; NO-UNSAFE-FP-MATH: {{.*}}
-; UNSAFE-FP-MATH: {{.*}}
diff --git a/llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll b/llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll
index 9ae6fa01148d4..1042a0f343fbf 100644
--- a/llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll
+++ b/llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll
@@ -1,4 +1,4 @@
-; RUN: llc -fp-contract=fast -O3 -mtriple=hexagon -mcpu=hexagonv5 < %s
+; RUN: llc -O3 -mtriple=hexagon -mcpu=hexagonv5 < %s
 ; REQUIRES: asserts
 
 ; Test that the pipeliner doesn't ICE due because the PHI generation
diff --git a/llvm/test/CodeGen/Hexagon/swp-epilog-reuse2.ll b/llvm/test/CodeGen/Hexagon/swp-epilog-reuse2.ll
index 3a5afb7dcb720..803114e5b8e0c 100644
--- a/llvm/test/CodeGen/Hexagon/swp-epilog-reuse2.ll
+++ b/llvm/test/CodeGen/Hexagon/swp-epilog-reuse2.ll
@@ -1,4 +1,4 @@
-; RUN: llc -fp-contract=fast -O3 -mtriple=hexagon < %s
+; RUN: llc -O3 -mtriple=hexagon < %s
 ; REQUIRES: asserts
 
 ; Test that the pipeliner doesn't ICE due because the PHI generation
diff --git a/llvm/test/CodeGen/Hexagon/swp-loop-carried.ll b/llvm/test/CodeGen/Hexagon/swp-loop-carried.ll
index 64c34f246f321..1c250a3a58795 100644
--- a/llvm/test/CodeGen/Hexagon/swp-loop-carried.ll
+++ b/llvm/test/CodeGen/Hexagon/swp-loop-carried.ll
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=hexagon -fp-contract=fast -enable-pipeliner < %s
+; RUN: llc -mtriple=hexagon -enable-pipeliner < %s
 ; REQUIRES: asserts
 
 ; A Phi that depends on another Phi is loop carried.
diff --git a/llvm/test/CodeGen/Hexagon/swp-max-stage3.ll b/llvm/test/CodeGen/Hexagon/swp-max-stage3.ll
index e027616b9976b..e21a48e30b93c 100644
--- a/llvm/test/CodeGen/Hexagon/swp-max-stage3.ll
+++ b/llvm/test/CodeGen/Hexagon/swp-max-stage3.ll
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=hexagon -O3 -fp-contract=fast -pipeliner-max-stages=3 < %s
+; RUN: llc -mtriple=hexagon -O3 -pipeliner-max-stages=3 < %s
 ; REQUIRES: asserts
 
 ; Check Phis are generated correctly in epilogs after setting -swp-max-stages=3
diff --git a/llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll b/llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
index c9613156a4dfc..88456d22c78e6 100644
--- a/llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
+++ b/llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=hexagon -O2 -fp-contract=fast < %s -pipeliner-experimental-cg=true | FileCheck %s
+; RUN: llc -mtriple=hexagon -O2 < %s -pipeliner-experimental-cg=true | FileCheck %s
 
 ; Test that the memoperands for instructions in the epilog are updated
 ; correctly. Previously, the pipeliner updated the offset for the memoperands
diff --git a/llvm/test/CodeGen/Hexagon/swp-rename-dead-phi.ll b/llvm/test/CodeGen/Hexagon/swp-rename-dead-phi.ll
index c1b31738a7b30..473d7310ec378 100644
--- a/llvm/test/CodeGen/Hexagon/swp-rename-dead-phi.ll
+++ b/llvm/test/CodeGen/Hexagon/swp-rename-dead-phi.ll
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=hexagon -fp-contract=fast -enable-pipeliner < %s
+; RUN: llc -mtriple=hexagon -enable-pipeliner < %s
 ; REQUIRES: asserts
 
 ; Pipelining can eliminate the need for a Phi if the loop carried use
diff --git a/llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll b/llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll
index 36d390a7b10a8..21bb3455e0e96 100644
--- a/llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll
+++ b/llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=hexagon -enable-pipeliner -fp-contract=fast < %s
+; RUN: llc -mtriple=hexagon -enable-pipeliner < %s
 ; REQUIRES: asserts
 
 ; Test that the code which reuses existing Phis works when the Phis are used
diff --git a/llvm/test/CodeGen/PowerPC/fma-mutate-duplicate-vreg.ll b/llvm/test/CodeGen/PowerPC/fma-mutate-duplicate-vreg.ll
index 2d34e83720e29..86cffebf26dec 100644
--- a/llvm/test/CodeGen/PowerPC/fma-mutate-duplicate-vreg.ll
+++ b/llvm/test/CodeGen/PowerPC/fma-mutate-duplicate-vreg.ll
@@ -1,4 +1,4 @@
-; RUN: llc -verify-machineinstrs -fp-contract=fast -O2 < %s | FileCheck %s
+; RUN: llc -verify-machineinstrs -O2 < %s | FileCheck %s
 target datalayout = "e-m:e-i64:64-n32:64"
 target triple = "powerpc64le-grtev4-linux-gnu"
 



More information about the llvm-commits mailing list