internal/load: use alias slice for determinism

Previously aliases were stored in a map which was causing
non-deterministic code generation (see recent build failures). This diff
changes to a slice to avoid this problem.

Updates #50
This commit is contained in:
Michael McLoughlin
2019-01-20 23:06:42 -08:00
parent 2d7a9ddb6c
commit 02ecaad4e4
4 changed files with 61 additions and 53 deletions

View File

@@ -2,42 +2,42 @@
package load
var annoyingaliases = map[string]string{
"JA": "JHI",
"JAE": "JCC",
"JB": "JCS",
"JBE": "JLS",
"JC": "JCS",
"JE": "JEQ",
"JG": "JGT",
"JHS": "JCC",
"JL": "JLT",
"JLO": "JCS",
"JNA": "JLS",
"JNAE": "JCS",
"JNB": "JCC",
"JNBE": "JHI",
"JNC": "JCC",
"JNG": "JLE",
"JNGE": "JLT",
"JNL": "JGE",
"JNLE": "JGT",
"JNO": "JOC",
"JNP": "JPC",
"JNS": "JPL",
"JNZ": "JNE",
"JO": "JOS",
"JP": "JPS",
"JPE": "JPS",
"JPO": "JPC",
"JS": "JMI",
"JZ": "JEQ",
"MASKMOVDQU": "MASKMOVOU",
"MOVD": "MOVQ",
"MOVDQ2Q": "MOVQ",
"MOVNTDQ": "MOVNTO",
"MOVOA": "MOVO",
"PSLLDQ": "PSLLO",
"PSRLDQ": "PSRLO",
"PADDD": "PADDL",
var annoyingaliases = []alias{
{"JA", "JHI"},
{"JAE", "JCC"},
{"JB", "JCS"},
{"JBE", "JLS"},
{"JC", "JCS"},
{"JE", "JEQ"},
{"JG", "JGT"},
{"JHS", "JCC"},
{"JL", "JLT"},
{"JLO", "JCS"},
{"JNA", "JLS"},
{"JNAE", "JCS"},
{"JNB", "JCC"},
{"JNBE", "JHI"},
{"JNC", "JCC"},
{"JNG", "JLE"},
{"JNGE", "JLT"},
{"JNL", "JGE"},
{"JNLE", "JGT"},
{"JNO", "JOC"},
{"JNP", "JPC"},
{"JNS", "JPL"},
{"JNZ", "JNE"},
{"JO", "JOS"},
{"JP", "JPS"},
{"JPE", "JPS"},
{"JPO", "JPC"},
{"JS", "JMI"},
{"JZ", "JEQ"},
{"MASKMOVDQU", "MASKMOVOU"},
{"MOVD", "MOVQ"},
{"MOVDQ2Q", "MOVQ"},
{"MOVNTDQ", "MOVNTO"},
{"MOVOA", "MOVO"},
{"PSLLDQ", "PSLLO"},
{"PSRLDQ", "PSRLO"},
{"PADDD", "PADDL"},
}