diff options
Diffstat (limited to 'gcc/config/c4x/c4x.c')
-rw-r--r-- | gcc/config/c4x/c4x.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c index 6e831c73923..ce0f706c2a8 100644 --- a/gcc/config/c4x/c4x.c +++ b/gcc/config/c4x/c4x.c @@ -4395,16 +4395,15 @@ c4x_expand_builtin (tree exp, rtx target, enum machine_mode mode ATTRIBUTE_UNUSED, int ignore ATTRIBUTE_UNUSED) { - tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0); + tree fndecl = TREE_OPERAND (CALL_EXPR_FN (exp), 0); unsigned int fcode = DECL_FUNCTION_CODE (fndecl); - tree arglist = TREE_OPERAND (exp, 1); tree arg0, arg1; rtx r0, r1; switch (fcode) { case C4X_BUILTIN_FIX: - arg0 = TREE_VALUE (arglist); + arg0 = CALL_EXPR_ARG (exp, 0); r0 = expand_expr (arg0, NULL_RTX, QFmode, 0); if (! target || ! register_operand (target, QImode)) target = gen_reg_rtx (QImode); @@ -4412,7 +4411,7 @@ c4x_expand_builtin (tree exp, rtx target, return target; case C4X_BUILTIN_FIX_ANSI: - arg0 = TREE_VALUE (arglist); + arg0 = CALL_EXPR_ARG (exp, 0); r0 = expand_expr (arg0, NULL_RTX, QFmode, 0); if (! target || ! register_operand (target, QImode)) target = gen_reg_rtx (QImode); @@ -4422,8 +4421,8 @@ c4x_expand_builtin (tree exp, rtx target, case C4X_BUILTIN_MPYI: if (! TARGET_C3X) break; - arg0 = TREE_VALUE (arglist); - arg1 = TREE_VALUE (TREE_CHAIN (arglist)); + arg0 = CALL_EXPR_ARG (exp, 0); + arg1 = CALL_EXPR_ARG (exp, 1); r0 = expand_expr (arg0, NULL_RTX, QImode, 0); r1 = expand_expr (arg1, NULL_RTX, QImode, 0); if (! target || ! register_operand (target, QImode)) @@ -4434,7 +4433,7 @@ c4x_expand_builtin (tree exp, rtx target, case C4X_BUILTIN_TOIEEE: if (TARGET_C3X) break; - arg0 = TREE_VALUE (arglist); + arg0 = CALL_EXPR_ARG (exp, 0); r0 = expand_expr (arg0, NULL_RTX, QFmode, 0); if (! target || ! register_operand (target, QFmode)) target = gen_reg_rtx (QFmode); @@ -4444,7 +4443,7 @@ c4x_expand_builtin (tree exp, rtx target, case C4X_BUILTIN_FRIEEE: if (TARGET_C3X) break; - arg0 = TREE_VALUE (arglist); + arg0 = CALL_EXPR_ARG (exp, 0); r0 = expand_expr (arg0, NULL_RTX, QFmode, 0); if (register_operand (r0, QFmode)) { @@ -4460,7 +4459,7 @@ c4x_expand_builtin (tree exp, rtx target, case C4X_BUILTIN_RCPF: if (TARGET_C3X) break; - arg0 = TREE_VALUE (arglist); + arg0 = CALL_EXPR_ARG (exp, 0); r0 = expand_expr (arg0, NULL_RTX, QFmode, 0); if (! target || ! register_operand (target, QFmode)) target = gen_reg_rtx (QFmode); |