diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-04-20 17:46:58 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-04-20 17:46:58 +0000 |
commit | 468f0c4407895557ca8089430f894a85f06afe97 (patch) | |
tree | 76d4d5bb302da822797ccbbecd8f4cfd935bf938 /ia32/Machregs.v | |
parent | 600e5f3be65eeffc80d5c4cad800121fe521a1aa (diff) | |
download | compcert-468f0c4407895557ca8089430f894a85f06afe97.tar.gz compcert-468f0c4407895557ca8089430f894a85f06afe97.zip |
Add __builtin_bswap16 and __builtin_bswap32 to all ports.
Remove __builtin_{read,write}_reversed from IA32 and ARM ports.
Machregs: tighten destroyed_by_builtin
Packedstructs: use bswap if read/write-reversed not available.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2208 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'ia32/Machregs.v')
-rw-r--r-- | ia32/Machregs.v | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ia32/Machregs.v b/ia32/Machregs.v index 3b84aa5f..a2f3c3ea 100644 --- a/ia32/Machregs.v +++ b/ia32/Machregs.v @@ -105,11 +105,11 @@ Definition destroyed_by_builtin (ef: external_function): list mreg := match ef with | EF_memcpy sz al => if zle sz 32 then CX :: X7 :: nil else CX :: SI :: DI :: nil - | EF_vload _ => nil - | EF_vload_global _ _ _ => nil - | EF_vstore _ => AX :: CX :: X7 :: nil - | EF_vstore_global _ _ _ => AX :: X7 :: nil - | _ => AX :: CX :: X7 :: FP0 :: nil + | EF_vstore (Mint8unsigned|Mint8signed) => AX :: CX :: nil + | EF_vstore Mfloat32 => X7 :: nil + | EF_vstore_global (Mint8unsigned|Mint8signed) _ _ => AX :: nil + | EF_vstore_global Mfloat32 _ _ => X7 :: nil + | _ => nil end. Definition destroyed_at_function_entry: list mreg := |