Browse Source

* support non-power-of-two records that have to be passed in MM registers
in a_load_ref_cgpara()

git-svn-id: trunk@32905 -

Jonas Maebe 9 years ago
parent
commit
ae7b17890a
1 changed files with 4 additions and 1 deletions
  1. 4 1
      compiler/llvm/hlcgllvm.pas

+ 4 - 1
compiler/llvm/hlcgllvm.pas

@@ -262,7 +262,10 @@ implementation
                      a_loadmm_ref_reg(list,location^.def,location^.def,tmpref,location^.register,mms_movescalar);
                    OS_M8..OS_M128,
                    OS_MS8..OS_MS128,
-                   OS_32..OS_128:
+                   OS_32..OS_128,
+                   { OS_NO is for records of non-power-of-two sizes that have to
+                     be passed in MM registers -> never scalar floats }
+                   OS_NO:
                      a_loadmm_ref_reg(list,location^.def,location^.def,tmpref,location^.register,nil);
                    else
                      internalerror(2010053101);