================
@@ -6767,3 +6767,272 @@ float64_t test_vpmaxnmqd_f64(float64x2_t a) {
// LLVM-NEXT: ret double [[VPMAXNMQD_F64_I]]
return vpmaxnmqd_f64(a);
}
+
+//===------------------------------------------------------===//
+// 2.1.1.5.1. Subtraction
+// https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#subtraction
+//===------------------------------------------------------===//
+
+// LLVM-LABEL: @test_vsub_s8(
+// CIR-LABEL: @vsub_s8(
+int8x8_t test_vsub_s8(int8x8_t v1, int8x8_t v2) {
+// LLVM-SAME: <8 x i8> {{.*}} [[V1:%.*]], <8 x i8> {{.*}} [[V2:%.*]])
+// LLVM: [[SUB_I:%.*]] = sub <8 x i8> [[V1]], [[V2]]
+// LLVM: ret <8 x i8> [[SUB_I]]
+
+// CIR: [[SUB_I:%.*]] = cir.sub [[V1:%.*]], [[V2:%.*]] : !cir.vector<8 x !s8i>
+// CIR: cir.return [[RET:%.*]] : !cir.vector<8 x !s8i>
----------------
banach-space wrote:
1. We don't really check `return` for CIR output.
2. We normally place CIR check-lines above `LLVM` check lines.
https://github.com/llvm/llvm-project/pull/202857
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits