Hi,

Some MIPS built-in functions have two versions. The first one is used
for a register operand. The second one is used for a immediate number.
For example, the second argument of __builtin_mips_shll_qb can be a
register operand or a constant expression.

v4i8 __builtin_mips_shll_qb(v4i8, imm0_7)
v4i8 __builtin_mips_shll_qb(v4i8, i32)

Attached patches implement MIPS built-in function overloading (now for
__builtin_mips_shll_qb only). EmitMipsBuiltinExpr routine checks
whether the second argument is a constant expression and use
corresponding DSP instruction to emit call expression.

Could you please review the patches? Is this approach for built-in
function overloading correct?

--
Simon

Attachment: clang-builtins-ovld.patch
Description: Binary data

Attachment: llvm-builtins-ovld.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to