diff options
Diffstat (limited to 'powerpc/Asmgen.v')
-rw-r--r-- | powerpc/Asmgen.v | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/powerpc/Asmgen.v b/powerpc/Asmgen.v index 5c37a570..05381ea1 100644 --- a/powerpc/Asmgen.v +++ b/powerpc/Asmgen.v @@ -395,8 +395,11 @@ Definition transl_load_store | Aindexed2, a1 :: a2 :: nil => mk2 (ireg_of a1) (ireg_of a2) :: k | Aglobal symb ofs, nil => - Paddis GPR12 GPR0 (Csymbol_high symb ofs) :: - mk1 (Csymbol_low symb ofs) GPR12 :: k + if symbol_is_small_data symb ofs then + mk1 (Csymbol_sda symb ofs) GPR13 :: k + else + Paddis GPR12 GPR0 (Csymbol_high symb ofs) :: + mk1 (Csymbol_low symb ofs) GPR12 :: k | Abased symb ofs, a1 :: nil => if ireg_eq (ireg_of a1) GPR0 then Pmr GPR12 (ireg_of a1) :: |