From da10ba6f2b652db9667261bbd838e20a63c355d5 Mon Sep 17 00:00:00 2001 From: xleroy Date: Tue, 7 Jun 2011 12:28:21 +0000 Subject: Oaddrsymbol and small data area git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1667 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- powerpc/Asmgen.v | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'powerpc/Asmgen.v') diff --git a/powerpc/Asmgen.v b/powerpc/Asmgen.v index 5e3d39b3..6b47d750 100644 --- a/powerpc/Asmgen.v +++ b/powerpc/Asmgen.v @@ -252,8 +252,11 @@ Definition transl_op | Ofloatconst f, nil => Plfi (freg_of r) f :: k | Oaddrsymbol s ofs, nil => - Paddis GPR12 GPR0 (Csymbol_high s ofs) :: - Paddi (ireg_of r) GPR12 (Csymbol_low s ofs) :: k + if symbol_is_small_data s ofs then + Paddi (ireg_of r) GPR0 (Csymbol_sda s ofs) :: k + else + Paddis GPR12 GPR0 (Csymbol_high s ofs) :: + Paddi (ireg_of r) GPR12 (Csymbol_low s ofs) :: k | Oaddrstack n, nil => addimm (ireg_of r) GPR1 n k | Ocast8signed, a1 :: nil => -- cgit