@@ -38,6 +38,9 @@ Z80LegalizerInfo::Z80LegalizerInfo(const Z80Subtarget &STI,
38
38
LLT sMax = Is24Bit ? s24 : s16;
39
39
auto LegalTypes24 = {p0, s8, s16, s24}, LegalTypes16 = {p0, s8, s16};
40
40
auto LegalTypes = Is24Bit ? LegalTypes24 : LegalTypes16;
41
+ auto LegalTypesWithOne24 = {p0, s1, s8, s16, s24},
42
+ LegalTypesWithOne16 = {p0, s1, s8, s16};
43
+ auto LegalTypesWithOne = Is24Bit ? LegalTypesWithOne24 : LegalTypesWithOne16;
41
44
auto LegalScalars24 = {s8, s16, s24}, LegalScalars16 = {s8, s16};
42
45
auto LegalScalars = Is24Bit ? LegalScalars24 : LegalScalars16;
43
46
auto LegalLibcallScalars24 = {s8, s16, s24, s32, s64};
@@ -52,7 +55,7 @@ Z80LegalizerInfo::Z80LegalizerInfo(const Z80Subtarget &STI,
52
55
auto NotMaxWithOne = Is24Bit ? NotMaxWithOne24 : NotMaxWithOne16;
53
56
54
57
getActionDefinitionsBuilder (G_IMPLICIT_DEF)
55
- .legalFor (LegalTypes );
58
+ .legalFor (LegalTypesWithOne );
56
59
57
60
getActionDefinitionsBuilder (G_MERGE_VALUES)
58
61
.legalForCartesianProduct (NotMin, NotMax)
0 commit comments