mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-30 02:24:45 +08:00
arm.md (VUNSPEC_PREFETCH): Delete constant definition.
* arm.md (VUNSPEC_PREFETCH): Delete constant definition. (prefetch): Rewrite using PREFETCH RTL primitive. * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH). * arm.c (arm_init_builtins): Don't initialize a builtin for __builtin_prefetch here. (arm_expand_builtin): Dont expand __builtin_prefetch here. From-SVN: r47790
This commit is contained in:
parent
fd9245b7ec
commit
fa980e6b68
@ -1,3 +1,12 @@
|
||||
2001-12-08 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
* arm.md (VUNSPEC_PREFETCH): Delete constant definition.
|
||||
(prefetch): Rewrite using PREFETCH RTL primitive.
|
||||
* arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
|
||||
* arm.c (arm_init_builtins): Don't initialize a builtin for
|
||||
__builtin_prefetch here.
|
||||
(arm_expand_builtin): Dont expand __builtin_prefetch here.
|
||||
|
||||
2001-12-08 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
* final.c (cleanup_subreg_operands): Use recog_data.operand_loc
|
||||
|
@ -9151,11 +9151,6 @@ arm_init_builtins ()
|
||||
/* Initialize arm V5 builtins. */
|
||||
if (arm_arch5)
|
||||
def_builtin ("__builtin_clz", int_ftype_int, ARM_BUILTIN_CLZ);
|
||||
|
||||
/* Initialize arm V5E builtins. */
|
||||
if (arm_arch5e)
|
||||
def_builtin ("__builtin_prefetch", void_ftype_pchar,
|
||||
ARM_BUILTIN_PREFETCH);
|
||||
}
|
||||
|
||||
/* Expand an expression EXP that calls a built-in function,
|
||||
@ -9203,19 +9198,6 @@ arm_expand_builtin (exp, target, subtarget, mode, ignore)
|
||||
return 0;
|
||||
emit_insn (pat);
|
||||
return target;
|
||||
|
||||
case ARM_BUILTIN_PREFETCH:
|
||||
icode = CODE_FOR_prefetch;
|
||||
arg0 = TREE_VALUE (arglist);
|
||||
op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0);
|
||||
|
||||
op0 = gen_rtx_MEM (SImode, copy_to_mode_reg (Pmode, op0));
|
||||
|
||||
pat = GEN_FCN (icode) (op0);
|
||||
if (! pat)
|
||||
return 0;
|
||||
emit_insn (pat);
|
||||
return target;
|
||||
}
|
||||
|
||||
/* @@@ Should really do something sensible here. */
|
||||
|
@ -2907,7 +2907,6 @@ extern int making_const_table;
|
||||
enum arm_builtins
|
||||
{
|
||||
ARM_BUILTIN_CLZ,
|
||||
ARM_BUILTIN_PREFETCH,
|
||||
ARM_BUILTIN_MAX
|
||||
};
|
||||
#endif /* ! GCC_ARM_H */
|
||||
|
@ -88,8 +88,6 @@
|
||||
; a 32-bit object.
|
||||
(VUNSPEC_POOL_8 7) ; `pool-entry(8)'. An entry in the constant pool for
|
||||
; a 64-bit object.
|
||||
(VUNSPEC_PREFETCH 8) ; `pld' insn to prefetch a cache line:
|
||||
; operand 0 is the address to fetch.
|
||||
]
|
||||
)
|
||||
|
||||
@ -9173,10 +9171,11 @@
|
||||
;; V5E instructions.
|
||||
|
||||
(define_insn "prefetch"
|
||||
[(unspec_volatile
|
||||
[(match_operand:SI 0 "offsettable_memory_operand" "o")] VUNSPEC_PREFETCH)]
|
||||
[(prefetch (match_operand:SI 0 "address_operand" "p")
|
||||
(match_operand:SI 1 "" "")
|
||||
(match_operand:SI 2 "" ""))]
|
||||
"TARGET_ARM && arm_arch5e"
|
||||
"pld\\t%0")
|
||||
"pld\\t[%0]")
|
||||
|
||||
;; General predication pattern
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user