Skip to content

Commit d8c1aa0

Browse files
committed
Added tests to TestInExpr for shifts
1 parent a8a75d5 commit d8c1aa0

8 files changed

+1491
-1265
lines changed

Clover/TestIntExpr.asm

+341-130
Large diffs are not rendered by default.

Clover/TestIntExpr.clvr

+35-9
Original file line numberDiff line numberDiff line change
@@ -61,30 +61,56 @@ function int16_t main()
6161
showIntResults(14, 1, TestIntConst != testIntGlobal);
6262
showIntResults(15, 1, TestIntConst >= testIntGlobal);
6363
showIntResults(16, 1, TestIntConst > testIntGlobal);
64+
65+
core.printf("\n Shift ops\n");
66+
67+
int8_t a = -80;
68+
a = a >> 4;
69+
showIntResults(17, -5, a);
70+
a = a << 4;
71+
showIntResults(18, -80, a);
72+
73+
int8_t b = 4;
74+
a = a >> b;
75+
showIntResults(19, -5, a);
76+
a = a << b;
77+
showIntResults(20, -80, a);
6478

79+
a = 5;
80+
a = a << b;
81+
showIntResults(21, 80, a);
82+
a = a >> b;
83+
showIntResults(22, 5, a);
84+
85+
int16_t c = 0x1234;
86+
c = c >> b;
87+
showIntResults(23, 291 , c);
88+
c = c << b;
89+
showIntResults(24, 4656, c);
90+
6591
int8_t i = 20;
6692
int8_t j = i++;
6793
j = ++i;
6894

69-
showIntResults(17, 22, i);
95+
showIntResults(25, 22, i);
7096
j = i--;
7197
j = --i;
72-
showIntResults(18, 20, i);
73-
showIntResults(19, 20, j);
98+
showIntResults(26, 20, i);
99+
showIntResults(27, 20, j);
74100

75101
core.printf("\n op assign\n");
76102
i += 1;
77-
showIntResults(20, 21, i);
103+
showIntResults(28, 21, i);
78104
i -= 1;
79-
showIntResults(21, 20, i);
105+
showIntResults(29, 20, i);
80106
i *= 5;
81-
showIntResults(22, 100, i);
107+
showIntResults(30, 100, i);
82108
i /= 5;
83-
showIntResults(23, 20, i);
109+
showIntResults(31, 20, i);
84110

85111
core.printf("\n Int exprs\n");
86-
showIntResults(24, 2984, int16_t(testIntTable[1]) + int16_t(TestSizeDef) * TestIntConst - testIntGlobal);
87-
showIntResults(25, 2940, int16_t(testIntTable[1] + TestSizeDef) * (TestIntConst - testIntGlobal));
112+
showIntResults(32, 2984, int16_t(testIntTable[1]) + int16_t(TestSizeDef) * TestIntConst - testIntGlobal);
113+
showIntResults(33, 2940, int16_t(testIntTable[1] + TestSizeDef) * (TestIntConst - testIntGlobal));
88114

89115
core.printf("\nDone.%40s%s\n\n", " ", errors ? "FAILED" : "Passed");
90116
return errors;

Clover/TestIntExpr.lst

+901-689
Large diffs are not rendered by default.

Clover/TestIntExpr.s19

