1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-01-07 07:29:49 +00:00

Working on fixing ma_mem variable model. Improving synths.

This commit is contained in:
Jesper Gravgaard 2020-02-11 18:23:19 +01:00
parent 8f2d766e52
commit 759e17829e
2 changed files with 10 additions and 3 deletions

View File

@ -297,6 +297,9 @@ class AsmFragmentTemplateSynthesisRule {
mapSToU.put("vdsz1", "vduz1");
mapSToU.put("vdsz2", "vduz2");
mapSToU.put("vdsz3", "vduz3");
mapSToU.put("vdsm1", "vdum1");
mapSToU.put("vdsm2", "vdum2");
mapSToU.put("vdsm3", "vdum3");
mapSToU.put("vdsc1", "vduc1");
mapSToU.put("vdsc2", "vduc2");
mapSToU.put("vdsc3", "vduc3");
@ -758,7 +761,7 @@ class AsmFragmentTemplateSynthesisRule {
synths.add(new AsmFragmentTemplateSynthesisRule("(v.s..)=(v.s..)_(band|bxor|bor)_(v.s..)", null, null, "$1=$2_$3_$4", null, mapSToU));
synths.add(new AsmFragmentTemplateSynthesisRule("(v.s..)=(p.s..)_derefidx_(vbu..)", null, null, "$1=$2_derefidx_$3", null, mapSToU));
synths.add(new AsmFragmentTemplateSynthesisRule("(v.s..)=_(inc|dec)_(v.s..)", null, null, "$1=_$2_$3", null, mapSToU));
synths.add(new AsmFragmentTemplateSynthesisRule("(vbuz.|vbuaa|vbuxx|vbuyy)=_(lo|hi)_vws(z.|c.)", null, null, "$1=_$2_vwu$3", null, mapSToU));
synths.add(new AsmFragmentTemplateSynthesisRule("(vbuz.|vbuaa|vbuxx|vbuyy)=_(lo|hi)_vws(z.|c.|m.)", null, null, "$1=_$2_vwu$3", null, mapSToU));
synths.add(new AsmFragmentTemplateSynthesisRule("(vb[su]..)=(vb[su]..)_(plus|minus)_(vb[su]..)", null, null, "$1=$2_$3_$4", null, mapSToU));
synths.add(new AsmFragmentTemplateSynthesisRule("(vw[su]..)=(vw[su]..)_(plus|minus)_(vw[su]..)", null, null, "$1=$2_$3_$4", null, mapSToU));
synths.add(new AsmFragmentTemplateSynthesisRule("(vd[su]..)=(vd[su]..)_(plus|minus)_(vd[su]..)", null, null, "$1=$2_$3_$4", null, mapSToU));

View File

@ -53,8 +53,12 @@ public class VariableBuilder {
public static VariableBuilderConfig getDefaultConfig(CompileLog log) {
VariableBuilderConfig config = new VariableBuilderConfig();
//config.addSetting("ma_mem", log, null);
//config.addSetting("parameter_ssa_mem", log, null);
//config.addSetting("ssa_mem", log, null);
//config.addSetting("pointer_ssa_zp", log, null);
//config.addSetting("array_ma_mem", log, null);
//config.addSetting("global_struct_ma_mem", log, null);
config.addSetting("parameter_ssa_mem", log, null);
config.addSetting("ssa_zp", log, null);
config.addSetting("array_ma_mem", log, null);
config.addSetting("global_struct_ma_mem", log, null);