[clang] [CIR][LLVMLowering] Upstream binary operators for VectorType (PR #140099)
Andy Kaylor via cfe-commits
cfe-commits at lists.llvm.org
Thu May 15 12:05:22 PDT 2025
================
@@ -400,4 +400,165 @@ void foo9() {
// OGCG: %[[TMP_A:.*]] = load <4 x i32>, ptr %[[VEC_A]], align 16
// OGCG: %[[TMP_B:.*]] = load <4 x i32>, ptr %[[VEC_B]], align 16
// OGCG: %[[SHR:.*]] = ashr <4 x i32> %[[TMP_A]], %[[TMP_B]]
-// OGCG: store <4 x i32> %[[SHR]], ptr %[[SHR_RES]], align 16
\ No newline at end of file
+// OGCG: store <4 x i32> %[[SHR]], ptr %[[SHR_RES]], align 16
+
+void foo11() {
+ vi4 a = {1, 2, 3, 4};
+ vi4 b = {5, 6, 7, 8};
+
+ vi4 c = a + b;
+ vi4 d = a - b;
+ vi4 e = a * b;
+ vi4 f = a / b;
+ vi4 g = a % b;
+ vi4 h = a & b;
+ vi4 i = a | b;
+ vi4 j = a ^ b;
+}
+
+// CIR: %[[VEC_A:.*]] = cir.alloca !cir.vector<4 x !s32i>, !cir.ptr<!cir.vector<4 x !s32i>>, ["a", init]
----------------
andykaylor wrote:
This is checking for a lot more than is relevant to this test. Can you strip the checks down to the actual binary operations?
https://github.com/llvm/llvm-project/pull/140099
More information about the cfe-commits
mailing list