+113-90
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,118 @@
11
S02800005B6C77746F6F6C7320342E32335D20436C6F7665722F54657374496E74457870722E61736D91
22
S1130200327D1F42327EBD025E32627EFC0E34407D
3-
S11302101F43A6461F894FC300003406CC07213470
4-
S113022006CC07233406BDFC20EC4710A349102755
5-
S1130230001DEC493406EC473406CC07323406BDC5
3+
S11302101F43A6461F894FC300003406CC087D3413
4+
S113022006CC087F3406BDFC20EC4710A3491027F8
5+
S1130230001DEC493406EC473406CC088E3406BD68
66
S1130240FC203022A60034028B01A70016000A34D9
7-
S113025010CC074D3406BDFC201F343540393440E2
8-
S11302601F43327CCC0000ED5EEC5E108303E8108B
9-
S113027024049E8600A722CC002AED20CC07583403
10-
S113028006BDFC20CC07693406BDFC20CC000C3430
11-
S113029006CC000C340686013402327EBD020E32D6
12-
S11302A067CC00FC3406CC00FC34068602340232EF
13-
S11302B07EBD020E32678E071D8603C6013D308B5C
14-
S11302C0A6001F891D3406CC0007340686033402B9
15-
S11302D0327EBD020E3267CC07763406BDFC20CCDC
16-
S11302E000FCE3203406CC012634068604340232B2
17-
S11302F07EBD020E3267CC00FCA3203406CC00D2B3
18-
S1130300340686053402327EBD020E3267EC203498
19-
S113031006CC00FC34066FE26D63102A00096060AD
20-
S1130320CC0000A363ED636D61102A00096060CC0A
21-
S11303300000A361ED61A664E6623D3406A665E6AD
22-
S1130340643DEB61E761A666E6633DEB61E7616DE1
23-
S113035062102A0005CC0000A3603506326534061D
24-
S1130360CC2958340686063402327EBD020E32672A
25-
S1130370EC203406CC00FC3406BDFC463264340662
26-
S1130380CC0006340686073402327EBD020E326784
27-
S1130390EC203406CC0000A36032623406862A4086
28-
S11303A01F891D340686083402327EBD020E326770
29-
S11303B086FC1026000586011600014F1F891D3496
30-
S11303C006CC0000340686093402327EBD020E32A9
31-
S11303D067CC00FC43533406CCFF033406860A344E
32-
S11303E002327EBD020E3267CC00FC10A320102C1A
33-
S11303F0000586011600014F1F891D3406CC00003C
34-
S11304003406860B3402327EBD020E3267CC00FC09
35-
S113041010A320102E000586011600014F1F891D10
36-
S11304203406CC00003406860C3402327EBD020E43
37-
S11304303267CC00FC10A3201026000586011600AC
38-
S1130440014F1F891D3406CC00003406860D34028A
39-
S1130450327EBD020E3267CC00FC10A320102700B0
40-
S11304600586011600014F1F891D3406CC00013496
7+
S113025010CC08A93406BDFC201F34354039344085
8+
S11302601F43327A8600A722CC002AED20CC08B4A2
9+
S11302703406BDFC20CC08C53406BDFC20CC000CE3
10+
S11302803406CC000C340686013402327EBD020EE4
11+
S11302903267CC00FC3406CC00FC340686023402FF
12+
S11302A0327EBD020E32678E08798603C6013D3068
13+
S11302B08BA6001F891D3406CC0007340686033440
14+
S11302C002327EBD020E3267CC08D23406BDFC2059
15+
S11302D0CC00FCE3203406CC012634068604340228
16+
S11302E0327EBD020E3267CC00FCA3203406CC0063
17+
S11302F0D2340686053402327EBD020E3267EC200B
18+
S11303003406CC00FC34066FE26D63102A000960E9
19+
S113031060CC0000A363ED636D61102A0009606086
20+
S1130320CC0000A361ED61A664E6623D3406A665D7
21+
S1130330E6643DEB61E761A666E6633DEB61E76178
22+
S11303406D62102A0005CC0000A3603506326534C6
23+
S113035006CC2958340686063402327EBD020E329B
24+
S113036067EC203406CC00FC3406BDFC4632643411
25+
S113037006CC0006340686073402327EBD020E32F5
26+
S113038067EC203406CC0000A36032623406862A6F
27+
S1130390401F891D340686083402327EBD020E32A7
28+
S11303A06786FC1026000586011600014F1F894F41
29+
S11303B0C300003406CC0000340686093402327EC1
30+
S11303C0BD020E3267CC00FC43533406CCFF033429
31+
S11303D006860A3402327EBD020E3267CC00FC105F
32+
S11303E0A320102C000586011600014F1F894FC35E
33+
S11303F000003406CC00003406860B3402327EBD85
34+
S1130400020E3267CC00FC10A320102E00058601DA
35+
S11304101600014F1F894FC300003406CC0000347E
36+
S113042006860C3402327EBD020E3267CC00FC100C
37+
S1130430A3201026000586011600014F1F894FC313
38+
S113044000003406CC00003406860D3402327EBD32
39+
S1130450020E3267CC00FC10A32010270005860191
40+
S11304601600014F1F894FC300003406CC0001342D
4141
S113047006860E3402327EBD020E3267CC00FC10BA
42-
S1130480A320102D000586011600014F1F891D347D
43-
S113049006CC00013406860F3402327EBD020E32D1
44-
S11304A067CC00FC10A320102F0005860116000164
45-
S11304B04F1F891D3406CC000134068610340232E5
46-
S11304C07EBD020E32678614A75D305DA60034023D
47-
S11304D08B01A7003502A75C305DA6008B01A70045
48-
S11304E0A75CA65D1F891D3406CC00163406861150
49-
S11304F03402327EBD020E3267305DA60034028BB8
50-
S1130500FFA7003502A75C305DA6008BFFA700A7FC
51-
S11305105CA65D1F891D3406CC0014340686123493
52-
S113052002327EBD020E3267A65C1F891D3406CCE2
53-
S11305300014340686133402327EBD020E3267CCB8
54-
S113054007823406BDFC20A65D8B01A75DA65D1F56
55-
S1130550891D3406CC0015340686143402327EBD5F
56-
S1130560020E3267A65D8001A75DA65D1F891D345A
57-
S113057006CC0014340686153402327EBD020E32D7
58-
S1130580676FE2A65D102A00036060401F8986053C
59-
S1130590102A00036060403D6D60102A0001503253
60-
S11305A0611F98A75DA65D1F891D3406CC006434C5
61-
S11305B00686163402327EBD020E32678605340288
62-
S11305C0A65D3402BDFC443264A75DA65D1F891D8F
63-
S11305D03406CC0014340686173402327EBD020E73
64-
S11305E03267CC07903406BDFC20EC203406CC00E6
65-
S11305F0FC3406860C1F891D34066FE26D63102AD5
66-
S113060000096060CC0000A363ED636D61102A00F3
67-
S1130610096060CC0000A361ED61A664E6623D342C
68-
S113062006A665E6643DEB61E761A666E6633DEB1D
69-
S113063061E7616D62102A0005CC0000A3603506F5
70-
S113064032658E071D34068601C6013D308BA60037
71-
S11306501F891DE3603262A36032623406CC0BA8AA
72-
S1130660340686183402327EBD020E3267CC00FC9A
73-
S1130670A3203406860C8E071D34028601C6013D74
74-
S1130680308BA600AB6032611F891D34066FE26DAA
75-
S113069063102A00096060CC0000A363ED636D6100
76-
S11306A0102A00096060CC0000A361ED61A664E635
77-
S11306B0623D3406A665E6643DEB61E761A666E645
78-
S11306C0633DEB61E7616D62102A0005CC0000A375
79-
S11306D060350632653406CC0B7C34068619340248
80-
S11306E0327EBD020E3267A62210270006CC079E7A
81-
S11306F0160003CC07A53406CC07AC3406CC07AEF1
82-
S11307003406BDFC20305EEC00C30001ED0016FB96
83-
S1130710583406A6221F891D1F34354039010203AF
84-
S1130720072000253130732D3E2025326868693A50
85-
S1130730200020202020204641494C3A2065787032
86-
S11307402025692C20676F742025690A0020202049
87-
S11307502020506173730A000A5465737420496E33
88-
S1130760742045787072730A000A2020496E742040
89-
S113077076616C730A000A2020496E74206F7073CE
90-
S11307800A000A20206F702061737369676E0A0083
91-
S11307900A2020496E742065787072730A004641FD
92-
S11307A0494C4544005061737365640020000A4459
93-
S11007B06F6E652E2534307325730A0A0020
94-
S503005CA0
42+
S1130480A320102D000586011600014F1F894FC3BC
43+
S113049000003406CC00013406860F3402327EBDDF
44+
S11304A0020E3267CC00FC10A320102F0005860139
45+
S11304B01600014F1F894FC300003406CC000134DD
46+
S11304C00686103402327EBD020E3267CC08DE345A
47+
S11304D006BDFC20865040A75FA65F3402860467F1
48+
S11304E0604A26FB3502A75FA65F1F891D34068676
49+
S11304F005401F891D340686113402327EBD020E6A
50+
S11305003267A65F3402860468604A26FB3502A778
51+
S11305105FA65F1F891D34068650401F891D34065F
52+
S113052086123402327EBD020E32678604A75EA6AE
53+
S11305305F3402A65E67604A26FB3502A75FA65FAA
54+
S11305401F891D34068605401F891D340686133411
55+
S113055002327EBD020E3267A65F3402A65E686078
56+
S11305604A26FB3502A75FA65F1F891D3406865005
57+
S1130570401F891D340686143402327EBD020E32B9
58+
S1130580678605A75FA65F3402A65E68604A26FBFD
59+
S11305903502A75FA65F1F891D3406CC00503406C0
60+
S11305A086153402327EBD020E3267A65F3402A67F
61+
S11305B05E67604A26FB3502A75FA65F1F891D346C
62+
S11305C006CC0005340686163402327EBD020E3295
63+
S11305D067CC1234ED5CEC5C3406A65E1F891D1FEB
64+
S11305E098676066614A26F93506ED5CEC5C340672
65+
S11305F0CC0123340686173402327EBD020E3267E4
66+
S1130600EC5C3406A65E1F891D1F98686169604A08
67+
S113061026F93506ED5CEC5C3406CC1230340686E3
68+
S1130620183402327EBD020E32678614A75B305B3B
69+
S1130630A60034028B01A7003502A75A305BA6003E
70+
S11306408B01A700A75AA65B1F891D3406CC001690
71+
S1130650340686193402327EBD020E3267305BA640
72+
S11306600034028BFFA7003502A75A305BA6008B2B
73+
S1130670FFA700A75AA65B1F891D3406CC001434BB
74+
S113068006861A3402327EBD020E3267A65A1F89CC
75+
S11306901D3406CC00143406861B3402327EBD029F
76+
S11306A00E3267CC08EC3406BDFC20A65B8B01A798
77+
S11306B05BA65B1F891D3406CC00153406861C34EA
78+
S11306C002327EBD020E3267A65B8001A75BA65B89
79+
S11306D01F891D3406CC00143406861D3402327E74
80+
S11306E0BD020E32676FE2A65B102A000360604011
81+
S11306F01F898605102A00036060403D6D60102A42
82+
S113070000015032611F98A75BA65B1F891D340648
83+
S1130710CC00643406861E3402327EBD020E32677B
84+
S113072086053402A65B3402BDFC443264A75BA692
85+
S11307305B1F891D3406CC00143406861F34023234
86+
S11307407EBD020E3267CC08FA3406BDFC20EC20D4
87+
S11307503406CC00FC3406860C1F894FC3000034D9
88+
S1130760066FE26D63102A00096060CC0000A36389
89+
S1130770ED636D61102A00096060CC0000A361ED97
90+
S113078061A664E6623D3406A665E6643DEB61E776
91+
S113079061A666E6633DEB61E7616D62102A0005C0
92+
S11307A0CC0000A360350632658E087934068601D4
93+
S11307B0C6013D308BA6001F891DE3603262A36031
94+
S11307C032623406CC0BA8340686203402327EBD55
95+
S11307D0020E3267CC00FCA3203406860C8E087906
96+
S11307E034028601C6013D308BA600AB6032611F26
97+
S11307F0891D34066FE26D63102A00096060CC0025
98+
S113080000A363ED636D61102A00096060CC0000F1
99+
S1130810A361ED61A664E6623D3406A665E6643D27
100+
S1130820EB61E761A666E6633DEB61E7616D62102B
101+
S11308302A0005CC0000A360350632653406CC0BD3
102+
S11308407C340686213402327EBD020E3267A62233
103+
S113085010270006CC0908160003CC090F3406CC77
104+
S113086009163406CC09183406BDFC20A6221F89BB
105+
S11308704FC300001F34354039010203072000250F
106+
S11308803130732D3E2025326868693A20002020DB
107+
S11308902020204641494C3A206578702025692C57
108+
S11308A020676F742025690A0020202020205061D1
109+
S11308B073730A000A5465737420496E7420457872
110+
S11308C07072730A000A2020496E742076616C737A
111+
S11308D00A000A2020496E74206F70730A000A20EF
112+
S11308E0205368696674206F70730A000A20206FB1
113+
S11308F0702061737369676E0A000A2020496E7460
114+
S11309002065787072730A004641494C4544005092
115+
S113091061737365640020000A446F6E652E25348C
116+
S10A0920307325730A0A007D
117+
S503007389
95118
S9030200FA

0 commit comments

Comments
 (0)