effective-light updated this revision to Diff 338812.
effective-light added a comment.

Remove the unnecessary flags and add another test


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100834/new/

https://reviews.llvm.org/D100834

Files:
  clang/test/CodeGen/fp-matrix-pragma.c


Index: clang/test/CodeGen/fp-matrix-pragma.c
===================================================================
--- clang/test/CodeGen/fp-matrix-pragma.c
+++ clang/test/CodeGen/fp-matrix-pragma.c
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -emit-llvm -S -fenable-matrix 
--target=arm64-unknown-iphoneos -g0 -mllvm -disable-llvm-optzns -o - | 
FileCheck %s
+// RUN: %clang_cc1 -emit-llvm -S -fenable-matrix -mllvm -disable-llvm-optzns 
-o - | FileCheck %s
 
 typedef float fx2x2_t __attribute__((matrix_type(2, 2)));
 typedef int ix2x2_t __attribute__((matrix_type(2, 2)));
@@ -18,6 +18,13 @@
   return a + b - c;
 }
 
+fx2x2_t fp_matrix_ops(fx2x2_t a, fx2x2_t b, fx2x2_t c) {
+// CHECK: call reassoc contract <4 x float> 
@llvm.matrix.multiply.v4f32.v4f32.v4f32
+// CHECK: fadd reassoc contract <4 x float>
+#pragma clang fp contract(fast) reassociate(on)
+  return a * b + c;
+}
+
 ix2x2_t int_matrix_ops(ix2x2_t a, ix2x2_t b, ix2x2_t c) {
 // CHECK: call <4 x i32> @llvm.matrix.multiply.v4i32.v4i32.v4i32
 // CHECK: add <4 x i32>


Index: clang/test/CodeGen/fp-matrix-pragma.c
===================================================================
--- clang/test/CodeGen/fp-matrix-pragma.c
+++ clang/test/CodeGen/fp-matrix-pragma.c
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -emit-llvm -S -fenable-matrix --target=arm64-unknown-iphoneos -g0 -mllvm -disable-llvm-optzns -o - | FileCheck %s
+// RUN: %clang_cc1 -emit-llvm -S -fenable-matrix -mllvm -disable-llvm-optzns -o - | FileCheck %s
 
 typedef float fx2x2_t __attribute__((matrix_type(2, 2)));
 typedef int ix2x2_t __attribute__((matrix_type(2, 2)));
@@ -18,6 +18,13 @@
   return a + b - c;
 }
 
+fx2x2_t fp_matrix_ops(fx2x2_t a, fx2x2_t b, fx2x2_t c) {
+// CHECK: call reassoc contract <4 x float> @llvm.matrix.multiply.v4f32.v4f32.v4f32
+// CHECK: fadd reassoc contract <4 x float>
+#pragma clang fp contract(fast) reassociate(on)
+  return a * b + c;
+}
+
 ix2x2_t int_matrix_ops(ix2x2_t a, ix2x2_t b, ix2x2_t c) {
 // CHECK: call <4 x i32> @llvm.matrix.multiply.v4i32.v4i32.v4i32
 // CHECK: add <4 x i32>
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to