vkalintiris accepted this revision. vkalintiris added a comment. This revision is now accepted and ready to land.
LGTM. See inline comments for a few small changes. The only issue I've found with test/CodeGen/builtins-mips-msa-error.c is that GCC checks strictly the signedness of the arguments passed to the builtins. Having a FIXME comment in order to make Clang follow the same behaviour in the future would be nice. ================ Comment at: test/CodeGen/builtins-mips-msa-error.c:24-35 + v16u8 v16u8_a = (v16u8) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; + v16u8 v16u8_b = (v16u8) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + v16u8 v16u8_r; + v8u16 v8u16_a = (v8u16) {0, 1, 2, 3, 4, 5, 6, 7}; + v8u16 v8u16_b = (v8u16) {1, 2, 3, 4, 5, 6, 7, 8}; + v8u16 v8u16_r; + v4u32 v4u32_a = (v4u32) {0, 1, 2, 3}; ---------------- We don't use the `vxxxx_b` vectors anywhere. ================ Comment at: test/CodeGen/builtins-mips-msa-error.c:37-45 + v8f16 v8f16_a = (v8f16) {0.5, 1, 2, 3, 4, 5, 6, 7}; + v8f16 v8f16_b = (v8f16) {1.5, 2, 3, 4, 5, 6, 7, 8}; + v8f16 v8f16_r; + v4f32 v4f32_a = (v4f32) {0.5, 1, 2, 3}; + v4f32 v4f32_b = (v4f32) {1.5, 2, 3, 4}; + v4f32 v4f32_r; + v2f64 v2f64_a = (v2f64) {0.5, 1}; ---------------- We don't test anything with these. We can delete them along with the typedef above. ================ Comment at: test/CodeGen/builtins-mips-msa-error.c:49 + long long ll_r; + int int_a = 0; + ---------------- Unused as well. ================ Comment at: test/CodeGen/builtins-mips-msa-error.c:119 + int_r = __msa_copy_s_h(v8i16_a, 8); // expected-error {{argument should be a value from 0 to 7}} + int_r = __msa_copy_s_w(v4i32_a, 3); // expected-error {{argument should be a value from 0 to 3}} + ll_r = __msa_copy_s_d(v2i64_a, 2); // expected-error {{argument should be a value from 0 to 1}} ---------------- The passed argument is in the valid value range. ================ Comment at: test/CodeGen/builtins-mips-msa-error.c:308-311 + v16i8_r = __msa_clti_s_b(v16i8_a, -1); // expected-error {{argument should be a value from -16 to 15}} + v8i16_r = __msa_clti_s_h(v8i16_a, -1); // expected-error {{argument should be a value from -16 to 15}} + v4i32_r = __msa_clti_s_w(v4i32_a, -1); // expected-error {{argument should be a value from -16 to 15}} + v2i64_r = __msa_clti_s_d(v2i64_a, -1); // expected-error {{argument should be a value from -16 to 15}} ---------------- The passed argument is in the valid range of values. https://reviews.llvm.org/D25017 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits