diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2015-09-01 16:44:29 +0200 |
---|---|---|
committer | Bernhard Schommer <bernhardschommer@gmail.com> | 2015-09-01 16:44:29 +0200 |
commit | 75d50c12ee220fecf955b1626c78b78636cbca92 (patch) | |
tree | d1d3926a9df12113d36350ed6c8d6f55e373c748 /powerpc/Machregs.v | |
parent | 951963b380f1ff1e0b55f8303e4ae098cedb3cb5 (diff) | |
download | compcert-kvx-75d50c12ee220fecf955b1626c78b78636cbca92.tar.gz compcert-kvx-75d50c12ee220fecf955b1626c78b78636cbca92.zip |
Added the gcc builtin prefetch.
This commit implements the gcc __builtin_prefetch in a form with all
arguments for the powerpc architecture. The resulting instructions are
the dcbt and dcbtst instructions in Server Category.
Diffstat (limited to 'powerpc/Machregs.v')
-rw-r--r-- | powerpc/Machregs.v | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/powerpc/Machregs.v b/powerpc/Machregs.v index b9af652a..62a4a0a5 100644 --- a/powerpc/Machregs.v +++ b/powerpc/Machregs.v @@ -206,6 +206,7 @@ Definition two_address_op (op: operation) : bool := Definition builtin_get_spr := ident_of_string "__builtin_get_spr". Definition builtin_set_spr := ident_of_string "__builtin_set_spr". +Definition builtin_prefetch := ident_of_string "__builtin_prefetch". Definition builtin_constraints (ef: external_function) : list builtin_arg_constraint := @@ -213,6 +214,7 @@ Definition builtin_constraints (ef: external_function) : | EF_builtin id sg => if ident_eq id builtin_get_spr then OK_const :: nil else if ident_eq id builtin_set_spr then OK_const :: OK_default :: nil + else if ident_eq id builtin_prefetch then OK_addrany :: OK_const :: OK_const :: nil else nil | EF_vload _ => OK_addrany :: nil | EF_vstore _ => OK_addrany :: OK_default :: nil |