1. 07 Jan, 2021 1 commit
  2. 17 Dec, 2020 1 commit
  3. 16 Dec, 2020 6 commits
  4. 11 Dec, 2020 7 commits
  5. 09 Dec, 2020 2 commits
  6. 08 Dec, 2020 12 commits
  7. 07 Dec, 2020 1 commit
  8. 06 Dec, 2020 5 commits
    • Xavier Leroy's avatar
      Error when using -main without -interp · b40aef6c
      Xavier Leroy authored
      Outside of -interp mode, -main has no (known) effect but could be
      confused for a linker option that sets the program's entrypoint, say.
      It's safer to reject the option.
      b40aef6c
    • Xavier Leroy's avatar
      PowerPC modeling of registers destroyed by pseudo-instructions · 5e389894
      Xavier Leroy authored
      Inlined built-in functions destroy GPR0
      5e389894
    • Xavier Leroy's avatar
      ARM modeling of registers destroyed by pseudo-instructions · a4cfb9c2
      Xavier Leroy authored
      Pflid destroys IR14
      Inlined built-in functions destroy IR14
      a4cfb9c2
    • Xavier Leroy's avatar
      AArch64 modeling of registers destroyed by pseudo-instructions · 0df99dc4
      Xavier Leroy authored
      Pfmovimms, Pfmovimmd destroy X16
      Pbtbl preserves X17
      Inlined built-in functions destroy X16 and X30
      0df99dc4
    • Xavier Leroy's avatar
      Remove Pfcfi, Pfcfiu, Pfctiu pseudoinstructions · ef5477a4
      Xavier Leroy authored
      Also remove the Ofloatofint, Ofloatofintu, and Ointuoffloat
      PowerPC operations.
      
      The pseudoinstructions were used to implement these operations,
      as follows:
      
      Pfcfi  : Ofloatofint   i.e. the conversion signed int32 -> float64
      Pfcfiu : Ofloatofintu  i.e. the conversion unsigned int32 -> float64
      Pfctiu : Ointuoffloat  i.e. the conversion float64 -> unsigned int32
      
      These pseudoinstructions were expanded (in Asmexpand.ml) in terms of
      
      Pfcfid  : signed int64 -> float64
      Pfctidz : float64 -> signed int64
      
      and int32/int64 conversions.
      
      This commit performs this expansion during instruction selection
      (SelectOp.vp):
      
      floatofint(n)  becomes floatoflong(longofint(n))
      floatofintu(n) becomes floatoflong(longuofint(n))
      intuoffloat(n) becomes cast32unsigned(longoffloat(n))
      
      Then there is no need for the 3 removed operations and the 3 removed
      pseudoinstructions.
      
      More importantly, the correctness of these expansions is now proved as
      part of instruction selection, using the corresponding results from
      Floats.v.
      ef5477a4
  9. 04 Dec, 2020 5 commits