summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/revision2
-rw-r--r--test/s2wasm_known_binaryen_shell_test_failures.txt364
-rw-r--r--test/torture-s/20000113-1.c.s36
-rw-r--r--test/torture-s/20000217-1.c.s16
-rw-r--r--test/torture-s/20000224-1.c.s92
-rw-r--r--test/torture-s/20000313-1.c.s13
-rw-r--r--test/torture-s/20000314-2.c.s12
-rw-r--r--test/torture-s/20000403-1.c.s18
-rw-r--r--test/torture-s/20000412-1.c.s18
-rw-r--r--test/torture-s/20000412-2.c.s33
-rw-r--r--test/torture-s/20000412-3.c.s57
-rw-r--r--test/torture-s/20000412-4.c.s52
-rw-r--r--test/torture-s/20000412-6.c.s16
-rw-r--r--test/torture-s/20000419-1.c.s58
-rw-r--r--test/torture-s/20000422-1.c.s114
-rw-r--r--test/torture-s/20000503-1.c.s17
-rw-r--r--test/torture-s/20000519-1.c.s145
-rw-r--r--test/torture-s/20000519-2.c.s10
-rw-r--r--test/torture-s/20000528-1.c.s15
-rw-r--r--test/torture-s/20000605-1.c.s17
-rw-r--r--test/torture-s/20000605-2.c.s38
-rw-r--r--test/torture-s/20000703-1.c.s60
-rw-r--r--test/torture-s/20000706-1.c.s122
-rw-r--r--test/torture-s/20000706-2.c.s122
-rw-r--r--test/torture-s/20000706-3.c.s10
-rw-r--r--test/torture-s/20000706-4.c.s99
-rw-r--r--test/torture-s/20000706-5.c.s115
-rw-r--r--test/torture-s/20000707-1.c.s61
-rw-r--r--test/torture-s/20000715-1.c.s45
-rw-r--r--test/torture-s/20000717-1.c.s76
-rw-r--r--test/torture-s/20000717-3.c.s10
-rw-r--r--test/torture-s/20000717-4.c.s2
-rw-r--r--test/torture-s/20000717-5.c.s108
-rw-r--r--test/torture-s/20000801-1.c.s74
-rw-r--r--test/torture-s/20000801-3.c.s10
-rw-r--r--test/torture-s/20000801-4.c.s51
-rw-r--r--test/torture-s/20000808-1.c.s109
-rw-r--r--test/torture-s/20000818-1.c.s2
-rw-r--r--test/torture-s/20000819-1.c.s52
-rw-r--r--test/torture-s/20000910-2.c.s35
-rw-r--r--test/torture-s/20000914-1.c.s13
-rw-r--r--test/torture-s/20000917-1.c.s16
-rw-r--r--test/torture-s/20001009-1.c.s4
-rw-r--r--test/torture-s/20001009-2.c.s41
-rw-r--r--test/torture-s/20001013-1.c.s16
-rw-r--r--test/torture-s/20001024-1.c.s22
-rw-r--r--test/torture-s/20001027-1.c.s27
-rw-r--r--test/torture-s/20001101.c.s6
-rw-r--r--test/torture-s/20001108-1.c.s16
-rw-r--r--test/torture-s/20001111-1.c.s31
-rw-r--r--test/torture-s/20001121-1.c.s2
-rw-r--r--test/torture-s/20001124-1.c.s34
-rw-r--r--test/torture-s/20001203-2.c.s117
-rw-r--r--test/torture-s/20001228-1.c.s6
-rw-r--r--test/torture-s/20010106-1.c.s23
-rw-r--r--test/torture-s/20010116-1.c.s35
-rw-r--r--test/torture-s/20010118-1.c.s34
-rw-r--r--test/torture-s/20010129-1.c.s207
-rw-r--r--test/torture-s/20010221-1.c.s36
-rw-r--r--test/torture-s/20010222-1.c.s13
-rw-r--r--test/torture-s/20010224-1.c.s113
-rw-r--r--test/torture-s/20010403-1.c.s2
-rw-r--r--test/torture-s/20010409-1.c.s44
-rw-r--r--test/torture-s/20010518-2.c.s94
-rw-r--r--test/torture-s/20010604-1.c.s14
-rw-r--r--test/torture-s/20010605-2.c.s107
-rw-r--r--test/torture-s/20010904-1.c.s2
-rw-r--r--test/torture-s/20010904-2.c.s2
-rw-r--r--test/torture-s/20010915-1.c.s296
-rw-r--r--test/torture-s/20010924-1.c.s122
-rw-r--r--test/torture-s/20010925-1.c.s24
-rw-r--r--test/torture-s/20011008-3.c.s43
-rw-r--r--test/torture-s/20011019-1.c.s12
-rw-r--r--test/torture-s/20011024-1.c.s31
-rw-r--r--test/torture-s/20011109-1.c.s11
-rw-r--r--test/torture-s/20011113-1.c.s152
-rw-r--r--test/torture-s/20011121-1.c.s2
-rw-r--r--test/torture-s/20011126-1.c.s10
-rw-r--r--test/torture-s/20011219-1.c.s11
-rw-r--r--test/torture-s/20020107-1.c.s21
-rw-r--r--test/torture-s/20020118-1.c.s81
-rw-r--r--test/torture-s/20020129-1.c.s136
-rw-r--r--test/torture-s/20020201-1.c.s140
-rw-r--r--test/torture-s/20020206-1.c.s28
-rw-r--r--test/torture-s/20020213-1.c.s49
-rw-r--r--test/torture-s/20020215-1.c.s43
-rw-r--r--test/torture-s/20020216-1.c.s17
-rw-r--r--test/torture-s/20020226-1.c.s343
-rw-r--r--test/torture-s/20020227-1.c.s62
-rw-r--r--test/torture-s/20020307-1.c.s10
-rw-r--r--test/torture-s/20020328-1.c.s2
-rw-r--r--test/torture-s/20020402-2.c.s365
-rw-r--r--test/torture-s/20020402-3.c.s107
-rw-r--r--test/torture-s/20020404-1.c.s26
-rw-r--r--test/torture-s/20020406-1.c.s270
-rw-r--r--test/torture-s/20020411-1.c.s6
-rw-r--r--test/torture-s/20020413-1.c.s386
-rw-r--r--test/torture-s/20020418-1.c.s18
-rw-r--r--test/torture-s/20020506-1.c.s52
-rw-r--r--test/torture-s/20020508-1.c.s343
-rw-r--r--test/torture-s/20020508-2.c.s343
-rw-r--r--test/torture-s/20020508-3.c.s342
-rw-r--r--test/torture-s/20020510-1.c.s28
-rw-r--r--test/torture-s/20020529-1.c.s206
-rw-r--r--test/torture-s/20020611-1.c.s41
-rw-r--r--test/torture-s/20020615-1.c.s465
-rw-r--r--test/torture-s/20020805-1.c.s33
-rw-r--r--test/torture-s/20020810-1.c.s88
-rw-r--r--test/torture-s/20020911-1.c.s32
-rw-r--r--test/torture-s/20020916-1.c.s14
-rw-r--r--test/torture-s/20020920-1.c.s8
-rw-r--r--test/torture-s/20021010-2.c.s47
-rw-r--r--test/torture-s/20021011-1.c.s249
-rw-r--r--test/torture-s/20021015-1.c.s21
-rw-r--r--test/torture-s/20021024-1.c.s123
-rw-r--r--test/torture-s/20021111-1.c.s56
-rw-r--r--test/torture-s/20021118-1.c.s33
-rw-r--r--test/torture-s/20021118-3.c.s8
-rw-r--r--test/torture-s/20021120-1.c.s955
-rw-r--r--test/torture-s/20021120-2.c.s29
-rw-r--r--test/torture-s/20021120-3.c.s59
-rw-r--r--test/torture-s/20021127-1.c.s2
-rw-r--r--test/torture-s/20021204-1.c.s25
-rw-r--r--test/torture-s/20021219-1.c.s132
-rw-r--r--test/torture-s/20030109-1.c.s10
-rw-r--r--test/torture-s/20030120-1.c.s14
-rw-r--r--test/torture-s/20030120-2.c.s17
-rw-r--r--test/torture-s/20030128-1.c.s28
-rw-r--r--test/torture-s/20030209-1.c.s10
-rw-r--r--test/torture-s/20030216-1.c.s2
-rw-r--r--test/torture-s/20030218-1.c.s29
-rw-r--r--test/torture-s/20030221-1.c.s44
-rw-r--r--test/torture-s/20030222-1.c.s27
-rw-r--r--test/torture-s/20030224-2.c.s4
-rw-r--r--test/torture-s/20030313-1.c.s189
-rw-r--r--test/torture-s/20030606-1.c.s19
-rw-r--r--test/torture-s/20030626-1.c.s10
-rw-r--r--test/torture-s/20030626-2.c.s22
-rw-r--r--test/torture-s/20030714-1.c.s122
-rw-r--r--test/torture-s/20030715-1.c.s40
-rw-r--r--test/torture-s/20030717-1.c.s88
-rw-r--r--test/torture-s/20030828-1.c.s57
-rw-r--r--test/torture-s/20030903-1.c.s20
-rw-r--r--test/torture-s/20030913-1.c.s10
-rw-r--r--test/torture-s/20030914-1.c.s345
-rw-r--r--test/torture-s/20030914-2.c.s119
-rw-r--r--test/torture-s/20030928-1.c.s104
-rw-r--r--test/torture-s/20031010-1.c.s21
-rw-r--r--test/torture-s/20031012-1.c.s43
-rw-r--r--test/torture-s/20031201-1.c.s77
-rw-r--r--test/torture-s/20031204-1.c.s200
-rw-r--r--test/torture-s/20031211-1.c.s10
-rw-r--r--test/torture-s/20031214-1.c.s38
-rw-r--r--test/torture-s/20031215-1.c.s4
-rw-r--r--test/torture-s/20040218-1.c.s77
-rw-r--r--test/torture-s/20040309-1.c.s27
-rw-r--r--test/torture-s/20040411-1.c.s20
-rw-r--r--test/torture-s/20040625-1.c.s59
-rw-r--r--test/torture-s/20040629-1.c.s2808
-rw-r--r--test/torture-s/20040703-1.c.s355
-rw-r--r--test/torture-s/20040705-1.c.s2820
-rw-r--r--test/torture-s/20040705-2.c.s2820
-rw-r--r--test/torture-s/20040707-1.c.s30
-rw-r--r--test/torture-s/20040709-1.c.s7699
-rw-r--r--test/torture-s/20040709-2.c.s6976
-rw-r--r--test/torture-s/20040805-1.c.s25
-rw-r--r--test/torture-s/20040811-1.c.s62
-rw-r--r--test/torture-s/20040820-1.c.s24
-rw-r--r--test/torture-s/20040823-1.c.s62
-rw-r--r--test/torture-s/20040917-1.c.s14
-rw-r--r--test/torture-s/20041011-1.c.s2472
-rw-r--r--test/torture-s/20041019-1.c.s62
-rw-r--r--test/torture-s/20041112-1.c.s48
-rw-r--r--test/torture-s/20041113-1.c.s162
-rw-r--r--test/torture-s/20041114-1.c.s10
-rw-r--r--test/torture-s/20041124-1.c.s65
-rw-r--r--test/torture-s/20041126-1.c.s105
-rw-r--r--test/torture-s/20041201-1.c.s94
-rw-r--r--test/torture-s/20041210-1.c.s41
-rw-r--r--test/torture-s/20041214-1.c.s151
-rw-r--r--test/torture-s/20041218-1.c.s79
-rw-r--r--test/torture-s/20050106-1.c.s10
-rw-r--r--test/torture-s/20050121-1.c.s72
-rw-r--r--test/torture-s/20050124-1.c.s2
-rw-r--r--test/torture-s/20050125-1.c.s27
-rw-r--r--test/torture-s/20050215-1.c.s43
-rw-r--r--test/torture-s/20050218-1.c.s100
-rw-r--r--test/torture-s/20050224-1.c.s96
-rw-r--r--test/torture-s/20050316-1.c.s8
-rw-r--r--test/torture-s/20050316-3.c.s4
-rw-r--r--test/torture-s/20050410-1.c.s20
-rw-r--r--test/torture-s/20050502-1.c.s293
-rw-r--r--test/torture-s/20050502-2.c.s141
-rw-r--r--test/torture-s/20050604-1.c.s228
-rw-r--r--test/torture-s/20050713-1.c.s347
-rw-r--r--test/torture-s/20050826-1.c.s156
-rw-r--r--test/torture-s/20050929-1.c.s78
-rw-r--r--test/torture-s/20051012-1.c.s21
-rw-r--r--test/torture-s/20051021-1.c.s51
-rw-r--r--test/torture-s/20051104-1.c.s12
-rw-r--r--test/torture-s/20051110-1.c.s98
-rw-r--r--test/torture-s/20051110-2.c.s93
-rw-r--r--test/torture-s/20051113-1.c.s367
-rw-r--r--test/torture-s/20051215-1.c.s46
-rw-r--r--test/torture-s/20060102-1.c.s34
-rw-r--r--test/torture-s/20060110-1.c.s25
-rw-r--r--test/torture-s/20060110-2.c.s41
-rw-r--r--test/torture-s/20060127-1.c.s10
-rw-r--r--test/torture-s/20060412-1.c.s27
-rw-r--r--test/torture-s/20060420-1.c.s594
-rw-r--r--test/torture-s/20060905-1.c.s47
-rw-r--r--test/torture-s/20060910-1.c.s83
-rw-r--r--test/torture-s/20060929-1.c.s31
-rw-r--r--test/torture-s/20060930-1.c.s42
-rw-r--r--test/torture-s/20060930-2.c.s21
-rw-r--r--test/torture-s/20061031-1.c.s20
-rw-r--r--test/torture-s/20061101-1.c.s32
-rw-r--r--test/torture-s/20061101-2.c.s32
-rw-r--r--test/torture-s/20070201-1.c.s22
-rw-r--r--test/torture-s/20070212-1.c.s12
-rw-r--r--test/torture-s/20070212-3.c.s25
-rw-r--r--test/torture-s/20070517-1.c.s37
-rw-r--r--test/torture-s/20070614-1.c.s124
-rw-r--r--test/torture-s/20070623-1.c.s156
-rw-r--r--test/torture-s/20071011-1.c.s2
-rw-r--r--test/torture-s/20071018-1.c.s22
-rw-r--r--test/torture-s/20071029-1.c.s194
-rw-r--r--test/torture-s/20071030-1.c.s149
-rw-r--r--test/torture-s/20071108-1.c.s46
-rw-r--r--test/torture-s/20071120-1.c.s95
-rw-r--r--test/torture-s/20071202-1.c.s385
-rw-r--r--test/torture-s/20071211-1.c.s42
-rw-r--r--test/torture-s/20071213-1.c.s417
-rw-r--r--test/torture-s/20071216-1.c.s103
-rw-r--r--test/torture-s/20071219-1.c.s543
-rw-r--r--test/torture-s/20071220-1.c.s2
-rw-r--r--test/torture-s/20071220-2.c.s2
-rw-r--r--test/torture-s/20080117-1.c.s18
-rw-r--r--test/torture-s/20080222-1.c.s8
-rw-r--r--test/torture-s/20080424-1.c.s31
-rw-r--r--test/torture-s/20080502-1.c.s39
-rw-r--r--test/torture-s/20080506-2.c.s67
-rw-r--r--test/torture-s/20080519-1.c.s166
-rw-r--r--test/torture-s/20080522-1.c.s98
-rw-r--r--test/torture-s/20080604-1.c.s47
-rw-r--r--test/torture-s/20080719-1.c.s6
-rw-r--r--test/torture-s/20081103-1.c.s75
-rw-r--r--test/torture-s/20081117-1.c.s78
-rw-r--r--test/torture-s/20081218-1.c.s68
-rw-r--r--test/torture-s/20090207-1.c.s35
-rw-r--r--test/torture-s/20090527-1.c.s16
-rw-r--r--test/torture-s/20090623-1.c.s57
-rw-r--r--test/torture-s/20090814-1.c.s28
-rw-r--r--test/torture-s/20100316-1.c.s23
-rw-r--r--test/torture-s/20100416-1.c.s95
-rw-r--r--test/torture-s/20100708-1.c.s149
-rw-r--r--test/torture-s/20100805-1.c.s14
-rw-r--r--test/torture-s/20100827-1.c.s32
-rw-r--r--test/torture-s/20101011-1.c.s2
-rw-r--r--test/torture-s/20101025-1.c.s29
-rw-r--r--test/torture-s/20111208-1.c.s128
-rw-r--r--test/torture-s/20111212-1.c.s33
-rw-r--r--test/torture-s/20111227-1.c.s23
-rw-r--r--test/torture-s/20111227-2.c.s55
-rw-r--r--test/torture-s/20111227-3.c.s76
-rw-r--r--test/torture-s/20120105-1.c.s60
-rw-r--r--test/torture-s/20120207-1.c.s12
-rw-r--r--test/torture-s/20120427-1.c.s335
-rw-r--r--test/torture-s/20120427-2.c.s335
-rw-r--r--test/torture-s/20120808-1.c.s175
-rw-r--r--test/torture-s/20120817-1.c.s2
-rw-r--r--test/torture-s/20120919-1.c.s106
-rw-r--r--test/torture-s/20121108-1.c.s225
-rw-r--r--test/torture-s/20131127-1.c.s253
-rw-r--r--test/torture-s/20140212-1.c.s158
-rw-r--r--test/torture-s/20140326-1.c.s2
-rw-r--r--test/torture-s/20140425-1.c.s19
-rw-r--r--test/torture-s/920411-1.c.s35
-rw-r--r--test/torture-s/920429-1.c.s45
-rw-r--r--test/torture-s/920501-1.c.s32
-rw-r--r--test/torture-s/920501-2.c.s431
-rw-r--r--test/torture-s/920501-8.c.s301
-rw-r--r--test/torture-s/920501-9.c.s292
-rw-r--r--test/torture-s/920506-1.c.s10
-rw-r--r--test/torture-s/920721-3.c.s8
-rw-r--r--test/torture-s/920726-1.c.s275
-rw-r--r--test/torture-s/920731-1.c.s27
-rw-r--r--test/torture-s/920810-1.c.s13
-rw-r--r--test/torture-s/920829-1.c.s15
-rw-r--r--test/torture-s/920908-2.c.s36
-rw-r--r--test/torture-s/920909-1.c.s27
-rw-r--r--test/torture-s/921013-1.c.s28
-rw-r--r--test/torture-s/921019-1.c.s10
-rw-r--r--test/torture-s/921029-1.c.s41
-rw-r--r--test/torture-s/921110-1.c.s2
-rw-r--r--test/torture-s/921112-1.c.s69
-rw-r--r--test/torture-s/921113-1.c.s135
-rw-r--r--test/torture-s/921117-1.c.s83
-rw-r--r--test/torture-s/921123-2.c.s70
-rw-r--r--test/torture-s/921204-1.c.s40
-rw-r--r--test/torture-s/930126-1.c.s63
-rw-r--r--test/torture-s/930208-1.c.s47
-rw-r--r--test/torture-s/930408-1.c.s13
-rw-r--r--test/torture-s/930513-1.c.s62
-rw-r--r--test/torture-s/930513-2.c.s19
-rw-r--r--test/torture-s/930603-2.c.s33
-rw-r--r--test/torture-s/930608-1.c.s2
-rw-r--r--test/torture-s/930622-1.c.s20
-rw-r--r--test/torture-s/930622-2.c.s37
-rw-r--r--test/torture-s/930725-1.c.s10
-rw-r--r--test/torture-s/930921-1.c.s36
-rw-r--r--test/torture-s/930930-1.c.s51
-rw-r--r--test/torture-s/930930-2.c.s6
-rw-r--r--test/torture-s/931004-11.c.s130
-rw-r--r--test/torture-s/931004-13.c.s160
-rw-r--r--test/torture-s/931004-3.c.s25
-rw-r--r--test/torture-s/931004-5.c.s100
-rw-r--r--test/torture-s/931004-7.c.s25
-rw-r--r--test/torture-s/931004-9.c.s100
-rw-r--r--test/torture-s/931017-1.c.s2
-rw-r--r--test/torture-s/931018-1.c.s4
-rw-r--r--test/torture-s/931031-1.c.s39
-rw-r--r--test/torture-s/931102-1.c.s22
-rw-r--r--test/torture-s/931102-2.c.s22
-rw-r--r--test/torture-s/931110-1.c.s99
-rw-r--r--test/torture-s/940122-1.c.s57
-rw-r--r--test/torture-s/941014-2.c.s106
-rw-r--r--test/torture-s/941021-1.c.s10
-rw-r--r--test/torture-s/941025-1.c.s12
-rw-r--r--test/torture-s/941031-1.c.s9
-rw-r--r--test/torture-s/950221-1.c.s44
-rw-r--r--test/torture-s/950322-1.c.s18
-rw-r--r--test/torture-s/950426-1.c.s29
-rw-r--r--test/torture-s/950605-1.c.s12
-rw-r--r--test/torture-s/950607-2.c.s61
-rw-r--r--test/torture-s/950612-1.c.s36
-rw-r--r--test/torture-s/950621-1.c.s19
-rw-r--r--test/torture-s/950628-1.c.s28
-rw-r--r--test/torture-s/950704-1.c.s56
-rw-r--r--test/torture-s/950710-1.c.s31
-rw-r--r--test/torture-s/950714-1.c.s49
-rw-r--r--test/torture-s/950809-1.c.s49
-rw-r--r--test/torture-s/950915-1.c.s33
-rw-r--r--test/torture-s/951115-1.c.s10
-rw-r--r--test/torture-s/960116-1.c.s3
-rw-r--r--test/torture-s/960117-1.c.s57
-rw-r--r--test/torture-s/960209-1.c.s32
-rw-r--r--test/torture-s/960215-1.c.s462
-rw-r--r--test/torture-s/960218-1.c.s26
-rw-r--r--test/torture-s/960301-1.c.s66
-rw-r--r--test/torture-s/960302-1.c.s49
-rw-r--r--test/torture-s/960311-1.c.s82
-rw-r--r--test/torture-s/960311-2.c.s82
-rw-r--r--test/torture-s/960311-3.c.s76
-rw-r--r--test/torture-s/960312-1.c.s17
-rw-r--r--test/torture-s/960317-1.c.s31
-rw-r--r--test/torture-s/960321-1.c.s16
-rw-r--r--test/torture-s/960326-1.c.s10
-rw-r--r--test/torture-s/960327-1.c.s260
-rw-r--r--test/torture-s/960405-1.c.s27
-rw-r--r--test/torture-s/960416-1.c.s158
-rw-r--r--test/torture-s/960512-1.c.s4
-rw-r--r--test/torture-s/960513-1.c.s212
-rw-r--r--test/torture-s/960521-1.c.s142
-rw-r--r--test/torture-s/960802-1.c.s10
-rw-r--r--test/torture-s/960909-1.c.s32
-rw-r--r--test/torture-s/961004-1.c.s13
-rw-r--r--test/torture-s/961017-2.c.s8
-rw-r--r--test/torture-s/961122-1.c.s34
-rw-r--r--test/torture-s/961125-1.c.s63
-rw-r--r--test/torture-s/961213-1.c.s18
-rw-r--r--test/torture-s/980205.c.s88
-rw-r--r--test/torture-s/980223.c.s168
-rw-r--r--test/torture-s/980424-1.c.s30
-rw-r--r--test/torture-s/980506-3.c.s4
-rw-r--r--test/torture-s/980526-2.c.s85
-rw-r--r--test/torture-s/980602-2.c.s34
-rw-r--r--test/torture-s/980604-1.c.s19
-rw-r--r--test/torture-s/980605-1.c.s162
-rw-r--r--test/torture-s/980608-1.c.s198
-rw-r--r--test/torture-s/980612-1.c.s16
-rw-r--r--test/torture-s/980617-1.c.s20
-rw-r--r--test/torture-s/980716-1.c.s125
-rw-r--r--test/torture-s/981001-1.c.s68
-rw-r--r--test/torture-s/981019-1.c.s75
-rw-r--r--test/torture-s/981130-1.c.s15
-rw-r--r--test/torture-s/981206-1.c.s25
-rw-r--r--test/torture-s/990127-2.c.s7
-rw-r--r--test/torture-s/990128-1.c.s153
-rw-r--r--test/torture-s/990130-1.c.s10
-rw-r--r--test/torture-s/990222-1.c.s97
-rw-r--r--test/torture-s/990324-1.c.s8
-rw-r--r--test/torture-s/990404-1.c.s175
-rw-r--r--test/torture-s/990513-1.c.s107
-rw-r--r--test/torture-s/990524-1.c.s117
-rw-r--r--test/torture-s/990525-1.c.s40
-rw-r--r--test/torture-s/990525-2.c.s12
-rw-r--r--test/torture-s/990527-1.c.s45
-rw-r--r--test/torture-s/990531-1.c.s14
-rw-r--r--test/torture-s/990604-1.c.s30
-rw-r--r--test/torture-s/990628-1.c.s201
-rw-r--r--test/torture-s/990827-1.c.s18
-rw-r--r--test/torture-s/991016-1.c.s66
-rw-r--r--test/torture-s/991023-1.c.s10
-rw-r--r--test/torture-s/991030-1.c.s10
-rw-r--r--test/torture-s/991118-1.c.s249
-rw-r--r--test/torture-s/991201-1.c.s108
-rw-r--r--test/torture-s/991202-1.c.s17
-rw-r--r--test/torture-s/991228-1.c.s69
-rw-r--r--test/torture-s/align-2.c.s190
-rw-r--r--test/torture-s/align-3.c.s2
-rw-r--r--test/torture-s/alloca-1.c.s26
-rw-r--r--test/torture-s/anon-1.c.s14
-rw-r--r--test/torture-s/arith-1.c.s10
-rw-r--r--test/torture-s/arith-rand-ll.c.s523
-rw-r--r--test/torture-s/arith-rand.c.s421
-rw-r--r--test/torture-s/bcp-1.c.s143
-rw-r--r--test/torture-s/bf-layout-1.c.s4
-rw-r--r--test/torture-s/bf-pack-1.c.s47
-rw-r--r--test/torture-s/bf-sign-2.c.s112
-rw-r--r--test/torture-s/bf64-1.c.s50
-rw-r--r--test/torture-s/bitfld-3.c.s44
-rw-r--r--test/torture-s/bitfld-4.c.s10
-rw-r--r--test/torture-s/bitfld-5.c.s109
-rw-r--r--test/torture-s/bswap-1.c.s134
-rw-r--r--test/torture-s/builtin-constant.c.s13
-rw-r--r--test/torture-s/builtin-prefetch-1.c.s14
-rw-r--r--test/torture-s/builtin-prefetch-2.c.s49
-rw-r--r--test/torture-s/builtin-prefetch-3.c.s143
-rw-r--r--test/torture-s/builtin-prefetch-4.c.s415
-rw-r--r--test/torture-s/builtin-prefetch-5.c.s35
-rw-r--r--test/torture-s/builtin-prefetch-6.c.s229
-rw-r--r--test/torture-s/builtin-types-compatible-p.c.s6
-rw-r--r--test/torture-s/cbrt.c.s239
-rw-r--r--test/torture-s/cmpdi-1.c.s190
-rw-r--r--test/torture-s/cmpsf-1.c.s134
-rw-r--r--test/torture-s/cmpsi-1.c.s18
-rw-r--r--test/torture-s/cmpsi-2.c.s182
-rw-r--r--test/torture-s/compare-1.c.s39
-rw-r--r--test/torture-s/complex-1.c.s76
-rw-r--r--test/torture-s/complex-2.c.s76
-rw-r--r--test/torture-s/complex-5.c.s136
-rw-r--r--test/torture-s/complex-6.c.s203
-rw-r--r--test/torture-s/complex-7.c.s834
-rw-r--r--test/torture-s/compndlit-1.c.s31
-rw-r--r--test/torture-s/const-addr-expr-1.c.s17
-rw-r--r--test/torture-s/conversion.c.s222
-rw-r--r--test/torture-s/dbra-1.c.s215
-rw-r--r--test/torture-s/divcmp-3.c.s32
-rw-r--r--test/torture-s/divconst-1.c.s9
-rw-r--r--test/torture-s/divconst-2.c.s141
-rw-r--r--test/torture-s/doloop-1.c.s38
-rw-r--r--test/torture-s/doloop-2.c.s38
-rw-r--r--test/torture-s/eeprof-1.c.s228
-rw-r--r--test/torture-s/enum-3.c.s49
-rw-r--r--test/torture-s/extzvsi.c.s44
-rw-r--r--test/torture-s/ffs-1.c.s10
-rw-r--r--test/torture-s/ffs-2.c.s190
-rw-r--r--test/torture-s/float-floor.c.s31
-rw-r--r--test/torture-s/floatunsisf-1.c.s28
-rw-r--r--test/torture-s/fprintf-1.c.s361
-rw-r--r--test/torture-s/fprintf-chk-1.c.s779
-rw-r--r--test/torture-s/gofast.c.s70
-rw-r--r--test/torture-s/index-1.c.s18
-rw-r--r--test/torture-s/inst-check.c.s25
-rw-r--r--test/torture-s/ipa-sra-2.c.s13
-rw-r--r--test/torture-s/longlong.c.s99
-rw-r--r--test/torture-s/loop-10.c.s19
-rw-r--r--test/torture-s/loop-12.c.s101
-rw-r--r--test/torture-s/loop-13.c.s69
-rw-r--r--test/torture-s/loop-14.c.s20
-rw-r--r--test/torture-s/loop-2.c.s14
-rw-r--r--test/torture-s/loop-2b.c.s54
-rw-r--r--test/torture-s/loop-2c.c.s84
-rw-r--r--test/torture-s/loop-2d.c.s50
-rw-r--r--test/torture-s/loop-2e.c.s237
-rw-r--r--test/torture-s/loop-2f.c.s95
-rw-r--r--test/torture-s/loop-2g.c.s95
-rw-r--r--test/torture-s/loop-3.c.s59
-rw-r--r--test/torture-s/loop-3b.c.s67
-rw-r--r--test/torture-s/loop-3c.c.s55
-rw-r--r--test/torture-s/loop-5.c.s122
-rw-r--r--test/torture-s/loop-7.c.s70
-rw-r--r--test/torture-s/loop-8.c.s61
-rw-r--r--test/torture-s/loop-ivopts-1.c.s45
-rw-r--r--test/torture-s/mayalias-3.c.s101
-rw-r--r--test/torture-s/medce-1.c.s20
-rw-r--r--test/torture-s/memcpy-1.c.s237
-rw-r--r--test/torture-s/memcpy-2.c.s246
-rw-r--r--test/torture-s/memcpy-bi.c.s1427
-rw-r--r--test/torture-s/memset-1.c.s597
-rw-r--r--test/torture-s/memset-2.c.s1313
-rw-r--r--test/torture-s/memset-3.c.s899
-rw-r--r--test/torture-s/multdi-1.c.s10
-rw-r--r--test/torture-s/multi-ix.c.s1139
-rw-r--r--test/torture-s/nestfunc-4.c.s70
-rw-r--r--test/torture-s/p18298.c.s18
-rw-r--r--test/torture-s/packed-1.c.s34
-rw-r--r--test/torture-s/packed-2.c.s14
-rw-r--r--test/torture-s/pending-4.c.s41
-rw-r--r--test/torture-s/postmod-1.c.s358
-rw-r--r--test/torture-s/pr15262-2.c.s58
-rw-r--r--test/torture-s/pr15262.c.s12
-rw-r--r--test/torture-s/pr15296.c.s206
-rw-r--r--test/torture-s/pr17133.c.s85
-rw-r--r--test/torture-s/pr17252.c.s21
-rw-r--r--test/torture-s/pr19005.c.s177
-rw-r--r--test/torture-s/pr19449.c.s15
-rw-r--r--test/torture-s/pr19606.c.s30
-rw-r--r--test/torture-s/pr19689.c.s39
-rw-r--r--test/torture-s/pr20100-1.c.s109
-rw-r--r--test/torture-s/pr20187-1.c.s58
-rw-r--r--test/torture-s/pr20527-1.c.s91
-rw-r--r--test/torture-s/pr20601-1.c.s226
-rw-r--r--test/torture-s/pr20621-1.c.s47
-rw-r--r--test/torture-s/pr21173.c.s35
-rw-r--r--test/torture-s/pr22061-1.c.s17
-rw-r--r--test/torture-s/pr22061-2.c.s2
-rw-r--r--test/torture-s/pr22098-3.c.s35
-rw-r--r--test/torture-s/pr22493-1.c.s5
-rw-r--r--test/torture-s/pr22630.c.s10
-rw-r--r--test/torture-s/pr23047.c.s19
-rw-r--r--test/torture-s/pr23135.c.s343
-rw-r--r--test/torture-s/pr23324.c.s52
-rw-r--r--test/torture-s/pr23467.c.s2
-rw-r--r--test/torture-s/pr23604.c.s13
-rw-r--r--test/torture-s/pr23941.c.s10
-rw-r--r--test/torture-s/pr24141.c.s10
-rw-r--r--test/torture-s/pr24142.c.s16
-rw-r--r--test/torture-s/pr24716.c.s221
-rw-r--r--test/torture-s/pr25125.c.s3
-rw-r--r--test/torture-s/pr25737.c.s8
-rw-r--r--test/torture-s/pr27073.c.s150
-rw-r--r--test/torture-s/pr27260.c.s80
-rw-r--r--test/torture-s/pr27285.c.s296
-rw-r--r--test/torture-s/pr28289.c.s20
-rw-r--r--test/torture-s/pr28403.c.s18
-rw-r--r--test/torture-s/pr28982a.c.s855
-rw-r--r--test/torture-s/pr29006.c.s153
-rw-r--r--test/torture-s/pr29156.c.s10
-rw-r--r--test/torture-s/pr29695-2.c.s116
-rw-r--r--test/torture-s/pr30185.c.s33
-rw-r--r--test/torture-s/pr30778.c.s73
-rw-r--r--test/torture-s/pr31072.c.s10
-rw-r--r--test/torture-s/pr31136.c.s21
-rw-r--r--test/torture-s/pr31169.c.s59
-rw-r--r--test/torture-s/pr31448-2.c.s81
-rw-r--r--test/torture-s/pr31448.c.s81
-rw-r--r--test/torture-s/pr31605.c.s20
-rw-r--r--test/torture-s/pr32244-1.c.s18
-rw-r--r--test/torture-s/pr32500.c.s2
-rw-r--r--test/torture-s/pr33142.c.s27
-rw-r--r--test/torture-s/pr33382.c.s31
-rw-r--r--test/torture-s/pr33669.c.s46
-rw-r--r--test/torture-s/pr33779-1.c.s10
-rw-r--r--test/torture-s/pr33779-2.c.s14
-rw-r--r--test/torture-s/pr33992.c.s66
-rw-r--r--test/torture-s/pr34130.c.s23
-rw-r--r--test/torture-s/pr34176.c.s30
-rw-r--r--test/torture-s/pr34415.c.s85
-rw-r--r--test/torture-s/pr34456.c.s48
-rw-r--r--test/torture-s/pr34768-1.c.s42
-rw-r--r--test/torture-s/pr34768-2.c.s46
-rw-r--r--test/torture-s/pr34971.c.s35
-rw-r--r--test/torture-s/pr35231.c.s15
-rw-r--r--test/torture-s/pr35472.c.s263
-rw-r--r--test/torture-s/pr35800.c.s51
-rw-r--r--test/torture-s/pr36034-1.c.s373
-rw-r--r--test/torture-s/pr36034-2.c.s160
-rw-r--r--test/torture-s/pr36038.c.s124
-rw-r--r--test/torture-s/pr36093.c.s80
-rw-r--r--test/torture-s/pr36321.c.s10
-rw-r--r--test/torture-s/pr36339.c.s42
-rw-r--r--test/torture-s/pr36343.c.s51
-rw-r--r--test/torture-s/pr36691.c.s14
-rw-r--r--test/torture-s/pr36765.c.s29
-rw-r--r--test/torture-s/pr37102.c.s48
-rw-r--r--test/torture-s/pr37125.c.s14
-rw-r--r--test/torture-s/pr37573.c.s478
-rw-r--r--test/torture-s/pr37882.c.s19
-rw-r--r--test/torture-s/pr37924.c.s11
-rw-r--r--test/torture-s/pr38212.c.s50
-rw-r--r--test/torture-s/pr38236.c.s31
-rw-r--r--test/torture-s/pr38422.c.s45
-rw-r--r--test/torture-s/pr38533.c.s606
-rw-r--r--test/torture-s/pr38819.c.s16
-rw-r--r--test/torture-s/pr38969.c.s114
-rw-r--r--test/torture-s/pr39120.c.s17
-rw-r--r--test/torture-s/pr39228.c.s33
-rw-r--r--test/torture-s/pr39233.c.s8
-rw-r--r--test/torture-s/pr39240.c.s122
-rw-r--r--test/torture-s/pr39339.c.s183
-rw-r--r--test/torture-s/pr39501.c.s343
-rw-r--r--test/torture-s/pr40022.c.s92
-rw-r--r--test/torture-s/pr40057.c.s35
-rw-r--r--test/torture-s/pr40386.c.s342
-rw-r--r--test/torture-s/pr40404.c.s17
-rw-r--r--test/torture-s/pr40493.c.s27
-rw-r--r--test/torture-s/pr40579.c.s14
-rw-r--r--test/torture-s/pr40657.c.s28
-rw-r--r--test/torture-s/pr40668.c.s66
-rw-r--r--test/torture-s/pr40747.c.s10
-rw-r--r--test/torture-s/pr41239.c.s138
-rw-r--r--test/torture-s/pr41395-1.c.s27
-rw-r--r--test/torture-s/pr41395-2.c.s27
-rw-r--r--test/torture-s/pr41463.c.s21
-rw-r--r--test/torture-s/pr41750.c.s54
-rw-r--r--test/torture-s/pr41917.c.s19
-rw-r--r--test/torture-s/pr41919.c.s2
-rw-r--r--test/torture-s/pr42142.c.s16
-rw-r--r--test/torture-s/pr42231.c.s37
-rw-r--r--test/torture-s/pr42248.c.s76
-rw-r--r--test/torture-s/pr42269-2.c.s12
-rw-r--r--test/torture-s/pr42512.c.s39
-rw-r--r--test/torture-s/pr42614.c.s30
-rw-r--r--test/torture-s/pr42691.c.s75
-rw-r--r--test/torture-s/pr42721.c.s19
-rw-r--r--test/torture-s/pr42833.c.s287
-rw-r--r--test/torture-s/pr43008.c.s41
-rw-r--r--test/torture-s/pr43220.c.s80
-rw-r--r--test/torture-s/pr43236.c.s271
-rw-r--r--test/torture-s/pr43269.c.s28
-rw-r--r--test/torture-s/pr43385.c.s141
-rw-r--r--test/torture-s/pr43438.c.s8
-rw-r--r--test/torture-s/pr43560.c.s50
-rw-r--r--test/torture-s/pr43629.c.s10
-rw-r--r--test/torture-s/pr43783.c.s105
-rw-r--r--test/torture-s/pr43784.c.s73
-rw-r--r--test/torture-s/pr43835.c.s69
-rw-r--r--test/torture-s/pr43987.c.s56
-rw-r--r--test/torture-s/pr44164.c.s27
-rw-r--r--test/torture-s/pr44202-1.c.s25
-rw-r--r--test/torture-s/pr44468.c.s85
-rw-r--r--test/torture-s/pr44683.c.s15
-rw-r--r--test/torture-s/pr44828.c.s10
-rw-r--r--test/torture-s/pr44852.c.s138
-rw-r--r--test/torture-s/pr44858.c.s26
-rw-r--r--test/torture-s/pr44942.c.s266
-rw-r--r--test/torture-s/pr45034.c.s108
-rw-r--r--test/torture-s/pr45070.c.s121
-rw-r--r--test/torture-s/pr45695.c.s33
-rw-r--r--test/torture-s/pr46309.c.s102
-rw-r--r--test/torture-s/pr46316.c.s26
-rw-r--r--test/torture-s/pr46909-1.c.s62
-rw-r--r--test/torture-s/pr46909-2.c.s40
-rw-r--r--test/torture-s/pr47148.c.s10
-rw-r--r--test/torture-s/pr47155.c.s12
-rw-r--r--test/torture-s/pr47237.c.s13
-rw-r--r--test/torture-s/pr47337.c.s115
-rw-r--r--test/torture-s/pr47538.c.s435
-rw-r--r--test/torture-s/pr47925.c.s77
-rw-r--r--test/torture-s/pr48571-1.c.s70
-rw-r--r--test/torture-s/pr48717.c.s52
-rw-r--r--test/torture-s/pr48809.c.s9
-rw-r--r--test/torture-s/pr48814-1.c.s59
-rw-r--r--test/torture-s/pr48814-2.c.s59
-rw-r--r--test/torture-s/pr48973-1.c.s34
-rw-r--r--test/torture-s/pr48973-2.c.s36
-rw-r--r--test/torture-s/pr49039.c.s62
-rw-r--r--test/torture-s/pr49073.c.s65
-rw-r--r--test/torture-s/pr49123.c.s15
-rw-r--r--test/torture-s/pr49161.c.s79
-rw-r--r--test/torture-s/pr49218.c.s76
-rw-r--r--test/torture-s/pr49279.c.s34
-rw-r--r--test/torture-s/pr49281.c.s62
-rw-r--r--test/torture-s/pr49419.c.s263
-rw-r--r--test/torture-s/pr49712.c.s73
-rw-r--r--test/torture-s/pr49886.c.s166
-rw-r--r--test/torture-s/pr51023.c.s10
-rw-r--r--test/torture-s/pr51323.c.s123
-rw-r--r--test/torture-s/pr51466.c.s75
-rw-r--r--test/torture-s/pr51581-1.c.s682
-rw-r--r--test/torture-s/pr51581-2.c.s730
-rw-r--r--test/torture-s/pr51877.c.s251
-rw-r--r--test/torture-s/pr51933.c.s215
-rw-r--r--test/torture-s/pr52129.c.s127
-rw-r--r--test/torture-s/pr52209.c.s34
-rw-r--r--test/torture-s/pr52286.c.s8
-rw-r--r--test/torture-s/pr52760.c.s72
-rw-r--r--test/torture-s/pr52979-1.c.s346
-rw-r--r--test/torture-s/pr52979-2.c.s346
-rw-r--r--test/torture-s/pr53084.c.s8
-rw-r--r--test/torture-s/pr53160.c.s61
-rw-r--r--test/torture-s/pr53465.c.s20
-rw-r--r--test/torture-s/pr53688.c.s137
-rw-r--r--test/torture-s/pr54471.c.s98
-rw-r--r--test/torture-s/pr54937.c.s33
-rw-r--r--test/torture-s/pr54985.c.s46
-rw-r--r--test/torture-s/pr55750.c.s38
-rw-r--r--test/torture-s/pr55875.c.s12
-rw-r--r--test/torture-s/pr56205.c.s381
-rw-r--r--test/torture-s/pr56799.c.s97
-rw-r--r--test/torture-s/pr56837.c.s48
-rw-r--r--test/torture-s/pr56866.c.s260
-rw-r--r--test/torture-s/pr56899.c.s19
-rw-r--r--test/torture-s/pr56962.c.s74
-rw-r--r--test/torture-s/pr56982.c.s27
-rw-r--r--test/torture-s/pr57130.c.s133
-rw-r--r--test/torture-s/pr57131.c.s66
-rw-r--r--test/torture-s/pr57281.c.s86
-rw-r--r--test/torture-s/pr57321.c.s17
-rw-r--r--test/torture-s/pr57344-1.c.s82
-rw-r--r--test/torture-s/pr57344-2.c.s87
-rw-r--r--test/torture-s/pr57344-3.c.s105
-rw-r--r--test/torture-s/pr57344-4.c.s115
-rw-r--r--test/torture-s/pr57568.c.s39
-rw-r--r--test/torture-s/pr57829.c.s42
-rw-r--r--test/torture-s/pr57860.c.s145
-rw-r--r--test/torture-s/pr57861.c.s86
-rw-r--r--test/torture-s/pr57875.c.s75
-rw-r--r--test/torture-s/pr57876.c.s246
-rw-r--r--test/torture-s/pr57877.c.s90
-rw-r--r--test/torture-s/pr58209.c.s52
-rw-r--r--test/torture-s/pr58277-1.c.s460
-rw-r--r--test/torture-s/pr58277-2.c.s49
-rw-r--r--test/torture-s/pr58364.c.s23
-rw-r--r--test/torture-s/pr58365.c.s177
-rw-r--r--test/torture-s/pr58385.c.s20
-rw-r--r--test/torture-s/pr58387.c.s13
-rw-r--r--test/torture-s/pr58419.c.s399
-rw-r--r--test/torture-s/pr58431.c.s115
-rw-r--r--test/torture-s/pr58564.c.s16
-rw-r--r--test/torture-s/pr58570.c.s81
-rw-r--r--test/torture-s/pr58574.c.s2862
-rw-r--r--test/torture-s/pr58640-2.c.s71
-rw-r--r--test/torture-s/pr58640.c.s39
-rw-r--r--test/torture-s/pr58662.c.s45
-rw-r--r--test/torture-s/pr58726.c.s38
-rw-r--r--test/torture-s/pr58831.c.s77
-rw-r--r--test/torture-s/pr58943.c.s29
-rw-r--r--test/torture-s/pr58984.c.s70
-rw-r--r--test/torture-s/pr59014.c.s76
-rw-r--r--test/torture-s/pr59101.c.s22
-rw-r--r--test/torture-s/pr59221.c.s62
-rw-r--r--test/torture-s/pr59229.c.s92
-rw-r--r--test/torture-s/pr59358.c.s137
-rw-r--r--test/torture-s/pr59387.c.s57
-rw-r--r--test/torture-s/pr59388.c.s18
-rw-r--r--test/torture-s/pr59413.c.s12
-rw-r--r--test/torture-s/pr59747.c.s68
-rw-r--r--test/torture-s/pr60017.c.s33
-rw-r--r--test/torture-s/pr60062.c.s2
-rw-r--r--test/torture-s/pr60072.c.s10
-rw-r--r--test/torture-s/pr60454.c.s34
-rw-r--r--test/torture-s/pr60960.c.s342
-rw-r--r--test/torture-s/pr61306-1.c.s31
-rw-r--r--test/torture-s/pr61306-2.c.s35
-rw-r--r--test/torture-s/pr61306-3.c.s35
-rw-r--r--test/torture-s/pr61673.c.s84
-rw-r--r--test/torture-s/pr63209.c.s46
-rw-r--r--test/torture-s/pr63302.c.s185
-rw-r--r--test/torture-s/pr63659.c.s80
-rw-r--r--test/torture-s/pr7284-1.c.s10
-rw-r--r--test/torture-s/printf-1.c.s404
-rw-r--r--test/torture-s/printf-chk-1.c.s737
-rw-r--r--test/torture-s/pta-field-1.c.s105
-rw-r--r--test/torture-s/pta-field-2.c.s105
-rw-r--r--test/torture-s/pure-1.c.s2
-rw-r--r--test/torture-s/regstack-1.c.s515
-rw-r--r--test/torture-s/restrict-1.c.s19
-rw-r--r--test/torture-s/scope-1.c.s18
-rw-r--r--test/torture-s/shiftdi.c.s26
-rw-r--r--test/torture-s/simd-1.c.s494
-rw-r--r--test/torture-s/simd-2.c.s978
-rw-r--r--test/torture-s/simd-4.c.s10
-rw-r--r--test/torture-s/simd-5.c.s285
-rw-r--r--test/torture-s/simd-6.c.s16
-rw-r--r--test/torture-s/stdarg-1.c.s1587
-rw-r--r--test/torture-s/stdarg-2.c.s1463
-rw-r--r--test/torture-s/stdarg-4.c.s944
-rw-r--r--test/torture-s/strcmp-1.c.s368
-rw-r--r--test/torture-s/strcpy-1.c.s262
-rw-r--r--test/torture-s/strct-pack-1.c.s37
-rw-r--r--test/torture-s/strct-pack-3.c.s32
-rw-r--r--test/torture-s/string-opt-17.c.s109
-rw-r--r--test/torture-s/string-opt-18.c.s55
-rw-r--r--test/torture-s/string-opt-5.c.s515
-rw-r--r--test/torture-s/strlen-1.c.s137
-rw-r--r--test/torture-s/strncmp-1.c.s439
-rw-r--r--test/torture-s/struct-aliasing-1.c.s8
-rw-r--r--test/torture-s/struct-cpy-1.c.s46
-rw-r--r--test/torture-s/struct-ini-1.c.s16
-rw-r--r--test/torture-s/struct-ini-2.c.s42
-rw-r--r--test/torture-s/struct-ini-3.c.s2
-rw-r--r--test/torture-s/struct-ini-4.c.s10
-rw-r--r--test/torture-s/struct-ret-1.c.s446
-rw-r--r--test/torture-s/switch-1.c.s101
-rw-r--r--test/torture-s/usmul.c.s87
-rw-r--r--test/torture-s/va-arg-1.c.s123
-rw-r--r--test/torture-s/va-arg-11.c.s119
-rw-r--r--test/torture-s/va-arg-12.c.s129
-rw-r--r--test/torture-s/va-arg-13.c.s150
-rw-r--r--test/torture-s/va-arg-14.c.s220
-rw-r--r--test/torture-s/va-arg-15.c.s192
-rw-r--r--test/torture-s/va-arg-16.c.s288
-rw-r--r--test/torture-s/va-arg-17.c.s267
-rw-r--r--test/torture-s/va-arg-18.c.s125
-rw-r--r--test/torture-s/va-arg-19.c.s251
-rw-r--r--test/torture-s/va-arg-2.c.s1711
-rw-r--r--test/torture-s/va-arg-20.c.s128
-rw-r--r--test/torture-s/va-arg-21.c.s86
-rw-r--r--test/torture-s/va-arg-23.c.s95
-rw-r--r--test/torture-s/va-arg-24.c.s1812
-rw-r--r--test/torture-s/va-arg-26.c.s84
-rw-r--r--test/torture-s/va-arg-4.c.s174
-rw-r--r--test/torture-s/va-arg-5.c.s321
-rw-r--r--test/torture-s/va-arg-6.c.s278
-rw-r--r--test/torture-s/va-arg-7.c.s125
-rw-r--r--test/torture-s/va-arg-8.c.s106
-rw-r--r--test/torture-s/va-arg-9.c.s1804
-rw-r--r--test/torture-s/va-arg-trap-1.c.s86
-rw-r--r--test/torture-s/vfprintf-1.c.s445
-rw-r--r--test/torture-s/vfprintf-chk-1.c.s733
-rw-r--r--test/torture-s/vla-dealloc-1.c.s62
-rw-r--r--test/torture-s/vprintf-1.c.s445
-rw-r--r--test/torture-s/vprintf-chk-1.c.s699
-rw-r--r--test/torture-s/vrp-2.c.s20
-rw-r--r--test/torture-s/vrp-3.c.s11
-rw-r--r--test/torture-s/vrp-4.c.s13
-rw-r--r--test/torture-s/vrp-5.c.s8
-rw-r--r--test/torture-s/vrp-6.c.s8
-rw-r--r--test/torture-s/vrp-7.c.s34
-rw-r--r--test/torture-s/wchar_t-1.c.s29
-rw-r--r--test/torture-s/widechar-2.c.s2
-rw-r--r--test/torture-s/zero-struct-1.c.s63
-rw-r--r--test/torture-s/zero-struct-2.c.s33
-rw-r--r--test/torture-s/zerolen-1.c.s13
827 files changed, 83931 insertions, 34650 deletions
diff --git a/test/revision b/test/revision
index 8263b02ea..064256798 100644
--- a/test/revision
+++ b/test/revision
@@ -1 +1 @@
-2566 \ No newline at end of file
+2678
diff --git a/test/s2wasm_known_binaryen_shell_test_failures.txt b/test/s2wasm_known_binaryen_shell_test_failures.txt
index 60e5f2eff..f2a7e5563 100644
--- a/test/s2wasm_known_binaryen_shell_test_failures.txt
+++ b/test/s2wasm_known_binaryen_shell_test_failures.txt
@@ -1,226 +1,310 @@
+# wasm-interpreter.h:131: wasm::ModuleInstance::callFunction(cashew::IString, LiteralList &)::FunctionScope::FunctionScope(wasm::Function *, LiteralList &): Assertion `function->params.size() == arguments.size()' failed.
20000412-2.c.s.wast
20000412-4.c.s.wast
+20001124-1.c.s.wast
+20010915-1.c.s.wast
+20020206-2.c.s.wast
+20020402-2.c.s.wast
+20021204-1.c.s.wast
+20031012-1.c.s.wast
+20041113-1.c.s.wast
+20041114-1.c.s.wast
+20050125-1.c.s.wast
+20080122-1.c.s.wast
+980506-3.c.s.wast
+990106-2.c.s.wast
+anon-1.c.s.wast
+bitfld-1.c.s.wast
+const-addr-expr-1.c.s.wast
+ipa-sra-1.c.s.wast
+ipa-sra-2.c.s.wast
+loop-9.c.s.wast
+pending-4.c.s.wast
+pr22493-1.c.s.wast
+pr23047.c.s.wast
+pr28651.c.s.wast
+pr32500.c.s.wast
+pr36321.c.s.wast
+pr40493.c.s.wast
+pr56982.c.s.wast
+pr61375.c.s.wast
+switch-1.c.s.wast
+vrp-1.c.s.wast
+vrp-2.c.s.wast
+vrp-3.c.s.wast
+vrp-5.c.s.wast
+vrp-6.c.s.wast
+
+# [trap highest > memory]
20000528-1.c.s.wast
-20000801-1.c.s.wast
-20000910-2.c.s.wast
20001111-1.c.s.wast
-20001124-1.c.s.wast
+20021015-1.c.s.wast
+20040709-2.c.s.wast
+20060905-1.c.s.wast
+930126-1.c.s.wast
+931110-1.c.s.wast
+980612-1.c.s.wast
+981206-1.c.s.wast
+990222-1.c.s.wast
+medce-1.c.s.wast
+packed-1.c.s.wast
+pr20100-1.c.s.wast
+pr27260.c.s.wast
+pr36691.c.s.wast
+pr37882.c.s.wast
+pr37924.c.s.wast
+pr42512.c.s.wast
+pr49123.c.s.wast
+pr52979-1.c.s.wast
+pr52979-2.c.s.wast
+pr57877.c.s.wast
+pr63659.c.s.wast
+simd-2.c.s.wast
+simd-5.c.s.wast
+
+# [trap final > memory]
+20000519-1.c.s.wast
+20000706-4.c.s.wast
+20000801-1.c.s.wast
20001228-1.c.s.wast
20010116-1.c.s.wast
+20010129-1.c.s.wast
20010518-2.c.s.wast
-20010915-1.c.s.wast
-20011024-1.c.s.wast
-20020206-2.c.s.wast
-20020402-2.c.s.wast
-20020406-1.c.s.wast
+20020206-1.c.s.wast
20020413-1.c.s.wast
-20021011-1.c.s.wast
-20021015-1.c.s.wast
+20020418-1.c.s.wast
+20020529-1.c.s.wast
+20021024-1.c.s.wast
20021120-3.c.s.wast
-20021204-1.c.s.wast
20021219-1.c.s.wast
-20030125-1.c.s.wast
-20030218-1.c.s.wast
20030221-1.c.s.wast
20030222-1.c.s.wast
-20030313-1.c.s.wast
-20030626-2.c.s.wast
+20030828-1.c.s.wast
+20030914-2.c.s.wast
20030916-1.c.s.wast
-20031012-1.c.s.wast
20031201-1.c.s.wast
-20031204-1.c.s.wast
20040218-1.c.s.wast
-20041114-1.c.s.wast
+20040625-1.c.s.wast
+20040703-1.c.s.wast
+20040709-1.c.s.wast
+20040811-1.c.s.wast
+20040823-1.c.s.wast
20041124-1.c.s.wast
-20041126-1.c.s.wast
-20050125-1.c.s.wast
+20041214-1.c.s.wast
20050203-1.c.s.wast
-20050218-1.c.s.wast
20050502-1.c.s.wast
20050502-2.c.s.wast
-20050826-1.c.s.wast
-20051113-1.c.s.wast
20060420-1.c.s.wast
-20060905-1.c.s.wast
-20060930-2.c.s.wast
20070201-1.c.s.wast
20070517-1.c.s.wast
-20071018-1.c.s.wast
20071029-1.c.s.wast
20071030-1.c.s.wast
-20071120-1.c.s.wast
-20071202-1.c.s.wast
+20071213-1.c.s.wast
20071219-1.c.s.wast
-20080122-1.c.s.wast
20080502-1.c.s.wast
-20080522-1.c.s.wast
-20080604-1.c.s.wast
-20081218-1.c.s.wast
-20090814-1.c.s.wast
+20080506-2.c.s.wast
+20080519-1.c.s.wast
+20081103-1.c.s.wast
+20081117-1.c.s.wast
20100708-1.c.s.wast
-20101011-1.c.s.wast
20101013-1.c.s.wast
-20111208-1.c.s.wast
20111212-1.c.s.wast
20120105-1.c.s.wast
20120808-1.c.s.wast
20120919-1.c.s.wast
20121108-1.c.s.wast
-20131127-1.c.s.wast
20140425-1.c.s.wast
+920501-8.c.s.wast
920501-9.c.s.wast
-920612-1.c.s.wast
-920711-1.c.s.wast
+920726-1.c.s.wast
930513-1.c.s.wast
930930-2.c.s.wast
-931110-1.c.s.wast
-941014-2.c.s.wast
950710-1.c.s.wast
-960215-1.c.s.wast
960327-1.c.s.wast
-960405-1.c.s.wast
-960521-1.c.s.wast
-980506-3.c.s.wast
+980205.c.s.wast
+980223.c.s.wast
980605-1.c.s.wast
-980612-1.c.s.wast
-981206-1.c.s.wast
-990106-2.c.s.wast
-990222-1.c.s.wast
+980608-1.c.s.wast
+980617-1.c.s.wast
+980716-1.c.s.wast
990513-1.c.s.wast
-990628-1.c.s.wast
-991112-1.c.s.wast
+991201-1.c.s.wast
991228-1.c.s.wast
-align-2.c.s.wast
alloca-1.c.s.wast
-anon-1.c.s.wast
-bcp-1.c.s.wast
-bitfld-1.c.s.wast
-bitfld-3.c.s.wast
-builtin-constant.c.s.wast
+bf-pack-1.c.s.wast
+bitfld-5.c.s.wast
builtin-prefetch-2.c.s.wast
-const-addr-expr-1.c.s.wast
-eeprof-1.c.s.wast
-ipa-sra-1.c.s.wast
-ipa-sra-2.c.s.wast
-loop-2f.c.s.wast
-loop-2g.c.s.wast
-loop-9.c.s.wast
-medce-1.c.s.wast
+enum-3.c.s.wast
+loop-8.c.s.wast
+mayalias-3.c.s.wast
memcpy-1.c.s.wast
-memcpy-2.c.s.wast
-memcpy-bi.c.s.wast
-memset-1.c.s.wast
-memset-2.c.s.wast
-memset-3.c.s.wast
-packed-1.c.s.wast
-packed-2.c.s.wast
-pending-4.c.s.wast
+multi-ix.c.s.wast
pr15296.c.s.wast
-pr20100-1.c.s.wast
pr20527-1.c.s.wast
-pr22493-1.c.s.wast
-pr23047.c.s.wast
pr27073.c.s.wast
-pr27260.c.s.wast
pr27285.c.s.wast
-pr28651.c.s.wast
pr29006.c.s.wast
-pr32244-1.c.s.wast
-pr32500.c.s.wast
pr33142.c.s.wast
pr33992.c.s.wast
pr34176.c.s.wast
-pr34456.c.s.wast
-pr34971.c.s.wast
-pr35472.c.s.wast
-pr36038.c.s.wast
-pr36321.c.s.wast
pr36339.c.s.wast
pr36343.c.s.wast
-pr36691.c.s.wast
-pr36765.c.s.wast
pr37573.c.s.wast
-pr37882.c.s.wast
-pr37924.c.s.wast
pr38212.c.s.wast
pr38236.c.s.wast
+pr38969.c.s.wast
pr39120.c.s.wast
-pr39228.c.s.wast
+pr39339.c.s.wast
pr40022.c.s.wast
-pr40493.c.s.wast
pr40657.c.s.wast
pr41239.c.s.wast
-pr41395-1.c.s.wast
-pr41395-2.c.s.wast
-pr41463.c.s.wast
-pr42512.c.s.wast
pr42614.c.s.wast
pr42691.c.s.wast
-pr43008.c.s.wast
+pr43220.c.s.wast
pr43236.c.s.wast
-pr43784.c.s.wast
pr43835.c.s.wast
-pr44164.c.s.wast
pr44202-1.c.s.wast
pr44852.c.s.wast
+pr44942.c.s.wast
pr45070.c.s.wast
-pr47237.c.s.wast
-pr47337.c.s.wast
-pr49123.c.s.wast
-pr49218.c.s.wast
+pr46309.c.s.wast
+pr47538.c.s.wast
+pr47925.c.s.wast
+pr48571-1.c.s.wast
pr49279.c.s.wast
pr51466.c.s.wast
pr51581-1.c.s.wast
+pr51581-2.c.s.wast
pr51877.c.s.wast
pr51933.c.s.wast
+pr52129.c.s.wast
pr52760.c.s.wast
-pr52979-1.c.s.wast
-pr52979-2.c.s.wast
-pr53688.c.s.wast
pr54471.c.s.wast
pr54985.c.s.wast
+pr56205.c.s.wast
pr56799.c.s.wast
-pr56982.c.s.wast
+pr56837.c.s.wast
+pr56866.c.s.wast
pr57124.c.s.wast
+pr57130.c.s.wast
pr57131.c.s.wast
-pr57344-3.c.s.wast
-pr57344-4.c.s.wast
-pr57877.c.s.wast
pr58365.c.s.wast
-pr58419.c.s.wast
-pr59229.c.s.wast
pr59358.c.s.wast
pr60960.c.s.wast
-pr61375.c.s.wast
-pr63659.c.s.wast
-printf-1.c.s.wast
-regstack-1.c.s.wast
-simd-2.c.s.wast
-simd-5.c.s.wast
-strcmp-1.c.s.wast
-strcpy-1.c.s.wast
+pta-field-1.c.s.wast
+pta-field-2.c.s.wast
+stdarg-1.c.s.wast
+stdarg-2.c.s.wast
+stdarg-4.c.s.wast
string-opt-17.c.s.wast
string-opt-18.c.s.wast
-string-opt-5.c.s.wast
-strlen-1.c.s.wast
-strncmp-1.c.s.wast
struct-aliasing-1.c.s.wast
-struct-cpy-1.c.s.wast
-switch-1.c.s.wast
-vrp-1.c.s.wast
-vrp-2.c.s.wast
-vrp-3.c.s.wast
-vrp-5.c.s.wast
-vrp-6.c.s.wast
-zerolen-1.c.s.wast
-20030626-2.c.s.wast
-20060930-2.c.s.wast
-20080604-1.c.s.wast
-20090814-1.c.s.wast
-20111208-1.c.s.wast
-20131127-1.c.s.wast
-packed-2.c.s.wast
-pr44164.c.s.wast
-pr57344-3.c.s.wast
-pr57344-4.c.s.wast
-zerolen-1.c.s.wast
+struct-ret-1.c.s.wast
+va-arg-1.c.s.wast
+va-arg-11.c.s.wast
+va-arg-12.c.s.wast
+va-arg-13.c.s.wast
+va-arg-14.c.s.wast
+va-arg-15.c.s.wast
+va-arg-16.c.s.wast
+va-arg-17.c.s.wast
+va-arg-18.c.s.wast
+va-arg-19.c.s.wast
+va-arg-2.c.s.wast
+va-arg-20.c.s.wast
+va-arg-23.c.s.wast
+va-arg-24.c.s.wast
+va-arg-26.c.s.wast
+va-arg-4.c.s.wast
+va-arg-5.c.s.wast
+va-arg-6.c.s.wast
+va-arg-7.c.s.wast
+va-arg-8.c.s.wast
+va-arg-9.c.s.wast
+va-arg-trap-1.c.s.wast
+vla-dealloc-1.c.s.wast
+
+# [trap offset > memory]
+20030218-1.c.s.wast
+20080522-1.c.s.wast
+complex-7.c.s.wast
+pr30778.c.s.wast
+pr51323.c.s.wast
+
+# abort called: the tests are self-validating and call abort when they detect a
+# failure. This may not be binaryen's fault (the toolchain may be emitting bad
+# code) but it could be binaryen's fault.
+20001027-1.c.s.wast
+20030125-1.c.s.wast
+920612-1.c.s.wast
+920711-1.c.s.wast
+bcp-1.c.s.wast
+bitfld-3.c.s.wast
+builtin-constant.c.s.wast
+builtin-prefetch-4.c.s.wast
+eeprof-1.c.s.wast
+pr32244-1.c.s.wast
+pr34971.c.s.wast
+pr48814-1.c.s.wast
+
+# callImport: the toolchain needs to properly use libc and a runtime. These
+# aren't binaryen's fault.
+20000910-2.c.s.wast # strchr
+20000914-1.c.s.wast # malloc
+20011024-1.c.s.wast # strcmp
+20020406-1.c.s.wast # malloc
+20021011-1.c.s.wast # strcmp
+20031204-1.c.s.wast # strcmp
+20041126-1.c.s.wast # memcpy
+20041218-1.c.s.wast # memset
+20050218-1.c.s.wast # strlen
+20050826-1.c.s.wast # memset
+20051113-1.c.s.wast # malloc
+20060412-1.c.s.wast # memset
+20071018-1.c.s.wast # __builtin_malloc
+20071120-1.c.s.wast # __builtin_malloc
+20071202-1.c.s.wast # memcpy
+20081218-1.c.s.wast # memset
+20101011-1.c.s.wast # signal
+921117-1.c.s.wast # strcmp
+941014-2.c.s.wast # malloc
+960215-1.c.s.wast # __addtf3
+960405-1.c.s.wast # __eqtf2
+960521-1.c.s.wast # malloc
+990628-1.c.s.wast # malloc
+991112-1.c.s.wast # isprint
+align-2.c.s.wast # __eqtf2
+complex-5.c.s.wast # __divsc3
+loop-2f.c.s.wast # open
+loop-2g.c.s.wast # open
+memcpy-2.c.s.wast # memset
+memcpy-bi.c.s.wast # memcpy
+memset-1.c.s.wast # memset
+memset-2.c.s.wast # memset
+memset-3.c.s.wast # memset
+pr34456.c.s.wast # qsort
+pr35472.c.s.wast # memset
+pr36038.c.s.wast # memcpy
+pr36093.c.s.wast # memset
+pr36765.c.s.wast # __builtin_malloc
+pr39228.c.s.wast # __builtin_isinff
+pr41395-1.c.s.wast # malloc
+pr41395-2.c.s.wast # malloc
+pr41463.c.s.wast # malloc
+pr43008.c.s.wast # __builtin_malloc
+pr43784.c.s.wast # memcpy
+pr47237.c.s.wast # __builtin_apply_args
+pr47337.c.s.wast # strcmp
+pr49218.c.s.wast # __fixsfti
+pr49419.c.s.wast # memset
+pr53688.c.s.wast # memset
+pr58419.c.s.wast # getpid
+pr59229.c.s.wast # memcpy
+printf-1.c.s.wast # isprint
+regstack-1.c.s.wast # __addtf3
+strcmp-1.c.s.wast # strcmp
+strcpy-1.c.s.wast # memset
+string-opt-5.c.s.wast # strlen
+strlen-1.c.s.wast # strlen
+strncmp-1.c.s.wast # strcmp
+struct-cpy-1.c.s.wast # memset
diff --git a/test/torture-s/20000113-1.c.s b/test/torture-s/20000113-1.c.s
index 2cf73bddb..1ba15c92f 100644
--- a/test/torture-s/20000113-1.c.s
+++ b/test/torture-s/20000113-1.c.s
@@ -9,25 +9,27 @@ foobar: # @foobar
.result i32
# BB#0: # %entry
block
- i32.const $push0=, 1
- i32.and $0=, $0, $pop0
- i32.const $push10=, 0
- i32.eq $push11=, $0, $pop10
- br_if $pop11, 0 # 0: down to label0
+ i32.const $push2=, 1
+ i32.and $push0=, $0, $pop2
+ tee_local $push12=, $0=, $pop0
+ i32.const $push14=, 0
+ i32.eq $push15=, $pop12, $pop14
+ br_if $pop15, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.const $push1=, 3
- i32.and $1=, $1, $pop1
- i32.sub $push2=, $1, $0
- i32.mul $push3=, $pop2, $1
- i32.add $push4=, $pop3, $2
- i32.const $push5=, 7
- i32.and $push6=, $pop4, $pop5
- i32.const $push7=, 5
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label0
+ i32.const $push3=, 3
+ i32.and $push1=, $1, $pop3
+ tee_local $push13=, $1=, $pop1
+ i32.sub $push4=, $pop13, $0
+ i32.mul $push5=, $pop4, $1
+ i32.add $push6=, $pop5, $2
+ i32.const $push7=, 7
+ i32.and $push8=, $pop6, $pop7
+ i32.const $push9=, 5
+ i32.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label0
# BB#2: # %if.end
- i32.const $push9=, 0
- call exit@FUNCTION, $pop9
+ i32.const $push11=, 0
+ call exit@FUNCTION, $pop11
unreachable
.LBB0_3: # %if.then
end_block # label0:
diff --git a/test/torture-s/20000217-1.c.s b/test/torture-s/20000217-1.c.s
index 122a035f8..cc8d82e02 100644
--- a/test/torture-s/20000217-1.c.s
+++ b/test/torture-s/20000217-1.c.s
@@ -7,18 +7,18 @@
showbug: # @showbug
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 65528
i32.load16_u $push0=, 0($1)
i32.load16_u $push1=, 0($0)
i32.add $push2=, $pop0, $pop1
- i32.add $push3=, $pop2, $2
- i32.store16 $push4=, 0($0), $pop3
- i32.and $push5=, $pop4, $2
- i32.const $push6=, 7
- i32.gt_u $push7=, $pop5, $pop6
- return $pop7
+ i32.const $push3=, 65528
+ i32.add $push4=, $pop2, $pop3
+ i32.store16 $push5=, 0($0), $pop4
+ i32.const $push9=, 65528
+ i32.and $push6=, $pop5, $pop9
+ i32.const $push7=, 7
+ i32.gt_u $push8=, $pop6, $pop7
+ return $pop8
.endfunc
.Lfunc_end0:
.size showbug, .Lfunc_end0-showbug
diff --git a/test/torture-s/20000224-1.c.s b/test/torture-s/20000224-1.c.s
index 425e64cf4..2aae91cb3 100644
--- a/test/torture-s/20000224-1.c.s
+++ b/test/torture-s/20000224-1.c.s
@@ -6,38 +6,46 @@
.type test,@function
test: # @test
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $0=, loop_1($2)
- i32.const $3=, 1
block
- i32.lt_s $push0=, $0, $3
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push11=, 0
+ i32.load $push0=, loop_1($pop11)
+ tee_local $push10=, $3=, $pop0
+ i32.const $push9=, 1
+ i32.lt_s $push1=, $pop10, $pop9
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %while.body.lr.ph
- i32.load $1=, loop_2($2)
- i32.load $5=, flag($2)
- copy_local $6=, $2
+ i32.const $push13=, 0
+ i32.load $0=, loop_2($pop13)
+ i32.const $push12=, 0
+ i32.load $1=, flag($pop12)
+ i32.const $2=, 0
.LBB0_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $4=, 31
- i32.shl $push2=, $5, $4
- i32.shr_s $push3=, $pop2, $4
- i32.lt_s $push1=, $1, $3
- i32.select $push4=, $pop1, $2, $1
- i32.and $push5=, $pop3, $pop4
- i32.add $6=, $6, $pop5
- i32.add $5=, $5, $3
- i32.gt_s $push6=, $0, $6
- br_if $pop6, 0 # 0: up to label1
+ i32.const $push18=, 31
+ i32.shl $push3=, $1, $pop18
+ i32.const $push17=, 31
+ i32.shr_s $push4=, $pop3, $pop17
+ i32.const $push16=, 1
+ i32.lt_s $push2=, $0, $pop16
+ i32.const $push15=, 0
+ i32.select $push5=, $pop2, $pop15, $0
+ i32.and $push6=, $pop4, $pop5
+ i32.add $2=, $2, $pop6
+ i32.const $push14=, 1
+ i32.add $1=, $1, $pop14
+ i32.gt_s $push7=, $3, $2
+ br_if $pop7, 0 # 0: up to label1
# BB#3: # %while.cond.while.end_crit_edge
end_loop # label2:
- i32.const $push7=, 0
- i32.store $discard=, flag($pop7), $5
+ i32.const $push8=, 0
+ i32.store $discard=, flag($pop8), $1
.LBB0_4: # %while.end
end_block # label0:
- return $3
+ i32.const $push19=, 1
+ return $pop19
.endfunc
.Lfunc_end0:
.size test, .Lfunc_end0-test
@@ -48,38 +56,10 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $0=, loop_1($2)
- i32.const $3=, 1
- block
- i32.lt_s $push0=, $0, $3
- br_if $pop0, 0 # 0: down to label3
-# BB#1: # %while.body.lr.ph.i
- i32.load $1=, loop_2($2)
- i32.load $5=, flag($2)
- copy_local $6=, $2
-.LBB1_2: # %while.body.i
- # =>This Inner Loop Header: Depth=1
- loop # label4:
- i32.const $4=, 31
- i32.lt_s $push1=, $1, $3
- i32.shl $push2=, $5, $4
- i32.shr_s $push3=, $pop2, $4
- i32.and $push4=, $pop3, $1
- i32.select $push5=, $pop1, $2, $pop4
- i32.add $6=, $pop5, $6
- i32.add $5=, $5, $3
- i32.gt_s $push6=, $0, $6
- br_if $pop6, 0 # 0: up to label4
-# BB#3: # %while.cond.while.end_crit_edge.i
- end_loop # label5:
- i32.const $push7=, 0
- i32.store $discard=, flag($pop7), $5
-.LBB1_4: # %test.exit
- end_block # label3:
- call exit@FUNCTION, $2
+ i32.call $discard=, test@FUNCTION
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
unreachable
.endfunc
.Lfunc_end1:
@@ -89,7 +69,7 @@ main: # @main
.type loop_1,@object
.section .data.loop_1,"aw",@progbits
.globl loop_1
- .align 2
+ .p2align 2
loop_1:
.int32 100 # 0x64
.size loop_1, 4
@@ -98,7 +78,7 @@ loop_1:
.type loop_2,@object
.section .data.loop_2,"aw",@progbits
.globl loop_2
- .align 2
+ .p2align 2
loop_2:
.int32 7 # 0x7
.size loop_2, 4
@@ -107,7 +87,7 @@ loop_2:
.type flag,@object
.section .bss.flag,"aw",@nobits
.globl flag
- .align 2
+ .p2align 2
flag:
.int32 0 # 0x0
.size flag, 4
diff --git a/test/torture-s/20000313-1.c.s b/test/torture-s/20000313-1.c.s
index 41650daa2..ac7b17b23 100644
--- a/test/torture-s/20000313-1.c.s
+++ b/test/torture-s/20000313-1.c.s
@@ -7,14 +7,15 @@
buggy: # @buggy
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
i32.load $1=, 0($0)
- i32.const $2=, 0
- i32.store $discard=, 0($0), $2
- i32.const $push0=, -1
- i32.select $push1=, $1, $pop0, $2
- return $pop1
+ i32.const $push0=, 0
+ i32.store $discard=, 0($0), $pop0
+ i32.const $push1=, -1
+ i32.const $push3=, 0
+ i32.select $push2=, $1, $pop1, $pop3
+ return $pop2
.endfunc
.Lfunc_end0:
.size buggy, .Lfunc_end0-buggy
diff --git a/test/torture-s/20000314-2.c.s b/test/torture-s/20000314-2.c.s
index 7fdb5062b..d1bb8973b 100644
--- a/test/torture-s/20000314-2.c.s
+++ b/test/torture-s/20000314-2.c.s
@@ -6,18 +6,18 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, a($0)
+ i32.const $push1=, 0
+ i32.load $push0=, a($pop1)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.then
call abort@FUNCTION
unreachable
.LBB0_2: # %if.end
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end0:
@@ -27,7 +27,7 @@ main: # @main
.type bigconst,@object
.section .rodata.bigconst,"a",@progbits
.globl bigconst
- .align 3
+ .p2align 3
bigconst:
.int64 17179869184 # 0x400000000
.size bigconst, 8
@@ -36,7 +36,7 @@ bigconst:
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
diff --git a/test/torture-s/20000403-1.c.s b/test/torture-s/20000403-1.c.s
index 306e2c669..6a6adb78c 100644
--- a/test/torture-s/20000403-1.c.s
+++ b/test/torture-s/20000403-1.c.s
@@ -6,19 +6,21 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, aa($0)
+ i32.const $push8=, 0
+ i32.load $push0=, aa($pop8)
i32.const $push2=, 4096
i32.add $push3=, $pop0, $pop2
- i32.load $push1=, bb($0)
+ i32.const $push7=, 0
+ i32.load $push1=, bb($pop7)
i32.sub $push4=, $pop3, $pop1
- i32.le_s $push5=, $pop4, $0
+ i32.const $push6=, 0
+ i32.le_s $push5=, $pop4, $pop6
br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push9=, 0
+ call exit@FUNCTION, $pop9
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -66,7 +68,7 @@ seqgt2: # @seqgt2
.type aa,@object
.section .data.aa,"aw",@progbits
.globl aa
- .align 2
+ .p2align 2
aa:
.int32 2147479553 # 0x7ffff001
.size aa, 4
@@ -75,7 +77,7 @@ aa:
.type bb,@object
.section .data.bb,"aw",@progbits
.globl bb
- .align 2
+ .p2align 2
bb:
.int32 2147479553 # 0x7ffff001
.size bb, 4
diff --git a/test/torture-s/20000412-1.c.s b/test/torture-s/20000412-1.c.s
index 4c76567a1..529346708 100644
--- a/test/torture-s/20000412-1.c.s
+++ b/test/torture-s/20000412-1.c.s
@@ -11,11 +11,9 @@ foo: # @foo
i32.load16_s $push1=, i($pop0)
i32.const $push2=, 2
i32.shl $push3=, $pop1, $pop2
- i32.const $push4=, wordlist
+ i32.const $push4=, wordlist+828
i32.add $push5=, $pop3, $pop4
- i32.const $push6=, 828
- i32.add $push7=, $pop5, $pop6
- return $pop7
+ return $pop5
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -26,16 +24,16 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load16_u $push0=, i($0)
+ i32.const $push3=, 0
+ i32.load16_u $push0=, i($pop3)
i32.const $push1=, 65535
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -49,7 +47,7 @@ main: # @main
.type i,@object
.section .data.i,"aw",@progbits
.globl i
- .align 1
+ .p2align 1
i:
.int16 65535 # 0xffff
.size i, 2
@@ -58,7 +56,7 @@ i:
.type wordlist,@object
.section .rodata.wordlist,"a",@progbits
.globl wordlist
- .align 4
+ .p2align 4
wordlist:
.skip 828
.size wordlist, 828
diff --git a/test/torture-s/20000412-2.c.s b/test/torture-s/20000412-2.c.s
index dbbc39c8b..f390c1724 100644
--- a/test/torture-s/20000412-2.c.s
+++ b/test/torture-s/20000412-2.c.s
@@ -12,21 +12,22 @@ f: # @f
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
i32.const $3=, 16
- i32.sub $4=, $2, $3
+ i32.sub $6=, $2, $3
i32.const $3=, __stack_pointer
- i32.store $4=, 0($3), $4
- i32.store $discard=, 12($4), $0
+ i32.store $6=, 0($3), $6
block
block
- i32.const $push2=, 0
- i32.eq $push3=, $0, $pop2
- br_if $pop3, 0 # 0: down to label1
+ i32.store $push0=, 12($6), $0
+ tee_local $push3=, $0=, $pop0
+ i32.const $push4=, 0
+ i32.eq $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
# BB#1: # %if.end
- i32.const $push0=, -1
- i32.add $push1=, $0, $pop0
+ i32.const $push1=, -1
+ i32.add $push2=, $0, $pop1
i32.const $5=, 12
- i32.add $5=, $4, $5
- i32.call $0=, f@FUNCTION, $pop1, $5
+ i32.add $5=, $6, $5
+ i32.call $0=, f@FUNCTION, $pop2, $5
br 1 # 1: down to label0
.LBB0_2: # %if.then
end_block # label1:
@@ -34,9 +35,9 @@ f: # @f
.LBB0_3: # %cleanup
end_block # label0:
i32.const $4=, 16
- i32.add $4=, $4, $4
+ i32.add $6=, $6, $4
i32.const $4=, __stack_pointer
- i32.store $4=, 0($4), $4
+ i32.store $6=, 0($4), $6
return $0
.endfunc
.Lfunc_end0:
@@ -49,17 +50,17 @@ f: # @f
main: # @main
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
block
i32.const $push0=, 100
- i32.call $push1=, f@FUNCTION, $pop0, $2
+ i32.const $push4=, 0
+ i32.call $push1=, f@FUNCTION, $pop0, $pop4
i32.const $push2=, 1
i32.ne $push3=, $pop1, $pop2
br_if $pop3, 0 # 0: down to label2
# BB#1: # %if.end
- call exit@FUNCTION, $2
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
unreachable
.LBB1_2: # %if.then
end_block # label2:
diff --git a/test/torture-s/20000412-3.c.s b/test/torture-s/20000412-3.c.s
new file mode 100644
index 000000000..35ffe52e2
--- /dev/null
+++ b/test/torture-s/20000412-3.c.s
@@ -0,0 +1,57 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000412-3.c"
+ .section .text.z,"ax",@progbits
+ .hidden z
+ .globl z
+ .type z,@function
+z: # @z
+ .result i32
+# BB#0: # %f.exit
+ i32.const $push0=, 96
+ return $pop0
+ .endfunc
+.Lfunc_end0:
+ .size z, .Lfunc_end0-z
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $2=, 70
+ block
+ i32.load8_u $push0=, 0($0)
+ i32.load8_u $push1=, 0($1)
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load8_s $push4=, 1($1)
+ i32.load8_s $push3=, 1($0)
+ i32.add $2=, $pop4, $pop3
+.LBB2_2: # %return
+ end_block # label0:
+ return $2
+ .endfunc
+.Lfunc_end2:
+ .size f, .Lfunc_end2-f
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000412-4.c.s b/test/torture-s/20000412-4.c.s
index 1966c2cc1..f350fb727 100644
--- a/test/torture-s/20000412-4.c.s
+++ b/test/torture-s/20000412-4.c.s
@@ -6,37 +6,43 @@
.type f,@function
f: # @f
.param i32, i32, i32, i32, i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.sub $8=, $0, $2
- i32.const $5=, 0
- i32.gt_s $6=, $8, $5
- i32.select $9=, $6, $8, $5
block
- i32.const $push0=, 3
- i32.ge_s $push1=, $9, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.sub $push0=, $0, $2
+ tee_local $push17=, $7=, $pop0
+ i32.const $push16=, 0
+ i32.gt_s $push1=, $pop17, $pop16
+ tee_local $push15=, $6=, $pop1
+ i32.const $push14=, 0
+ i32.select $push12=, $pop15, $7, $pop14
+ tee_local $push13=, $5=, $pop12
+ i32.const $push2=, 3
+ i32.ge_s $push3=, $pop13, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %for.body.lr.ph
- i32.const $7=, -1
- i32.select $push2=, $6, $8, $5
- i32.add $push3=, $2, $pop2
- i32.add $push4=, $pop3, $7
- i32.sub $push5=, $pop4, $0
- i32.mul $push6=, $3, $pop5
- i32.add $push7=, $2, $pop6
- i32.sub $8=, $pop7, $1
+ i32.const $push19=, 0
+ i32.select $push4=, $6, $7, $pop19
+ i32.add $push5=, $2, $pop4
+ i32.const $push18=, -1
+ i32.add $push6=, $pop5, $pop18
+ i32.sub $push7=, $pop6, $0
+ i32.mul $push8=, $3, $pop7
+ i32.add $push9=, $2, $pop8
+ i32.sub $2=, $pop9, $1
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.add $8=, $8, $3
- i32.le_s $push9=, $8, $7
- br_if $pop9, 1 # 1: down to label2
+ i32.add $2=, $2, $3
+ i32.const $push22=, -1
+ i32.le_s $push10=, $2, $pop22
+ br_if $pop10, 1 # 1: down to label2
# BB#3: # %for.cond
# in Loop: Header=BB0_2 Depth=1
- i32.const $push8=, 1
- i32.add $9=, $9, $pop8
- i32.const $push10=, 2
- i32.le_s $push11=, $9, $pop10
+ i32.const $push21=, 1
+ i32.add $5=, $5, $pop21
+ i32.const $push20=, 2
+ i32.le_s $push11=, $5, $pop20
br_if $pop11, 0 # 0: up to label1
br 2 # 2: down to label0
.LBB0_4: # %if.then
diff --git a/test/torture-s/20000412-6.c.s b/test/torture-s/20000412-6.c.s
index e93c5b3e1..31e23118f 100644
--- a/test/torture-s/20000412-6.c.s
+++ b/test/torture-s/20000412-6.c.s
@@ -6,16 +6,17 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
i32.const $push1=, 512
- i32.load16_u $push0=, buf($0)
+ i32.const $push13=, 0
+ i32.load16_u $push0=, buf($pop13)
i32.sub $push2=, $pop1, $pop0
- i32.load16_u $push3=, buf+2($0)
+ i32.const $push12=, 0
+ i32.load16_u $push3=, buf+2($pop12)
i32.sub $push4=, $pop2, $pop3
- i32.load16_u $push5=, buf+4($0)
+ i32.const $push11=, 0
+ i32.load16_u $push5=, buf+4($pop11)
i32.sub $push6=, $pop4, $pop5
i32.const $push7=, 65535
i32.and $push8=, $pop6, $pop7
@@ -23,7 +24,8 @@ main: # @main
i32.ne $push10=, $pop8, $pop9
br_if $pop10, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push14=, 0
+ call exit@FUNCTION, $pop14
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -69,7 +71,7 @@ bug: # @bug
.type buf,@object
.section .data.buf,"aw",@progbits
.globl buf
- .align 1
+ .p2align 1
buf:
.int16 1 # 0x1
.int16 4 # 0x4
diff --git a/test/torture-s/20000419-1.c.s b/test/torture-s/20000419-1.c.s
new file mode 100644
index 000000000..d489f6677
--- /dev/null
+++ b/test/torture-s/20000419-1.c.s
@@ -0,0 +1,58 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000419-1.c"
+ .section .text.brother,"ax",@progbits
+ .hidden brother
+ .globl brother
+ .type brother,@function
+brother: # @brother
+ .param i32, i32, i32
+# BB#0: # %entry
+ block
+ br_if $0, 0 # 0: down to label0
+# BB#1: # %if.end
+ return
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size brother, .Lfunc_end0-brother
+
+ .section .text.sister,"ax",@progbits
+ .hidden sister
+ .globl sister
+ .type sister,@function
+sister: # @sister
+ .param i32, i32, i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 4($0)
+ i32.eq $push1=, $pop0, $1
+ br_if $pop1, 0 # 0: down to label1
+# BB#1: # %brother.exit
+ return
+.LBB1_2: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size sister, .Lfunc_end1-sister
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %sister.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000422-1.c.s b/test/torture-s/20000422-1.c.s
index 4bdc44cff..68adfe63f 100644
--- a/test/torture-s/20000422-1.c.s
+++ b/test/torture-s/20000422-1.c.s
@@ -6,86 +6,89 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, 0
- i32.load $0=, num($5)
- i32.const $6=, 1
block
- i32.lt_s $push0=, $0, $6
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push21=, 0
+ i32.load $push0=, num($pop21)
+ tee_local $push20=, $5=, $pop0
+ i32.const $push19=, 1
+ i32.lt_s $push3=, $pop20, $pop19
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %for.cond1.preheader.preheader
- i32.const $8=, ops
- i32.const $push1=, 2
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop2, $8
- i32.const $push4=, -8
- i32.add $2=, $pop3, $pop4
- i32.const $7=, -1
- i32.add $1=, $0, $7
- copy_local $10=, $5
+ i32.const $push4=, 2
+ i32.shl $push5=, $5, $pop4
+ i32.const $push6=, ops-8
+ i32.add $1=, $pop5, $pop6
+ i32.const $push22=, -1
+ i32.add $0=, $5, $pop22
+ i32.const $2=, 0
.LBB0_2: # %for.cond1.preheader
# =>This Loop Header: Depth=1
# Child Loop BB0_3 Depth 2
loop # label1:
- copy_local $11=, $2
- copy_local $12=, $1
+ copy_local $3=, $1
+ copy_local $4=, $0
block
- i32.le_s $push5=, $1, $10
- br_if $pop5, 0 # 0: down to label3
+ i32.le_s $push7=, $0, $2
+ br_if $pop7, 0 # 0: down to label3
.LBB0_3: # %for.body3
# Parent Loop BB0_2 Depth=1
# => This Inner Loop Header: Depth=2
loop # label4:
- i32.const $push6=, 4
- i32.add $9=, $11, $pop6
- i32.load $3=, 0($11)
- i32.load $4=, 0($9)
block
- i32.ge_s $push7=, $3, $4
- br_if $pop7, 0 # 0: down to label6
+ i32.load $push1=, 0($3)
+ tee_local $push27=, $8=, $pop1
+ i32.const $push26=, 4
+ i32.add $push8=, $3, $pop26
+ tee_local $push25=, $7=, $pop8
+ i32.load $push2=, 0($pop25)
+ tee_local $push24=, $6=, $pop2
+ i32.ge_s $push9=, $pop27, $pop24
+ br_if $pop9, 0 # 0: down to label6
# BB#4: # %if.then
# in Loop: Header=BB0_3 Depth=2
- i32.store $discard=, 0($9), $3
- i32.store $discard=, 0($11), $4
+ i32.store $discard=, 0($7), $8
+ i32.store $discard=, 0($3), $6
.LBB0_5: # %for.cond1.backedge
# in Loop: Header=BB0_3 Depth=2
end_block # label6:
- i32.const $push8=, -4
- i32.add $11=, $11, $pop8
- i32.add $12=, $12, $7
- i32.gt_s $push9=, $12, $10
- br_if $pop9, 0 # 0: up to label4
+ i32.const $push29=, -1
+ i32.add $4=, $4, $pop29
+ i32.const $push28=, -4
+ i32.add $3=, $3, $pop28
+ i32.gt_s $push10=, $4, $2
+ br_if $pop10, 0 # 0: up to label4
.LBB0_6: # %for.end
# in Loop: Header=BB0_2 Depth=1
end_loop # label5:
end_block # label3:
- i32.add $10=, $10, $6
- i32.lt_s $push10=, $10, $0
- br_if $pop10, 0 # 0: up to label1
+ i32.const $push30=, 1
+ i32.add $2=, $2, $pop30
+ i32.lt_s $push11=, $2, $5
+ br_if $pop11, 0 # 0: up to label1
# BB#7: # %for.cond15.preheader
end_loop # label2:
- i32.const $11=, 0
- copy_local $12=, $11
- i32.le_s $push11=, $0, $11
- br_if $pop11, 0 # 0: down to label0
+ i32.const $3=, 0
+ i32.const $4=, 0
+ i32.const $push23=, 0
+ i32.le_s $push12=, $5, $pop23
+ br_if $pop12, 0 # 0: down to label0
.LBB0_8: # %for.body17
# =>This Inner Loop Header: Depth=1
loop # label7:
- i32.add $push12=, $8, $11
- i32.load $push13=, 0($pop12)
- i32.const $push14=, correct
- i32.add $push15=, $pop14, $11
- i32.load $push16=, 0($pop15)
- i32.ne $push17=, $pop13, $pop16
- br_if $pop17, 1 # 1: down to label8
+ i32.load $push13=, ops($3)
+ i32.load $push14=, correct($3)
+ i32.ne $push15=, $pop13, $pop14
+ br_if $pop15, 1 # 1: down to label8
# BB#9: # %for.cond15
# in Loop: Header=BB0_8 Depth=1
- i32.const $push18=, 4
- i32.add $11=, $11, $pop18
- i32.add $12=, $12, $6
- i32.lt_s $push19=, $12, $0
- br_if $pop19, 0 # 0: up to label7
+ i32.const $push16=, 1
+ i32.add $4=, $4, $pop16
+ i32.const $push17=, 4
+ i32.add $3=, $3, $pop17
+ i32.lt_s $push18=, $4, $5
+ br_if $pop18, 0 # 0: up to label7
br 2 # 2: down to label0
.LBB0_10: # %if.then21
end_loop # label8:
@@ -93,7 +96,8 @@ main: # @main
unreachable
.LBB0_11: # %for.end25
end_block # label0:
- call exit@FUNCTION, $5
+ i32.const $push31=, 0
+ call exit@FUNCTION, $pop31
unreachable
.endfunc
.Lfunc_end0:
@@ -103,7 +107,7 @@ main: # @main
.type ops,@object
.section .data.ops,"aw",@progbits
.globl ops
- .align 4
+ .p2align 4
ops:
.int32 11 # 0xb
.int32 12 # 0xc
@@ -124,7 +128,7 @@ ops:
.type correct,@object
.section .data.correct,"aw",@progbits
.globl correct
- .align 4
+ .p2align 4
correct:
.int32 46 # 0x2e
.int32 12 # 0xc
@@ -145,7 +149,7 @@ correct:
.type num,@object
.section .data.num,"aw",@progbits
.globl num
- .align 2
+ .p2align 2
num:
.int32 13 # 0xd
.size num, 4
diff --git a/test/torture-s/20000503-1.c.s b/test/torture-s/20000503-1.c.s
index 7ed1095f4..69546bf9e 100644
--- a/test/torture-s/20000503-1.c.s
+++ b/test/torture-s/20000503-1.c.s
@@ -7,16 +7,17 @@
sub: # @sub
.param i32
.result i32
- .local i32
# BB#0: # %entry
i32.const $push0=, -2
- i32.add $0=, $0, $pop0
- i32.const $1=, 0
- i32.lt_s $push1=, $0, $1
- i32.select $push2=, $pop1, $1, $0
- i32.const $push3=, 2
- i32.shl $push4=, $pop2, $pop3
- return $pop4
+ i32.add $push1=, $0, $pop0
+ tee_local $push8=, $0=, $pop1
+ i32.const $push2=, 0
+ i32.lt_s $push3=, $pop8, $pop2
+ i32.const $push7=, 0
+ i32.select $push4=, $pop3, $pop7, $0
+ i32.const $push5=, 2
+ i32.shl $push6=, $pop4, $pop5
+ return $pop6
.endfunc
.Lfunc_end0:
.size sub, .Lfunc_end0-sub
diff --git a/test/torture-s/20000519-1.c.s b/test/torture-s/20000519-1.c.s
new file mode 100644
index 000000000..283ce7f62
--- /dev/null
+++ b/test/torture-s/20000519-1.c.s
@@ -0,0 +1,145 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000519-1.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+ .result i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $discard=, 12($5), $1
+.LBB0_1: # %do.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label0:
+ i32.load $push1=, 12($5)
+ i32.const $push12=, 3
+ i32.add $push2=, $pop1, $pop12
+ i32.const $push11=, -4
+ i32.and $push3=, $pop2, $pop11
+ tee_local $push10=, $1=, $pop3
+ i32.const $push9=, 4
+ i32.add $push4=, $pop10, $pop9
+ i32.store $discard=, 12($5), $pop4
+ i32.load $push0=, 0($1)
+ tee_local $push8=, $1=, $pop0
+ i32.const $push7=, 10
+ i32.gt_s $push5=, $pop8, $pop7
+ br_if $pop5, 0 # 0: up to label0
+# BB#2: # %do.end
+ end_loop # label1:
+ i32.add $push6=, $1, $0
+ i32.const $4=, 16
+ i32.add $5=, $5, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return $pop6
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32
+ .result i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push1=, 8($5), $6
+ i32.store $discard=, 12($5), $pop1
+.LBB1_1: # %do.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label2:
+ i32.load $push2=, 12($5)
+ i32.const $push13=, 3
+ i32.add $push3=, $pop2, $pop13
+ i32.const $push12=, -4
+ i32.and $push4=, $pop3, $pop12
+ tee_local $push11=, $1=, $pop4
+ i32.const $push10=, 4
+ i32.add $push5=, $pop11, $pop10
+ i32.store $discard=, 12($5), $pop5
+ i32.load $push0=, 0($1)
+ tee_local $push9=, $1=, $pop0
+ i32.const $push8=, 10
+ i32.gt_s $push6=, $pop9, $pop8
+ br_if $pop6, 0 # 0: up to label2
+# BB#2: # %bar.exit
+ end_loop # label3:
+ i32.add $push7=, $1, $0
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return $pop7
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $8=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $8=, 0($6), $8
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 8
+ i32.sub $8=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $8=, 0($2), $8
+ i64.const $push0=, 12884901890
+ i64.store $discard=, 0($8):p2align=2, $pop0
+ i32.const $push1=, 1
+ i32.call $0=, foo@FUNCTION, $pop1
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 8
+ i32.add $8=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $8=, 0($4), $8
+ block
+ i32.const $push2=, 3
+ i32.ne $push3=, $0, $pop2
+ br_if $pop3, 0 # 0: down to label4
+# BB#1: # %if.end
+ i32.const $push4=, 0
+ i32.const $7=, 16
+ i32.add $8=, $8, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ return $pop4
+.LBB2_2: # %if.then
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000519-2.c.s b/test/torture-s/20000519-2.c.s
index 5afa2acef..2e06327a5 100644
--- a/test/torture-s/20000519-2.c.s
+++ b/test/torture-s/20000519-2.c.s
@@ -6,16 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, x($0)
+ i32.const $push3=, 0
+ i32.load $push0=, x($pop3)
i32.const $push1=, -1
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -29,7 +29,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int32 4294967295 # 0xffffffff
.size x, 4
diff --git a/test/torture-s/20000528-1.c.s b/test/torture-s/20000528-1.c.s
index 80379bb32..d7fc96af5 100644
--- a/test/torture-s/20000528-1.c.s
+++ b/test/torture-s/20000528-1.c.s
@@ -6,17 +6,18 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load16_u $push0=, l($0)
- i32.store16 $push1=, s($0), $pop0
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load16_u $push0=, l($pop4):p2align=2
+ i32.store16 $push1=, s($pop5), $pop0
i32.const $push2=, 65534
i32.ne $push3=, $pop1, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -30,7 +31,7 @@ main: # @main
.type l,@object
.section .data.l,"aw",@progbits
.globl l
- .align 2
+ .p2align 2
l:
.int32 4294967294 # 0xfffffffe
.size l, 4
@@ -39,7 +40,7 @@ l:
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 1
+ .p2align 1
s:
.int16 0 # 0x0
.size s, 2
diff --git a/test/torture-s/20000605-1.c.s b/test/torture-s/20000605-1.c.s
index da2eff72f..7a36797c8 100644
--- a/test/torture-s/20000605-1.c.s
+++ b/test/torture-s/20000605-1.c.s
@@ -6,21 +6,22 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %for.body.lr.ph.i
- i32.const $1=, 0
+ i32.const $0=, 0
.LBB0_1: # %for.body.i
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $push0=, 1
- i32.add $1=, $1, $pop0
- i32.const $0=, 256
- i32.ne $push1=, $1, $0
- br_if $pop1, 0 # 0: up to label0
+ i32.const $push5=, 1
+ i32.add $0=, $0, $pop5
+ i32.const $push4=, 256
+ i32.ne $push0=, $0, $pop4
+ br_if $pop0, 0 # 0: up to label0
# BB#2: # %render_image_rgb_a.exit
end_loop # label1:
block
- i32.ne $push2=, $1, $0
+ i32.const $push1=, 256
+ i32.ne $push2=, $0, $pop1
br_if $pop2, 0 # 0: down to label2
# BB#3: # %if.end
i32.const $push3=, 0
diff --git a/test/torture-s/20000605-2.c.s b/test/torture-s/20000605-2.c.s
index 0625ca20f..ac9a70613 100644
--- a/test/torture-s/20000605-2.c.s
+++ b/test/torture-s/20000605-2.c.s
@@ -8,30 +8,32 @@ f1: # @f1
.param i32, i32
.local i32, i32, i32
# BB#0: # %entry
- i32.load $2=, 0($0)
- i32.const $4=, 0
+ i32.const $3=, 0
block
- i32.load $push0=, 0($1)
- i32.ge_s $push1=, $2, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.load $push0=, 0($0)
+ tee_local $push11=, $4=, $pop0
+ i32.load $push1=, 0($1)
+ i32.ge_s $push2=, $pop11, $pop1
+ br_if $pop2, 0 # 0: down to label0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push2=, 5
- i32.ge_s $push3=, $4, $pop2
- br_if $pop3, 1 # 1: down to label2
+ i32.const $push3=, 5
+ i32.ge_s $push4=, $3, $pop3
+ br_if $pop4, 1 # 1: down to label2
# BB#2: # %for.inc
# in Loop: Header=BB0_1 Depth=1
- i32.const $3=, 1
- i32.add $push4=, $2, $4
- i32.add $push5=, $pop4, $3
- i32.store $discard=, 0($0), $pop5
- i32.add $3=, $4, $3
- copy_local $4=, $3
- i32.add $push7=, $2, $3
- i32.load $push6=, 0($1)
- i32.lt_s $push8=, $pop7, $pop6
- br_if $pop8, 0 # 0: up to label1
+ i32.add $push6=, $4, $3
+ i32.const $push5=, 1
+ i32.add $push7=, $pop6, $pop5
+ i32.store $discard=, 0($0), $pop7
+ i32.const $push12=, 1
+ i32.add $2=, $3, $pop12
+ copy_local $3=, $2
+ i32.add $push9=, $4, $2
+ i32.load $push8=, 0($1)
+ i32.lt_s $push10=, $pop9, $pop8
+ br_if $pop10, 0 # 0: up to label1
br 2 # 2: down to label0
.LBB0_3: # %if.then
end_loop # label2:
diff --git a/test/torture-s/20000703-1.c.s b/test/torture-s/20000703-1.c.s
index 1ce6a5fc7..186aa6573 100644
--- a/test/torture-s/20000703-1.c.s
+++ b/test/torture-s/20000703-1.c.s
@@ -6,19 +6,15 @@
.type foo,@function
foo: # @foo
.param i32, i32, i32
- .local i32
# BB#0: # %entry
- i32.const $3=, 0
i32.const $push0=, 19
i32.add $push1=, $0, $pop0
- i32.load8_u $push2=, .L.str+2($3)
- i32.store8 $discard=, 0($pop1), $pop2
- i32.const $push3=, 18
- i32.add $push4=, $0, $pop3
- i32.load8_u $push5=, .L.str+1($3)
- i32.store8 $discard=, 0($pop4), $pop5
- i32.load8_u $push6=, .L.str($3)
- i32.store8 $discard=, 17($0), $pop6
+ i32.const $push2=, 0
+ i32.load8_u $push3=, .L.str+2($pop2)
+ i32.store8 $discard=, 0($pop1), $pop3
+ i32.const $push5=, 0
+ i32.load16_u $push4=, .L.str($pop5):p2align=0
+ i32.store16 $discard=, 17($0):p2align=0, $pop4
i32.store $discard=, 20($0), $1
i32.store $discard=, 24($0), $2
return
@@ -32,24 +28,36 @@ foo: # @foo
.type bar,@function
bar: # @bar
.param i32, i32, i32
- .local i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.const $push0=, 28
- call memset@FUNCTION, $0, $3, $pop0
- i32.const $push1=, .L.str.1
- i32.const $push2=, 17
- call memcpy@FUNCTION, $0, $pop1, $pop2
- i32.const $push3=, 19
- i32.add $push4=, $0, $pop3
- i32.load8_u $push5=, .L.str+2($3)
- i32.store8 $discard=, 0($pop4), $pop5
- i32.const $push6=, 18
+ i32.const $push6=, 25
i32.add $push7=, $0, $pop6
- i32.load8_u $push8=, .L.str+1($3)
- i32.store8 $discard=, 0($pop7), $pop8
- i32.load8_u $push9=, .L.str($3)
- i32.store8 $discard=, 17($0), $pop9
+ i32.const $push2=, 27
+ i32.add $push3=, $0, $pop2
+ i32.const $push4=, 0
+ i32.store8 $push5=, 0($pop3), $pop4
+ i32.store16 $3=, 0($pop7):p2align=0, $pop5
+ i32.const $push0=, 17
+ i32.add $push1=, $0, $pop0
+ tee_local $push20=, $4=, $pop1
+ i64.const $push8=, 0
+ i64.store $discard=, 0($pop20):p2align=0, $pop8
+ i32.const $push9=, 16
+ i32.add $push10=, $0, $pop9
+ i32.load8_u $push11=, .L.str.1+16($3)
+ i32.store8 $discard=, 0($pop10), $pop11
+ i32.const $push12=, 8
+ i32.add $push13=, $0, $pop12
+ i64.load $push14=, .L.str.1+8($3):p2align=0
+ i64.store $discard=, 0($pop13):p2align=0, $pop14
+ i64.load $push15=, .L.str.1($3):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop15
+ i32.const $push16=, 19
+ i32.add $push17=, $0, $pop16
+ i32.load8_u $push18=, .L.str+2($3)
+ i32.store8 $discard=, 0($pop17), $pop18
+ i32.load16_u $push19=, .L.str($3):p2align=0
+ i32.store16 $discard=, 0($4):p2align=0, $pop19
i32.store $discard=, 20($0), $1
i32.store $discard=, 24($0), $2
return
diff --git a/test/torture-s/20000706-1.c.s b/test/torture-s/20000706-1.c.s
new file mode 100644
index 000000000..30b93aed7
--- /dev/null
+++ b/test/torture-s/20000706-1.c.s
@@ -0,0 +1,122 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000706-1.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($0)
+ i32.const $push1=, 1
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load $push3=, 4($0)
+ i32.const $push4=, 2
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false2
+ i32.load $push6=, 8($0)
+ i32.const $push7=, 3
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label0
+# BB#3: # %lor.lhs.false4
+ i32.load $push9=, 12($0)
+ i32.const $push10=, 4
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label0
+# BB#4: # %lor.lhs.false6
+ i32.const $push13=, 10
+ i32.ne $push14=, $5, $pop13
+ br_if $pop14, 0 # 0: down to label0
+# BB#5: # %lor.lhs.false6
+ i32.const $push15=, 9
+ i32.ne $push16=, $4, $pop15
+ br_if $pop16, 0 # 0: down to label0
+# BB#6: # %lor.lhs.false6
+ i32.const $push17=, 8
+ i32.ne $push18=, $3, $pop17
+ br_if $pop18, 0 # 0: down to label0
+# BB#7: # %lor.lhs.false6
+ i32.const $push19=, 7
+ i32.ne $push20=, $2, $pop19
+ br_if $pop20, 0 # 0: down to label0
+# BB#8: # %lor.lhs.false6
+ i32.const $push21=, 6
+ i32.ne $push22=, $1, $pop21
+ br_if $pop22, 0 # 0: down to label0
+# BB#9: # %lor.lhs.false6
+ i32.load $push12=, 16($0)
+ i32.const $push23=, 5
+ i32.ne $push24=, $pop12, $pop23
+ br_if $pop24, 0 # 0: down to label0
+# BB#10: # %if.end
+ return
+.LBB0_11: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($0)
+ i32.const $push1=, 1
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label1
+# BB#1: # %lor.lhs.false.i
+ i32.load $push3=, 4($0)
+ i32.const $push4=, 2
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
+# BB#2: # %lor.lhs.false2.i
+ i32.load $push6=, 8($0)
+ i32.const $push7=, 3
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label1
+# BB#3: # %lor.lhs.false4.i
+ i32.load $push9=, 12($0)
+ i32.const $push10=, 4
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label1
+# BB#4: # %lor.lhs.false6.i
+ i32.load $push12=, 16($0)
+ i32.const $push13=, 5
+ i32.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label1
+# BB#5: # %bar.exit
+ return
+.LBB1_6: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %foo.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000706-2.c.s b/test/torture-s/20000706-2.c.s
new file mode 100644
index 000000000..fd000d0b5
--- /dev/null
+++ b/test/torture-s/20000706-2.c.s
@@ -0,0 +1,122 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000706-2.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($0)
+ i32.const $push1=, 1
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load $push3=, 4($0)
+ i32.const $push4=, 2
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false2
+ i32.load $push6=, 8($0)
+ i32.const $push7=, 3
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label0
+# BB#3: # %lor.lhs.false4
+ i32.load $push9=, 12($0)
+ i32.const $push10=, 4
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label0
+# BB#4: # %lor.lhs.false6
+ i32.const $push13=, 10
+ i32.ne $push14=, $5, $pop13
+ br_if $pop14, 0 # 0: down to label0
+# BB#5: # %lor.lhs.false6
+ i32.const $push15=, 9
+ i32.ne $push16=, $4, $pop15
+ br_if $pop16, 0 # 0: down to label0
+# BB#6: # %lor.lhs.false6
+ i32.const $push17=, 8
+ i32.ne $push18=, $3, $pop17
+ br_if $pop18, 0 # 0: down to label0
+# BB#7: # %lor.lhs.false6
+ i32.const $push19=, 7
+ i32.ne $push20=, $2, $pop19
+ br_if $pop20, 0 # 0: down to label0
+# BB#8: # %lor.lhs.false6
+ i32.const $push21=, 6
+ i32.ne $push22=, $1, $pop21
+ br_if $pop22, 0 # 0: down to label0
+# BB#9: # %lor.lhs.false6
+ i32.load $push12=, 16($0)
+ i32.const $push23=, 5
+ i32.ne $push24=, $pop12, $pop23
+ br_if $pop24, 0 # 0: down to label0
+# BB#10: # %if.end
+ return
+.LBB0_11: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($1)
+ i32.const $push1=, 1
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label1
+# BB#1: # %lor.lhs.false.i
+ i32.load $push3=, 4($1)
+ i32.const $push4=, 2
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
+# BB#2: # %lor.lhs.false2.i
+ i32.load $push6=, 8($1)
+ i32.const $push7=, 3
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label1
+# BB#3: # %lor.lhs.false4.i
+ i32.load $push9=, 12($1)
+ i32.const $push10=, 4
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label1
+# BB#4: # %lor.lhs.false6.i
+ i32.load $push12=, 16($1)
+ i32.const $push13=, 5
+ i32.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label1
+# BB#5: # %bar.exit
+ return
+.LBB1_6: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %foo.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000706-3.c.s b/test/torture-s/20000706-3.c.s
index 15703b3cc..4a1e6d31e 100644
--- a/test/torture-s/20000706-3.c.s
+++ b/test/torture-s/20000706-3.c.s
@@ -75,12 +75,12 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, c($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, c($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end3:
@@ -90,7 +90,7 @@ main: # @main
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
diff --git a/test/torture-s/20000706-4.c.s b/test/torture-s/20000706-4.c.s
new file mode 100644
index 000000000..ebe924c06
--- /dev/null
+++ b/test/torture-s/20000706-4.c.s
@@ -0,0 +1,99 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000706-4.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32
+# BB#0: # %entry
+ block
+ i32.const $push3=, 2
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $push1=, 0
+ i32.load $push2=, c($pop1)
+ i32.load $push0=, 0($pop2)
+ i32.const $push5=, 1
+ i32.ne $push6=, $pop0, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#2: # %if.end
+ return
+.LBB0_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $6=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $6=, 0($3), $6
+ i32.const $push1=, 0
+ i32.const $5=, 12
+ i32.add $5=, $6, $5
+ i32.store $discard=, c($pop1), $5
+ block
+ i32.store $push0=, 12($6), $0
+ i32.const $push2=, 1
+ i32.ne $push3=, $pop0, $pop2
+ br_if $pop3, 0 # 0: down to label1
+# BB#1: # %entry
+ i32.const $push4=, 2
+ i32.ne $push5=, $1, $pop4
+ br_if $pop5, 0 # 0: down to label1
+# BB#2: # %bar.exit
+ i32.const $4=, 16
+ i32.add $6=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ return
+.LBB1_3: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ i32.const $push1=, 1
+ i32.const $push0=, 2
+ call foo@FUNCTION, $pop1, $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden c # @c
+ .type c,@object
+ .section .bss.c,"aw",@nobits
+ .globl c
+ .p2align 2
+c:
+ .int32 0
+ .size c, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000706-5.c.s b/test/torture-s/20000706-5.c.s
new file mode 100644
index 000000000..ceea06e13
--- /dev/null
+++ b/test/torture-s/20000706-5.c.s
@@ -0,0 +1,115 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000706-5.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32
+ .local i32
+# BB#0: # %entry
+ block
+ i32.const $push1=, 0
+ i32.load $push0=, c($pop1)
+ tee_local $push13=, $1=, $pop0
+ i32.load $push2=, 0($pop13)
+ i32.const $push3=, 1
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load $push5=, 4($1)
+ i32.const $push6=, 2
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false3
+ i32.const $push9=, 4
+ i32.ne $push10=, $0, $pop9
+ br_if $pop10, 0 # 0: down to label0
+# BB#3: # %lor.lhs.false3
+ i32.load $push8=, 8($1)
+ i32.const $push11=, 3
+ i32.ne $push12=, $pop8, $pop11
+ br_if $pop12, 0 # 0: down to label0
+# BB#4: # %if.end
+ return
+.LBB0_5: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+# BB#0: # %entry
+ block
+ i32.const $push0=, 0
+ i32.store $push1=, c($pop0), $0
+ tee_local $push13=, $0=, $pop1
+ i32.load $push2=, 0($pop13)
+ i32.const $push3=, 1
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label1
+# BB#1: # %lor.lhs.false.i
+ i32.load $push5=, 4($0)
+ i32.const $push6=, 2
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label1
+# BB#2: # %lor.lhs.false3.i
+ i32.const $push9=, 4
+ i32.ne $push10=, $1, $pop9
+ br_if $pop10, 0 # 0: down to label1
+# BB#3: # %lor.lhs.false3.i
+ i32.load $push8=, 8($0)
+ i32.const $push11=, 3
+ i32.ne $push12=, $pop8, $pop11
+ br_if $pop12, 0 # 0: down to label1
+# BB#4: # %bar.exit
+ return
+.LBB1_5: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $2=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $2=, 0($1), $2
+ i32.const $push0=, 0
+ i32.store $discard=, c($pop0), $2
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden c # @c
+ .type c,@object
+ .section .bss.c,"aw",@nobits
+ .globl c
+ .p2align 2
+c:
+ .int32 0
+ .size c, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000707-1.c.s b/test/torture-s/20000707-1.c.s
new file mode 100644
index 000000000..b4a5fc4f9
--- /dev/null
+++ b/test/torture-s/20000707-1.c.s
@@ -0,0 +1,61 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000707-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32
+# BB#0: # %entry
+ block
+ i32.const $push0=, 4
+ i32.ne $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %if.end
+ return
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32, i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 4($0)
+ i32.const $push1=, 4
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label1
+# BB#1: # %foo.exit
+ return
+.LBB1_2: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %bar.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000715-1.c.s b/test/torture-s/20000715-1.c.s
index 6ec74c6cc..46070b77a 100644
--- a/test/torture-s/20000715-1.c.s
+++ b/test/torture-s/20000715-1.c.s
@@ -38,12 +38,12 @@ test3: # @test3
.globl test4
.type test4,@function
test4: # @test4
- .local i32
# BB#0: # %if.end8
- i32.const $0=, 0
- i32.const $push0=, 3
- i32.store $push1=, x($0), $pop0
- i32.store $discard=, y($0), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.const $push1=, 3
+ i32.store $push2=, x($pop3), $pop1
+ i32.store $discard=, y($pop0), $pop2
return
.endfunc
.Lfunc_end3:
@@ -54,12 +54,12 @@ test4: # @test4
.globl test5
.type test5,@function
test5: # @test5
- .local i32
# BB#0: # %if.end8
- i32.const $0=, 0
- i32.const $push0=, 3
- i32.store $push1=, x($0), $pop0
- i32.store $discard=, y($0), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.const $push1=, 3
+ i32.store $push2=, x($pop3), $pop1
+ i32.store $discard=, y($pop0), $pop2
return
.endfunc
.Lfunc_end4:
@@ -70,12 +70,12 @@ test5: # @test5
.globl test6
.type test6,@function
test6: # @test6
- .local i32
# BB#0: # %if.end8
- i32.const $0=, 0
- i32.const $push0=, 3
- i32.store $push1=, x($0), $pop0
- i32.store $discard=, y($0), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.const $push1=, 3
+ i32.store $push2=, x($pop3), $pop1
+ i32.store $discard=, y($pop0), $pop2
return
.endfunc
.Lfunc_end5:
@@ -87,13 +87,12 @@ test6: # @test6
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $push0=, 3
- i32.store $push1=, x($0), $pop0
- i32.store $discard=, y($0), $pop1
- call exit@FUNCTION, $0
+ call test4@FUNCTION
+ call test5@FUNCTION
+ call test6@FUNCTION
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
unreachable
.endfunc
.Lfunc_end6:
@@ -103,7 +102,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.int32 0 # 0x0
.size x, 4
@@ -112,7 +111,7 @@ x:
.type y,@object
.section .bss.y,"aw",@nobits
.globl y
- .align 2
+ .p2align 2
y:
.int32 0 # 0x0
.size y, 4
diff --git a/test/torture-s/20000717-1.c.s b/test/torture-s/20000717-1.c.s
new file mode 100644
index 000000000..fb8031ed8
--- /dev/null
+++ b/test/torture-s/20000717-1.c.s
@@ -0,0 +1,76 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000717-1.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($1)
+ tee_local $push5=, $2=, $pop0
+ i32.load $push1=, 4($1)
+ i32.eq $push2=, $pop5, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load $push3=, 8($1)
+ i32.eq $push4=, $2, $pop3
+ br_if $pop4, 0 # 0: down to label0
+# BB#2: # %if.end
+ return $1
+.LBB0_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($0)
+ tee_local $push5=, $2=, $pop0
+ i32.load $push2=, 4($0)
+ i32.eq $push3=, $pop5, $pop2
+ br_if $pop3, 0 # 0: down to label1
+# BB#1: # %entry
+ i32.load $push1=, 8($0)
+ i32.eq $push4=, $2, $pop1
+ br_if $pop4, 0 # 0: down to label1
+# BB#2: # %bar.exit
+ return $0
+.LBB1_3: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %foo.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000717-3.c.s b/test/torture-s/20000717-3.c.s
index 73b654027..3a87f2328 100644
--- a/test/torture-s/20000717-3.c.s
+++ b/test/torture-s/20000717-3.c.s
@@ -26,16 +26,16 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, c($0)
+ i32.const $push3=, 0
+ i32.load $push0=, c($pop3)
i32.const $push1=, -1
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -49,7 +49,7 @@ main: # @main
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 2
+ .p2align 2
c:
.int32 4294967295 # 0xffffffff
.size c, 4
diff --git a/test/torture-s/20000717-4.c.s b/test/torture-s/20000717-4.c.s
index 1141b295d..ccd8c8c60 100644
--- a/test/torture-s/20000717-4.c.s
+++ b/test/torture-s/20000717-4.c.s
@@ -31,7 +31,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 100
.size s, 100
diff --git a/test/torture-s/20000717-5.c.s b/test/torture-s/20000717-5.c.s
new file mode 100644
index 000000000..cd2fd64d4
--- /dev/null
+++ b/test/torture-s/20000717-5.c.s
@@ -0,0 +1,108 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000717-5.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($3)
+ i32.const $push1=, 1
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load $push3=, 4($3)
+ i32.const $push4=, 2
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false2
+ i32.const $push7=, 6
+ i32.ne $push8=, $2, $pop7
+ br_if $pop8, 0 # 0: down to label0
+# BB#3: # %lor.lhs.false2
+ i32.const $push9=, 5
+ i32.ne $push10=, $1, $pop9
+ br_if $pop10, 0 # 0: down to label0
+# BB#4: # %lor.lhs.false2
+ i32.const $push11=, 4
+ i32.ne $push12=, $0, $pop11
+ br_if $pop12, 0 # 0: down to label0
+# BB#5: # %lor.lhs.false2
+ i32.load $push6=, 8($3)
+ i32.const $push13=, 3
+ i32.ne $push14=, $pop6, $pop13
+ br_if $pop14, 0 # 0: down to label0
+# BB#6: # %if.end
+ return $3
+.LBB0_7: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load $push1=, 0($0)
+ i32.const $push2=, 1
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label1
+# BB#1: # %entry
+ i32.load $push0=, 4($0)
+ i32.const $push4=, 2
+ i32.ne $push5=, $pop0, $pop4
+ br_if $pop5, 0 # 0: down to label1
+# BB#2: # %lor.lhs.false2.i
+ i32.const $push7=, 6
+ i32.ne $push8=, $3, $pop7
+ br_if $pop8, 0 # 0: down to label1
+# BB#3: # %lor.lhs.false2.i
+ i32.const $push9=, 5
+ i32.ne $push10=, $2, $pop9
+ br_if $pop10, 0 # 0: down to label1
+# BB#4: # %lor.lhs.false2.i
+ i32.const $push11=, 4
+ i32.ne $push12=, $1, $pop11
+ br_if $pop12, 0 # 0: down to label1
+# BB#5: # %lor.lhs.false2.i
+ i32.load $push6=, 8($0)
+ i32.const $push13=, 3
+ i32.ne $push14=, $pop6, $pop13
+ br_if $pop14, 0 # 0: down to label1
+# BB#6: # %bar.exit
+ return $0
+.LBB1_7: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %foo.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000801-1.c.s b/test/torture-s/20000801-1.c.s
index d917f77fa..4bd26130e 100644
--- a/test/torture-s/20000801-1.c.s
+++ b/test/torture-s/20000801-1.c.s
@@ -6,33 +6,37 @@
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
i32.add $2=, $0, $1
- i32.const $3=, 1
block
- i32.lt_s $push0=, $1, $3
+ i32.const $push10=, 1
+ i32.lt_s $push0=, $1, $pop10
br_if $pop0, 0 # 0: down to label0
.LBB0_1: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
i32.const $push1=, 3
- i32.add $1=, $0, $pop1
- i32.load8_u $5=, 0($1)
- i32.load8_u $push2=, 0($0)
- i32.store8 $discard=, 0($1), $pop2
- i32.store8 $discard=, 0($0), $5
- i32.const $push3=, 2
- i32.add $1=, $0, $pop3
- i32.add $5=, $0, $3
- i32.load8_u $4=, 0($1)
- i32.load8_u $push4=, 0($5)
- i32.store8 $discard=, 0($1), $pop4
- i32.store8 $discard=, 0($5), $4
- i32.const $push5=, 4
- i32.add $0=, $0, $pop5
- i32.lt_u $push6=, $0, $2
- br_if $pop6, 0 # 0: up to label1
+ i32.add $push2=, $0, $pop1
+ tee_local $push14=, $1=, $pop2
+ i32.load8_u $3=, 0($pop14)
+ i32.load8_u $push3=, 0($0)
+ i32.store8 $discard=, 0($1), $pop3
+ i32.store8 $discard=, 0($0), $3
+ i32.const $push4=, 2
+ i32.add $push5=, $0, $pop4
+ tee_local $push13=, $1=, $pop5
+ i32.load8_u $3=, 0($pop13)
+ i32.const $push12=, 1
+ i32.add $push6=, $0, $pop12
+ tee_local $push11=, $4=, $pop6
+ i32.load8_u $push7=, 0($pop11)
+ i32.store8 $discard=, 0($1), $pop7
+ i32.store8 $discard=, 0($4), $3
+ i32.const $push8=, 4
+ i32.add $0=, $0, $pop8
+ i32.lt_u $push9=, $0, $2
+ br_if $pop9, 0 # 0: up to label1
.LBB0_2: # %while.end
end_loop # label2:
end_block # label0:
@@ -47,23 +51,29 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $0=, __stack_pointer
- i32.load $0=, 0($0)
- i32.const $1=, 16
- i32.sub $2=, $0, $1
i32.const $1=, __stack_pointer
- i32.store $2=, 0($1), $2
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.const $push0=, 2
+ i32.const $3=, 12
+ i32.add $3=, $4, $3
+ i32.or $push1=, $3, $pop0
+ i32.const $push2=, 0
+ i32.store $push3=, 12($4), $pop2
+ i32.store8 $0=, 0($pop1):p2align=1, $pop3
block
- i32.const $push0=, 1
- i32.store $push1=, 12($2), $pop0
- i32.const $push3=, 0
- i32.eq $push4=, $pop1, $pop3
- br_if $pop4, 0 # 0: down to label3
+ i32.load $push6=, 12($4)
+ i32.const $push4=, 1
+ i32.store16 $push5=, 12($4):p2align=2, $pop4
+ i32.ne $push7=, $pop6, $pop5
+ br_if $pop7, 0 # 0: down to label3
# BB#1: # %if.end
- i32.const $push2=, 0
- call exit@FUNCTION, $pop2
+ call exit@FUNCTION, $0
unreachable
.LBB1_2: # %if.then
end_block # label3:
diff --git a/test/torture-s/20000801-3.c.s b/test/torture-s/20000801-3.c.s
index 00f2c3b55..5ad4d020e 100644
--- a/test/torture-s/20000801-3.c.s
+++ b/test/torture-s/20000801-3.c.s
@@ -6,16 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, s+4($0)
+ i32.const $push3=, 0
+ i32.load $push0=, s+4($pop3)
i32.const $push1=, 1
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.then
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.LBB0_2: # %if.else
end_block # label0:
@@ -29,7 +29,7 @@ main: # @main
.type s,@object
.section .data.s,"aw",@progbits
.globl s
- .align 2
+ .p2align 2
s:
.int32 0 # 0x0
.int32 1 # 0x1
diff --git a/test/torture-s/20000801-4.c.s b/test/torture-s/20000801-4.c.s
new file mode 100644
index 000000000..9416d853c
--- /dev/null
+++ b/test/torture-s/20000801-4.c.s
@@ -0,0 +1,51 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000801-4.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 1
+ return $pop0
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i32.const $push0=, 0
+ i32.const $2=, 14
+ i32.add $2=, $3, $2
+ i32.store $discard=, t($pop0), $2
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden t # @t
+ .type t,@object
+ .section .bss.t,"aw",@nobits
+ .globl t
+ .p2align 2
+t:
+ .int32 0
+ .size t, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000808-1.c.s b/test/torture-s/20000808-1.c.s
new file mode 100644
index 000000000..eb3cc8ab2
--- /dev/null
+++ b/test/torture-s/20000808-1.c.s
@@ -0,0 +1,109 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20000808-1.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+# BB#0: # %entry
+ return
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($0)
+ br_if $pop0, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load $push1=, 4($0)
+ i32.const $push2=, 1
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false2
+ i32.load $push4=, 0($1)
+ i32.const $push5=, -1
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#3: # %lor.lhs.false5
+ i32.load $push7=, 4($1)
+ br_if $pop7, 0 # 0: down to label0
+# BB#4: # %lor.lhs.false8
+ i32.load $push8=, 0($2)
+ i32.const $push9=, 1
+ i32.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label0
+# BB#5: # %lor.lhs.false11
+ i32.load $push11=, 4($2)
+ i32.const $push26=, -1
+ i32.ne $push12=, $pop11, $pop26
+ br_if $pop12, 0 # 0: down to label0
+# BB#6: # %lor.lhs.false14
+ i32.load $push13=, 0($3)
+ i32.const $push27=, -1
+ i32.ne $push14=, $pop13, $pop27
+ br_if $pop14, 0 # 0: down to label0
+# BB#7: # %lor.lhs.false17
+ i32.load $push15=, 4($3)
+ i32.const $push16=, 1
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label0
+# BB#8: # %lor.lhs.false20
+ i32.load $push18=, 0($4)
+ br_if $pop18, 0 # 0: down to label0
+# BB#9: # %lor.lhs.false23
+ i32.load $push19=, 4($4)
+ i32.const $push20=, -1
+ i32.ne $push21=, $pop19, $pop20
+ br_if $pop21, 0 # 0: down to label0
+# BB#10: # %lor.lhs.false26
+ i32.load $push22=, 0($5)
+ i32.const $push23=, 1
+ i32.ne $push24=, $pop22, $pop23
+ br_if $pop24, 0 # 0: down to label0
+# BB#11: # %lor.lhs.false29
+ i32.load $push25=, 4($5)
+ br_if $pop25, 0 # 0: down to label0
+# BB#12: # %if.end
+ return
+.LBB1_13: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size f, .Lfunc_end1-f
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+# BB#0: # %f.exit
+ return
+ .endfunc
+.Lfunc_end2:
+ .size foo, .Lfunc_end2-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size main, .Lfunc_end3-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20000818-1.c.s b/test/torture-s/20000818-1.c.s
index 939ff6e4b..4510975ce 100644
--- a/test/torture-s/20000818-1.c.s
+++ b/test/torture-s/20000818-1.c.s
@@ -31,7 +31,7 @@ yylex: # @yylex
.type temporary_obstack,@object
.section .bss.temporary_obstack,"aw",@nobits
.globl temporary_obstack
- .align 2
+ .p2align 2
temporary_obstack:
.int32 0
.size temporary_obstack, 4
diff --git a/test/torture-s/20000819-1.c.s b/test/torture-s/20000819-1.c.s
index 6403609af..717818762 100644
--- a/test/torture-s/20000819-1.c.s
+++ b/test/torture-s/20000819-1.c.s
@@ -6,34 +6,36 @@
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.sub $1=, $2, $1
block
- i32.gt_s $push0=, $1, $2
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push1=, 0
+ i32.sub $push0=, $pop1, $1
+ tee_local $push10=, $1=, $pop0
+ i32.const $push9=, 0
+ i32.gt_s $push2=, $pop10, $pop9
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %for.body.preheader
- i32.const $push1=, 2
- i32.shl $push2=, $1, $pop1
- i32.add $1=, $0, $pop2
+ i32.const $push3=, 2
+ i32.shl $push4=, $1, $pop3
+ i32.add $1=, $0, $pop4
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.load $push3=, 0($1)
- i32.const $push5=, 1
- i32.le_s $push6=, $pop3, $pop5
+ i32.load $push5=, 0($1)
+ i32.const $push12=, 1
+ i32.le_s $push6=, $pop5, $pop12
br_if $pop6, 1 # 1: down to label2
# BB#3: # %for.cond
# in Loop: Header=BB0_2 Depth=1
- i32.const $push4=, 4
- i32.add $1=, $1, $pop4
+ i32.const $push11=, 4
+ i32.add $1=, $1, $pop11
i32.le_u $push7=, $1, $0
br_if $pop7, 0 # 0: up to label1
br 2 # 2: down to label0
.LBB0_4: # %if.then
end_loop # label2:
- call exit@FUNCTION, $2
+ i32.const $push8=, 0
+ call exit@FUNCTION, $pop8
unreachable
.LBB0_5: # %for.end
end_block # label0:
@@ -48,26 +50,12 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
- i32.load $push1=, a($0)
- i32.const $push2=, 2
- i32.lt_s $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label3
-# BB#1: # %entry
- i32.load $push0=, a+4($0)
- i32.const $push4=, 1
- i32.le_s $push5=, $pop0, $pop4
- br_if $pop5, 0 # 0: down to label3
-# BB#2: # %for.cond.i.1
+ i32.const $push1=, a+4
+ i32.const $push0=, 1
+ call foo@FUNCTION, $pop1, $pop0
call abort@FUNCTION
unreachable
-.LBB1_3: # %if.then.i
- end_block # label3:
- call exit@FUNCTION, $0
- unreachable
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -76,7 +64,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 2 # 0x2
.int32 0 # 0x0
diff --git a/test/torture-s/20000910-2.c.s b/test/torture-s/20000910-2.c.s
index d09eb5d34..8b967725e 100644
--- a/test/torture-s/20000910-2.c.s
+++ b/test/torture-s/20000910-2.c.s
@@ -6,28 +6,31 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, 42
block
- i32.load $push0=, list($0)
- i32.call $push1=, strchr@FUNCTION, $pop0, $1
- i32.const $push4=, 0
- i32.eq $push5=, $pop1, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push7=, 0
+ i32.load $push0=, list($pop7)
+ i32.const $push6=, 42
+ i32.call $push1=, strchr@FUNCTION, $pop0, $pop6
+ i32.const $push10=, 0
+ i32.eq $push11=, $pop1, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#1: # %if.then.i
block
- i32.load $push2=, list+4($0)
- i32.call $push3=, strchr@FUNCTION, $pop2, $1
- i32.const $push6=, 0
- i32.eq $push7=, $pop3, $pop6
- br_if $pop7, 0 # 0: down to label1
+ i32.const $push9=, 0
+ i32.load $push2=, list+4($pop9)
+ i32.const $push8=, 42
+ i32.call $push3=, strchr@FUNCTION, $pop2, $pop8
+ i32.const $push12=, 0
+ i32.eq $push13=, $pop3, $pop12
+ br_if $pop13, 0 # 0: down to label1
# BB#2: # %foo.exit
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB0_3: # %if.else.i
end_block # label1:
- call exit@FUNCTION, $0
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
unreachable
.LBB0_4: # %if.then2.i
end_block # label0:
@@ -52,7 +55,7 @@ main: # @main
.type list,@object
.section .data.list,"aw",@progbits
.globl list
- .align 2
+ .p2align 2
list:
.int32 .L.str
.int32 .L.str.1
diff --git a/test/torture-s/20000914-1.c.s b/test/torture-s/20000914-1.c.s
index 1d781c3cb..55eeeb664 100644
--- a/test/torture-s/20000914-1.c.s
+++ b/test/torture-s/20000914-1.c.s
@@ -22,7 +22,7 @@ convert_like_real: # @convert_like_real
.result i32
# BB#0: # %entry
block
- i32.load8_u $push0=, 8($0)
+ i32.load8_u $push0=, 8($0):p2align=2
i32.const $push1=, 222
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
@@ -42,9 +42,16 @@ convert_like_real: # @convert_like_real
.type main,@function
main: # @main
.result i32
+ .local i32
# BB#0: # %entry
- i32.const $push0=, 0
- call exit@FUNCTION, $pop0
+ i32.const $push0=, 12
+ i32.call $push1=, malloc@FUNCTION, $pop0
+ tee_local $push4=, $0=, $pop1
+ i32.const $push2=, 222
+ i32.store $discard=, 8($pop4), $pop2
+ i32.call $discard=, convert_like_real@FUNCTION, $0
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/20000917-1.c.s b/test/torture-s/20000917-1.c.s
index 1c2b5463e..fd7c5b383 100644
--- a/test/torture-s/20000917-1.c.s
+++ b/test/torture-s/20000917-1.c.s
@@ -7,10 +7,10 @@
one: # @one
.param i32
# BB#0: # %entry
- i32.const $push0=, 1
- i32.store $push1=, 0($0), $pop0
- i32.store $push2=, 4($0), $pop1
- i32.store $discard=, 8($0), $pop2
+ i32.const $push1=, 1
+ i32.store $discard=, 8($0), $pop1
+ i64.const $push0=, 4294967297
+ i64.store $discard=, 0($0):p2align=2, $pop0
return
.endfunc
.Lfunc_end0:
@@ -23,10 +23,10 @@ one: # @one
zero: # @zero
.param i32
# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $push1=, 0($0), $pop0
- i32.store $push2=, 4($0), $pop1
- i32.store $discard=, 8($0), $pop2
+ i32.const $push1=, 0
+ i32.store $discard=, 8($0), $pop1
+ i64.const $push0=, 0
+ i64.store $discard=, 0($0):p2align=2, $pop0
return
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/20001009-1.c.s b/test/torture-s/20001009-1.c.s
index 913675365..51c50ddaf 100644
--- a/test/torture-s/20001009-1.c.s
+++ b/test/torture-s/20001009-1.c.s
@@ -17,7 +17,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -26,7 +26,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/20001009-2.c.s b/test/torture-s/20001009-2.c.s
index e95c8840a..3f0354f81 100644
--- a/test/torture-s/20001009-2.c.s
+++ b/test/torture-s/20001009-2.c.s
@@ -6,24 +6,26 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, b($0)
i32.const $push6=, 0
- i32.eq $push7=, $pop0, $pop6
- br_if $pop7, 0 # 0: down to label0
+ i32.load $push0=, b($pop6)
+ i32.const $push9=, 0
+ i32.eq $push10=, $pop0, $pop9
+ br_if $pop10, 0 # 0: down to label0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $1=, 1
+ i32.const $0=, 1
#APP
#NO_APP
- i32.load $push1=, b($0)
+ i32.const $push8=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, b($pop7)
i32.const $push2=, -1
i32.add $push3=, $pop1, $pop2
- i32.store $push4=, b($0), $pop3
+ i32.store $push4=, b($pop8), $pop3
br_if $pop4, 0 # 0: up to label1
.LBB0_2: # %if.end
end_loop # label2:
@@ -40,29 +42,32 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, b($0)
i32.const $push5=, 0
- i32.eq $push6=, $pop0, $pop5
- br_if $pop6, 0 # 0: down to label3
+ i32.load $push0=, b($pop5)
+ i32.const $push9=, 0
+ i32.eq $push10=, $pop0, $pop9
+ br_if $pop10, 0 # 0: down to label3
.LBB1_1: # %for.body.i
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.const $1=, 1
+ i32.const $0=, 1
#APP
#NO_APP
- i32.load $push1=, b($0)
+ i32.const $push7=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, b($pop6)
i32.const $push2=, -1
i32.add $push3=, $pop1, $pop2
- i32.store $push4=, b($0), $pop3
+ i32.store $push4=, b($pop7), $pop3
br_if $pop4, 0 # 0: up to label4
.LBB1_2: # %foo.exit
end_loop # label5:
end_block # label3:
- return $0
+ i32.const $push8=, 0
+ return $pop8
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -71,7 +76,7 @@ main: # @main
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 1 # 0x1
.size b, 4
diff --git a/test/torture-s/20001013-1.c.s b/test/torture-s/20001013-1.c.s
index a7d549849..9420888fb 100644
--- a/test/torture-s/20001013-1.c.s
+++ b/test/torture-s/20001013-1.c.s
@@ -34,17 +34,19 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push2=, z($0)
- i32.load $push0=, z+4($0)
- i32.sub $push1=, $0, $pop0
+ i32.const $push6=, 0
+ i32.load $push2=, z($pop6)
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load $push0=, z+4($pop4)
+ i32.sub $push1=, $pop5, $pop0
i32.le_s $push3=, $pop2, $pop1
br_if $pop3, 0 # 0: down to label1
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push7=, 0
+ call exit@FUNCTION, $pop7
unreachable
.LBB1_2: # %if.then
end_block # label1:
@@ -58,7 +60,7 @@ main: # @main
.type z,@object
.section .data.z,"aw",@progbits
.globl z
- .align 2
+ .p2align 2
z:
.int32 4294963268 # 0xfffff044
.int32 4096 # 0x1000
diff --git a/test/torture-s/20001024-1.c.s b/test/torture-s/20001024-1.c.s
index 980049c95..d234b5745 100644
--- a/test/torture-s/20001024-1.c.s
+++ b/test/torture-s/20001024-1.c.s
@@ -7,25 +7,25 @@
bar: # @bar
.param i32, i32, i32
.result i32
- .local i32
# BB#0: # %entry
block
i32.load $push0=, 0($1)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.const $3=, 250000
i32.load $push1=, 4($1)
- i32.ne $push2=, $pop1, $3
- br_if $pop2, 0 # 0: down to label0
-# BB#2: # %lor.lhs.false2
- i32.load $push3=, 8($1)
+ i32.const $push2=, 250000
+ i32.ne $push3=, $pop1, $pop2
br_if $pop3, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false2
+ i32.load $push4=, 8($1)
+ br_if $pop4, 0 # 0: down to label0
# BB#3: # %lor.lhs.false5
- i32.const $push4=, 12
- i32.add $push5=, $1, $pop4
- i32.load $push6=, 0($pop5)
- i32.ne $push7=, $pop6, $3
- br_if $pop7, 0 # 0: down to label0
+ i32.const $push5=, 12
+ i32.add $push6=, $1, $pop5
+ i32.load $push7=, 0($pop6)
+ i32.const $push8=, 250000
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#4: # %if.end
return $1
.LBB0_5: # %if.then
diff --git a/test/torture-s/20001027-1.c.s b/test/torture-s/20001027-1.c.s
index 15347a0cf..8595ad6ba 100644
--- a/test/torture-s/20001027-1.c.s
+++ b/test/torture-s/20001027-1.c.s
@@ -6,20 +6,23 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, p($0)
- block
+ i32.const $push7=, 0
+ i32.load $0=, p($pop7)
+ i32.const $push6=, 0
i32.const $push0=, 1
- i32.store $discard=, x($0), $pop0
+ i32.store $discard=, x($pop6), $pop0
+ block
+ i32.const $push5=, 0
+ i32.load $push3=, x($pop5)
i32.const $push1=, 2
- i32.store $1=, 0($1), $pop1
- i32.load $push2=, x($0)
- i32.ne $push3=, $pop2, $1
- br_if $pop3, 0 # 0: down to label0
+ i32.store $push2=, 0($0), $pop1
+ i32.ne $push4=, $pop3, $pop2
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push8=, 0
+ call exit@FUNCTION, $pop8
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -33,7 +36,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.int32 0 # 0x0
.size x, 4
@@ -42,7 +45,7 @@ x:
.type p,@object
.section .data.p,"aw",@progbits
.globl p
- .align 2
+ .p2align 2
p:
.int32 x
.size p, 4
diff --git a/test/torture-s/20001101.c.s b/test/torture-s/20001101.c.s
index fd8ba2092..141cb57ad 100644
--- a/test/torture-s/20001101.c.s
+++ b/test/torture-s/20001101.c.s
@@ -24,11 +24,11 @@ dummy: # @dummy
bogus: # @bogus
.param i32, i32, i32
# BB#0: # %if.end5
- block
- i32.load8_u $push0=, 0($0)
+ i32.load8_u $push0=, 0($0):p2align=2
i32.const $push1=, 1
i32.or $push2=, $pop0, $pop1
- i32.store8 $discard=, 0($0), $pop2
+ i32.store8 $discard=, 0($0):p2align=2, $pop2
+ block
i32.const $push3=, 7
i32.ne $push4=, $1, $pop3
br_if $pop4, 0 # 0: down to label0
diff --git a/test/torture-s/20001108-1.c.s b/test/torture-s/20001108-1.c.s
index ffe379c4c..8edfcbf9b 100644
--- a/test/torture-s/20001108-1.c.s
+++ b/test/torture-s/20001108-1.c.s
@@ -7,15 +7,15 @@
signed_poly: # @signed_poly
.param i64, i32
.result i64
- .local i64
# BB#0: # %entry
- i64.const $2=, 32
- i64.shl $push0=, $0, $2
- i64.shr_s $push1=, $pop0, $2
- i64.extend_s/i32 $push2=, $1
- i64.mul $push3=, $pop1, $pop2
- i64.add $push4=, $pop3, $0
- return $pop4
+ i64.const $push0=, 32
+ i64.shl $push1=, $0, $pop0
+ i64.const $push6=, 32
+ i64.shr_s $push2=, $pop1, $pop6
+ i64.extend_s/i32 $push3=, $1
+ i64.mul $push4=, $pop2, $pop3
+ i64.add $push5=, $pop4, $0
+ return $pop5
.endfunc
.Lfunc_end0:
.size signed_poly, .Lfunc_end0-signed_poly
diff --git a/test/torture-s/20001111-1.c.s b/test/torture-s/20001111-1.c.s
index 5fbd22c58..1136b77a3 100644
--- a/test/torture-s/20001111-1.c.s
+++ b/test/torture-s/20001111-1.c.s
@@ -7,14 +7,14 @@
foo: # @foo
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, next_buffer($1)
- i32.const $push1=, 52783
- i32.select $push2=, $pop0, $pop1, $1
- i32.add $push3=, $pop2, $0
- return $pop3
+ i32.const $push0=, 0
+ i32.load8_u $push1=, next_buffer($pop0):p2align=2
+ i32.const $push2=, 52783
+ i32.const $push5=, 0
+ i32.select $push3=, $pop1, $pop2, $pop5
+ i32.add $push4=, $pop3, $0
+ return $pop4
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -36,28 +36,29 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load8_u $push0=, next_buffer($0)
i32.const $push2=, 0
- i32.eq $push3=, $pop0, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.load8_u $push0=, next_buffer($pop2):p2align=2
+ i32.const $push5=, 0
+ i32.eq $push6=, $pop0, $pop5
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %if.then
call abort@FUNCTION
unreachable
.LBB2_2: # %if.end4
end_block # label0:
+ i32.const $push4=, 0
i32.const $push1=, 1
- i32.store8 $discard=, next_buffer($0), $pop1
- call exit@FUNCTION, $0
+ i32.store8 $discard=, next_buffer($pop4):p2align=2, $pop1
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
.type next_buffer,@object # @next_buffer
- .lcomm next_buffer,1
+ .lcomm next_buffer,1,2
.ident "clang version 3.9.0 "
diff --git a/test/torture-s/20001121-1.c.s b/test/torture-s/20001121-1.c.s
index b6ffaee05..9f5ed1845 100644
--- a/test/torture-s/20001121-1.c.s
+++ b/test/torture-s/20001121-1.c.s
@@ -45,7 +45,7 @@ main: # @main
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 3
+ .p2align 3
d:
.int64 0 # double 0
.size d, 8
diff --git a/test/torture-s/20001124-1.c.s b/test/torture-s/20001124-1.c.s
index 7a57b822b..b76001c2d 100644
--- a/test/torture-s/20001124-1.c.s
+++ b/test/torture-s/20001124-1.c.s
@@ -7,20 +7,24 @@
main: # @main
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
+ i32.const $push1=, 0
i32.const $push0=, 512
- i32.store $discard=, s($2), $pop0
- i32.const $push2=, 9
- i32.store8 $discard=, s+4($2), $pop2
- i32.const $push1=, s
- i32.store $discard=, i+8($2), $pop1
- i64.const $push3=, 2048
- i64.store $discard=, i($2), $pop3
- i64.const $push4=, 0
- i64.store $discard=, f($2), $pop4
- call exit@FUNCTION, $2
+ i32.store $discard=, s($pop1), $pop0
+ i32.const $push10=, 0
+ i32.const $push3=, 9
+ i32.store8 $discard=, s+4($pop10):p2align=2, $pop3
+ i32.const $push9=, 0
+ i32.const $push2=, s
+ i32.store $discard=, i+8($pop9):p2align=3, $pop2
+ i32.const $push8=, 0
+ i64.const $push4=, 2048
+ i64.store $discard=, i($pop8), $pop4
+ i32.const $push7=, 0
+ i64.const $push5=, 0
+ i64.store $discard=, f($pop7), $pop5
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.endfunc
.Lfunc_end0:
@@ -30,7 +34,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 12
.size s, 12
@@ -39,7 +43,7 @@ s:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 3
+ .p2align 3
i:
.skip 16
.size i, 16
@@ -48,7 +52,7 @@ i:
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 3
+ .p2align 3
f:
.skip 8
.size f, 8
diff --git a/test/torture-s/20001203-2.c.s b/test/torture-s/20001203-2.c.s
index e9d7c61f2..ae98ec6f2 100644
--- a/test/torture-s/20001203-2.c.s
+++ b/test/torture-s/20001203-2.c.s
@@ -10,66 +10,79 @@ create_array_type: # @create_array_type
.local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push27=, 0
- i32.eq $push28=, $0, $pop27
- br_if $pop28, 0 # 0: down to label0
+ i32.const $push49=, 0
+ i32.eq $push50=, $0, $pop49
+ br_if $pop50, 0 # 0: down to label0
# BB#1: # %if.end
- i32.load $push1=, 0($1)
- i32.const $push2=, 3
- i32.mul $push3=, $pop1, $pop2
- i32.store $discard=, 0($0), $pop3
- i32.const $push4=, 1
- i32.store16 $6=, 8($0), $pop4
- i32.load $1=, 4($0)
- i32.const $7=, 0
+ i32.load $push4=, 0($1)
+ i32.const $push5=, 3
+ i32.mul $push6=, $pop4, $pop5
+ i32.store $discard=, 0($0), $pop6
+ i32.const $push7=, 1
+ i32.store16 $discard=, 8($0):p2align=2, $pop7
+ i32.const $3=, 0
block
- i32.const $push29=, 0
- i32.eq $push30=, $1, $pop29
- br_if $pop30, 0 # 0: down to label1
+ i32.load $push0=, 4($0)
+ tee_local $push38=, $1=, $pop0
+ i32.const $push51=, 0
+ i32.eq $push52=, $pop38, $pop51
+ br_if $pop52, 0 # 0: down to label1
# BB#2: # %cond.true
- i32.const $push5=, 20
- i32.add $push6=, $1, $pop5
- i32.load $2=, 0($pop6)
- i32.const $7=, 16
- i32.add $4=, $1, $7
- i32.load $3=, 0($4)
block
- i32.sub $push7=, $2, $3
- i32.const $push8=, 15
- i32.le_s $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label2
+ i32.const $push8=, 20
+ i32.add $push9=, $1, $pop8
+ i32.load $push1=, 0($pop9)
+ tee_local $push42=, $5=, $pop1
+ i32.const $push41=, 16
+ i32.add $push10=, $1, $pop41
+ tee_local $push40=, $2=, $pop10
+ i32.load $push2=, 0($pop40)
+ tee_local $push39=, $4=, $pop2
+ i32.sub $push11=, $pop42, $pop39
+ i32.const $push12=, 15
+ i32.le_s $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label2
# BB#3: # %if.end9
- i32.add $push0=, $3, $7
- i32.store $3=, 0($4), $pop0
- i32.const $push10=, 12
- i32.add $5=, $1, $pop10
- i32.load $7=, 0($5)
+ i32.const $push15=, 12
+ i32.add $push16=, $1, $pop15
+ tee_local $push45=, $6=, $pop16
+ i32.load $3=, 0($pop45)
block
- i32.ne $push11=, $3, $7
- br_if $pop11, 0 # 0: down to label3
+ i32.const $push44=, 16
+ i32.add $push3=, $4, $pop44
+ i32.store $push14=, 0($2), $pop3
+ tee_local $push43=, $4=, $pop14
+ i32.ne $push17=, $pop43, $3
+ br_if $pop17, 0 # 0: down to label3
# BB#4: # %if.then16
- i32.const $push12=, 28
- i32.add $push13=, $1, $pop12
- i32.store $discard=, 0($pop13), $6
+ i32.const $push18=, 28
+ i32.add $push19=, $1, $pop18
+ i32.const $push20=, 1
+ i32.store $discard=, 0($pop19), $pop20
.LBB0_5: # %if.end17
end_block # label3:
- i32.const $push14=, 24
- i32.add $push15=, $1, $pop14
- i32.load $6=, 0($pop15)
- i32.add $push16=, $6, $3
- i32.const $push17=, -1
- i32.xor $push18=, $6, $pop17
- i32.and $push19=, $pop16, $pop18
- i32.store $3=, 0($4), $pop19
- i32.const $push20=, 8
- i32.add $push21=, $1, $pop20
- i32.load $1=, 0($pop21)
- i32.sub $push22=, $3, $1
- i32.sub $push23=, $2, $1
- i32.gt_s $push24=, $pop22, $pop23
- i32.select $push25=, $pop24, $2, $3
- i32.store $push26=, 0($4), $pop25
- i32.store $discard=, 0($5), $pop26
+ i32.const $push28=, 16
+ i32.add $2=, $1, $pop28
+ i32.const $push21=, 24
+ i32.add $push22=, $1, $pop21
+ i32.load $push23=, 0($pop22)
+ tee_local $push48=, $7=, $pop23
+ i32.add $push24=, $pop48, $4
+ i32.const $push25=, -1
+ i32.xor $push26=, $7, $pop25
+ i32.and $push27=, $pop24, $pop26
+ i32.store $push29=, 0($2), $pop27
+ tee_local $push47=, $4=, $pop29
+ i32.const $push30=, 8
+ i32.add $push31=, $1, $pop30
+ i32.load $push32=, 0($pop31)
+ tee_local $push46=, $1=, $pop32
+ i32.sub $push33=, $pop47, $pop46
+ i32.sub $push34=, $5, $1
+ i32.gt_s $push35=, $pop33, $pop34
+ i32.select $push36=, $pop35, $5, $4
+ i32.store $push37=, 0($2), $pop36
+ i32.store $discard=, 0($6), $pop37
br 1 # 1: down to label1
.LBB0_6: # %if.then8
end_block # label2:
@@ -77,7 +90,7 @@ create_array_type: # @create_array_type
unreachable
.LBB0_7: # %cond.end
end_block # label1:
- i32.store $discard=, 12($0), $7
+ i32.store $discard=, 12($0), $3
return $0
.LBB0_8: # %if.then
end_block # label0:
diff --git a/test/torture-s/20001228-1.c.s b/test/torture-s/20001228-1.c.s
index 8d915eb72..deffbc902 100644
--- a/test/torture-s/20001228-1.c.s
+++ b/test/torture-s/20001228-1.c.s
@@ -29,7 +29,7 @@ foo2: # @foo2
i32.store $3=, 0($1), $3
i32.const $push0=, 1
i32.store $discard=, 12($3), $pop0
- i32.load8_s $push1=, 12($3)
+ i32.load8_s $push1=, 12($3):p2align=2
i32.const $2=, 16
i32.add $3=, $3, $2
i32.const $2=, __stack_pointer
@@ -54,10 +54,10 @@ main: # @main
i32.const $1=, __stack_pointer
i32.store $2=, 0($1), $2
block
- i32.load8_u $push2=, 12($2)
i32.const $push0=, 1
i32.store $push1=, 12($2), $pop0
- i32.ne $push3=, $pop2, $pop1
+ i32.load8_u $push2=, 12($2):p2align=2
+ i32.ne $push3=, $pop1, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
i32.const $push4=, 0
diff --git a/test/torture-s/20010106-1.c.s b/test/torture-s/20010106-1.c.s
index aa9e1a1d8..dfb8b1b6b 100644
--- a/test/torture-s/20010106-1.c.s
+++ b/test/torture-s/20010106-1.c.s
@@ -7,20 +7,19 @@
f: # @f
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 2
- i32.add $0=, $0, $1
block
- i32.const $push0=, 7
- i32.ge_u $push1=, $0, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push6=, 2
+ i32.add $push0=, $0, $pop6
+ tee_local $push5=, $0=, $pop0
+ i32.const $push1=, 7
+ i32.ge_u $push2=, $pop5, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %switch.lookup
- i32.const $push3=, .Lswitch.table
- i32.shl $push2=, $0, $1
- i32.add $push4=, $pop3, $pop2
- i32.load $push5=, 0($pop4)
- return $pop5
+ i32.const $push7=, 2
+ i32.shl $push3=, $0, $pop7
+ i32.load $push4=, .Lswitch.table($pop3)
+ return $pop4
.LBB0_2: # %sw.default
end_block # label0:
call abort@FUNCTION
@@ -45,7 +44,7 @@ main: # @main
.type .Lswitch.table,@object # @switch.table
.section .rodata..Lswitch.table,"a",@progbits
- .align 4
+ .p2align 4
.Lswitch.table:
.int32 33 # 0x21
.int32 0 # 0x0
diff --git a/test/torture-s/20010116-1.c.s b/test/torture-s/20010116-1.c.s
index 88e84ac66..d2908994c 100644
--- a/test/torture-s/20010116-1.c.s
+++ b/test/torture-s/20010116-1.c.s
@@ -6,20 +6,21 @@
.type find,@function
find: # @find
.param i32, i32
- .local i32
# BB#0: # %for.cond
- i32.const $2=, 2
block
- i32.sub $push0=, $1, $0
- i32.shr_s $push1=, $pop0, $2
- i32.const $push2=, -1431655765
- i32.mul $push3=, $pop1, $pop2
- i32.shr_s $2=, $pop3, $2
- i32.const $push4=, 1
- i32.lt_s $push5=, $2, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.sub $push1=, $1, $0
+ i32.const $push2=, 2
+ i32.shr_s $push3=, $pop1, $pop2
+ i32.const $push4=, -1431655765
+ i32.mul $push5=, $pop3, $pop4
+ i32.const $push9=, 2
+ i32.shr_s $push0=, $pop5, $pop9
+ tee_local $push8=, $0=, $pop0
+ i32.const $push6=, 1
+ i32.lt_s $push7=, $pop8, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %for.body
- call ok@FUNCTION, $2
+ call ok@FUNCTION, $0
unreachable
.LBB0_2: # %for.end
end_block # label0:
@@ -58,21 +59,17 @@ ok: # @ok
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
i32.const $0=, __stack_pointer
i32.load $0=, 0($0)
i32.const $1=, 48
- i32.sub $4=, $0, $1
+ i32.sub $2=, $0, $1
i32.const $1=, __stack_pointer
- i32.store $4=, 0($1), $4
+ i32.store $2=, 0($1), $2
i32.const $push0=, 48
- i32.const $2=, 0
- i32.add $2=, $4, $2
i32.add $push1=, $2, $pop0
- i32.const $3=, 0
- i32.add $3=, $4, $3
- call find@FUNCTION, $3, $pop1
+ call find@FUNCTION, $2, $pop1
unreachable
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/20010118-1.c.s b/test/torture-s/20010118-1.c.s
index 6b0e52b82..46416f7f6 100644
--- a/test/torture-s/20010118-1.c.s
+++ b/test/torture-s/20010118-1.c.s
@@ -18,7 +18,7 @@ foo: # @foo
.type bar,@function
bar: # @bar
.param i32, i32, i32, i32, i32
- .local f64, f64, i32, i32
+ .local i32, i32
# BB#0: # %entry
block
block
@@ -33,24 +33,26 @@ bar: # @bar
br_if $pop5, 1 # 1: down to label0
.LBB1_2: # %if.then
end_block # label1:
- f64.const $5=, 0x0p0
- f64.const $6=, 0x1p-1
i32.load $push6=, 16($0)
f64.convert_s/i32 $push8=, $pop6
- f64.mul $push9=, $pop8, $5
- f64.mul $push10=, $pop9, $6
- i32.trunc_s/f64 $7=, $pop10
+ f64.const $push9=, 0x0p0
+ f64.mul $push10=, $pop8, $pop9
+ f64.const $push11=, 0x1p-1
+ f64.mul $push12=, $pop10, $pop11
+ i32.trunc_s/f64 $5=, $pop12
i32.load $push7=, 20($0)
- f64.convert_s/i32 $push11=, $pop7
- f64.mul $push12=, $pop11, $5
- f64.mul $push13=, $pop12, $6
- i32.trunc_s/f64 $8=, $pop13
- i32.add $push14=, $7, $1
- i32.store $discard=, 0($0), $pop14
- i32.const $push16=, 4
- i32.add $push17=, $0, $pop16
- i32.add $push15=, $8, $2
- i32.store $discard=, 0($pop17), $pop15
+ f64.convert_s/i32 $push13=, $pop7
+ f64.const $push21=, 0x0p0
+ f64.mul $push14=, $pop13, $pop21
+ f64.const $push20=, 0x1p-1
+ f64.mul $push15=, $pop14, $pop20
+ i32.trunc_s/f64 $6=, $pop15
+ i32.add $push16=, $5, $1
+ i32.store $discard=, 0($0), $pop16
+ i32.const $push18=, 4
+ i32.add $push19=, $0, $pop18
+ i32.add $push17=, $6, $2
+ i32.store $discard=, 0($pop19), $pop17
i32.store $discard=, 8($0), $3
i32.store $discard=, 12($0), $4
.LBB1_3: # %if.end
diff --git a/test/torture-s/20010129-1.c.s b/test/torture-s/20010129-1.c.s
new file mode 100644
index 000000000..9a223002a
--- /dev/null
+++ b/test/torture-s/20010129-1.c.s
@@ -0,0 +1,207 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20010129-1.c"
+ .section .text.baz1,"ax",@progbits
+ .hidden baz1
+ .globl baz1
+ .type baz1,@function
+baz1: # @baz1
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, baz1.l($pop5)
+ tee_local $push4=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop4, $pop2
+ i32.store $discard=, baz1.l($pop0), $pop3
+ return $1
+ .endfunc
+.Lfunc_end0:
+ .size baz1, .Lfunc_end0-baz1
+
+ .section .text.baz2,"ax",@progbits
+ .hidden baz2
+ .globl baz2
+ .type baz2,@function
+baz2: # @baz2
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ return $pop0
+ .endfunc
+.Lfunc_end1:
+ .size baz2, .Lfunc_end1-baz2
+
+ .section .text.baz3,"ax",@progbits
+ .hidden baz3
+ .globl baz3
+ .type baz3,@function
+baz3: # @baz3
+ .param i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push1=, 0
+ i32.eq $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push0=, 1
+ return $pop0
+.LBB2_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size baz3, .Lfunc_end2-baz3
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push29=, 0
+ i32.const $push28=, 0
+ i32.load $push25=, baz1.l($pop28)
+ tee_local $push27=, $9=, $pop25
+ i32.const $push26=, 1
+ i32.add $push4=, $pop27, $pop26
+ i32.store $discard=, baz1.l($pop29), $pop4
+ block
+ i32.ge_s $push5=, $9, $1
+ br_if $pop5, 0 # 0: down to label1
+# BB#1: # %if.then.lr.ph
+ i32.const $push6=, 16
+ i32.and $3=, $2, $pop6
+ i32.const $push7=, 13834
+ i32.and $push8=, $2, $pop7
+ i32.const $push38=, 0
+ i32.ne $push16=, $pop8, $pop38
+ i32.const $push9=, 128
+ i32.and $push10=, $2, $pop9
+ i32.const $push37=, 0
+ i32.eq $push11=, $pop10, $pop37
+ i32.const $push36=, 0
+ i32.load $push12=, bar($pop36)
+ i32.const $push35=, 0
+ i32.eq $push13=, $pop12, $pop35
+ i32.or $push0=, $pop11, $pop13
+ tee_local $push34=, $10=, $pop0
+ i32.or $4=, $pop16, $pop34
+ i32.const $push15=, 13832
+ i32.and $push3=, $2, $pop15
+ i32.const $push33=, 0
+ i32.ne $5=, $pop3, $pop33
+ i32.const $push32=, 2
+ i32.and $push2=, $2, $pop32
+ i32.const $push31=, 0
+ i32.ne $6=, $pop2, $pop31
+ i32.const $push14=, 16384
+ i32.and $push1=, $2, $pop14
+ i32.const $push30=, 0
+ i32.eq $7=, $pop1, $pop30
+ i32.const $2=, 0
+.LBB3_2: # %if.then
+ # =>This Inner Loop Header: Depth=1
+ loop # label2:
+ i32.const $8=, 0
+ block
+ i32.or $push17=, $2, $3
+ i32.const $push45=, 0
+ i32.eq $push46=, $pop17, $pop45
+ br_if $pop46, 0 # 0: down to label4
+# BB#3: # %if.end17
+ # in Loop: Header=BB3_2 Depth=1
+ i32.const $push42=, 1
+ i32.select $8=, $2, $2, $pop42
+ block
+ block
+ br_if $3, 0 # 0: down to label6
+# BB#4: # %land.lhs.true25
+ # in Loop: Header=BB3_2 Depth=1
+ br_if $4, 2 # 2: down to label4
+ br 1 # 1: down to label5
+.LBB3_5: # %land.lhs.true20
+ # in Loop: Header=BB3_2 Depth=1
+ end_block # label6:
+ i32.const $push43=, 0
+ i32.ne $push18=, $2, $pop43
+ i32.or $push19=, $7, $pop18
+ i32.and $push20=, $6, $pop19
+ i32.or $push21=, $5, $pop20
+ i32.or $push22=, $10, $pop21
+ br_if $pop22, 1 # 1: down to label4
+.LBB3_6: # %for.body
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB3_7: # %while.cond.backedge
+ # in Loop: Header=BB3_2 Depth=1
+ end_block # label4:
+ i32.const $push41=, 0
+ i32.const $push40=, 2
+ i32.add $push23=, $9, $pop40
+ i32.store $discard=, baz1.l($pop41), $pop23
+ i32.const $push39=, 1
+ i32.add $9=, $9, $pop39
+ copy_local $2=, $8
+ i32.lt_s $push24=, $9, $1
+ br_if $pop24, 0 # 0: up to label2
+.LBB3_8: # %while.end
+ end_loop # label3:
+ end_block # label1:
+ i32.const $push44=, 0
+ return $pop44
+ .endfunc
+.Lfunc_end3:
+ .size foo, .Lfunc_end3-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.const $push0=, 0
+ i32.store $push1=, 12($4), $pop0
+ tee_local $push4=, $0=, $pop1
+ i32.const $3=, 12
+ i32.add $3=, $4, $3
+ i32.store $discard=, bar($pop4), $3
+ i32.const $push3=, 1
+ i32.const $push2=, 51217
+ i32.call $discard=, foo@FUNCTION, $0, $pop3, $pop2
+ call exit@FUNCTION, $0
+ unreachable
+ .endfunc
+.Lfunc_end4:
+ .size main, .Lfunc_end4-main
+
+ .type baz1.l,@object # @baz1.l
+ .lcomm baz1.l,4,2
+ .hidden bar # @bar
+ .type bar,@object
+ .section .bss.bar,"aw",@nobits
+ .globl bar
+ .p2align 2
+bar:
+ .int32 0
+ .size bar, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20010221-1.c.s b/test/torture-s/20010221-1.c.s
index 76ff99d01..334bd08ac 100644
--- a/test/torture-s/20010221-1.c.s
+++ b/test/torture-s/20010221-1.c.s
@@ -6,29 +6,33 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.load $0=, n($3)
- i32.const $2=, 45
- i32.const $1=, 1
+ i32.const $1=, 0
+ i32.const $0=, 45
block
- i32.lt_s $push0=, $0, $1
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push8=, 0
+ i32.load $push0=, n($pop8)
+ tee_local $push7=, $2=, $pop0
+ i32.const $push6=, 1
+ i32.lt_s $push1=, $pop7, $pop6
+ br_if $pop1, 0 # 0: down to label0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.select $2=, $3, $3, $2
- i32.add $3=, $3, $1
- i32.lt_s $push1=, $3, $0
- br_if $pop1, 0 # 0: up to label1
+ i32.select $0=, $1, $1, $0
+ i32.const $push9=, 1
+ i32.add $1=, $1, $pop9
+ i32.lt_s $push2=, $1, $2
+ br_if $pop2, 0 # 0: up to label1
# BB#2: # %for.end
end_loop # label2:
- i32.ne $push2=, $2, $1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push3=, 1
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#3: # %if.end5
- i32.const $push3=, 0
- call exit@FUNCTION, $pop3
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
unreachable
.LBB0_4: # %if.then4
end_block # label0:
@@ -42,7 +46,7 @@ main: # @main
.type n,@object
.section .data.n,"aw",@progbits
.globl n
- .align 2
+ .p2align 2
n:
.int32 2 # 0x2
.size n, 4
diff --git a/test/torture-s/20010222-1.c.s b/test/torture-s/20010222-1.c.s
index ffa5a3407..208796857 100644
--- a/test/torture-s/20010222-1.c.s
+++ b/test/torture-s/20010222-1.c.s
@@ -6,12 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push1=, a+4($0)
- i32.load $push0=, a($0)
+ i32.const $push10=, 0
+ i32.load $push1=, a+4($pop10)
+ i32.const $push9=, 0
+ i32.load $push0=, a($pop9)
i32.add $push2=, $pop1, $pop0
i32.const $push3=, -3
i32.mul $push4=, $pop2, $pop3
@@ -25,7 +25,8 @@ main: # @main
unreachable
.LBB0_2: # %if.end
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push11=, 0
+ call exit@FUNCTION, $pop11
unreachable
.endfunc
.Lfunc_end0:
@@ -35,7 +36,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 18 # 0x12
.int32 6 # 0x6
diff --git a/test/torture-s/20010224-1.c.s b/test/torture-s/20010224-1.c.s
index 40382e4b0..49e9e8a02 100644
--- a/test/torture-s/20010224-1.c.s
+++ b/test/torture-s/20010224-1.c.s
@@ -6,43 +6,45 @@
.type ba_compute_psd,@function
ba_compute_psd: # @ba_compute_psd
.param i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $4=, 1
- i32.shl $5=, $0, $4
- i32.const $push4=, psd
- i32.add $2=, $pop4, $5
- i32.const $push6=, bndpsd
- i32.const $push1=, masktab
- i32.add $push2=, $pop1, $5
- i32.load16_s $push3=, 0($pop2)
- i32.shl $push5=, $pop3, $4
- i32.add $1=, $pop6, $pop5
- i32.load16_u $push0=, 0($2)
- i32.store16 $5=, 0($1), $pop0
- i32.const $3=, 3
+ i32.const $push1=, 1
+ i32.shl $push2=, $0, $pop1
+ tee_local $push15=, $1=, $pop2
+ i32.load16_s $push3=, masktab($pop15)
+ i32.const $push14=, 1
+ i32.shl $push4=, $pop3, $pop14
+ tee_local $push13=, $3=, $pop4
+ i32.load16_u $push0=, psd($1)
+ i32.store16 $2=, bndpsd($pop13), $pop0
block
- i32.add $push7=, $0, $4
- i32.gt_s $push8=, $pop7, $3
- br_if $pop8, 0 # 0: down to label0
+ i32.const $push12=, 1
+ i32.add $push6=, $0, $pop12
+ i32.const $push11=, 3
+ i32.gt_s $push7=, $pop6, $pop11
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %for.body.preheader
- i32.sub $4=, $3, $0
- i32.const $3=, 2
- i32.add $0=, $2, $3
+ i32.const $push5=, bndpsd
+ i32.add $3=, $3, $pop5
+ i32.const $push8=, psd+2
+ i32.add $1=, $1, $pop8
+ i32.const $push16=, 3
+ i32.sub $0=, $pop16, $0
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.load16_u $push11=, 0($0)
- i32.const $push9=, 65535
- i32.and $push10=, $5, $pop9
- i32.add $5=, $pop11, $pop10
- i32.const $push12=, -1
- i32.add $4=, $4, $pop12
- i32.add $0=, $0, $3
- br_if $4, 0 # 0: up to label1
+ i32.load16_u $push10=, 0($1)
+ i32.const $push19=, 65535
+ i32.and $push9=, $2, $pop19
+ i32.add $2=, $pop10, $pop9
+ i32.const $push18=, 2
+ i32.add $1=, $1, $pop18
+ i32.const $push17=, -1
+ i32.add $0=, $0, $pop17
+ br_if $0, 0 # 0: up to label1
# BB#3: # %for.cond.for.end_crit_edge
end_loop # label2:
- i32.store16 $discard=, 0($1), $5
+ i32.store16 $discard=, 0($3), $2
.LBB0_4: # %for.end
end_block # label0:
return
@@ -57,15 +59,15 @@ ba_compute_psd: # @ba_compute_psd
logadd: # @logadd
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 16
i32.load16_u $push1=, 0($1)
i32.load16_u $push0=, 0($0)
i32.add $push2=, $pop1, $pop0
- i32.shl $push3=, $pop2, $2
- i32.shr_s $push4=, $pop3, $2
- return $pop4
+ i32.const $push3=, 16
+ i32.shl $push4=, $pop2, $pop3
+ i32.const $push6=, 16
+ i32.shr_s $push5=, $pop4, $pop6
+ return $pop5
.endfunc
.Lfunc_end1:
.size logadd, .Lfunc_end1-logadd
@@ -76,29 +78,32 @@ logadd: # @logadd
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
- i32.const $push3=, bndpsd
- i32.load16_s $push0=, masktab($0)
+ i32.const $push18=, 0
+ i32.load16_s $push0=, masktab($pop18)
i32.const $push1=, 1
i32.shl $push2=, $pop0, $pop1
- i32.add $push4=, $pop3, $pop2
- i32.load16_u $push10=, psd+6($0)
- i32.load16_u $push8=, psd+4($0)
- i32.load16_u $push6=, psd+2($0)
- i32.load16_u $push5=, psd($0)
+ i32.const $push17=, 0
+ i32.load16_u $push8=, psd+6($pop17)
+ i32.const $push16=, 0
+ i32.load16_u $push6=, psd+4($pop16)
+ i32.const $push15=, 0
+ i32.load16_u $push4=, psd+2($pop15)
+ i32.const $push14=, 0
+ i32.load16_u $push3=, psd($pop14)
+ i32.add $push5=, $pop4, $pop3
i32.add $push7=, $pop6, $pop5
i32.add $push9=, $pop8, $pop7
- i32.add $push11=, $pop10, $pop9
- i32.store16 $discard=, 0($pop4), $pop11
- i32.load16_u $push12=, bndpsd+2($0)
- i32.const $push13=, 140
- i32.ne $push14=, $pop12, $pop13
- br_if $pop14, 0 # 0: down to label3
+ i32.store16 $discard=, bndpsd($pop2), $pop9
+ block
+ i32.const $push13=, 0
+ i32.load16_u $push10=, bndpsd+2($pop13)
+ i32.const $push11=, 140
+ i32.ne $push12=, $pop10, $pop11
+ br_if $pop12, 0 # 0: down to label3
# BB#1: # %if.end
- return $0
+ i32.const $push19=, 0
+ return $pop19
.LBB2_2: # %if.then
end_block # label3:
call abort@FUNCTION
@@ -111,7 +116,7 @@ main: # @main
.type masktab,@object
.section .data.masktab,"aw",@progbits
.globl masktab
- .align 1
+ .p2align 1
masktab:
.int16 1 # 0x1
.int16 2 # 0x2
@@ -125,7 +130,7 @@ masktab:
.type psd,@object
.section .data.psd,"aw",@progbits
.globl psd
- .align 1
+ .p2align 1
psd:
.int16 50 # 0x32
.int16 40 # 0x28
@@ -139,7 +144,7 @@ psd:
.type bndpsd,@object
.section .data.bndpsd,"aw",@progbits
.globl bndpsd
- .align 1
+ .p2align 1
bndpsd:
.int16 1 # 0x1
.int16 2 # 0x2
diff --git a/test/torture-s/20010403-1.c.s b/test/torture-s/20010403-1.c.s
index c5e07bd2b..542eda618 100644
--- a/test/torture-s/20010403-1.c.s
+++ b/test/torture-s/20010403-1.c.s
@@ -78,7 +78,7 @@ main: # @main
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
diff --git a/test/torture-s/20010409-1.c.s b/test/torture-s/20010409-1.c.s
index 7c581e38e..4510d0344 100644
--- a/test/torture-s/20010409-1.c.s
+++ b/test/torture-s/20010409-1.c.s
@@ -46,20 +46,22 @@ bar: # @bar
.type test,@function
test: # @test
.param i32, i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $3=, b($2)
- block
+ i32.const $push2=, 0
+ i32.load $2=, b($pop2)
+ i32.const $push1=, 0
i32.const $push0=, 5000
- i32.store $discard=, c($2), $pop0
- br_if $3, 0 # 0: down to label1
+ i32.store $discard=, c($pop1), $pop0
+ block
+ br_if $2, 0 # 0: down to label1
# BB#1: # %if.then.i
call abort@FUNCTION
unreachable
.LBB2_2: # %if.end.i
end_block # label1:
- call exit@FUNCTION, $2
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.endfunc
.Lfunc_end2:
@@ -73,21 +75,23 @@ main: # @main
.result i32
.local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.store $discard=, d+4($0), $0
- i32.load $1=, b($0)
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.store $push1=, d+4($pop0), $pop5
+ tee_local $push4=, $1=, $pop1
+ i32.load $0=, b($pop4)
+ i32.const $push2=, a
+ i32.store $discard=, d($1), $pop2
+ i32.const $push3=, 5000
+ i32.store $discard=, c($1), $pop3
block
- i32.const $push0=, a
- i32.store $discard=, d($0), $pop0
- i32.const $push1=, 5000
- i32.store $discard=, c($0), $pop1
- br_if $1, 0 # 0: down to label2
+ br_if $0, 0 # 0: down to label2
# BB#1: # %if.then.i.i
call abort@FUNCTION
unreachable
.LBB3_2: # %if.end.i.i
end_block # label2:
- call exit@FUNCTION, $0
+ call exit@FUNCTION, $1
unreachable
.endfunc
.Lfunc_end3:
@@ -97,7 +101,7 @@ main: # @main
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 1 # 0x1
.size b, 4
@@ -106,7 +110,7 @@ b:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -115,7 +119,7 @@ c:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.skip 8
.size d, 8
@@ -124,7 +128,7 @@ d:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0
.size a, 4
diff --git a/test/torture-s/20010518-2.c.s b/test/torture-s/20010518-2.c.s
index ae58689ab..4d60345cc 100644
--- a/test/torture-s/20010518-2.c.s
+++ b/test/torture-s/20010518-2.c.s
@@ -6,64 +6,68 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 48
- i32.sub $8=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $8=, 0($7), $8
- block
- i32.const $push0=, 1
- i32.store16 $0=, 28($8), $pop0
- i32.const $push1=, 2
- i32.store $1=, 24($8), $pop1
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 48
+ i32.sub $4=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
i32.const $push2=, 3
- i32.store16 $2=, 22($8), $pop2
+ i32.store16 $discard=, 22($4), $pop2
i32.const $push3=, 4
- i32.store16 $3=, 20($8), $pop3
+ i32.store16 $discard=, 20($4), $pop3
i32.const $push4=, 0
- i32.store $push5=, 16($8), $pop4
- i32.store8 $push6=, 15($8), $pop5
- i32.store8 $4=, 14($8), $pop6
- i32.load16_u $push7=, 28($8)
- i32.store16 $discard=, 46($8), $pop7
- i32.load $push8=, 24($8)
- i32.store $discard=, 40($8), $pop8
- i32.load16_u $push9=, 22($8)
- i32.store16 $discard=, 38($8), $pop9
- i32.load16_u $push10=, 20($8)
- i32.store16 $discard=, 36($8), $pop10
- i32.load $push11=, 16($8)
- i32.store $discard=, 32($8), $pop11
- i32.load8_u $push12=, 15($8)
- i32.store8 $discard=, 31($8), $pop12
- i32.load8_u $push13=, 14($8)
- i32.store8 $discard=, 30($8), $pop13
+ i32.store $push5=, 16($4):p2align=3, $pop4
+ i32.store8 $push6=, 15($4), $pop5
+ i32.store8 $discard=, 14($4), $pop6
+ i32.const $push0=, 1
+ i32.store16 $0=, 28($4), $pop0
+ i32.const $push1=, 2
+ i32.store $1=, 24($4), $pop1
+ i32.load16_u $push7=, 28($4)
+ i32.store16 $discard=, 46($4), $pop7
+ i32.load $push8=, 24($4)
+ i32.store $discard=, 40($4), $pop8
+ i32.load16_u $push9=, 22($4)
+ i32.store16 $discard=, 38($4), $pop9
+ i32.load16_u $push10=, 20($4)
+ i32.store16 $discard=, 36($4), $pop10
+ i32.load $push11=, 16($4):p2align=3
+ i32.store $discard=, 32($4):p2align=3, $pop11
+ i32.load8_u $push12=, 15($4)
+ i32.store8 $discard=, 31($4), $pop12
+ i32.load8_u $push13=, 14($4)
+ i32.store8 $discard=, 30($4), $pop13
i32.const $push14=, 99
- i32.store8 $5=, 31($8), $pop14
- i32.load16_u $push15=, 46($8)
- i32.ne $push16=, $pop15, $0
+ i32.store8 $discard=, 31($4), $pop14
+ block
+ i32.load16_u $push15=, 46($4)
+ i32.ne $push16=, $0, $pop15
br_if $pop16, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.load $push17=, 40($8)
+ i32.load $push17=, 40($4)
i32.ne $push18=, $pop17, $1
br_if $pop18, 0 # 0: down to label0
# BB#2: # %lor.lhs.false9
- i32.load16_u $push19=, 38($8)
- i32.ne $push20=, $pop19, $2
- br_if $pop20, 0 # 0: down to label0
+ i32.load16_u $push19=, 38($4)
+ i32.const $push20=, 3
+ i32.ne $push21=, $pop19, $pop20
+ br_if $pop21, 0 # 0: down to label0
# BB#3: # %lor.lhs.false14
- i32.load16_u $push21=, 36($8)
- i32.ne $push22=, $pop21, $3
- br_if $pop22, 0 # 0: down to label0
-# BB#4: # %lor.lhs.false19
- i32.load8_u $push23=, 31($8)
- i32.ne $push24=, $pop23, $5
+ i32.load16_u $push22=, 36($4)
+ i32.const $push23=, 4
+ i32.ne $push24=, $pop22, $pop23
br_if $pop24, 0 # 0: down to label0
+# BB#4: # %lor.lhs.false19
+ i32.load8_u $push25=, 31($4)
+ i32.const $push26=, 99
+ i32.ne $push27=, $pop25, $pop26
+ br_if $pop27, 0 # 0: down to label0
# BB#5: # %if.end
- call exit@FUNCTION, $4
+ i32.const $push28=, 0
+ call exit@FUNCTION, $pop28
unreachable
.LBB0_6: # %if.then
end_block # label0:
diff --git a/test/torture-s/20010604-1.c.s b/test/torture-s/20010604-1.c.s
index 10b0d2341..dae3f45aa 100644
--- a/test/torture-s/20010604-1.c.s
+++ b/test/torture-s/20010604-1.c.s
@@ -7,22 +7,24 @@
f: # @f
.param i32, i32, i32, i32, i32, i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $7=, 1
block
i32.const $push3=, 255
i32.and $push4=, $6, $pop3
- i32.ne $push5=, $pop4, $7
+ i32.const $push8=, 1
+ i32.ne $push5=, $pop4, $pop8
br_if $pop5, 0 # 0: down to label0
# BB#1: # %entry
- i32.xor $push0=, $3, $7
+ i32.const $push9=, 1
+ i32.xor $push0=, $3, $pop9
br_if $pop0, 0 # 0: down to label0
# BB#2: # %entry
- i32.xor $push1=, $4, $7
+ i32.const $push10=, 1
+ i32.xor $push1=, $4, $pop10
br_if $pop1, 0 # 0: down to label0
# BB#3: # %entry
- i32.xor $push2=, $5, $7
+ i32.const $push11=, 1
+ i32.xor $push2=, $5, $pop11
br_if $pop2, 0 # 0: down to label0
# BB#4: # %if.end
i32.add $push6=, $1, $0
diff --git a/test/torture-s/20010605-2.c.s b/test/torture-s/20010605-2.c.s
new file mode 100644
index 000000000..b5049ae3a
--- /dev/null
+++ b/test/torture-s/20010605-2.c.s
@@ -0,0 +1,107 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20010605-2.c"
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %baz.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32
+# BB#0: # %entry
+ block
+ f64.load $push0=, 0($0)
+ f64.const $push1=, 0x1p0
+ f64.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ f64.load $push3=, 8($0)
+ f64.const $push4=, 0x1p1
+ f64.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
+# BB#2: # %if.end
+ return
+.LBB1_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32
+# BB#0: # %entry
+ block
+ f32.load $push0=, 0($0)
+ f32.const $push1=, 0x1.8p1
+ f32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label1
+# BB#1: # %lor.lhs.false
+ f32.load $push3=, 4($0)
+ f32.const $push4=, 0x1p2
+ f32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
+# BB#2: # %if.end
+ return
+.LBB2_3: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size bar, .Lfunc_end2-bar
+
+ .section .text.baz,"ax",@progbits
+ .hidden baz
+ .globl baz
+ .type baz,@function
+baz: # @baz
+ .param i32
+# BB#0: # %entry
+ block
+ i64.load $push3=, 0($0):p2align=4
+ i32.const $push0=, 8
+ i32.add $push1=, $0, $pop0
+ i64.load $push2=, 0($pop1)
+ i64.const $push12=, 0
+ i64.const $push4=, 4612037862148276224
+ i32.call $push5=, __netf2@FUNCTION, $pop3, $pop2, $pop12, $pop4
+ br_if $pop5, 0 # 0: down to label2
+# BB#1: # %lor.lhs.false
+ i64.load $push9=, 16($0):p2align=4
+ i32.const $push6=, 24
+ i32.add $push7=, $0, $pop6
+ i64.load $push8=, 0($pop7)
+ i64.const $push13=, 0
+ i64.const $push10=, 4612108230892453888
+ i32.call $push11=, __eqtf2@FUNCTION, $pop9, $pop8, $pop13, $pop10
+ br_if $pop11, 0 # 0: down to label2
+# BB#2: # %if.end
+ return
+.LBB3_3: # %if.then
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size baz, .Lfunc_end3-baz
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20010904-1.c.s b/test/torture-s/20010904-1.c.s
index b2eaafcc2..6dc5705b3 100644
--- a/test/torture-s/20010904-1.c.s
+++ b/test/torture-s/20010904-1.c.s
@@ -18,7 +18,7 @@ main: # @main
.type y,@object
.section .bss.y,"aw",@nobits
.globl y
- .align 5
+ .p2align 5
y:
.skip 2112
.size y, 2112
diff --git a/test/torture-s/20010904-2.c.s b/test/torture-s/20010904-2.c.s
index a995f2b09..40e905341 100644
--- a/test/torture-s/20010904-2.c.s
+++ b/test/torture-s/20010904-2.c.s
@@ -18,7 +18,7 @@ main: # @main
.type y,@object
.section .bss.y,"aw",@nobits
.globl y
- .align 5
+ .p2align 5
y:
.skip 2112
.size y, 2112
diff --git a/test/torture-s/20010915-1.c.s b/test/torture-s/20010915-1.c.s
index 51bd65d73..1b9dbf3f1 100644
--- a/test/torture-s/20010915-1.c.s
+++ b/test/torture-s/20010915-1.c.s
@@ -7,44 +7,44 @@
main: # @main
.param i32, i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $4=, __stack_pointer
- i32.load $4=, 0($4)
- i32.const $5=, 32
- i32.sub $7=, $4, $5
- i32.const $5=, __stack_pointer
- i32.store $7=, 0($5), $7
- i32.const $2=, 0
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 32
+ i32.sub $4=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
i32.const $push2=, 16
- i32.const $6=, 0
- i32.add $6=, $7, $6
- i32.add $push3=, $6, $pop2
- i32.load $push1=, .Lmain.args+16($2)
- i32.store $discard=, 0($pop3), $pop1
+ i32.add $push3=, $4, $pop2
+ i32.const $push17=, 0
+ i32.load $push1=, .Lmain.args+16($pop17):p2align=4
+ i32.store $discard=, 0($pop3):p2align=4, $pop1
i32.const $push5=, 8
- i32.const $7=, 0
- i32.add $7=, $7, $7
- i32.or $push6=, $7, $pop5
- i64.load $push4=, .Lmain.args+8($2)
+ i32.or $push6=, $4, $pop5
+ i32.const $push16=, 0
+ i64.load $push4=, .Lmain.args+8($pop16)
i64.store $discard=, 0($pop6), $pop4
- i32.const $3=, 5
- i64.load $push7=, .Lmain.args($2)
- i64.store $discard=, 0($7), $pop7
- i32.const $8=, 0
- i32.add $8=, $7, $8
- i32.call $discard=, x@FUNCTION, $3, $8
+ i32.const $push15=, 0
+ i64.load $push7=, .Lmain.args($pop15):p2align=4
+ i64.store $discard=, 0($4):p2align=4, $pop7
+ i32.const $push14=, 5
+ i32.call $discard=, x@FUNCTION, $pop14, $4
block
- i32.load $push8=, check($2)
+ i32.const $push13=, 0
+ i32.load $push8=, check($pop13)
i32.const $push9=, 2
i32.ne $push10=, $pop8, $pop9
br_if $pop10, 0 # 0: down to label0
# BB#1: # %entry
- i32.load $push0=, o($2)
- i32.ne $push11=, $pop0, $3
+ i32.const $push19=, 0
+ i32.load $push0=, o($pop19)
+ i32.const $push18=, 5
+ i32.ne $push11=, $pop0, $pop18
br_if $pop11, 0 # 0: down to label0
# BB#2: # %if.end
- call exit@FUNCTION, $2
+ i32.const $push12=, 0
+ call exit@FUNCTION, $pop12
unreachable
.LBB0_3: # %if.then
end_block # label0:
@@ -61,92 +61,124 @@ main: # @main
x: # @x
.param i32, i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push3=, 3
- i32.lt_s $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push10=, 3
+ i32.lt_s $push11=, $0, $pop10
+ br_if $pop11, 0 # 0: down to label1
# BB#1: # %entry
- i32.const $4=, 0
- i32.load $6=, o($4)
- i32.ge_s $push5=, $6, $0
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push9=, 0
+ i32.load $push0=, o($pop9)
+ tee_local $push42=, $2=, $pop0
+ i32.ge_s $push12=, $pop42, $0
+ br_if $pop12, 0 # 0: down to label1
# BB#2: # %land.lhs.true2
- i32.const $3=, 2
- i32.shl $push6=, $6, $3
- i32.add $2=, $1, $pop6
- i32.load $8=, 0($2)
- i32.const $push25=, 0
- i32.eq $push26=, $8, $pop25
- br_if $pop26, 0 # 0: down to label1
+ i32.const $push13=, 2
+ i32.shl $push14=, $2, $pop13
+ i32.add $push1=, $1, $pop14
+ tee_local $push44=, $4=, $pop1
+ i32.load $push2=, 0($pop44)
+ tee_local $push43=, $5=, $pop2
+ i32.const $push70=, 0
+ i32.eq $push71=, $pop43, $pop70
+ br_if $pop71, 0 # 0: down to label1
# BB#3: # %if.then
- i32.const $5=, .L.str
block
- i32.call $push7=, strcmp@FUNCTION, $8, $5
- br_if $pop7, 0 # 0: down to label2
+ i32.const $push15=, .L.str
+ i32.call $push16=, strcmp@FUNCTION, $5, $pop15
+ br_if $pop16, 0 # 0: down to label2
# BB#4: # %lor.lhs.false.i
- i32.load $7=, check($4)
- i32.const $1=, 1
- i32.add $push8=, $7, $1
- i32.store $discard=, check($4), $pop8
- i32.ge_s $push9=, $7, $3
- br_if $pop9, 0 # 0: down to label2
+ i32.const $push17=, 0
+ i32.const $push46=, 0
+ i32.load $push3=, check($pop46)
+ tee_local $push45=, $3=, $pop3
+ i32.const $push18=, 1
+ i32.add $push19=, $pop45, $pop18
+ i32.store $discard=, check($pop17), $pop19
+ i32.const $push20=, 2
+ i32.ge_s $push21=, $3, $pop20
+ br_if $pop21, 0 # 0: down to label2
# BB#5: # %s.exit
block
- i32.call $push10=, strcmp@FUNCTION, $8, $5
- br_if $pop10, 0 # 0: down to label3
+ i32.const $push22=, .L.str
+ i32.call $push23=, strcmp@FUNCTION, $5, $pop22
+ br_if $pop23, 0 # 0: down to label3
# BB#6: # %lor.lhs.false.i45
- i32.add $push11=, $7, $3
- i32.store $discard=, check($4), $pop11
- i32.ge_s $push12=, $7, $1
- br_if $pop12, 0 # 0: down to label3
+ i32.const $push48=, 0
+ i32.const $push24=, 2
+ i32.add $push25=, $3, $pop24
+ i32.store $discard=, check($pop48), $pop25
+ i32.const $push47=, 1
+ i32.ge_s $push26=, $3, $pop47
+ br_if $pop26, 0 # 0: down to label3
# BB#7: # %s.exit48
- i32.store $discard=, u($4), $4
+ i32.const $push51=, 0
+ i32.const $push50=, 0
+ i32.store $discard=, u($pop51), $pop50
block
- i32.load $push14=, 0($2)
- i32.add $push13=, $8, $1
- i32.eq $push15=, $pop14, $pop13
- br_if $pop15, 0 # 0: down to label4
+ i32.load $push28=, 0($4)
+ i32.const $push49=, 1
+ i32.add $push27=, $5, $pop49
+ i32.eq $push29=, $pop28, $pop27
+ br_if $pop29, 0 # 0: down to label4
# BB#8: # %while.cond.preheader
block
- i32.add $push0=, $6, $1
- i32.store $8=, o($4), $pop0
- i32.ge_s $push16=, $8, $0
- br_if $pop16, 0 # 0: down to label5
+ i32.const $push54=, 0
+ i32.const $push53=, 1
+ i32.add $push4=, $2, $pop53
+ i32.store $push41=, o($pop54), $pop4
+ tee_local $push52=, $5=, $pop41
+ i32.ge_s $push30=, $pop52, $0
+ br_if $pop30, 0 # 0: down to label5
# BB#9: # %while.body.preheader
- i32.load8_u $7=, r.c.0($4)
- i32.const $5=, 4
- i32.add $6=, $2, $5
+ i32.const $push56=, 0
+ i32.load8_u $3=, r.c.0($pop56)
+ i32.const $push31=, 2
+ i32.shl $push32=, $2, $pop31
+ i32.add $push33=, $pop32, $1
+ i32.const $push55=, 4
+ i32.add $2=, $pop33, $pop55
.LBB1_10: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label6:
- i32.load $3=, 0($6)
- i32.load8_u $push17=, 0($3)
- i32.const $push18=, 255
- i32.and $push19=, $7, $pop18
- i32.ne $push20=, $pop17, $pop19
- br_if $pop20, 1 # 1: down to label7
+ i32.load $push5=, 0($2)
+ tee_local $push58=, $1=, $pop5
+ i32.load8_u $push34=, 0($pop58)
+ i32.const $push57=, 255
+ i32.and $push35=, $3, $pop57
+ i32.ne $push36=, $pop34, $pop35
+ br_if $pop36, 1 # 1: down to label7
# BB#11: # %lor.lhs.false.i50
# in Loop: Header=BB1_10 Depth=1
- i32.load8_u $push21=, 1($3)
- br_if $pop21, 1 # 1: down to label7
+ i32.load8_u $push37=, 1($1)
+ br_if $pop37, 1 # 1: down to label7
# BB#12: # %lor.lhs.false.i50
# in Loop: Header=BB1_10 Depth=1
- i32.load $3=, r.cnt($4)
- i32.ge_s $push22=, $3, $5
- br_if $pop22, 1 # 1: down to label7
+ i32.const $push61=, 0
+ i32.load $push6=, r.cnt($pop61)
+ tee_local $push60=, $1=, $pop6
+ i32.const $push59=, 4
+ i32.ge_s $push38=, $pop60, $pop59
+ br_if $pop38, 1 # 1: down to label7
# BB#13: # %r.exit
# in Loop: Header=BB1_10 Depth=1
- i32.add $push23=, $3, $1
- i32.store $discard=, r.cnt($4), $pop23
- i32.add $push1=, $7, $1
- i32.store8 $7=, r.c.0($4), $pop1
- i32.add $push2=, $8, $1
- i32.store $8=, o($4), $pop2
- i32.add $6=, $6, $5
- i32.lt_s $push24=, $8, $0
- br_if $pop24, 0 # 0: up to label6
+ i32.const $push68=, 0
+ i32.const $push67=, 1
+ i32.add $push39=, $1, $pop67
+ i32.store $discard=, r.cnt($pop68), $pop39
+ i32.const $push66=, 0
+ i32.const $push65=, 1
+ i32.add $push7=, $3, $pop65
+ i32.store8 $3=, r.c.0($pop66), $pop7
+ i32.const $push64=, 0
+ i32.const $push63=, 1
+ i32.add $push8=, $5, $pop63
+ i32.store $5=, o($pop64), $pop8
+ i32.const $push62=, 4
+ i32.add $2=, $2, $pop62
+ i32.lt_s $push40=, $5, $0
+ br_if $pop40, 0 # 0: up to label6
br 2 # 2: down to label5
.LBB1_14: # %if.then.i51
end_loop # label7:
@@ -154,10 +186,11 @@ x: # @x
unreachable
.LBB1_15: # %cleanup
end_block # label5:
- return $4
+ i32.const $push69=, 0
+ return $pop69
.LBB1_16: # %if.then15
end_block # label4:
- i32.call $discard=, m@FUNCTION, $4
+ i32.call $discard=, m@FUNCTION, $5
unreachable
.LBB1_17: # %if.then.i46
end_block # label3:
@@ -182,25 +215,29 @@ x: # @x
s: # @s
.param i32, i32
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
block
i32.const $push0=, .L.str
i32.call $push1=, strcmp@FUNCTION, $0, $pop0
br_if $pop1, 0 # 0: down to label8
# BB#1: # %lor.lhs.false
- i32.const $2=, 0
- i32.load $3=, check($2)
- i32.const $4=, 1
- i32.add $push2=, $3, $4
- i32.store $discard=, check($2), $pop2
- i32.const $push3=, 2
- i32.ge_s $push4=, $3, $pop3
- br_if $pop4, 0 # 0: down to label8
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load $push2=, check($pop9)
+ tee_local $push8=, $2=, $pop2
+ i32.const $push7=, 1
+ i32.add $push3=, $pop8, $pop7
+ i32.store $discard=, check($pop10), $pop3
+ i32.const $push4=, 2
+ i32.ge_s $push5=, $2, $pop4
+ br_if $pop5, 0 # 0: down to label8
# BB#2: # %if.end
- i32.add $push5=, $0, $4
- i32.store $discard=, 0($1), $pop5
- return $2
+ i32.const $push12=, 1
+ i32.add $push6=, $0, $pop12
+ i32.store $discard=, 0($1), $pop6
+ i32.const $push11=, 0
+ return $pop11
.LBB2_3: # %if.then
end_block # label8:
call abort@FUNCTION
@@ -230,29 +267,36 @@ m: # @m
r: # @r
.param i32
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.load8_u $1=, 0($0)
- i32.const $3=, 0
block
- i32.load8_u $push0=, r.c.0($3)
- i32.ne $push1=, $1, $pop0
- br_if $pop1, 0 # 0: down to label9
+ i32.load8_u $push0=, 0($0)
+ tee_local $push12=, $1=, $pop0
+ i32.const $push11=, 0
+ i32.load8_u $push2=, r.c.0($pop11)
+ i32.ne $push3=, $pop12, $pop2
+ br_if $pop3, 0 # 0: down to label9
# BB#1: # %lor.lhs.false
- i32.load8_u $push2=, 1($0)
- br_if $pop2, 0 # 0: down to label9
-# BB#2: # %lor.lhs.false
- i32.load $2=, r.cnt($3)
- i32.const $push3=, 4
- i32.ge_s $push4=, $2, $pop3
+ i32.load8_u $push4=, 1($0)
br_if $pop4, 0 # 0: down to label9
+# BB#2: # %lor.lhs.false
+ i32.const $push14=, 0
+ i32.load $push1=, r.cnt($pop14)
+ tee_local $push13=, $0=, $pop1
+ i32.const $push5=, 4
+ i32.ge_s $push6=, $pop13, $pop5
+ br_if $pop6, 0 # 0: down to label9
# BB#3: # %if.end
- i32.const $0=, 1
- i32.add $push5=, $1, $0
- i32.store8 $discard=, r.c.0($3), $pop5
- i32.add $push6=, $2, $0
- i32.store $discard=, r.cnt($3), $pop6
- return $0
+ i32.const $push9=, 0
+ i32.const $push7=, 1
+ i32.add $push8=, $1, $pop7
+ i32.store8 $discard=, r.c.0($pop9), $pop8
+ i32.const $push17=, 0
+ i32.const $push16=, 1
+ i32.add $push10=, $0, $pop16
+ i32.store $discard=, r.cnt($pop17), $pop10
+ i32.const $push15=, 1
+ return $pop15
.LBB4_4: # %if.then
end_block # label9:
call abort@FUNCTION
@@ -265,7 +309,7 @@ r: # @r
.type check,@object
.section .bss.check,"aw",@nobits
.globl check
- .align 2
+ .p2align 2
check:
.int32 0 # 0x0
.size check, 4
@@ -274,7 +318,7 @@ check:
.type o,@object
.section .bss.o,"aw",@nobits
.globl o
- .align 2
+ .p2align 2
o:
.int32 0 # 0x0
.size o, 4
@@ -307,7 +351,7 @@ o:
.type .Lmain.args,@object # @main.args
.section .data.rel.ro..Lmain.args,"aw",@progbits
- .align 4
+ .p2align 4
.Lmain.args:
.int32 .L.str
.int32 .L.str.1
@@ -320,7 +364,7 @@ o:
.type h,@object
.section .bss.h,"aw",@nobits
.globl h
- .align 2
+ .p2align 2
h:
.int32 0
.size h, 4
@@ -329,7 +373,7 @@ h:
.type u,@object
.section .bss.u,"aw",@nobits
.globl u
- .align 2
+ .p2align 2
u:
.int32 0
.size u, 4
diff --git a/test/torture-s/20010924-1.c.s b/test/torture-s/20010924-1.c.s
index 4bfa2b087..43b48d78a 100644
--- a/test/torture-s/20010924-1.c.s
+++ b/test/torture-s/20010924-1.c.s
@@ -6,87 +6,99 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
block
- i32.load8_u $push0=, a1($1)
- i32.const $push1=, 52
- i32.ne $push2=, $pop0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push38=, 0
+ i32.load8_u $push1=, a1($pop38):p2align=2
+ i32.const $push2=, 52
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- i32.load $0=, a1+4($1)
block
- i32.load8_u $push3=, 0($0)
- i32.const $push4=, 54
- i32.ne $push5=, $pop3, $pop4
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push40=, 0
+ i32.load $push0=, a1+4($pop40)
+ tee_local $push39=, $0=, $pop0
+ i32.load8_u $push4=, 0($pop39)
+ i32.const $push5=, 54
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label1
# BB#2: # %if.end6
block
- i32.load8_u $push6=, 1($0)
- i32.const $push7=, 50
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label2
+ i32.load8_u $push7=, 1($0)
+ i32.const $push8=, 50
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label2
# BB#3: # %if.end12
block
- i32.load8_u $push9=, 2($0)
- br_if $pop9, 0 # 0: down to label3
+ i32.load8_u $push10=, 2($0)
+ br_if $pop10, 0 # 0: down to label3
# BB#4: # %if.end18
block
- i32.load8_u $push10=, a2($1)
- i32.const $push11=, 118
- i32.ne $push12=, $pop10, $pop11
- br_if $pop12, 0 # 0: down to label4
+ i32.const $push41=, 0
+ i32.load8_u $push11=, a2($pop41)
+ i32.const $push12=, 118
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label4
# BB#5: # %if.end23
block
- i32.load8_u $push13=, a2+1($1)
- i32.const $push14=, 99
- i32.ne $push15=, $pop13, $pop14
- br_if $pop15, 0 # 0: down to label5
+ i32.const $push42=, 0
+ i32.load8_u $push14=, a2+1($pop42)
+ i32.const $push15=, 99
+ i32.ne $push16=, $pop14, $pop15
+ br_if $pop16, 0 # 0: down to label5
# BB#6: # %if.end28
block
- i32.load8_u $push16=, a2+2($1)
- i32.const $push17=, 113
- i32.ne $push18=, $pop16, $pop17
- br_if $pop18, 0 # 0: down to label6
+ i32.const $push43=, 0
+ i32.load8_u $push17=, a2+2($pop43)
+ i32.const $push18=, 113
+ i32.ne $push19=, $pop17, $pop18
+ br_if $pop19, 0 # 0: down to label6
# BB#7: # %if.end33
block
- i32.load8_u $push19=, a3($1)
- i32.const $push20=, 111
- i32.ne $push21=, $pop19, $pop20
- br_if $pop21, 0 # 0: down to label7
+ i32.const $push44=, 0
+ i32.load8_u $push20=, a3($pop44)
+ i32.const $push21=, 111
+ i32.ne $push22=, $pop20, $pop21
+ br_if $pop22, 0 # 0: down to label7
# BB#8: # %if.end38
block
- i32.load8_u $push22=, a3+1($1)
- i32.const $push23=, 119
- i32.ne $push24=, $pop22, $pop23
- br_if $pop24, 0 # 0: down to label8
+ i32.const $push45=, 0
+ i32.load8_u $push23=, a3+1($pop45)
+ i32.const $push24=, 119
+ i32.ne $push25=, $pop23, $pop24
+ br_if $pop25, 0 # 0: down to label8
# BB#9: # %if.end43
block
- i32.load8_u $push25=, a3+2($1)
- i32.const $push26=, 120
- i32.ne $push27=, $pop25, $pop26
- br_if $pop27, 0 # 0: down to label9
+ i32.const $push46=, 0
+ i32.load8_u $push26=, a3+2($pop46)
+ i32.const $push27=, 120
+ i32.ne $push28=, $pop26, $pop27
+ br_if $pop28, 0 # 0: down to label9
# BB#10: # %if.end48
block
- i32.load8_u $push28=, a4($1)
- i32.const $push29=, 57
- i32.ne $push30=, $pop28, $pop29
- br_if $pop30, 0 # 0: down to label10
+ i32.const $push47=, 0
+ i32.load8_u $push29=, a4($pop47)
+ i32.const $push30=, 57
+ i32.ne $push31=, $pop29, $pop30
+ br_if $pop31, 0 # 0: down to label10
# BB#11: # %if.end53
block
- i32.load8_u $push31=, a4+1($1)
- i32.const $push32=, 101
- i32.ne $push33=, $pop31, $pop32
- br_if $pop33, 0 # 0: down to label11
+ i32.const $push48=, 0
+ i32.load8_u $push32=, a4+1($pop48)
+ i32.const $push33=, 101
+ i32.ne $push34=, $pop32, $pop33
+ br_if $pop34, 0 # 0: down to label11
# BB#12: # %if.end58
block
- i32.load8_u $push34=, a4+2($1)
- i32.const $push35=, 98
- i32.ne $push36=, $pop34, $pop35
- br_if $pop36, 0 # 0: down to label12
+ i32.const $push49=, 0
+ i32.load8_u $push35=, a4+2($pop49)
+ i32.const $push36=, 98
+ i32.ne $push37=, $pop35, $pop36
+ br_if $pop37, 0 # 0: down to label12
# BB#13: # %if.end63
- return $1
+ i32.const $push50=, 0
+ return $pop50
.LBB0_14: # %if.then62
end_block # label12:
call abort@FUNCTION
@@ -153,7 +165,7 @@ main: # @main
.type a1,@object
.section .data.a1,"aw",@progbits
.globl a1
- .align 2
+ .p2align 2
a1:
.int8 52 # 0x34
.skip 3
diff --git a/test/torture-s/20010925-1.c.s b/test/torture-s/20010925-1.c.s
index f57999ff4..98f65c16c 100644
--- a/test/torture-s/20010925-1.c.s
+++ b/test/torture-s/20010925-1.c.s
@@ -6,14 +6,18 @@
.type main,@function
main: # @main
.result i32
- .local i32, i64
+ .local i64
# BB#0: # %if.end
- i32.const $0=, 0
- i64.load $1=, src($0)
- i32.load16_u $push0=, src+8($0)
- i32.store16 $discard=, dst+8($0), $pop0
- i64.store $discard=, dst($0), $1
- call exit@FUNCTION, $0
+ i32.const $push0=, 0
+ i64.load $0=, src($pop0):p2align=4
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load16_u $push1=, src+8($pop4):p2align=3
+ i32.store16 $discard=, dst+8($pop5):p2align=3, $pop1
+ i32.const $push3=, 0
+ i64.store $discard=, dst($pop3):p2align=4, $0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end0:
@@ -34,7 +38,7 @@ foo: # @foo
i32.eq $push1=, $2, $pop0
br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
- call memcpy@FUNCTION, $0, $1, $2
+ i32.call $discard=, memcpy@FUNCTION, $0, $1, $2
i32.const $3=, 0
.LBB1_2: # %return
end_block # label0:
@@ -47,7 +51,7 @@ foo: # @foo
.type dst,@object
.section .bss.dst,"aw",@nobits
.globl dst
- .align 4
+ .p2align 4
dst:
.skip 40
.size dst, 40
@@ -56,7 +60,7 @@ dst:
.type src,@object
.section .bss.src,"aw",@nobits
.globl src
- .align 4
+ .p2align 4
src:
.skip 40
.size src, 40
diff --git a/test/torture-s/20011008-3.c.s b/test/torture-s/20011008-3.c.s
index 86047061c..949d45b60 100644
--- a/test/torture-s/20011008-3.c.s
+++ b/test/torture-s/20011008-3.c.s
@@ -21,46 +21,41 @@ log_compare: # @log_compare
__db_txnlist_lsnadd: # @__db_txnlist_lsnadd
.param i32, i32, i32, i32
.result i32
- .local i32, i32, i64, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $5=, 1
- i32.and $4=, $3, $5
+ i32.const $push7=, 1
+ i32.and $4=, $3, $pop7
+ i32.const $push1=, 12
+ i32.add $5=, $1, $pop1
i32.const $3=, 0
.LBB1_1: # %for.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
- copy_local $7=, $5
+ i32.const $6=, 1
block
- i32.const $push10=, 0
- i32.eq $push11=, $4, $pop10
- br_if $pop11, 0 # 0: down to label2
+ i32.const $push9=, 0
+ i32.eq $push10=, $4, $pop9
+ br_if $pop10, 0 # 0: down to label2
# BB#2: # %cond.false
# in Loop: Header=BB1_1 Depth=1
- i32.const $push1=, 12
- i32.add $push2=, $1, $pop1
- i32.load $7=, 0($pop2)
+ i32.load $6=, 0($5)
.LBB1_3: # %cond.end
# in Loop: Header=BB1_1 Depth=1
end_block # label2:
- i32.ge_s $push3=, $3, $7
- br_if $pop3, 1 # 1: down to label1
+ i32.ge_s $push2=, $3, $6
+ br_if $pop2, 1 # 1: down to label1
# BB#4: # %for.body
# in Loop: Header=BB1_1 Depth=1
- i32.const $push9=, 1
- i32.add $3=, $3, $pop9
+ i32.const $push8=, 1
+ i32.add $3=, $3, $pop8
br 0 # 0: up to label0
.LBB1_5: # %for.end35
end_loop # label1:
- i32.const $push4=, 20
- i32.add $push5=, $1, $pop4
- i32.load $7=, 0($pop5)
- i32.const $5=, 4
- i64.load32_u $6=, 0($7)
- i32.add $push8=, $2, $5
- i32.add $push6=, $7, $5
- i64.load32_u $push7=, 0($pop6)
- i64.store32 $discard=, 0($pop8), $pop7
- i64.store32 $discard=, 0($2), $6
+ i32.const $push3=, 20
+ i32.add $push4=, $1, $pop3
+ i32.load $push5=, 0($pop4)
+ i64.load $push6=, 0($pop5):p2align=2
+ i64.store $discard=, 0($2):p2align=2, $pop6
i32.add $push0=, $0, $3
return $pop0
.endfunc
diff --git a/test/torture-s/20011019-1.c.s b/test/torture-s/20011019-1.c.s
index dbfdc7b44..f7456d52e 100644
--- a/test/torture-s/20011019-1.c.s
+++ b/test/torture-s/20011019-1.c.s
@@ -24,12 +24,12 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, x+4
- i32.store $discard=, y($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, y($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end1:
@@ -39,7 +39,7 @@ main: # @main
.type y,@object
.section .bss.y,"aw",@nobits
.globl y
- .align 2
+ .p2align 2
y:
.int32 0
.size y, 4
@@ -48,7 +48,7 @@ y:
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.skip 24
.size x, 24
diff --git a/test/torture-s/20011024-1.c.s b/test/torture-s/20011024-1.c.s
index 5c90ee87a..37722b6f2 100644
--- a/test/torture-s/20011024-1.c.s
+++ b/test/torture-s/20011024-1.c.s
@@ -6,21 +6,26 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, buf
- block
+ i32.const $push6=, 0
i32.const $push0=, 6513249
- i32.store $discard=, buf($0), $pop0
- i32.const $push1=, .L.str
- i32.call $push2=, strcmp@FUNCTION, $1, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.store $discard=, buf($pop6):p2align=4, $pop0
+ block
+ i32.const $push1=, buf
+ i32.const $push2=, .L.str
+ i32.call $push3=, strcmp@FUNCTION, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %foo.exit
- i32.const $push3=, .L.str.1
- i32.const $push4=, 9
- call memcpy@FUNCTION, $1, $pop3, $pop4
- return $0
+ i32.const $push11=, 0
+ i32.const $push10=, 0
+ i32.load8_u $push4=, .L.str.1+8($pop10)
+ i32.store8 $discard=, buf+8($pop11):p2align=3, $pop4
+ i32.const $push9=, 0
+ i32.const $push8=, 0
+ i64.load $push5=, .L.str.1($pop8):p2align=0
+ i64.store $discard=, buf($pop9):p2align=4, $pop5
+ i32.const $push7=, 0
+ return $pop7
.LBB0_2: # %if.then1.i
end_block # label0:
call abort@FUNCTION
@@ -33,7 +38,7 @@ main: # @main
.type buf,@object
.section .bss.buf,"aw",@nobits
.globl buf
- .align 4
+ .p2align 4
buf:
.skip 50
.size buf, 50
diff --git a/test/torture-s/20011109-1.c.s b/test/torture-s/20011109-1.c.s
index b778a5401..f40269b29 100644
--- a/test/torture-s/20011109-1.c.s
+++ b/test/torture-s/20011109-1.c.s
@@ -56,11 +56,12 @@ foo: # @foo
.param i32
# BB#0: # %entry
block
- i32.const $push0=, 6
- i32.add $0=, $0, $pop0
- i32.const $push1=, 11
- i32.gt_u $push2=, $0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push1=, 6
+ i32.add $push0=, $0, $pop1
+ tee_local $push4=, $0=, $pop0
+ i32.const $push2=, 11
+ i32.gt_u $push3=, $pop4, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %entry
block
block
diff --git a/test/torture-s/20011113-1.c.s b/test/torture-s/20011113-1.c.s
new file mode 100644
index 000000000..756b6d28c
--- /dev/null
+++ b/test/torture-s/20011113-1.c.s
@@ -0,0 +1,152 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20011113-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push2=, 8
+ i32.add $push3=, $0, $pop2
+ i32.load $push4=, 0($pop3)
+ i32.const $push9=, 21
+ i32.ne $push10=, $pop4, $pop9
+ br_if $pop10, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $push5=, 12
+ i32.add $push6=, $0, $pop5
+ i32.load $push0=, 0($pop6)
+ i32.const $push11=, 22
+ i32.ne $push12=, $pop0, $pop11
+ br_if $pop12, 0 # 0: down to label0
+# BB#2: # %entry
+ i32.const $push7=, 16
+ i32.add $push8=, $0, $pop7
+ i32.load $push1=, 0($pop8)
+ i32.const $push13=, 23
+ i32.ne $push14=, $pop1, $pop13
+ br_if $pop14, 0 # 0: down to label0
+# BB#3: # %bar.exit
+ i32.const $push15=, 0
+ return $pop15
+.LBB0_4: # %if.then.i
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($0)
+ i32.const $push1=, 21
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label1
+# BB#1: # %lor.lhs.false
+ i32.load $push3=, 4($0)
+ i32.const $push4=, 22
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
+# BB#2: # %lor.lhs.false4
+ i32.load $push6=, 8($0)
+ i32.const $push7=, 23
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label1
+# BB#3: # %if.end
+ i32.const $push9=, 0
+ return $pop9
+.LBB1_4: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.baz,"ax",@progbits
+ .hidden baz
+ .globl baz
+ .type baz,@function
+baz: # @baz
+ .param i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push2=, 8
+ i32.add $push3=, $0, $pop2
+ i32.load $push4=, 0($pop3)
+ i32.const $push9=, 21
+ i32.ne $push10=, $pop4, $pop9
+ br_if $pop10, 0 # 0: down to label2
+# BB#1: # %entry
+ i32.const $push5=, 12
+ i32.add $push6=, $0, $pop5
+ i32.load $push0=, 0($pop6)
+ i32.const $push11=, 22
+ i32.ne $push12=, $pop0, $pop11
+ br_if $pop12, 0 # 0: down to label2
+# BB#2: # %entry
+ i32.const $push7=, 16
+ i32.add $push8=, $0, $pop7
+ i32.load $push1=, 0($pop8)
+ i32.const $push13=, 23
+ i32.ne $push14=, $pop1, $pop13
+ br_if $pop14, 0 # 0: down to label2
+# BB#3: # %bar.exit
+ i32.const $push15=, 0
+ return $pop15
+.LBB2_4: # %if.then.i
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size baz, .Lfunc_end2-baz
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, t
+ i32.call $discard=, baz@FUNCTION, $pop0
+ i32.const $push2=, t
+ i32.call $discard=, foo@FUNCTION, $pop2
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size main, .Lfunc_end3-main
+
+ .hidden t # @t
+ .type t,@object
+ .section .data.t,"aw",@progbits
+ .globl t
+ .p2align 2
+t:
+ .int8 26 # 0x1a
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int32 0 # 0x0
+ .int32 21 # 0x15
+ .int32 22 # 0x16
+ .int32 23 # 0x17
+ .size t, 20
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20011121-1.c.s b/test/torture-s/20011121-1.c.s
index dc556dacd..aa36010d1 100644
--- a/test/torture-s/20011121-1.c.s
+++ b/test/torture-s/20011121-1.c.s
@@ -18,7 +18,7 @@ main: # @main
.type s1,@object
.section .bss.s1,"aw",@nobits
.globl s1
- .align 2
+ .p2align 2
s1:
.skip 76
.size s1, 76
diff --git a/test/torture-s/20011126-1.c.s b/test/torture-s/20011126-1.c.s
index 90846b4c4..6f339c0af 100644
--- a/test/torture-s/20011126-1.c.s
+++ b/test/torture-s/20011126-1.c.s
@@ -6,16 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, a($0)
+ i32.const $push3=, 0
+ i32.load $push0=, a($pop3)
i32.const $push1=, -1
i32.le_s $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end5
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB0_2: # %if.then4
end_block # label0:
call abort@FUNCTION
@@ -28,7 +28,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
diff --git a/test/torture-s/20011219-1.c.s b/test/torture-s/20011219-1.c.s
index 5f74614fd..928750a2f 100644
--- a/test/torture-s/20011219-1.c.s
+++ b/test/torture-s/20011219-1.c.s
@@ -21,13 +21,14 @@ foo: # @foo
.result i32
.local i32
# BB#0: # %entry
- i32.const $push0=, -10
- i32.add $0=, $0, $pop0
# implicit-def: %vreg13
block
- i32.const $push1=, 4
- i32.gt_u $push2=, $0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push1=, -10
+ i32.add $push0=, $0, $pop1
+ tee_local $push4=, $0=, $pop0
+ i32.const $push2=, 4
+ i32.gt_u $push3=, $pop4, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %entry
block
block
diff --git a/test/torture-s/20020107-1.c.s b/test/torture-s/20020107-1.c.s
index 6acf14982..bcbf0a693 100644
--- a/test/torture-s/20020107-1.c.s
+++ b/test/torture-s/20020107-1.c.s
@@ -23,21 +23,22 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, buf
- copy_local $0=, $1
+ i32.const $0=, buf
#APP
#NO_APP
- i32.const $2=, 1
block
- i32.add $push0=, $0, $2
- i32.sub $push1=, $pop0, $1
- i32.ne $push2=, $pop1, $2
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push1=, 1
+ i32.add $push2=, $0, $pop1
+ i32.const $push0=, buf
+ i32.sub $push3=, $pop2, $pop0
+ i32.const $push6=, 1
+ i32.ne $push4=, $pop3, $pop6
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %bar.exit
- i32.const $push3=, 0
- call exit@FUNCTION, $pop3
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
unreachable
.LBB1_2: # %if.then.i
end_block # label0:
diff --git a/test/torture-s/20020118-1.c.s b/test/torture-s/20020118-1.c.s
index 41cf72e71..c7fa0e542 100644
--- a/test/torture-s/20020118-1.c.s
+++ b/test/torture-s/20020118-1.c.s
@@ -5,39 +5,58 @@
.globl foo
.type foo,@function
foo: # @foo
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
.LBB0_1: # %for.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.load $1=, q($0)
- i32.load8_s $push0=, 2($1)
- i32.store $discard=, n($0), $pop0
- i32.load8_s $push1=, 2($1)
- i32.store $discard=, n($0), $pop1
- i32.load8_s $push2=, 2($1)
- i32.store $discard=, n($0), $pop2
- i32.load8_s $push3=, 2($1)
- i32.store $discard=, n($0), $pop3
- i32.load $1=, q($0)
- i32.load8_s $push4=, 2($1)
- i32.store $discard=, n($0), $pop4
- i32.load8_s $push5=, 2($1)
- i32.store $discard=, n($0), $pop5
- i32.load $1=, q($0)
- i32.load8_s $push6=, 2($1)
- i32.store $discard=, n($0), $pop6
- i32.load8_s $push7=, 2($1)
- i32.store $discard=, n($0), $pop7
- i32.load $1=, q($0)
- i32.load8_s $push8=, 2($1)
- i32.store $discard=, n($0), $pop8
- i32.load8_s $push9=, 2($1)
- i32.store $discard=, n($0), $pop9
- i32.load $push10=, q($0)
- i32.load8_s $push11=, 2($pop10)
- i32.store $discard=, n($0), $pop11
+ i32.const $push35=, 0
+ i32.const $push34=, 0
+ i32.load $push0=, q($pop34)
+ tee_local $push33=, $0=, $pop0
+ i32.load8_s $push1=, 2($pop33)
+ i32.store $discard=, n($pop35), $pop1
+ i32.const $push32=, 0
+ i32.load8_s $push2=, 2($0)
+ i32.store $discard=, n($pop32), $pop2
+ i32.const $push31=, 0
+ i32.load8_s $push3=, 2($0)
+ i32.store $discard=, n($pop31), $pop3
+ i32.const $push30=, 0
+ i32.load8_s $push4=, 2($0)
+ i32.store $discard=, n($pop30), $pop4
+ i32.const $push29=, 0
+ i32.const $push28=, 0
+ i32.load $push5=, q($pop28)
+ tee_local $push27=, $0=, $pop5
+ i32.load8_s $push6=, 2($pop27)
+ i32.store $discard=, n($pop29), $pop6
+ i32.const $push26=, 0
+ i32.load8_s $push7=, 2($0)
+ i32.store $discard=, n($pop26), $pop7
+ i32.const $push25=, 0
+ i32.const $push24=, 0
+ i32.load $push8=, q($pop24)
+ tee_local $push23=, $0=, $pop8
+ i32.load8_s $push9=, 2($pop23)
+ i32.store $discard=, n($pop25), $pop9
+ i32.const $push22=, 0
+ i32.load8_s $push10=, 2($0)
+ i32.store $discard=, n($pop22), $pop10
+ i32.const $push21=, 0
+ i32.const $push20=, 0
+ i32.load $push11=, q($pop20)
+ tee_local $push19=, $0=, $pop11
+ i32.load8_s $push12=, 2($pop19)
+ i32.store $discard=, n($pop21), $pop12
+ i32.const $push18=, 0
+ i32.load8_s $push13=, 2($0)
+ i32.store $discard=, n($pop18), $pop13
+ i32.const $push17=, 0
+ i32.const $push16=, 0
+ i32.load $push14=, q($pop16)
+ i32.load8_s $push15=, 2($pop14)
+ i32.store $discard=, n($pop17), $pop15
br 0 # 0: up to label0
.LBB0_2:
end_loop # label1:
@@ -63,7 +82,7 @@ main: # @main
.type q,@object
.section .bss.q,"aw",@nobits
.globl q
- .align 2
+ .p2align 2
q:
.int32 0
.size q, 4
@@ -72,7 +91,7 @@ q:
.type n,@object
.section .bss.n,"aw",@nobits
.globl n
- .align 2
+ .p2align 2
n:
.int32 0 # 0x0
.size n, 4
diff --git a/test/torture-s/20020129-1.c.s b/test/torture-s/20020129-1.c.s
index 7ec075654..0808d9248 100644
--- a/test/torture-s/20020129-1.c.s
+++ b/test/torture-s/20020129-1.c.s
@@ -6,66 +6,70 @@
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.load $4=, 28($1)
+ i32.load $2=, 28($1)
block
block
i32.load $push0=, 28($0)
- i32.const $push11=, 0
- i32.eq $push12=, $pop0, $pop11
- br_if $pop12, 0 # 0: down to label1
+ i32.const $push18=, 0
+ i32.eq $push19=, $pop0, $pop18
+ br_if $pop19, 0 # 0: down to label1
# BB#1: # %if.end
- i32.const $push13=, 0
- i32.eq $push14=, $4, $pop13
- br_if $pop14, 1 # 1: down to label0
+ i32.const $push20=, 0
+ i32.eq $push21=, $2, $pop20
+ br_if $pop21, 1 # 1: down to label0
# BB#2: # %if.then6
call abort@FUNCTION
unreachable
.LBB0_3: # %if.then
end_block # label1:
- i32.const $2=, 28
- i32.add $push1=, $0, $2
- i32.store $discard=, 0($pop1), $4
- i32.add $push2=, $1, $2
- i32.const $push3=, 0
- i32.store $discard=, 0($pop2), $pop3
- i32.const $push15=, 0
- i32.eq $push16=, $4, $pop15
- br_if $pop16, 0 # 0: down to label0
+ i32.const $push1=, 28
+ i32.add $push2=, $0, $pop1
+ i32.store $discard=, 0($pop2), $2
+ i32.const $push13=, 28
+ i32.add $push3=, $1, $pop13
+ i32.const $push4=, 0
+ i32.store $discard=, 0($pop3), $pop4
+ i32.const $push22=, 0
+ i32.eq $push23=, $2, $pop22
+ br_if $pop23, 0 # 0: down to label0
.LBB0_4: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.store $discard=, 4($4), $0
- i32.load $4=, 0($4)
- br_if $4, 0 # 0: up to label2
+ i32.store $discard=, 4($2), $0
+ i32.load $2=, 0($2)
+ br_if $2, 0 # 0: up to label2
.LBB0_5: # %if.end7
end_loop # label3:
end_block # label0:
i32.load $2=, 12($1)
- i32.const $4=, -1
block
block
- i32.load $push4=, 12($0)
- i32.eq $push5=, $pop4, $4
- br_if $pop5, 0 # 0: down to label5
+ i32.load $push5=, 12($0)
+ i32.const $push14=, -1
+ i32.eq $push6=, $pop5, $pop14
+ br_if $pop6, 0 # 0: down to label5
# BB#6: # %if.end22
- i32.eq $push6=, $2, $4
- br_if $pop6, 1 # 1: down to label4
+ i32.const $push17=, -1
+ i32.eq $push7=, $2, $pop17
+ br_if $pop7, 1 # 1: down to label4
# BB#7: # %if.then26
call abort@FUNCTION
unreachable
.LBB0_8: # %if.end22.thread
end_block # label5:
- i32.const $3=, 12
- i32.add $push7=, $0, $3
- i32.store $discard=, 0($pop7), $2
- i32.load $push8=, 16($1)
- i32.store $discard=, 16($0), $pop8
- i32.add $push9=, $1, $3
- i32.store $discard=, 0($pop9), $4
- i32.const $push10=, 0
- i32.store $discard=, 16($1), $pop10
+ i32.const $push8=, 12
+ i32.add $push9=, $0, $pop8
+ i32.store $discard=, 0($pop9), $2
+ i32.load $push10=, 16($1)
+ i32.store $discard=, 16($0), $pop10
+ i32.const $push16=, 12
+ i32.add $push11=, $1, $pop16
+ i32.const $push15=, -1
+ i32.store $discard=, 0($pop11), $pop15
+ i32.const $push12=, 0
+ i32.store $discard=, 16($1), $pop12
.LBB0_9: # %if.end27
end_block # label4:
return
@@ -79,52 +83,24 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $1=, 0
+ i32.const $push1=, 0
i32.const $push0=, 6
- i32.store $discard=, y($1), $pop0
- i32.const $push1=, 145
- i32.store $2=, y+12($1), $pop1
- i32.load $5=, x+28($1)
- i32.load $0=, y+28($1)
- block
- block
- i32.const $push2=, 2448
- i32.store $3=, y+16($1), $pop2
- i32.const $push3=, -1
- i32.store $4=, x+12($1), $pop3
- br_if $5, 0 # 0: down to label7
-# BB#1: # %if.then.i
- i32.store $5=, x+28($1), $0
- i32.store $discard=, y+28($1), $1
- i32.const $push6=, 0
- i32.eq $push7=, $5, $pop6
- br_if $pop7, 1 # 1: down to label6
-.LBB1_2: # %for.body.i
- # =>This Inner Loop Header: Depth=1
- loop # label8:
- i32.const $push4=, x
- i32.store $discard=, 4($5), $pop4
- i32.load $5=, 0($5)
- br_if $5, 0 # 0: up to label8
- br 3 # 3: down to label6
-.LBB1_3: # %if.end.i
- end_loop # label9:
- end_block # label7:
+ i32.store $discard=, y($pop1), $pop0
+ i32.const $push10=, 0
+ i32.const $push3=, 145
+ i32.store $discard=, y+12($pop10), $pop3
+ i32.const $push9=, 0
+ i32.const $push4=, 2448
+ i32.store $discard=, y+16($pop9), $pop4
i32.const $push8=, 0
- i32.eq $push9=, $0, $pop8
- br_if $pop9, 0 # 0: down to label6
-# BB#4: # %if.then6.i
- call abort@FUNCTION
- unreachable
-.LBB1_5: # %foo.exit
- end_block # label6:
- i32.store $discard=, x+12($1), $2
- i32.store $discard=, x+16($1), $3
- i32.store $discard=, y+12($1), $4
- i32.store $push5=, y+16($1), $1
- call exit@FUNCTION, $pop5
+ i32.const $push5=, -1
+ i32.store $discard=, x+12($pop8), $pop5
+ i32.const $push6=, x
+ i32.const $push2=, y
+ call foo@FUNCTION, $pop6, $pop2
+ i32.const $push7=, 0
+ call exit@FUNCTION, $pop7
unreachable
.endfunc
.Lfunc_end1:
@@ -134,7 +110,7 @@ main: # @main
.type y,@object
.section .bss.y,"aw",@nobits
.globl y
- .align 2
+ .p2align 2
y:
.skip 32
.size y, 32
@@ -143,7 +119,7 @@ y:
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.skip 32
.size x, 32
diff --git a/test/torture-s/20020201-1.c.s b/test/torture-s/20020201-1.c.s
index 86710007c..57232bc80 100644
--- a/test/torture-s/20020201-1.c.s
+++ b/test/torture-s/20020201-1.c.s
@@ -6,103 +6,123 @@
.type main,@function
main: # @main
.result i32
- .local i32, i64, i32, i32, i32, i64
+ .local i32, i64
# BB#0: # %entry
- i32.const $2=, 0
- i32.load8_u $0=, cx($2)
- i32.const $3=, 255
- i32.const $4=, 6
block
- i32.const $push0=, -6
- i32.add $push1=, $0, $pop0
- i32.and $push2=, $pop1, $3
- i32.lt_u $push3=, $pop2, $4
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push5=, 0
+ i32.load8_u $push0=, cx($pop5)
+ tee_local $push47=, $0=, $pop0
+ i32.const $push6=, -6
+ i32.add $push7=, $pop47, $pop6
+ i32.const $push46=, 255
+ i32.and $push8=, $pop7, $pop46
+ i32.const $push45=, 6
+ i32.lt_u $push9=, $pop8, $pop45
+ br_if $pop9, 0 # 0: down to label0
# BB#1: # %if.then
call abort@FUNCTION
unreachable
.LBB0_2: # %if.end
end_block # label0:
block
- i32.and $push4=, $0, $3
- i32.rem_u $push5=, $pop4, $4
- i32.const $push6=, 1
- i32.ne $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: down to label1
+ i32.const $push49=, 255
+ i32.and $push10=, $0, $pop49
+ i32.const $push48=, 6
+ i32.rem_u $push11=, $pop10, $pop48
+ i32.const $push12=, 1
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
# BB#3: # %if.end10
- i32.load16_u $0=, sx($2)
- i32.const $3=, 65535
block
- i32.const $push8=, -12
- i32.add $push9=, $0, $pop8
- i32.and $push10=, $pop9, $3
- i32.lt_u $push11=, $pop10, $4
- br_if $pop11, 0 # 0: down to label2
+ i32.const $push14=, 0
+ i32.load16_u $push1=, sx($pop14)
+ tee_local $push52=, $0=, $pop1
+ i32.const $push15=, -12
+ i32.add $push16=, $pop52, $pop15
+ i32.const $push51=, 65535
+ i32.and $push17=, $pop16, $pop51
+ i32.const $push50=, 6
+ i32.lt_u $push18=, $pop17, $pop50
+ br_if $pop18, 0 # 0: down to label2
# BB#4: # %if.then17
call abort@FUNCTION
unreachable
.LBB0_5: # %if.end18
end_block # label2:
block
- i32.and $push12=, $0, $3
- i32.rem_u $push13=, $pop12, $4
- i32.const $push14=, 2
- i32.ne $push15=, $pop13, $pop14
- br_if $pop15, 0 # 0: down to label3
+ i32.const $push54=, 65535
+ i32.and $push19=, $0, $pop54
+ i32.const $push53=, 6
+ i32.rem_u $push20=, $pop19, $pop53
+ i32.const $push21=, 2
+ i32.ne $push22=, $pop20, $pop21
+ br_if $pop22, 0 # 0: down to label3
# BB#6: # %if.end26
- i32.load $0=, ix($2)
block
- i32.const $push16=, -18
- i32.add $push17=, $0, $pop16
- i32.lt_u $push18=, $pop17, $4
- br_if $pop18, 0 # 0: down to label4
+ i32.const $push23=, 0
+ i32.load $push2=, ix($pop23)
+ tee_local $push56=, $0=, $pop2
+ i32.const $push24=, -18
+ i32.add $push25=, $pop56, $pop24
+ i32.const $push55=, 6
+ i32.lt_u $push26=, $pop25, $pop55
+ br_if $pop26, 0 # 0: down to label4
# BB#7: # %if.then30
call abort@FUNCTION
unreachable
.LBB0_8: # %if.end31
end_block # label4:
block
- i32.rem_u $push19=, $0, $4
- i32.const $push20=, 3
- i32.ne $push21=, $pop19, $pop20
- br_if $pop21, 0 # 0: down to label5
+ i32.const $push57=, 6
+ i32.rem_u $push27=, $0, $pop57
+ i32.const $push28=, 3
+ i32.ne $push29=, $pop27, $pop28
+ br_if $pop29, 0 # 0: down to label5
# BB#9: # %if.end36
- i32.load $0=, lx($2)
block
- i32.const $push22=, -24
- i32.add $push23=, $0, $pop22
- i32.lt_u $push24=, $pop23, $4
- br_if $pop24, 0 # 0: down to label6
+ i32.const $push30=, 0
+ i32.load $push3=, lx($pop30)
+ tee_local $push59=, $0=, $pop3
+ i32.const $push31=, -24
+ i32.add $push32=, $pop59, $pop31
+ i32.const $push58=, 6
+ i32.lt_u $push33=, $pop32, $pop58
+ br_if $pop33, 0 # 0: down to label6
# BB#10: # %if.then40
call abort@FUNCTION
unreachable
.LBB0_11: # %if.end41
end_block # label6:
block
- i32.rem_u $push25=, $0, $4
- i32.const $push26=, 4
- i32.ne $push27=, $pop25, $pop26
- br_if $pop27, 0 # 0: down to label7
+ i32.const $push60=, 6
+ i32.rem_u $push34=, $0, $pop60
+ i32.const $push35=, 4
+ i32.ne $push36=, $pop34, $pop35
+ br_if $pop36, 0 # 0: down to label7
# BB#12: # %if.end46
- i64.load $1=, Lx($2)
- i64.const $5=, 6
block
- i64.const $push28=, -30
- i64.add $push29=, $1, $pop28
- i64.lt_u $push30=, $pop29, $5
- br_if $pop30, 0 # 0: down to label8
+ i32.const $push37=, 0
+ i64.load $push4=, Lx($pop37)
+ tee_local $push62=, $1=, $pop4
+ i64.const $push38=, -30
+ i64.add $push39=, $pop62, $pop38
+ i64.const $push61=, 6
+ i64.lt_u $push40=, $pop39, $pop61
+ br_if $pop40, 0 # 0: down to label8
# BB#13: # %if.then50
call abort@FUNCTION
unreachable
.LBB0_14: # %if.end51
end_block # label8:
block
- i64.rem_u $push31=, $1, $5
- i64.const $push32=, 5
- i64.ne $push33=, $pop31, $pop32
- br_if $pop33, 0 # 0: down to label9
+ i64.const $push63=, 6
+ i64.rem_u $push41=, $1, $pop63
+ i64.const $push42=, 5
+ i64.ne $push43=, $pop41, $pop42
+ br_if $pop43, 0 # 0: down to label9
# BB#15: # %if.end56
- call exit@FUNCTION, $2
+ i32.const $push44=, 0
+ call exit@FUNCTION, $pop44
unreachable
.LBB0_16: # %if.then55
end_block # label9:
@@ -140,7 +160,7 @@ cx:
.type sx,@object
.section .data.sx,"aw",@progbits
.globl sx
- .align 1
+ .p2align 1
sx:
.int16 14 # 0xe
.size sx, 2
@@ -149,7 +169,7 @@ sx:
.type ix,@object
.section .data.ix,"aw",@progbits
.globl ix
- .align 2
+ .p2align 2
ix:
.int32 21 # 0x15
.size ix, 4
@@ -158,7 +178,7 @@ ix:
.type lx,@object
.section .data.lx,"aw",@progbits
.globl lx
- .align 2
+ .p2align 2
lx:
.int32 28 # 0x1c
.size lx, 4
@@ -167,7 +187,7 @@ lx:
.type Lx,@object
.section .data.Lx,"aw",@progbits
.globl Lx
- .align 3
+ .p2align 3
Lx:
.int64 35 # 0x23
.size Lx, 8
diff --git a/test/torture-s/20020206-1.c.s b/test/torture-s/20020206-1.c.s
index 992184fc5..16d2a386b 100644
--- a/test/torture-s/20020206-1.c.s
+++ b/test/torture-s/20020206-1.c.s
@@ -7,12 +7,10 @@
bar: # @bar
.param i32
# BB#0: # %entry
- i32.const $push0=, 176
- i32.store $discard=, 0($0), $pop0
- i32.const $push1=, 52
- i32.store $discard=, 4($0), $pop1
- i32.const $push2=, 31
- i32.store $discard=, 8($0), $pop2
+ i32.const $push1=, 31
+ i32.store $discard=, 8($0), $pop1
+ i64.const $push0=, 223338299568
+ i64.store $discard=, 0($0):p2align=2, $pop0
return
.endfunc
.Lfunc_end0:
@@ -56,9 +54,21 @@ baz: # @baz
.type main,@function
main: # @main
.result i32
-# BB#0: # %baz.exit
- i32.const $push0=, 0
- call exit@FUNCTION, $pop0
+ .local i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $2=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $2=, 0($1), $2
+ i32.const $push1=, 31
+ i32.store $discard=, 8($2):p2align=3, $pop1
+ i64.const $push0=, 223338299568
+ i64.store $discard=, 0($2), $pop0
+ call baz@FUNCTION, $2
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/20020213-1.c.s b/test/torture-s/20020213-1.c.s
index 5b326a7ae..16cf165c9 100644
--- a/test/torture-s/20020213-1.c.s
+++ b/test/torture-s/20020213-1.c.s
@@ -5,20 +5,24 @@
.globl foo
.type foo,@function
foo: # @foo
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, b($0)
- i32.const $push1=, -1
- i32.add $1=, $pop0, $pop1
- i32.const $2=, 2241
- i32.gt_s $3=, $1, $2
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ i32.const $push2=, -1
+ i32.add $push3=, $pop1, $pop2
+ tee_local $push9=, $1=, $pop3
+ i32.const $push4=, 2241
+ i32.gt_s $push5=, $pop9, $pop4
+ tee_local $push8=, $0=, $pop5
+ i32.const $push7=, 2241
+ i32.select $push6=, $pop8, $pop7, $1
+ i32.store $discard=, a+4($pop0), $pop6
block
- i32.select $push2=, $3, $2, $1
- i32.store $discard=, a+4($0), $pop2
- i32.const $push3=, 0
- i32.eq $push4=, $3, $pop3
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push11=, 0
+ i32.eq $push12=, $0, $pop11
+ br_if $pop12, 0 # 0: down to label0
# BB#1: # %if.end
return
.LBB0_2: # %if.then
@@ -49,16 +53,15 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %foo.exit
- i32.const $0=, 0
- i32.const $push0=, 1065353216
- i32.store $discard=, a($0), $pop0
- i32.const $push1=, 3384
- i32.store $discard=, b($0), $pop1
- i32.const $push2=, 2241
- i32.store $discard=, a+4($0), $pop2
- return $0
+ i32.const $push1=, 0
+ i32.const $push2=, 3384
+ i32.store $discard=, b($pop1), $pop2
+ i32.const $push4=, 0
+ i64.const $push0=, 9626087063552
+ i64.store $discard=, a($pop4):p2align=2, $pop0
+ i32.const $push3=, 0
+ return $pop3
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -67,7 +70,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 8
.size a, 8
@@ -76,7 +79,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/20020215-1.c.s b/test/torture-s/20020215-1.c.s
new file mode 100644
index 000000000..a747b1ff9
--- /dev/null
+++ b/test/torture-s/20020215-1.c.s
@@ -0,0 +1,43 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20020215-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.load $push0=, 4($1)
+ i32.const $push1=, 1
+ i32.add $push2=, $pop0, $pop1
+ i32.store $discard=, 4($1), $pop2
+ i64.load $2=, 0($1):p2align=2
+ i32.const $push3=, 8
+ i32.add $push4=, $0, $pop3
+ i32.const $push7=, 8
+ i32.add $push5=, $1, $pop7
+ i32.load $push6=, 0($pop5)
+ i32.store $discard=, 0($pop4), $pop6
+ i64.store $discard=, 0($0):p2align=2, $2
+ return
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20020216-1.c.s b/test/torture-s/20020216-1.c.s
index 2a1d91500..a9b253a74 100644
--- a/test/torture-s/20020216-1.c.s
+++ b/test/torture-s/20020216-1.c.s
@@ -24,17 +24,18 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, 65535
block
- i32.load8_s $push0=, c($0)
- i32.and $push1=, $pop0, $1
- i32.ne $push2=, $pop1, $1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push5=, 0
+ i32.load8_s $push0=, c($pop5)
+ i32.const $push1=, 65535
+ i32.and $push2=, $pop0, $pop1
+ i32.const $push4=, 65535
+ i32.ne $push3=, $pop2, $pop4
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.LBB1_2: # %if.then
end_block # label0:
diff --git a/test/torture-s/20020226-1.c.s b/test/torture-s/20020226-1.c.s
index c5e917245..ea7c3b21e 100644
--- a/test/torture-s/20020226-1.c.s
+++ b/test/torture-s/20020226-1.c.s
@@ -6,191 +6,238 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i32, i64
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i32
# BB#0: # %entry
- i32.const $11=, 0
- i32.load $1=, shift1($11)
- i32.load8_u $0=, uc($11)
- i32.const $push1=, 8
- i32.sub $2=, $pop1, $1
- i32.const $12=, 835
block
- i32.shl $push2=, $0, $2
- i32.shr_u $push0=, $0, $1
- i32.or $push3=, $pop2, $pop0
- i32.ne $push4=, $pop3, $12
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push13=, 0
+ i32.load8_u $push0=, uc($pop13)
+ tee_local $push136=, $2=, $pop0
+ i32.const $push15=, 8
+ i32.const $push135=, 0
+ i32.load $push1=, shift1($pop135)
+ tee_local $push134=, $1=, $pop1
+ i32.sub $push2=, $pop15, $pop134
+ tee_local $push133=, $0=, $pop2
+ i32.shl $push16=, $pop136, $pop133
+ i32.shr_u $push14=, $2, $1
+ i32.or $push17=, $pop16, $pop14
+ i32.const $push132=, 835
+ i32.ne $push18=, $pop17, $pop132
+ br_if $pop18, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $13=, 4
block
- i32.shr_u $push5=, $0, $13
- i32.shl $push6=, $0, $13
- i32.or $push7=, $pop5, $pop6
- i32.ne $push8=, $pop7, $12
- br_if $pop8, 0 # 0: down to label1
+ i32.const $push19=, 4
+ i32.shr_u $push20=, $2, $pop19
+ i32.const $push138=, 4
+ i32.shl $push21=, $2, $pop138
+ i32.or $push22=, $pop20, $pop21
+ i32.const $push137=, 835
+ i32.ne $push23=, $pop22, $pop137
+ br_if $pop23, 0 # 0: down to label1
# BB#2: # %if.end11
- i32.load16_u $3=, us($11)
- i32.const $push10=, 16
- i32.sub $4=, $pop10, $1
- i32.const $14=, 19087651
block
- i32.shr_u $push9=, $3, $1
- i32.shl $push11=, $3, $4
- i32.or $push12=, $pop9, $pop11
- i32.ne $push13=, $pop12, $14
- br_if $pop13, 0 # 0: down to label2
+ i32.const $push24=, 0
+ i32.load16_u $push3=, us($pop24)
+ tee_local $push141=, $4=, $pop3
+ i32.shr_u $push25=, $pop141, $1
+ i32.const $push26=, 16
+ i32.sub $push4=, $pop26, $1
+ tee_local $push140=, $3=, $pop4
+ i32.shl $push27=, $4, $pop140
+ i32.or $push28=, $pop25, $pop27
+ i32.const $push139=, 19087651
+ i32.ne $push29=, $pop28, $pop139
+ br_if $pop29, 0 # 0: down to label2
# BB#3: # %if.end21
- i32.const $15=, 12
block
- i32.shr_u $push14=, $3, $13
- i32.shl $push15=, $3, $15
- i32.or $push16=, $pop14, $pop15
- i32.ne $push17=, $pop16, $14
- br_if $pop17, 0 # 0: down to label3
+ i32.const $push30=, 4
+ i32.shr_u $push31=, $4, $pop30
+ i32.const $push32=, 12
+ i32.shl $push33=, $4, $pop32
+ i32.or $push34=, $pop31, $pop33
+ i32.const $push142=, 19087651
+ i32.ne $push35=, $pop34, $pop142
+ br_if $pop35, 0 # 0: down to label3
# BB#4: # %if.end30
- i32.load $14=, ui($11)
- i32.const $push19=, 32
- i32.sub $5=, $pop19, $1
- i32.const $16=, 1073742115
block
- i32.shr_u $push18=, $14, $1
- i32.shl $push20=, $14, $5
- i32.or $push21=, $pop18, $pop20
- i32.ne $push22=, $pop21, $16
- br_if $pop22, 0 # 0: down to label4
+ i32.const $push36=, 0
+ i32.load $push5=, ui($pop36)
+ tee_local $push145=, $6=, $pop5
+ i32.shr_u $push37=, $pop145, $1
+ i32.const $push38=, 32
+ i32.sub $push6=, $pop38, $1
+ tee_local $push144=, $5=, $pop6
+ i32.shl $push39=, $6, $pop144
+ i32.or $push40=, $pop37, $pop39
+ i32.const $push143=, 1073742115
+ i32.ne $push41=, $pop40, $pop143
+ br_if $pop41, 0 # 0: down to label4
# BB#5: # %if.end38
- i32.const $17=, 28
block
- i32.shr_u $push23=, $14, $13
- i32.shl $push24=, $14, $17
- i32.or $push25=, $pop23, $pop24
- i32.ne $push26=, $pop25, $16
- br_if $pop26, 0 # 0: down to label5
+ i32.const $push42=, 4
+ i32.shr_u $push43=, $6, $pop42
+ i32.const $push44=, 28
+ i32.shl $push45=, $6, $pop44
+ i32.or $push46=, $pop43, $pop45
+ i32.const $push146=, 1073742115
+ i32.ne $push47=, $pop46, $pop146
+ br_if $pop47, 0 # 0: down to label5
# BB#6: # %if.end45
- i32.load $16=, ul($11)
- i32.const $18=, -2128394905
block
- i32.shr_u $push27=, $16, $1
- i32.shl $push28=, $16, $5
- i32.or $push29=, $pop27, $pop28
- i32.ne $push30=, $pop29, $18
- br_if $pop30, 0 # 0: down to label6
+ i32.const $push48=, 0
+ i32.load $push7=, ul($pop48)
+ tee_local $push148=, $7=, $pop7
+ i32.shr_u $push49=, $pop148, $1
+ i32.shl $push50=, $7, $5
+ i32.or $push51=, $pop49, $pop50
+ i32.const $push147=, -2128394905
+ i32.ne $push52=, $pop51, $pop147
+ br_if $pop52, 0 # 0: down to label6
# BB#7: # %if.end53
block
- i32.shr_u $push31=, $16, $13
- i32.shl $push32=, $16, $17
- i32.or $push33=, $pop31, $pop32
- i32.ne $push34=, $pop33, $18
- br_if $pop34, 0 # 0: down to label7
+ i32.const $push53=, 4
+ i32.shr_u $push54=, $7, $pop53
+ i32.const $push55=, 28
+ i32.shl $push56=, $7, $pop55
+ i32.or $push57=, $pop54, $pop56
+ i32.const $push149=, -2128394905
+ i32.ne $push58=, $pop57, $pop149
+ br_if $pop58, 0 # 0: down to label7
# BB#8: # %if.end60
- i64.load $6=, ull($11)
- i32.const $18=, 64
- i32.sub $push36=, $18, $1
- i64.extend_u/i32 $8=, $pop36
- i64.extend_u/i32 $7=, $1
- i64.const $19=, 5124095577148911
block
- i64.shr_u $push35=, $6, $7
- i64.shl $push37=, $6, $8
- i64.or $push38=, $pop35, $pop37
- i64.ne $push39=, $pop38, $19
- br_if $pop39, 0 # 0: down to label8
+ i32.const $push59=, 0
+ i64.load $push8=, ull($pop59)
+ tee_local $push153=, $10=, $pop8
+ i64.extend_u/i32 $push9=, $1
+ tee_local $push152=, $9=, $pop9
+ i64.shr_u $push60=, $pop153, $pop152
+ i32.const $push61=, 64
+ i32.sub $push62=, $pop61, $1
+ i64.extend_u/i32 $push10=, $pop62
+ tee_local $push151=, $8=, $pop10
+ i64.shl $push63=, $10, $pop151
+ i64.or $push64=, $pop60, $pop63
+ i64.const $push150=, 5124095577148911
+ i64.ne $push65=, $pop64, $pop150
+ br_if $pop65, 0 # 0: down to label8
# BB#9: # %if.end69
- i64.const $20=, 4
- i64.const $21=, 60
block
- i64.shr_u $push40=, $6, $20
- i64.shl $push41=, $6, $21
- i64.or $push42=, $pop40, $pop41
- i64.ne $push43=, $pop42, $19
- br_if $pop43, 0 # 0: down to label9
+ i64.const $push66=, 4
+ i64.shr_u $push67=, $10, $pop66
+ i64.const $push68=, 60
+ i64.shl $push69=, $10, $pop68
+ i64.or $push70=, $pop67, $pop69
+ i64.const $push154=, 5124095577148911
+ i64.ne $push71=, $pop70, $pop154
+ br_if $pop71, 0 # 0: down to label9
# BB#10: # %if.end76
- i32.load $22=, shift2($11)
- i64.extend_u/i32 $9=, $22
- i32.sub $push45=, $18, $22
- i64.extend_u/i32 $10=, $pop45
- i64.const $23=, 1311768467750121216
block
- i64.shl $push46=, $6, $10
- i64.shr_u $push44=, $6, $9
- i64.or $push47=, $pop46, $pop44
- i64.ne $push48=, $pop47, $23
- br_if $pop48, 0 # 0: down to label10
+ i32.const $push75=, 64
+ i32.const $push72=, 0
+ i32.load $push73=, shift2($pop72)
+ tee_local $push158=, $13=, $pop73
+ i32.sub $push76=, $pop75, $pop158
+ i64.extend_u/i32 $push12=, $pop76
+ tee_local $push157=, $12=, $pop12
+ i64.shl $push77=, $10, $pop157
+ i64.extend_u/i32 $push11=, $13
+ tee_local $push156=, $11=, $pop11
+ i64.shr_u $push74=, $10, $pop156
+ i64.or $push78=, $pop77, $pop74
+ i64.const $push155=, 1311768467750121216
+ i64.ne $push79=, $pop78, $pop155
+ br_if $pop79, 0 # 0: down to label10
# BB#11: # %if.end86
block
- i64.shr_u $push49=, $6, $21
- i64.shl $push50=, $6, $20
- i64.or $push51=, $pop49, $pop50
- i64.ne $push52=, $pop51, $23
- br_if $pop52, 0 # 0: down to label11
+ i64.const $push80=, 60
+ i64.shr_u $push81=, $10, $pop80
+ i64.const $push82=, 4
+ i64.shl $push83=, $10, $pop82
+ i64.or $push84=, $pop81, $pop83
+ i64.const $push159=, 1311768467750121216
+ i64.ne $push85=, $pop84, $pop159
+ br_if $pop85, 0 # 0: down to label11
# BB#12: # %if.end93
block
- i32.shr_u $push54=, $0, $2
- i32.shl $push53=, $0, $1
- i32.or $push55=, $pop54, $pop53
- i32.ne $push56=, $pop55, $12
- br_if $pop56, 0 # 0: down to label12
+ i32.shr_u $push87=, $2, $0
+ i32.shl $push86=, $2, $1
+ i32.or $push88=, $pop87, $pop86
+ i32.const $push89=, 835
+ i32.ne $push90=, $pop88, $pop89
+ br_if $pop90, 0 # 0: down to label12
# BB#13: # %if.end112
- i32.const $0=, 74561
block
- i32.shl $push57=, $3, $1
- i32.shr_u $push58=, $3, $4
- i32.or $push59=, $pop57, $pop58
- i32.ne $push60=, $pop59, $0
- br_if $pop60, 0 # 0: down to label13
+ i32.shl $push91=, $4, $1
+ i32.shr_u $push92=, $4, $3
+ i32.or $push93=, $pop91, $pop92
+ i32.const $push160=, 74561
+ i32.ne $push94=, $pop93, $pop160
+ br_if $pop94, 0 # 0: down to label13
# BB#14: # %if.end122
block
- i32.shl $push61=, $3, $13
- i32.shr_u $push62=, $3, $15
- i32.or $push63=, $pop61, $pop62
- i32.ne $push64=, $pop63, $0
- br_if $pop64, 0 # 0: down to label14
+ i32.const $push95=, 4
+ i32.shl $push96=, $4, $pop95
+ i32.const $push97=, 12
+ i32.shr_u $push98=, $4, $pop97
+ i32.or $push99=, $pop96, $pop98
+ i32.const $push161=, 74561
+ i32.ne $push100=, $pop99, $pop161
+ br_if $pop100, 0 # 0: down to label14
# BB#15: # %if.end131
- i32.const $0=, 74560
block
- i32.shl $push65=, $14, $1
- i32.shr_u $push66=, $14, $5
- i32.or $push67=, $pop65, $pop66
- i32.ne $push68=, $pop67, $0
- br_if $pop68, 0 # 0: down to label15
+ i32.shl $push101=, $6, $1
+ i32.shr_u $push102=, $6, $5
+ i32.or $push103=, $pop101, $pop102
+ i32.const $push162=, 74560
+ i32.ne $push104=, $pop103, $pop162
+ br_if $pop104, 0 # 0: down to label15
# BB#16: # %if.end139
block
- i32.shl $push69=, $14, $13
- i32.shr_u $push70=, $14, $17
- i32.or $push71=, $pop69, $pop70
- i32.ne $push72=, $pop71, $0
- br_if $pop72, 0 # 0: down to label16
+ i32.const $push105=, 4
+ i32.shl $push106=, $6, $pop105
+ i32.const $push107=, 28
+ i32.shr_u $push108=, $6, $pop107
+ i32.or $push109=, $pop106, $pop108
+ i32.const $push163=, 74560
+ i32.ne $push110=, $pop109, $pop163
+ br_if $pop110, 0 # 0: down to label16
# BB#17: # %if.end146
- i32.const $0=, 591751041
block
- i32.shl $push73=, $16, $1
- i32.shr_u $push74=, $16, $5
- i32.or $push75=, $pop73, $pop74
- i32.ne $push76=, $pop75, $0
- br_if $pop76, 0 # 0: down to label17
+ i32.shl $push111=, $7, $1
+ i32.shr_u $push112=, $7, $5
+ i32.or $push113=, $pop111, $pop112
+ i32.const $push164=, 591751041
+ i32.ne $push114=, $pop113, $pop164
+ br_if $pop114, 0 # 0: down to label17
# BB#18: # %if.end154
block
- i32.shl $push77=, $16, $13
- i32.shr_u $push78=, $16, $17
- i32.or $push79=, $pop77, $pop78
- i32.ne $push80=, $pop79, $0
- br_if $pop80, 0 # 0: down to label18
+ i32.const $push115=, 4
+ i32.shl $push116=, $7, $pop115
+ i32.const $push117=, 28
+ i32.shr_u $push118=, $7, $pop117
+ i32.or $push119=, $pop116, $pop118
+ i32.const $push165=, 591751041
+ i32.ne $push120=, $pop119, $pop165
+ br_if $pop120, 0 # 0: down to label18
# BB#19: # %if.end161
block
- i64.shl $push81=, $6, $7
- i64.shr_u $push82=, $6, $8
- i64.or $push83=, $pop81, $pop82
- i64.ne $push84=, $pop83, $23
- br_if $pop84, 0 # 0: down to label19
+ i64.shl $push121=, $10, $9
+ i64.shr_u $push122=, $10, $8
+ i64.or $push123=, $pop121, $pop122
+ i64.const $push124=, 1311768467750121216
+ i64.ne $push125=, $pop123, $pop124
+ br_if $pop125, 0 # 0: down to label19
# BB#20: # %if.end178
block
- i64.shr_u $push86=, $6, $10
- i64.shl $push85=, $6, $9
- i64.or $push87=, $pop86, $pop85
- i64.ne $push88=, $pop87, $19
- br_if $pop88, 0 # 0: down to label20
+ i64.shr_u $push127=, $10, $12
+ i64.shl $push126=, $10, $11
+ i64.or $push128=, $pop127, $pop126
+ i64.const $push129=, 5124095577148911
+ i64.ne $push130=, $pop128, $pop129
+ br_if $pop130, 0 # 0: down to label20
# BB#21: # %if.end195
- call exit@FUNCTION, $11
+ i32.const $push131=, 0
+ call exit@FUNCTION, $pop131
unreachable
.LBB0_22: # %if.then187
end_block # label20:
@@ -292,7 +339,7 @@ uc:
.type us,@object
.section .data.us,"aw",@progbits
.globl us
- .align 1
+ .p2align 1
us:
.int16 4660 # 0x1234
.size us, 2
@@ -301,7 +348,7 @@ us:
.type ui,@object
.section .data.ui,"aw",@progbits
.globl ui
- .align 2
+ .p2align 2
ui:
.int32 4660 # 0x1234
.size ui, 4
@@ -310,7 +357,7 @@ ui:
.type ul,@object
.section .data.ul,"aw",@progbits
.globl ul
- .align 2
+ .p2align 2
ul:
.int32 305419896 # 0x12345678
.size ul, 4
@@ -319,7 +366,7 @@ ul:
.type ull,@object
.section .data.ull,"aw",@progbits
.globl ull
- .align 3
+ .p2align 3
ull:
.int64 81985529234382576 # 0x12345678abcdef0
.size ull, 8
@@ -328,7 +375,7 @@ ull:
.type shift1,@object
.section .data.shift1,"aw",@progbits
.globl shift1
- .align 2
+ .p2align 2
shift1:
.int32 4 # 0x4
.size shift1, 4
@@ -337,7 +384,7 @@ shift1:
.type shift2,@object
.section .data.shift2,"aw",@progbits
.globl shift2
- .align 2
+ .p2align 2
shift2:
.int32 60 # 0x3c
.size shift2, 4
diff --git a/test/torture-s/20020227-1.c.s b/test/torture-s/20020227-1.c.s
index 668c49f7f..1adf4d229 100644
--- a/test/torture-s/20020227-1.c.s
+++ b/test/torture-s/20020227-1.c.s
@@ -31,58 +31,24 @@ f1: # @f1
.type f2,@function
f2: # @f2
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 8
- i32.const $2=, 16
block
- i32.const $push1=, 4
- i32.add $push2=, $0, $pop1
- i32.load8_u $push3=, 0($pop2)
- i32.shl $push4=, $pop3, $1
- i32.const $push5=, 3
- i32.add $push6=, $0, $pop5
- i32.load8_u $push7=, 0($pop6)
- i32.or $push8=, $pop4, $pop7
- i32.shl $push9=, $pop8, $2
- i32.const $push10=, 2
- i32.add $push11=, $0, $pop10
- i32.load8_u $push12=, 0($pop11)
- i32.shl $push13=, $pop12, $1
- i32.load8_u $push14=, 1($0)
- i32.or $push15=, $pop13, $pop14
- i32.or $push16=, $pop9, $pop15
- f32.reinterpret/i32 $push17=, $pop16
- f32.const $push35=, 0x1p0
- f32.ne $push36=, $pop17, $pop35
- br_if $pop36, 0 # 0: down to label0
+ f32.load $push1=, 1($0):p2align=0
+ f32.const $push4=, 0x1p0
+ f32.ne $push5=, $pop1, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %entry
- i32.add $push26=, $0, $1
- i32.load8_u $push27=, 0($pop26)
- i32.shl $push28=, $pop27, $1
- i32.const $push29=, 7
- i32.add $push30=, $0, $pop29
- i32.load8_u $push31=, 0($pop30)
- i32.or $push32=, $pop28, $pop31
- i32.shl $push33=, $pop32, $2
- i32.const $push20=, 6
- i32.add $push21=, $0, $pop20
- i32.load8_u $push22=, 0($pop21)
- i32.shl $push23=, $pop22, $1
- i32.const $push18=, 5
- i32.add $push19=, $0, $pop18
- i32.load8_u $push24=, 0($pop19)
- i32.or $push25=, $pop23, $pop24
- i32.or $push34=, $pop33, $pop25
- f32.reinterpret/i32 $push0=, $pop34
- f32.const $push37=, 0x0p0
- f32.ne $push38=, $pop0, $pop37
- br_if $pop38, 0 # 0: down to label0
+ i32.const $push2=, 5
+ i32.add $push3=, $0, $pop2
+ f32.load $push0=, 0($pop3):p2align=0
+ f32.const $push6=, 0x0p0
+ f32.ne $push7=, $pop0, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#2: # %lor.lhs.false
- i32.load8_u $push39=, 0($0)
- i32.const $push40=, 42
- i32.ne $push41=, $pop39, $pop40
- br_if $pop41, 0 # 0: down to label0
+ i32.load8_u $push8=, 0($0)
+ i32.const $push9=, 42
+ i32.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label0
# BB#3: # %if.end
return
.LBB2_4: # %if.then
diff --git a/test/torture-s/20020307-1.c.s b/test/torture-s/20020307-1.c.s
index 7bfdcfed5..231069c46 100644
--- a/test/torture-s/20020307-1.c.s
+++ b/test/torture-s/20020307-1.c.s
@@ -6,13 +6,13 @@
.type f3,@function
f3: # @f3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 6
block
- i32.and $push0=, $0, $1
- i32.ge_u $push1=, $pop0, $1
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push0=, 6
+ i32.and $push1=, $0, $pop0
+ i32.const $push3=, 6
+ i32.ge_u $push2=, $pop1, $pop3
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
return
.LBB0_2: # %if.then
diff --git a/test/torture-s/20020328-1.c.s b/test/torture-s/20020328-1.c.s
index d2a752191..672598d76 100644
--- a/test/torture-s/20020328-1.c.s
+++ b/test/torture-s/20020328-1.c.s
@@ -52,7 +52,7 @@ main: # @main
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/20020402-2.c.s b/test/torture-s/20020402-2.c.s
index 475612011..6e4b7c5e9 100644
--- a/test/torture-s/20020402-2.c.s
+++ b/test/torture-s/20020402-2.c.s
@@ -6,85 +6,87 @@
.type InitCache,@function
InitCache: # @InitCache
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.store $discard=, MyPte+4($1), $0
- i32.store $discard=, MyPte+8($1), $1
- i32.const $push0=, 5
- i32.store $discard=, MyPte+12($1), $pop0
- i32.const $push1=, MyPte+16
- i32.store $discard=, Local1($1), $pop1
- i32.const $push2=, MyPte+20
- i32.store $discard=, Local2($1), $pop2
- i32.const $push3=, MyPte+24
- i32.store $discard=, Local3($1), $pop3
- i32.const $push4=, MyPte+28
- i32.store $discard=, RDbf1($1), $pop4
- i32.const $push5=, MyPte+32
- i32.store $discard=, RDbf2($1), $pop5
- i32.const $push6=, MyPte+36
- i32.store $discard=, RDbf3($1), $pop6
- i32.const $push7=, 1
- i32.store $discard=, MyPte+36($1), $pop7
- i32.const $push8=, MyPte+156
- i32.store $discard=, IntVc1($1), $pop8
- i32.const $push9=, MyPte+160
- i32.store $discard=, IntVc2($1), $pop9
- i32.const $push10=, MyPte+164
- i32.store $discard=, IntCode3($1), $pop10
- i32.const $push11=, MyPte+168
- i32.store $discard=, IntCode4($1), $pop11
- i32.const $push12=, MyPte+172
- i32.store $discard=, IntCode5($1), $pop12
- i32.const $push13=, MyPte+176
- i32.store $discard=, IntCode6($1), $pop13
- i32.const $push14=, MyPte+180
- i32.store $discard=, Workspace($1), $pop14
- i32.const $push15=, MyPte+184
- i32.store $discard=, Workspace+4($1), $pop15
- i32.const $push16=, MyPte+188
- i32.store $discard=, Workspace+8($1), $pop16
- i32.const $push17=, MyPte+192
- i32.store $discard=, Workspace+12($1), $pop17
- i32.const $push18=, MyPte+196
- i32.store $discard=, Workspace+16($1), $pop18
- i32.const $push19=, MyPte+200
- i32.store $discard=, Workspace+20($1), $pop19
- i32.const $push20=, MyPte+204
- i32.store $discard=, Workspace+24($1), $pop20
- i32.const $push21=, MyPte+208
- i32.store $discard=, Workspace+28($1), $pop21
- i32.const $push22=, MyPte+212
- i32.store $discard=, Workspace+32($1), $pop22
- i32.const $push23=, MyPte+216
- i32.store $discard=, Workspace+36($1), $pop23
- i32.const $push24=, MyPte+220
- i32.store $discard=, Workspace+40($1), $pop24
- i32.const $push25=, MyPte+108
- i32.store $discard=, Lom1($1), $pop25
- i32.const $push26=, MyPte+112
- i32.store $discard=, Lom2($1), $pop26
- i32.const $push27=, MyPte+116
- i32.store $discard=, Lom3($1), $pop27
- i32.const $push28=, MyPte+120
- i32.store $discard=, Lom4($1), $pop28
- i32.const $push29=, MyPte+124
- i32.store $discard=, Lom5($1), $pop29
- i32.const $push30=, MyPte+128
- i32.store $discard=, Lom6($1), $pop30
- i32.const $push31=, MyPte+132
- i32.store $discard=, Lom7($1), $pop31
- i32.const $push32=, MyPte+136
- i32.store $discard=, Lom8($1), $pop32
- i32.const $push33=, MyPte+140
- i32.store $discard=, Lom9($1), $pop33
- i32.const $push34=, MyPte+144
- i32.store $discard=, Lom10($1), $pop34
- i32.const $push35=, MyPte+148
- i32.store $discard=, RDbf11($1), $pop35
- i32.const $push36=, MyPte+152
- i32.store $discard=, RDbf12($1), $pop36
+ i32.const $push0=, 0
+ i32.store $discard=, MyPte+4($pop0), $0
+ i32.const $push41=, 0
+ i32.const $push40=, 0
+ i32.store $push1=, MyPte+8($pop41), $pop40
+ tee_local $push39=, $0=, $pop1
+ i32.const $push2=, 5
+ i32.store $discard=, MyPte+12($pop39), $pop2
+ i32.const $push3=, MyPte+16
+ i32.store $discard=, Local1($0), $pop3
+ i32.const $push4=, MyPte+20
+ i32.store $discard=, Local2($0), $pop4
+ i32.const $push5=, MyPte+24
+ i32.store $discard=, Local3($0), $pop5
+ i32.const $push6=, MyPte+28
+ i32.store $discard=, RDbf1($0), $pop6
+ i32.const $push7=, MyPte+32
+ i32.store $discard=, RDbf2($0), $pop7
+ i32.const $push8=, MyPte+36
+ i32.store $discard=, RDbf3($0), $pop8
+ i32.const $push9=, 1
+ i32.store $discard=, MyPte+36($0), $pop9
+ i32.const $push10=, MyPte+156
+ i32.store $discard=, IntVc1($0), $pop10
+ i32.const $push11=, MyPte+160
+ i32.store $discard=, IntVc2($0), $pop11
+ i32.const $push12=, MyPte+164
+ i32.store $discard=, IntCode3($0), $pop12
+ i32.const $push13=, MyPte+168
+ i32.store $discard=, IntCode4($0), $pop13
+ i32.const $push14=, MyPte+172
+ i32.store $discard=, IntCode5($0), $pop14
+ i32.const $push15=, MyPte+176
+ i32.store $discard=, IntCode6($0), $pop15
+ i32.const $push16=, MyPte+180
+ i32.store $discard=, Workspace($0), $pop16
+ i32.const $push17=, MyPte+184
+ i32.store $discard=, Workspace+4($0), $pop17
+ i32.const $push18=, MyPte+188
+ i32.store $discard=, Workspace+8($0), $pop18
+ i32.const $push19=, MyPte+192
+ i32.store $discard=, Workspace+12($0), $pop19
+ i32.const $push20=, MyPte+196
+ i32.store $discard=, Workspace+16($0), $pop20
+ i32.const $push21=, MyPte+200
+ i32.store $discard=, Workspace+20($0), $pop21
+ i32.const $push22=, MyPte+204
+ i32.store $discard=, Workspace+24($0), $pop22
+ i32.const $push23=, MyPte+208
+ i32.store $discard=, Workspace+28($0), $pop23
+ i32.const $push24=, MyPte+212
+ i32.store $discard=, Workspace+32($0), $pop24
+ i32.const $push25=, MyPte+216
+ i32.store $discard=, Workspace+36($0), $pop25
+ i32.const $push26=, MyPte+220
+ i32.store $discard=, Workspace+40($0), $pop26
+ i32.const $push27=, MyPte+108
+ i32.store $discard=, Lom1($0), $pop27
+ i32.const $push28=, MyPte+112
+ i32.store $discard=, Lom2($0), $pop28
+ i32.const $push29=, MyPte+116
+ i32.store $discard=, Lom3($0), $pop29
+ i32.const $push30=, MyPte+120
+ i32.store $discard=, Lom4($0), $pop30
+ i32.const $push31=, MyPte+124
+ i32.store $discard=, Lom5($0), $pop31
+ i32.const $push32=, MyPte+128
+ i32.store $discard=, Lom6($0), $pop32
+ i32.const $push33=, MyPte+132
+ i32.store $discard=, Lom7($0), $pop33
+ i32.const $push34=, MyPte+136
+ i32.store $discard=, Lom8($0), $pop34
+ i32.const $push35=, MyPte+140
+ i32.store $discard=, Lom9($0), $pop35
+ i32.const $push36=, MyPte+144
+ i32.store $discard=, Lom10($0), $pop36
+ i32.const $push37=, MyPte+148
+ i32.store $discard=, RDbf11($0), $pop37
+ i32.const $push38=, MyPte+152
+ i32.store $discard=, RDbf12($0), $pop38
return
.endfunc
.Lfunc_end0:
@@ -99,83 +101,86 @@ main: # @main
.result i32
.local i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.store $3=, MyPte+8($2), $2
+ i32.const $push1=, 0
i32.const $push0=, 5
- i32.store $push1=, MyPte+4($2), $pop0
- i32.store $discard=, MyPte+12($3), $pop1
- i32.const $push2=, MyPte+16
- i32.store $discard=, Local1($3), $pop2
- i32.const $push3=, MyPte+20
- i32.store $discard=, Local2($3), $pop3
- i32.const $push4=, MyPte+24
- i32.store $discard=, Local3($3), $pop4
- i32.const $push5=, MyPte+28
- i32.store $discard=, RDbf1($3), $pop5
- i32.const $push6=, MyPte+32
- i32.store $discard=, RDbf2($3), $pop6
- i32.const $push7=, MyPte+36
- i32.store $discard=, RDbf3($3), $pop7
- i32.const $push8=, 1
- i32.store $discard=, MyPte+36($3), $pop8
- i32.const $push9=, MyPte+156
- i32.store $discard=, IntVc1($3), $pop9
- i32.const $push10=, MyPte+160
- i32.store $discard=, IntVc2($3), $pop10
- i32.const $push11=, MyPte+164
- i32.store $discard=, IntCode3($3), $pop11
- i32.const $push12=, MyPte+168
- i32.store $discard=, IntCode4($3), $pop12
- i32.const $push13=, MyPte+172
- i32.store $discard=, IntCode5($3), $pop13
- i32.const $push14=, MyPte+176
- i32.store $discard=, IntCode6($3), $pop14
- i32.const $push15=, MyPte+180
- i32.store $discard=, Workspace($3), $pop15
- i32.const $push16=, MyPte+184
- i32.store $discard=, Workspace+4($3), $pop16
- i32.const $push17=, MyPte+188
- i32.store $discard=, Workspace+8($3), $pop17
- i32.const $push18=, MyPte+192
- i32.store $discard=, Workspace+12($3), $pop18
- i32.const $push19=, MyPte+196
- i32.store $discard=, Workspace+16($3), $pop19
- i32.const $push20=, MyPte+200
- i32.store $discard=, Workspace+20($3), $pop20
- i32.const $push21=, MyPte+204
- i32.store $discard=, Workspace+24($3), $pop21
- i32.const $push22=, MyPte+208
- i32.store $discard=, Workspace+28($3), $pop22
- i32.const $push23=, MyPte+212
- i32.store $discard=, Workspace+32($3), $pop23
- i32.const $push24=, MyPte+216
- i32.store $discard=, Workspace+36($3), $pop24
- i32.const $push25=, MyPte+220
- i32.store $discard=, Workspace+40($3), $pop25
- i32.const $push26=, MyPte+108
- i32.store $discard=, Lom1($3), $pop26
- i32.const $push27=, MyPte+112
- i32.store $discard=, Lom2($3), $pop27
- i32.const $push28=, MyPte+116
- i32.store $discard=, Lom3($3), $pop28
- i32.const $push29=, MyPte+120
- i32.store $discard=, Lom4($3), $pop29
- i32.const $push30=, MyPte+124
- i32.store $discard=, Lom5($3), $pop30
- i32.const $push31=, MyPte+128
- i32.store $discard=, Lom6($3), $pop31
- i32.const $push32=, MyPte+132
- i32.store $discard=, Lom7($3), $pop32
- i32.const $push33=, MyPte+136
- i32.store $discard=, Lom8($3), $pop33
- i32.const $push34=, MyPte+140
- i32.store $discard=, Lom9($3), $pop34
- i32.const $push35=, MyPte+144
- i32.store $discard=, Lom10($3), $pop35
- i32.const $push36=, MyPte+148
- i32.store $discard=, RDbf11($3), $pop36
- i32.const $push37=, MyPte+152
- i32.store $discard=, RDbf12($3), $pop37
+ i32.store $2=, MyPte+4($pop1), $pop0
+ i32.const $push41=, 0
+ i32.const $push40=, 0
+ i32.store $push2=, MyPte+8($pop41), $pop40
+ tee_local $push39=, $3=, $pop2
+ i32.store $discard=, MyPte+12($pop39), $2
+ i32.const $push3=, MyPte+16
+ i32.store $discard=, Local1($3), $pop3
+ i32.const $push4=, MyPte+20
+ i32.store $discard=, Local2($3), $pop4
+ i32.const $push5=, MyPte+24
+ i32.store $discard=, Local3($3), $pop5
+ i32.const $push6=, MyPte+28
+ i32.store $discard=, RDbf1($3), $pop6
+ i32.const $push7=, MyPte+32
+ i32.store $discard=, RDbf2($3), $pop7
+ i32.const $push8=, MyPte+36
+ i32.store $discard=, RDbf3($3), $pop8
+ i32.const $push9=, 1
+ i32.store $discard=, MyPte+36($3), $pop9
+ i32.const $push10=, MyPte+156
+ i32.store $discard=, IntVc1($3), $pop10
+ i32.const $push11=, MyPte+160
+ i32.store $discard=, IntVc2($3), $pop11
+ i32.const $push12=, MyPte+164
+ i32.store $discard=, IntCode3($3), $pop12
+ i32.const $push13=, MyPte+168
+ i32.store $discard=, IntCode4($3), $pop13
+ i32.const $push14=, MyPte+172
+ i32.store $discard=, IntCode5($3), $pop14
+ i32.const $push15=, MyPte+176
+ i32.store $discard=, IntCode6($3), $pop15
+ i32.const $push16=, MyPte+180
+ i32.store $discard=, Workspace($3), $pop16
+ i32.const $push17=, MyPte+184
+ i32.store $discard=, Workspace+4($3), $pop17
+ i32.const $push18=, MyPte+188
+ i32.store $discard=, Workspace+8($3), $pop18
+ i32.const $push19=, MyPte+192
+ i32.store $discard=, Workspace+12($3), $pop19
+ i32.const $push20=, MyPte+196
+ i32.store $discard=, Workspace+16($3), $pop20
+ i32.const $push21=, MyPte+200
+ i32.store $discard=, Workspace+20($3), $pop21
+ i32.const $push22=, MyPte+204
+ i32.store $discard=, Workspace+24($3), $pop22
+ i32.const $push23=, MyPte+208
+ i32.store $discard=, Workspace+28($3), $pop23
+ i32.const $push24=, MyPte+212
+ i32.store $discard=, Workspace+32($3), $pop24
+ i32.const $push25=, MyPte+216
+ i32.store $discard=, Workspace+36($3), $pop25
+ i32.const $push26=, MyPte+220
+ i32.store $discard=, Workspace+40($3), $pop26
+ i32.const $push27=, MyPte+108
+ i32.store $discard=, Lom1($3), $pop27
+ i32.const $push28=, MyPte+112
+ i32.store $discard=, Lom2($3), $pop28
+ i32.const $push29=, MyPte+116
+ i32.store $discard=, Lom3($3), $pop29
+ i32.const $push30=, MyPte+120
+ i32.store $discard=, Lom4($3), $pop30
+ i32.const $push31=, MyPte+124
+ i32.store $discard=, Lom5($3), $pop31
+ i32.const $push32=, MyPte+128
+ i32.store $discard=, Lom6($3), $pop32
+ i32.const $push33=, MyPte+132
+ i32.store $discard=, Lom7($3), $pop33
+ i32.const $push34=, MyPte+136
+ i32.store $discard=, Lom8($3), $pop34
+ i32.const $push35=, MyPte+140
+ i32.store $discard=, Lom9($3), $pop35
+ i32.const $push36=, MyPte+144
+ i32.store $discard=, Lom10($3), $pop36
+ i32.const $push37=, MyPte+148
+ i32.store $discard=, RDbf11($3), $pop37
+ i32.const $push38=, MyPte+152
+ i32.store $discard=, RDbf12($3), $pop38
return $3
.endfunc
.Lfunc_end1:
@@ -185,7 +190,7 @@ main: # @main
.type Local1,@object
.section .bss.Local1,"aw",@nobits
.globl Local1
- .align 2
+ .p2align 2
Local1:
.int32 0
.size Local1, 4
@@ -194,7 +199,7 @@ Local1:
.type Local2,@object
.section .bss.Local2,"aw",@nobits
.globl Local2
- .align 2
+ .p2align 2
Local2:
.int32 0
.size Local2, 4
@@ -203,7 +208,7 @@ Local2:
.type Local3,@object
.section .bss.Local3,"aw",@nobits
.globl Local3
- .align 2
+ .p2align 2
Local3:
.int32 0
.size Local3, 4
@@ -212,7 +217,7 @@ Local3:
.type RDbf1,@object
.section .bss.RDbf1,"aw",@nobits
.globl RDbf1
- .align 2
+ .p2align 2
RDbf1:
.int32 0
.size RDbf1, 4
@@ -221,7 +226,7 @@ RDbf1:
.type RDbf2,@object
.section .bss.RDbf2,"aw",@nobits
.globl RDbf2
- .align 2
+ .p2align 2
RDbf2:
.int32 0
.size RDbf2, 4
@@ -230,7 +235,7 @@ RDbf2:
.type RDbf3,@object
.section .bss.RDbf3,"aw",@nobits
.globl RDbf3
- .align 2
+ .p2align 2
RDbf3:
.int32 0
.size RDbf3, 4
@@ -239,7 +244,7 @@ RDbf3:
.type IntVc1,@object
.section .bss.IntVc1,"aw",@nobits
.globl IntVc1
- .align 2
+ .p2align 2
IntVc1:
.int32 0
.size IntVc1, 4
@@ -248,7 +253,7 @@ IntVc1:
.type IntVc2,@object
.section .bss.IntVc2,"aw",@nobits
.globl IntVc2
- .align 2
+ .p2align 2
IntVc2:
.int32 0
.size IntVc2, 4
@@ -257,7 +262,7 @@ IntVc2:
.type IntCode3,@object
.section .bss.IntCode3,"aw",@nobits
.globl IntCode3
- .align 2
+ .p2align 2
IntCode3:
.int32 0
.size IntCode3, 4
@@ -266,7 +271,7 @@ IntCode3:
.type IntCode4,@object
.section .bss.IntCode4,"aw",@nobits
.globl IntCode4
- .align 2
+ .p2align 2
IntCode4:
.int32 0
.size IntCode4, 4
@@ -275,7 +280,7 @@ IntCode4:
.type IntCode5,@object
.section .bss.IntCode5,"aw",@nobits
.globl IntCode5
- .align 2
+ .p2align 2
IntCode5:
.int32 0
.size IntCode5, 4
@@ -284,7 +289,7 @@ IntCode5:
.type IntCode6,@object
.section .bss.IntCode6,"aw",@nobits
.globl IntCode6
- .align 2
+ .p2align 2
IntCode6:
.int32 0
.size IntCode6, 4
@@ -293,7 +298,7 @@ IntCode6:
.type Lom1,@object
.section .bss.Lom1,"aw",@nobits
.globl Lom1
- .align 2
+ .p2align 2
Lom1:
.int32 0
.size Lom1, 4
@@ -302,7 +307,7 @@ Lom1:
.type Lom2,@object
.section .bss.Lom2,"aw",@nobits
.globl Lom2
- .align 2
+ .p2align 2
Lom2:
.int32 0
.size Lom2, 4
@@ -311,7 +316,7 @@ Lom2:
.type Lom3,@object
.section .bss.Lom3,"aw",@nobits
.globl Lom3
- .align 2
+ .p2align 2
Lom3:
.int32 0
.size Lom3, 4
@@ -320,7 +325,7 @@ Lom3:
.type Lom4,@object
.section .bss.Lom4,"aw",@nobits
.globl Lom4
- .align 2
+ .p2align 2
Lom4:
.int32 0
.size Lom4, 4
@@ -329,7 +334,7 @@ Lom4:
.type Lom5,@object
.section .bss.Lom5,"aw",@nobits
.globl Lom5
- .align 2
+ .p2align 2
Lom5:
.int32 0
.size Lom5, 4
@@ -338,7 +343,7 @@ Lom5:
.type Lom6,@object
.section .bss.Lom6,"aw",@nobits
.globl Lom6
- .align 2
+ .p2align 2
Lom6:
.int32 0
.size Lom6, 4
@@ -347,7 +352,7 @@ Lom6:
.type Lom7,@object
.section .bss.Lom7,"aw",@nobits
.globl Lom7
- .align 2
+ .p2align 2
Lom7:
.int32 0
.size Lom7, 4
@@ -356,7 +361,7 @@ Lom7:
.type Lom8,@object
.section .bss.Lom8,"aw",@nobits
.globl Lom8
- .align 2
+ .p2align 2
Lom8:
.int32 0
.size Lom8, 4
@@ -365,7 +370,7 @@ Lom8:
.type Lom9,@object
.section .bss.Lom9,"aw",@nobits
.globl Lom9
- .align 2
+ .p2align 2
Lom9:
.int32 0
.size Lom9, 4
@@ -374,7 +379,7 @@ Lom9:
.type Lom10,@object
.section .bss.Lom10,"aw",@nobits
.globl Lom10
- .align 2
+ .p2align 2
Lom10:
.int32 0
.size Lom10, 4
@@ -383,7 +388,7 @@ Lom10:
.type RDbf11,@object
.section .bss.RDbf11,"aw",@nobits
.globl RDbf11
- .align 2
+ .p2align 2
RDbf11:
.int32 0
.size RDbf11, 4
@@ -392,7 +397,7 @@ RDbf11:
.type RDbf12,@object
.section .bss.RDbf12,"aw",@nobits
.globl RDbf12
- .align 2
+ .p2align 2
RDbf12:
.int32 0
.size RDbf12, 4
@@ -401,7 +406,7 @@ RDbf12:
.type Workspace,@object
.section .bss.Workspace,"aw",@nobits
.globl Workspace
- .align 2
+ .p2align 2
Workspace:
.skip 44
.size Workspace, 44
@@ -410,7 +415,7 @@ Workspace:
.type MyPte,@object
.section .bss.MyPte,"aw",@nobits
.globl MyPte
- .align 2
+ .p2align 2
MyPte:
.skip 392
.size MyPte, 392
diff --git a/test/torture-s/20020402-3.c.s b/test/torture-s/20020402-3.c.s
index 30698896c..da44826e3 100644
--- a/test/torture-s/20020402-3.c.s
+++ b/test/torture-s/20020402-3.c.s
@@ -7,73 +7,82 @@
blockvector_for_pc_sect: # @blockvector_for_pc_sect
.param i64, i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.load $2=, 0($1)
- i32.load $1=, 0($2)
- i32.const $4=, 1
- i32.const $8=, 0
- copy_local $7=, $1
+ i32.load $push0=, 0($1)
+ tee_local $push26=, $5=, $pop0
+ i32.load $1=, 0($pop26)
+ i32.const $4=, 0
+ copy_local $3=, $1
block
block
- i32.le_s $push0=, $1, $4
- br_if $pop0, 0 # 0: down to label1
+ i32.const $push25=, 1
+ i32.le_s $push1=, $1, $pop25
+ br_if $pop1, 0 # 0: down to label1
.LBB0_1: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.add $push1=, $1, $4
- i32.shr_s $5=, $pop1, $4
- i32.add $1=, $5, $8
- i32.const $push2=, 2
- i32.shl $push3=, $1, $pop2
- i32.add $push4=, $2, $pop3
- i32.const $push5=, 4
- i32.add $push6=, $pop4, $pop5
- i32.load $push7=, 0($pop6)
- i64.load $push8=, 0($pop7)
- i64.gt_u $6=, $pop8, $0
- i32.select $8=, $6, $8, $1
- i32.select $3=, $6, $1, $7
- i32.sub $push9=, $7, $1
- i32.select $1=, $6, $5, $pop9
- copy_local $7=, $3
- i32.gt_s $push10=, $1, $4
- br_if $pop10, 0 # 0: up to label2
+ i32.const $push33=, 1
+ i32.add $push2=, $1, $pop33
+ i32.const $push32=, 1
+ i32.shr_s $push3=, $pop2, $pop32
+ tee_local $push31=, $7=, $pop3
+ i32.add $push4=, $pop31, $4
+ tee_local $push30=, $1=, $pop4
+ i32.const $push5=, 2
+ i32.shl $push6=, $pop30, $pop5
+ i32.add $push7=, $5, $pop6
+ i32.const $push8=, 4
+ i32.add $push9=, $pop7, $pop8
+ i32.load $push10=, 0($pop9)
+ i64.load $push11=, 0($pop10)
+ i64.gt_u $push12=, $pop11, $0
+ tee_local $push29=, $6=, $pop12
+ i32.select $4=, $pop29, $4, $1
+ i32.select $2=, $6, $1, $3
+ i32.sub $push13=, $3, $1
+ i32.select $1=, $6, $7, $pop13
+ copy_local $3=, $2
+ i32.const $push28=, 1
+ i32.gt_s $push14=, $1, $pop28
+ br_if $pop14, 0 # 0: up to label2
# BB#2: # %while.cond8.preheader
end_loop # label3:
- i32.const $7=, 0
- i32.const $push11=, -1
- i32.le_s $push12=, $8, $pop11
- br_if $pop12, 1 # 1: down to label0
+ i32.const $3=, 0
+ i32.const $push15=, -1
+ i32.le_s $push16=, $4, $pop15
+ br_if $pop16, 1 # 1: down to label0
.LBB0_3: # %while.body10.preheader
end_block # label1:
- i32.const $push13=, 2
- i32.shl $push14=, $8, $pop13
- i32.add $push15=, $pop14, $2
- i32.const $push16=, 4
- i32.add $1=, $pop15, $pop16
- i32.add $6=, $8, $4
+ i32.const $push17=, 2
+ i32.shl $push18=, $4, $pop17
+ i32.add $push19=, $pop18, $5
+ i32.const $push20=, 4
+ i32.add $1=, $pop19, $pop20
+ i32.const $push27=, 1
+ i32.add $4=, $4, $pop27
.LBB0_4: # %while.body10
# =>This Inner Loop Header: Depth=1
loop # label4:
- copy_local $7=, $2
- i32.load $push17=, 0($1)
- i64.load $push18=, 8($pop17)
- i64.gt_u $push19=, $pop18, $0
- br_if $pop19, 1 # 1: down to label5
+ copy_local $3=, $5
+ i32.load $push21=, 0($1)
+ i64.load $push22=, 8($pop21)
+ i64.gt_u $push23=, $pop22, $0
+ br_if $pop23, 1 # 1: down to label5
# BB#5: # %while.cond8
# in Loop: Header=BB0_4 Depth=1
- i32.const $push20=, -1
- i32.add $6=, $6, $pop20
- i32.const $push21=, -4
- i32.add $1=, $1, $pop21
- i32.const $7=, 0
- i32.ge_s $push22=, $6, $4
- br_if $pop22, 0 # 0: up to label4
+ i32.const $push36=, -1
+ i32.add $4=, $4, $pop36
+ i32.const $push35=, -4
+ i32.add $1=, $1, $pop35
+ i32.const $3=, 0
+ i32.const $push34=, 1
+ i32.ge_s $push24=, $4, $pop34
+ br_if $pop24, 0 # 0: up to label4
.LBB0_6: # %cleanup
end_loop # label5:
end_block # label0:
- return $7
+ return $3
.endfunc
.Lfunc_end0:
.size blockvector_for_pc_sect, .Lfunc_end0-blockvector_for_pc_sect
diff --git a/test/torture-s/20020404-1.c.s b/test/torture-s/20020404-1.c.s
index 6eeb4bc9e..532c53e69 100644
--- a/test/torture-s/20020404-1.c.s
+++ b/test/torture-s/20020404-1.c.s
@@ -6,19 +6,23 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load8_u $push2=, bfd_make_section_anyway.foo_section($0)
- i32.const $push3=, 1
- i32.or $push4=, $pop2, $pop3
- i32.store8 $discard=, bfd_make_section_anyway.foo_section($0), $pop4
+ i32.const $push1=, 0
+ i32.const $push11=, 0
+ i32.load8_u $push3=, bfd_make_section_anyway.foo_section($pop11):p2align=3
+ i32.const $push4=, 1
+ i32.or $push5=, $pop3, $pop4
+ i32.store8 $discard=, bfd_make_section_anyway.foo_section($pop1):p2align=3, $pop5
+ i32.const $push10=, 0
+ i32.const $push9=, 0
i64.const $push0=, 3735928559
- i64.store $push1=, bfd_make_section_anyway.foo_section+16($0), $pop0
- i64.store $discard=, bfd_make_section_anyway.foo_section+8($0), $pop1
- i64.const $push5=, 0
- i64.store $discard=, bfd_make_section_anyway.foo_section+24($0), $pop5
- call exit@FUNCTION, $0
+ i64.store $push2=, bfd_make_section_anyway.foo_section+16($pop9), $pop0
+ i64.store $discard=, bfd_make_section_anyway.foo_section+8($pop10), $pop2
+ i32.const $push8=, 0
+ i64.const $push6=, 0
+ i64.store $discard=, bfd_make_section_anyway.foo_section+24($pop8), $pop6
+ i32.const $push7=, 0
+ call exit@FUNCTION, $pop7
unreachable
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/20020406-1.c.s b/test/torture-s/20020406-1.c.s
index 9b712dd0b..b27c8248c 100644
--- a/test/torture-s/20020406-1.c.s
+++ b/test/torture-s/20020406-1.c.s
@@ -34,28 +34,29 @@ DUPFFdeg: # @DUPFFdeg
DUPFFnew: # @DUPFFnew
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
block
- i32.const $push0=, 12
- i32.call $1=, malloc@FUNCTION, $pop0
- i32.const $push1=, 0
- i32.store $push2=, 8($1), $pop1
- i32.lt_s $push3=, $0, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push1=, 12
+ i32.call $push0=, malloc@FUNCTION, $pop1
+ tee_local $push12=, $1=, $pop0
+ i32.const $push2=, 0
+ i32.store $push3=, 8($pop12), $pop2
+ i32.lt_s $push4=, $0, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.then
- i32.const $push4=, 1
- i32.add $push5=, $0, $pop4
- i32.const $push6=, 4
- i32.call $2=, calloc@FUNCTION, $pop5, $pop6
- i32.const $push7=, 8
- i32.add $push8=, $1, $pop7
- i32.store $discard=, 0($pop8), $2
+ i32.const $push9=, 8
+ i32.add $push10=, $1, $pop9
+ i32.const $push5=, 1
+ i32.add $push6=, $0, $pop5
+ i32.const $push7=, 4
+ i32.call $push8=, calloc@FUNCTION, $pop6, $pop7
+ i32.store $discard=, 0($pop10), $pop8
.LBB2_2: # %if.end
end_block # label0:
i32.store $discard=, 0($1), $0
- i32.const $push9=, -1
- i32.store $discard=, 4($1), $pop9
+ i32.const $push11=, -1
+ i32.store $discard=, 4($1), $pop11
return $1
.endfunc
.Lfunc_end2:
@@ -117,16 +118,16 @@ DUPFFshift_add: # @DUPFFshift_add
DUPFFexgcd: # @DUPFFexgcd
.param i32, i32, i32, i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $14=, __stack_pointer
- i32.load $14=, 0($14)
- i32.const $15=, 16
- i32.sub $13=, $14, $15
- i32.const $15=, __stack_pointer
- i32.store $13=, 0($15), $13
- i32.load $9=, 4($2)
- i32.load $8=, 4($3)
+ i32.const $12=, __stack_pointer
+ i32.load $12=, 0($12)
+ i32.const $13=, 16
+ i32.sub $15=, $12, $13
+ i32.const $13=, __stack_pointer
+ i32.store $15=, 0($13), $15
+ i32.load $7=, 4($2)
+ i32.load $6=, 4($3)
.LBB7_1: # %tailrecurse
# =>This Inner Loop Header: Depth=1
loop # label1:
@@ -134,72 +135,79 @@ DUPFFexgcd: # @DUPFFexgcd
copy_local $3=, $2
copy_local $4=, $1
copy_local $1=, $0
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 8
+ i32.sub $15=, $8, $9
+ i32.const $9=, __stack_pointer
+ i32.store $15=, 0($9), $15
+ i32.store $discard=, 0($15), $7
+ i32.const $push21=, 4
+ i32.add $7=, $15, $pop21
+ i32.store $discard=, 0($7), $6
+ i32.const $push20=, .L.str
+ i32.call $discard=, printf@FUNCTION, $pop20
i32.const $10=, __stack_pointer
i32.load $10=, 0($10)
i32.const $11=, 8
- i32.sub $13=, $10, $11
+ i32.add $15=, $10, $11
i32.const $11=, __stack_pointer
- i32.store $13=, 0($11), $13
- i32.store $discard=, 0($13), $9
- i32.const $6=, 4
- i32.add $9=, $13, $6
- i32.store $discard=, 0($9), $8
- i32.const $push1=, .L.str
- i32.call $discard=, iprintf@FUNCTION, $pop1
- i32.const $12=, __stack_pointer
- i32.load $12=, 0($12)
- i32.const $13=, 8
- i32.add $13=, $12, $13
- i32.const $13=, __stack_pointer
- i32.store $13=, 0($13), $13
- i32.load $8=, 4($3)
- i32.load $9=, 4($5)
+ i32.store $15=, 0($11), $15
+ i32.load $6=, 4($3)
+ i32.load $7=, 4($5)
copy_local $0=, $4
copy_local $2=, $5
- i32.lt_s $push2=, $8, $9
+ i32.lt_s $push2=, $6, $7
br_if $pop2, 0 # 0: up to label1
# BB#2: # %if.end
end_loop # label2:
- i32.const $2=, 2
block
- i32.ne $push3=, $8, $2
- br_if $pop3, 0 # 0: down to label3
-# BB#3: # %if.end
- i32.const $8=, 1
- i32.ne $push4=, $9, $8
+ i32.const $push3=, 2
+ i32.ne $push4=, $6, $pop3
br_if $pop4, 0 # 0: down to label3
+# BB#3: # %if.end
+ i32.const $push5=, 1
+ i32.ne $push6=, $7, $pop5
+ br_if $pop6, 0 # 0: down to label3
# BB#4: # %if.end11
block
- i32.load $push5=, 8($3)
- i32.load $push6=, 0($pop5)
- i32.const $push15=, 0
- i32.eq $push16=, $pop6, $pop15
- br_if $pop16, 0 # 0: down to label4
-# BB#5: # %DUPFFnew.exit
- i32.const $0=, 12
- i32.call $9=, malloc@FUNCTION, $0
- i32.call $7=, calloc@FUNCTION, $2, $6
- i32.store $push7=, 8($9), $7
- i32.store $push8=, 0($9), $8
- i32.store $7=, 0($pop7), $pop8
- i32.const $push9=, 0
- i32.store $discard=, 4($9), $pop9
- i32.call $8=, malloc@FUNCTION, $0
- i32.const $push10=, 3
- i32.call $0=, calloc@FUNCTION, $pop10, $6
- i32.store $discard=, 8($8), $0
- i32.store $discard=, 0($8), $2
+ i32.load $push7=, 8($3)
+ i32.load $push8=, 0($pop7)
+ i32.const $push28=, 0
+ i32.eq $push29=, $pop8, $pop28
+ br_if $pop29, 0 # 0: down to label4
+# BB#5: # %DUPFFnew.exit167
+ i32.const $push9=, 12
+ i32.call $7=, malloc@FUNCTION, $pop9
+ i32.const $push10=, 2
+ i32.const $push26=, 4
+ i32.call $6=, calloc@FUNCTION, $pop10, $pop26
+ i32.store $push11=, 8($7), $6
+ i32.const $push12=, 1
+ i32.store $push13=, 0($7), $pop12
+ i32.store $2=, 0($pop11), $pop13
+ i32.const $push14=, 0
+ i32.store $discard=, 4($7), $pop14
+ i32.const $push25=, 12
+ i32.call $6=, malloc@FUNCTION, $pop25
+ i32.const $push15=, 3
+ i32.const $push24=, 4
+ i32.call $0=, calloc@FUNCTION, $pop15, $pop24
+ i32.store $discard=, 8($6), $0
+ i64.const $push16=, -4294967294
+ i64.store $discard=, 0($6):p2align=2, $pop16
block
- i32.const $push11=, -1
- i32.store $discard=, 4($8), $pop11
- i32.add $push12=, $5, $6
- i32.load $5=, 0($pop12)
- i32.lt_s $push13=, $5, $7
- br_if $pop13, 0 # 0: down to label5
+ i32.const $push23=, 4
+ i32.add $push17=, $5, $pop23
+ i32.load $push0=, 0($pop17)
+ tee_local $push22=, $5=, $pop0
+ i32.lt_s $push18=, $pop22, $2
+ br_if $pop18, 0 # 0: down to label5
# BB#6: # %while.cond40.preheader.lr.ph
- i32.add $push14=, $3, $6
- i32.load $push0=, 0($pop14)
- i32.lt_s $3=, $pop0, $5
+ i32.const $push27=, 4
+ i32.add $push19=, $3, $pop27
+ i32.load $push1=, 0($pop19)
+ i32.lt_s $3=, $pop1, $5
.LBB7_7: # %while.cond40.preheader
# =>This Inner Loop Header: Depth=1
loop # label6:
@@ -212,14 +220,14 @@ DUPFFexgcd: # @DUPFFexgcd
.LBB7_9: # %if.end57
end_loop # label9:
end_block # label5:
- i32.store $discard=, 0($1), $9
- i32.store $discard=, 0($4), $8
+ i32.store $discard=, 0($1), $7
+ i32.store $discard=, 0($4), $6
.LBB7_10: # %cleanup
end_block # label4:
- i32.const $16=, 16
- i32.add $13=, $13, $16
- i32.const $16=, __stack_pointer
- i32.store $13=, 0($16), $13
+ i32.const $14=, 16
+ i32.add $15=, $15, $14
+ i32.const $14=, __stack_pointer
+ i32.store $15=, 0($14), $15
return $3
.LBB7_11: # %if.then10
end_block # label3:
@@ -235,59 +243,61 @@ DUPFFexgcd: # @DUPFFexgcd
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $10=, __stack_pointer
- i32.load $10=, 0($10)
- i32.const $11=, 16
- i32.sub $15=, $10, $11
- i32.const $11=, __stack_pointer
- i32.store $15=, 0($11), $15
- i32.const $4=, 12
- i32.call $0=, malloc@FUNCTION, $4
- i32.const $1=, 4
- i32.const $2=, 2
- i32.call $3=, calloc@FUNCTION, $2, $1
- i32.store $discard=, 8($0), $3
- i32.const $push0=, 1
- i32.store $push1=, 0($0), $pop0
- i32.store $push2=, 4($3), $pop1
- i32.store $3=, 4($0), $pop2
- i32.call $4=, malloc@FUNCTION, $4
- i32.const $push3=, 3
- i32.call $5=, calloc@FUNCTION, $pop3, $1
- i32.store $push4=, 8($4), $5
- i32.store $discard=, 8($pop4), $3
- i32.store $push5=, 0($4), $2
- i32.store $2=, 4($4), $pop5
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 16
+ i32.sub $13=, $8, $9
+ i32.const $9=, __stack_pointer
+ i32.store $13=, 0($9), $13
+ i32.const $push0=, 12
+ i32.call $0=, malloc@FUNCTION, $pop0
+ i32.const $push2=, 2
+ i32.const $push1=, 4
+ i32.call $2=, calloc@FUNCTION, $pop2, $pop1
+ i32.store $push3=, 8($0), $2
+ i32.const $push4=, 1
+ i32.store $push5=, 0($0), $pop4
+ i32.store $push6=, 4($pop3), $pop5
+ i32.store $1=, 4($0), $pop6
+ i32.const $push15=, 12
+ i32.call $2=, malloc@FUNCTION, $pop15
+ i32.const $push7=, 3
+ i32.const $push14=, 4
+ i32.call $3=, calloc@FUNCTION, $pop7, $pop14
+ i32.store $push8=, 8($2), $3
+ i32.store $discard=, 8($pop8), $1
+ i32.const $push13=, 2
+ i32.store $push9=, 0($2), $pop13
+ i32.store $discard=, 4($2), $pop9
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 8
+ i32.sub $13=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $13=, 0($5), $13
+ i64.const $push10=, 8589934593
+ i64.store $discard=, 0($13):p2align=2, $pop10
+ i32.const $push11=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop11
i32.const $6=, __stack_pointer
i32.load $6=, 0($6)
i32.const $7=, 8
- i32.sub $15=, $6, $7
+ i32.add $13=, $6, $7
i32.const $7=, __stack_pointer
- i32.store $15=, 0($7), $15
- i32.store $discard=, 0($15), $3
- i32.add $1=, $15, $1
- i32.store $discard=, 0($1), $2
- i32.const $push6=, .L.str.1
- i32.call $discard=, iprintf@FUNCTION, $pop6
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 8
- i32.add $15=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $15=, 0($9), $15
- i32.const $13=, 12
- i32.add $13=, $15, $13
- i32.const $14=, 8
- i32.add $14=, $15, $14
- i32.call $discard=, DUPFFexgcd@FUNCTION, $13, $14, $0, $4
- i32.const $push7=, 0
- i32.const $12=, 16
- i32.add $15=, $15, $12
- i32.const $12=, __stack_pointer
- i32.store $15=, 0($12), $15
- return $pop7
+ i32.store $13=, 0($7), $13
+ i32.const $11=, 12
+ i32.add $11=, $13, $11
+ i32.const $12=, 8
+ i32.add $12=, $13, $12
+ i32.call $discard=, DUPFFexgcd@FUNCTION, $11, $12, $0, $2
+ i32.const $push12=, 0
+ i32.const $10=, 16
+ i32.add $13=, $13, $10
+ i32.const $10=, __stack_pointer
+ i32.store $13=, 0($10), $13
+ return $pop12
.endfunc
.Lfunc_end8:
.size main, .Lfunc_end8-main
diff --git a/test/torture-s/20020411-1.c.s b/test/torture-s/20020411-1.c.s
index 0934ceb17..c8e96e5d2 100644
--- a/test/torture-s/20020411-1.c.s
+++ b/test/torture-s/20020411-1.c.s
@@ -7,10 +7,8 @@
foo: # @foo
.param i32
# BB#0: # %entry
- i32.const $push0=, 1065353216
- i32.store $discard=, 0($0), $pop0
- i32.const $push1=, -1082130432
- i32.store $discard=, 4($0), $pop1
+ i64.const $push0=, -4647714814380998656
+ i64.store $discard=, 0($0):p2align=2, $pop0
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/20020413-1.c.s b/test/torture-s/20020413-1.c.s
index 8386b8e3e..5ccfa294e 100644
--- a/test/torture-s/20020413-1.c.s
+++ b/test/torture-s/20020413-1.c.s
@@ -6,188 +6,235 @@
.type test,@function
test: # @test
.param i64, i64, i32
- .local i64, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 16
- i32.sub $11=, $9, $10
- i32.const $10=, __stack_pointer
- i32.store $11=, 0($10), $11
- i64.const $3=, 0
- i32.call $4=, __lttf2@FUNCTION, $0, $1, $3, $3
- i32.const $8=, 0
- i32.lt_s $4=, $4, $8
- i64.const $push0=, -9223372036854775808
- i32.const $12=, 0
- i32.add $12=, $11, $12
- call __subtf3@FUNCTION, $12, $3, $pop0, $0, $1
- i32.const $5=, 8
- i32.const $13=, 0
- i32.add $13=, $11, $13
- i32.add $push1=, $13, $5
- i64.load $push2=, 0($pop1)
- i64.select $1=, $4, $pop2, $1
- i64.load $push3=, 0($11)
- i64.select $0=, $4, $pop3, $0
- i64.const $6=, 4611404543450677248
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $8=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $8=, 0($6), $8
+ i64.const $push92=, 0
+ i64.const $push91=, 0
+ i32.call $3=, __lttf2@FUNCTION, $0, $1, $pop92, $pop91
+ i32.const $4=, 0
+ i64.const $push90=, 0
+ i64.const $push3=, -9223372036854775808
+ call __subtf3@FUNCTION, $8, $pop90, $pop3, $0, $1
block
block
- i32.call $push4=, __getf2@FUNCTION, $0, $1, $3, $6
- i32.ge_s $push5=, $pop4, $8
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push89=, 0
+ i32.lt_s $push2=, $3, $pop89
+ tee_local $push88=, $3=, $pop2
+ i64.load $push7=, 0($8)
+ i64.select $push0=, $pop88, $pop7, $0
+ tee_local $push87=, $0=, $pop0
+ i32.const $push4=, 8
+ i32.add $push5=, $8, $pop4
+ i64.load $push6=, 0($pop5)
+ i64.select $push1=, $3, $pop6, $1
+ tee_local $push86=, $1=, $pop1
+ i64.const $push85=, 0
+ i64.const $push84=, 4611404543450677248
+ i32.call $push8=, __getf2@FUNCTION, $pop87, $pop86, $pop85, $pop84
+ i32.const $push83=, 0
+ i32.ge_s $push9=, $pop8, $pop83
+ br_if $pop9, 0 # 0: down to label1
# BB#1: # %if.else
- i32.call $push35=, __eqtf2@FUNCTION, $0, $1, $3, $3
- i32.const $push66=, 0
- i32.eq $push67=, $pop35, $pop66
- br_if $pop67, 1 # 1: down to label0
+ i64.const $push97=, 0
+ i64.const $push96=, 0
+ i32.call $push45=, __eqtf2@FUNCTION, $0, $1, $pop97, $pop96
+ i32.const $push133=, 0
+ i32.eq $push134=, $pop45, $pop133
+ br_if $pop134, 1 # 1: down to label0
# BB#2: # %if.else
- i32.call $7=, __lttf2@FUNCTION, $0, $1, $3, $6
- i32.const $4=, -1
- i32.gt_s $push36=, $7, $4
- br_if $pop36, 1 # 1: down to label0
+ i64.const $push98=, 0
+ i64.const $push46=, 4611404543450677248
+ i32.call $push47=, __lttf2@FUNCTION, $0, $1, $pop98, $pop46
+ i32.const $push48=, -1
+ i32.gt_s $push49=, $pop47, $pop48
+ br_if $pop49, 1 # 1: down to label0
# BB#3: # %while.body12
- i64.const $push37=, 4611123068473966592
- i32.call $7=, __lttf2@FUNCTION, $0, $1, $3, $pop37
- i32.const $8=, 1
- i32.const $push38=, 0
- i32.ge_s $push39=, $7, $pop38
- br_if $pop39, 1 # 1: down to label0
+ i32.const $4=, 1
+ i64.const $push99=, 0
+ i64.const $push50=, 4611123068473966592
+ i32.call $push51=, __lttf2@FUNCTION, $0, $1, $pop99, $pop50
+ i32.const $push52=, 0
+ i32.ge_s $push53=, $pop51, $pop52
+ br_if $pop53, 1 # 1: down to label0
# BB#4: # %while.body12.1
- i32.const $8=, 2
- i64.const $push40=, 4610841593497255936
- i32.call $push41=, __lttf2@FUNCTION, $0, $1, $3, $pop40
- i32.gt_s $push42=, $pop41, $4
- br_if $pop42, 1 # 1: down to label0
+ i32.const $4=, 2
+ i64.const $push101=, 0
+ i64.const $push54=, 4610841593497255936
+ i32.call $push55=, __lttf2@FUNCTION, $0, $1, $pop101, $pop54
+ i32.const $push100=, -1
+ i32.gt_s $push56=, $pop55, $pop100
+ br_if $pop56, 1 # 1: down to label0
# BB#5: # %while.body12.2
- i32.const $8=, 3
- i64.const $push43=, 4610560118520545280
- i32.call $push44=, __lttf2@FUNCTION, $0, $1, $3, $pop43
- i32.gt_s $push45=, $pop44, $4
- br_if $pop45, 1 # 1: down to label0
+ i32.const $4=, 3
+ i64.const $push103=, 0
+ i64.const $push57=, 4610560118520545280
+ i32.call $push58=, __lttf2@FUNCTION, $0, $1, $pop103, $pop57
+ i32.const $push102=, -1
+ i32.gt_s $push59=, $pop58, $pop102
+ br_if $pop59, 1 # 1: down to label0
# BB#6: # %while.body12.3
- i32.const $8=, 4
- i64.const $push46=, 4610278643543834624
- i32.call $push47=, __lttf2@FUNCTION, $0, $1, $3, $pop46
- i32.gt_s $push48=, $pop47, $4
- br_if $pop48, 1 # 1: down to label0
+ i32.const $4=, 4
+ i64.const $push105=, 0
+ i64.const $push60=, 4610278643543834624
+ i32.call $push61=, __lttf2@FUNCTION, $0, $1, $pop105, $pop60
+ i32.const $push104=, -1
+ i32.gt_s $push62=, $pop61, $pop104
+ br_if $pop62, 1 # 1: down to label0
# BB#7: # %while.body12.4
- i32.const $8=, 5
- i64.const $push49=, 4609997168567123968
- i32.call $push50=, __lttf2@FUNCTION, $0, $1, $3, $pop49
- i32.gt_s $push51=, $pop50, $4
- br_if $pop51, 1 # 1: down to label0
+ i32.const $4=, 5
+ i64.const $push107=, 0
+ i64.const $push63=, 4609997168567123968
+ i32.call $push64=, __lttf2@FUNCTION, $0, $1, $pop107, $pop63
+ i32.const $push106=, -1
+ i32.gt_s $push65=, $pop64, $pop106
+ br_if $pop65, 1 # 1: down to label0
# BB#8: # %while.body12.5
- i32.const $8=, 6
- i64.const $push52=, 4609715693590413312
- i32.call $push53=, __lttf2@FUNCTION, $0, $1, $3, $pop52
- i32.gt_s $push54=, $pop53, $4
- br_if $pop54, 1 # 1: down to label0
+ i32.const $4=, 6
+ i64.const $push109=, 0
+ i64.const $push66=, 4609715693590413312
+ i32.call $push67=, __lttf2@FUNCTION, $0, $1, $pop109, $pop66
+ i32.const $push108=, -1
+ i32.gt_s $push68=, $pop67, $pop108
+ br_if $pop68, 1 # 1: down to label0
# BB#9: # %while.body12.6
- i32.const $8=, 7
- i64.const $push55=, 4609434218613702656
- i32.call $push56=, __lttf2@FUNCTION, $0, $1, $3, $pop55
- i32.gt_s $push57=, $pop56, $4
- br_if $pop57, 1 # 1: down to label0
+ i32.const $4=, 7
+ i64.const $push111=, 0
+ i64.const $push69=, 4609434218613702656
+ i32.call $push70=, __lttf2@FUNCTION, $0, $1, $pop111, $pop69
+ i32.const $push110=, -1
+ i32.gt_s $push71=, $pop70, $pop110
+ br_if $pop71, 1 # 1: down to label0
# BB#10: # %while.body12.7
- i64.const $push58=, 4609152743636992000
- i32.call $7=, __lttf2@FUNCTION, $0, $1, $3, $pop58
- copy_local $8=, $5
- i32.gt_s $push59=, $7, $4
- br_if $pop59, 1 # 1: down to label0
+ i32.const $4=, 8
+ i64.const $push113=, 0
+ i64.const $push72=, 4609152743636992000
+ i32.call $push73=, __lttf2@FUNCTION, $0, $1, $pop113, $pop72
+ i32.const $push112=, -1
+ i32.gt_s $push74=, $pop73, $pop112
+ br_if $pop74, 1 # 1: down to label0
# BB#11: # %while.body12.8
- i32.const $8=, 9
- i64.const $push60=, 4608871268660281344
- i32.call $push61=, __lttf2@FUNCTION, $0, $1, $3, $pop60
- i32.gt_s $push62=, $pop61, $4
- br_if $pop62, 1 # 1: down to label0
+ i32.const $4=, 9
+ i64.const $push115=, 0
+ i64.const $push75=, 4608871268660281344
+ i32.call $push76=, __lttf2@FUNCTION, $0, $1, $pop115, $pop75
+ i32.const $push114=, -1
+ i32.gt_s $push77=, $pop76, $pop114
+ br_if $pop77, 1 # 1: down to label0
# BB#12: # %while.body12.9
- i32.const $8=, 10
- i64.const $push63=, 4608589793683570688
- i32.call $push64=, __lttf2@FUNCTION, $0, $1, $3, $pop63
- i32.gt_s $push65=, $pop64, $4
- br_if $pop65, 1 # 1: down to label0
+ i32.const $4=, 10
+ i64.const $push79=, 0
+ i64.const $push78=, 4608589793683570688
+ i32.call $push80=, __lttf2@FUNCTION, $0, $1, $pop79, $pop78
+ i32.const $push81=, -1
+ i32.gt_s $push82=, $pop80, $pop81
+ br_if $pop82, 1 # 1: down to label0
# BB#13: # %while.body12.10
call abort@FUNCTION
unreachable
.LBB0_14: # %while.cond.preheader
end_block # label1:
- i32.call $7=, __gttf2@FUNCTION, $0, $1, $3, $6
- i32.const $4=, 1
- i32.lt_s $push6=, $7, $4
- br_if $pop6, 0 # 0: down to label0
+ i64.const $push94=, 0
+ i64.const $push93=, 4611404543450677248
+ i32.call $push10=, __gttf2@FUNCTION, $0, $1, $pop94, $pop93
+ i32.const $push11=, 1
+ i32.lt_s $push12=, $pop10, $pop11
+ br_if $pop12, 0 # 0: down to label0
# BB#15: # %while.body
- i64.const $push7=, 4611686018427387904
- i32.call $7=, __gttf2@FUNCTION, $0, $1, $3, $pop7
- copy_local $8=, $4
- i32.const $push8=, 0
- i32.le_s $push9=, $7, $pop8
- br_if $pop9, 0 # 0: down to label0
-# BB#16: # %while.body.1
- i32.const $8=, 2
- i64.const $push10=, 4611967493404098560
- i32.call $7=, __gttf2@FUNCTION, $0, $1, $3, $pop10
i32.const $4=, 1
- i32.lt_s $push11=, $7, $4
- br_if $pop11, 0 # 0: down to label0
+ i64.const $push95=, 0
+ i64.const $push13=, 4611686018427387904
+ i32.call $push14=, __gttf2@FUNCTION, $0, $1, $pop95, $pop13
+ i32.const $push15=, 0
+ i32.le_s $push16=, $pop14, $pop15
+ br_if $pop16, 0 # 0: down to label0
+# BB#16: # %while.body.1
+ i32.const $4=, 2
+ i64.const $push117=, 0
+ i64.const $push17=, 4611967493404098560
+ i32.call $push18=, __gttf2@FUNCTION, $0, $1, $pop117, $pop17
+ i32.const $push116=, 1
+ i32.lt_s $push19=, $pop18, $pop116
+ br_if $pop19, 0 # 0: down to label0
# BB#17: # %while.body.2
- i32.const $8=, 3
- i64.const $push12=, 4612248968380809216
- i32.call $push13=, __gttf2@FUNCTION, $0, $1, $3, $pop12
- i32.lt_s $push14=, $pop13, $4
- br_if $pop14, 0 # 0: down to label0
+ i32.const $4=, 3
+ i64.const $push119=, 0
+ i64.const $push20=, 4612248968380809216
+ i32.call $push21=, __gttf2@FUNCTION, $0, $1, $pop119, $pop20
+ i32.const $push118=, 1
+ i32.lt_s $push22=, $pop21, $pop118
+ br_if $pop22, 0 # 0: down to label0
# BB#18: # %while.body.3
- i32.const $8=, 4
- i64.const $push15=, 4612530443357519872
- i32.call $push16=, __gttf2@FUNCTION, $0, $1, $3, $pop15
- i32.lt_s $push17=, $pop16, $4
- br_if $pop17, 0 # 0: down to label0
+ i32.const $4=, 4
+ i64.const $push121=, 0
+ i64.const $push23=, 4612530443357519872
+ i32.call $push24=, __gttf2@FUNCTION, $0, $1, $pop121, $pop23
+ i32.const $push120=, 1
+ i32.lt_s $push25=, $pop24, $pop120
+ br_if $pop25, 0 # 0: down to label0
# BB#19: # %while.body.4
- i32.const $8=, 5
- i64.const $push18=, 4612811918334230528
- i32.call $push19=, __gttf2@FUNCTION, $0, $1, $3, $pop18
- i32.lt_s $push20=, $pop19, $4
- br_if $pop20, 0 # 0: down to label0
+ i32.const $4=, 5
+ i64.const $push123=, 0
+ i64.const $push26=, 4612811918334230528
+ i32.call $push27=, __gttf2@FUNCTION, $0, $1, $pop123, $pop26
+ i32.const $push122=, 1
+ i32.lt_s $push28=, $pop27, $pop122
+ br_if $pop28, 0 # 0: down to label0
# BB#20: # %while.body.5
- i32.const $8=, 6
- i64.const $push21=, 4613093393310941184
- i32.call $push22=, __gttf2@FUNCTION, $0, $1, $3, $pop21
- i32.lt_s $push23=, $pop22, $4
- br_if $pop23, 0 # 0: down to label0
+ i32.const $4=, 6
+ i64.const $push125=, 0
+ i64.const $push29=, 4613093393310941184
+ i32.call $push30=, __gttf2@FUNCTION, $0, $1, $pop125, $pop29
+ i32.const $push124=, 1
+ i32.lt_s $push31=, $pop30, $pop124
+ br_if $pop31, 0 # 0: down to label0
# BB#21: # %while.body.6
- i32.const $8=, 7
- i64.const $push24=, 4613374868287651840
- i32.call $push25=, __gttf2@FUNCTION, $0, $1, $3, $pop24
- i32.lt_s $push26=, $pop25, $4
- br_if $pop26, 0 # 0: down to label0
+ i32.const $4=, 7
+ i64.const $push127=, 0
+ i64.const $push32=, 4613374868287651840
+ i32.call $push33=, __gttf2@FUNCTION, $0, $1, $pop127, $pop32
+ i32.const $push126=, 1
+ i32.lt_s $push34=, $pop33, $pop126
+ br_if $pop34, 0 # 0: down to label0
# BB#22: # %while.body.7
- i64.const $push27=, 4613656343264362496
- i32.call $7=, __gttf2@FUNCTION, $0, $1, $3, $pop27
- copy_local $8=, $5
- i32.lt_s $push28=, $7, $4
- br_if $pop28, 0 # 0: down to label0
+ i32.const $4=, 8
+ i64.const $push129=, 0
+ i64.const $push35=, 4613656343264362496
+ i32.call $push36=, __gttf2@FUNCTION, $0, $1, $pop129, $pop35
+ i32.const $push128=, 1
+ i32.lt_s $push37=, $pop36, $pop128
+ br_if $pop37, 0 # 0: down to label0
# BB#23: # %while.body.8
- i32.const $8=, 9
- i64.const $push29=, 4613937818241073152
- i32.call $push30=, __gttf2@FUNCTION, $0, $1, $3, $pop29
- i32.lt_s $push31=, $pop30, $4
- br_if $pop31, 0 # 0: down to label0
+ i32.const $4=, 9
+ i64.const $push131=, 0
+ i64.const $push38=, 4613937818241073152
+ i32.call $push39=, __gttf2@FUNCTION, $0, $1, $pop131, $pop38
+ i32.const $push130=, 1
+ i32.lt_s $push40=, $pop39, $pop130
+ br_if $pop40, 0 # 0: down to label0
# BB#24: # %while.body.9
- i32.const $8=, 10
- i64.const $push32=, 4614219293217783808
- i32.call $push33=, __gttf2@FUNCTION, $0, $1, $3, $pop32
- i32.lt_s $push34=, $pop33, $4
- br_if $pop34, 0 # 0: down to label0
+ i32.const $4=, 10
+ i64.const $push132=, 0
+ i64.const $push41=, 4614219293217783808
+ i32.call $push42=, __gttf2@FUNCTION, $0, $1, $pop132, $pop41
+ i32.const $push43=, 1
+ i32.lt_s $push44=, $pop42, $pop43
+ br_if $pop44, 0 # 0: down to label0
# BB#25: # %while.body.10
call abort@FUNCTION
unreachable
.LBB0_26: # %if.end19
end_block # label0:
- i32.store $discard=, 0($2), $8
- i32.const $11=, 16
- i32.add $11=, $11, $11
- i32.const $11=, __stack_pointer
- i32.store $11=, 0($11), $11
+ i32.store $discard=, 0($2), $4
+ i32.const $7=, 16
+ i32.add $8=, $8, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
return
.endfunc
.Lfunc_end0:
@@ -199,33 +246,36 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local i64, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $6=, $0, $1
i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 16
- i32.sub $7=, $1, $2
- i32.const $2=, __stack_pointer
- i32.store $7=, 0($2), $7
- i64.const $0=, 0
+ i32.store $6=, 0($1), $6
+ i64.const $push1=, 0
i64.const $push0=, 4611826755915743232
+ i32.const $2=, 12
+ i32.add $2=, $6, $2
+ call test@FUNCTION, $pop1, $pop0, $2
+ i64.const $push8=, 0
+ i64.const $push2=, 4611897124659920896
i32.const $3=, 12
- i32.add $3=, $7, $3
- call test@FUNCTION, $0, $pop0, $3
- i64.const $push1=, 4611897124659920896
+ i32.add $3=, $6, $3
+ call test@FUNCTION, $pop8, $pop2, $3
+ i64.const $push7=, 0
+ i64.const $push3=, 4611967493404098560
i32.const $4=, 12
- i32.add $4=, $7, $4
- call test@FUNCTION, $0, $pop1, $4
- i64.const $push2=, 4611967493404098560
+ i32.add $4=, $6, $4
+ call test@FUNCTION, $pop7, $pop3, $4
+ i64.const $push6=, 0
+ i64.const $push4=, 4612037862148276224
i32.const $5=, 12
- i32.add $5=, $7, $5
- call test@FUNCTION, $0, $pop2, $5
- i64.const $push3=, 4612037862148276224
- i32.const $6=, 12
- i32.add $6=, $7, $6
- call test@FUNCTION, $0, $pop3, $6
- i32.const $push4=, 0
- call exit@FUNCTION, $pop4
+ i32.add $5=, $6, $5
+ call test@FUNCTION, $pop6, $pop4, $5
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/20020418-1.c.s b/test/torture-s/20020418-1.c.s
index 8e9d975c0..eb573e65a 100644
--- a/test/torture-s/20020418-1.c.s
+++ b/test/torture-s/20020418-1.c.s
@@ -40,9 +40,21 @@ gcc_crash: # @gcc_crash
.type main,@function
main: # @main
.result i32
-# BB#0: # %gcc_crash.exit
- i32.const $push0=, 0
- call exit@FUNCTION, $pop0
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i32.const $push0=, 53
+ i32.store $discard=, 8($3):p2align=3, $pop0
+ i32.const $2=, 8
+ i32.add $2=, $3, $2
+ call gcc_crash@FUNCTION, $2
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/20020506-1.c.s b/test/torture-s/20020506-1.c.s
index 6bf52e1a6..1d7bf9929 100644
--- a/test/torture-s/20020506-1.c.s
+++ b/test/torture-s/20020506-1.c.s
@@ -42,29 +42,29 @@ test1: # @test1
.type test2,@function
test2: # @test2
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 24
block
block
block
- i32.shl $push0=, $0, $2
- i32.shr_s $push1=, $pop0, $2
- i32.const $push2=, 0
- i32.lt_s $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label5
+ i32.const $push0=, 24
+ i32.shl $push1=, $0, $pop0
+ i32.const $push5=, 24
+ i32.shr_s $push2=, $pop1, $pop5
+ i32.const $push3=, 0
+ i32.lt_s $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label5
# BB#1: # %if.then
- i32.const $push4=, 0
- i32.eq $push5=, $1, $pop4
- br_if $pop5, 1 # 1: down to label4
+ i32.const $push6=, 0
+ i32.eq $push7=, $1, $pop6
+ br_if $pop7, 1 # 1: down to label4
# BB#2: # %if.then2
call abort@FUNCTION
unreachable
.LBB1_3: # %if.else
end_block # label5:
- i32.const $push6=, 0
- i32.eq $push7=, $1, $pop6
- br_if $pop7, 1 # 1: down to label3
+ i32.const $push8=, 0
+ i32.eq $push9=, $1, $pop8
+ br_if $pop9, 1 # 1: down to label3
.LBB1_4: # %if.end45
end_block # label4:
return
@@ -118,29 +118,29 @@ test3: # @test3
.type test4,@function
test4: # @test4
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 16
block
block
block
- i32.shl $push0=, $0, $2
- i32.shr_s $push1=, $pop0, $2
- i32.const $push2=, 0
- i32.lt_s $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label11
+ i32.const $push0=, 16
+ i32.shl $push1=, $0, $pop0
+ i32.const $push5=, 16
+ i32.shr_s $push2=, $pop1, $pop5
+ i32.const $push3=, 0
+ i32.lt_s $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label11
# BB#1: # %if.then
- i32.const $push4=, 0
- i32.eq $push5=, $1, $pop4
- br_if $pop5, 1 # 1: down to label10
+ i32.const $push6=, 0
+ i32.eq $push7=, $1, $pop6
+ br_if $pop7, 1 # 1: down to label10
# BB#2: # %if.then2
call abort@FUNCTION
unreachable
.LBB3_3: # %if.else
end_block # label11:
- i32.const $push6=, 0
- i32.eq $push7=, $1, $pop6
- br_if $pop7, 1 # 1: down to label9
+ i32.const $push8=, 0
+ i32.eq $push9=, $1, $pop8
+ br_if $pop9, 1 # 1: down to label9
.LBB3_4: # %if.end45
end_block # label10:
return
diff --git a/test/torture-s/20020508-1.c.s b/test/torture-s/20020508-1.c.s
index f7c7afdcb..185f9276d 100644
--- a/test/torture-s/20020508-1.c.s
+++ b/test/torture-s/20020508-1.c.s
@@ -6,191 +6,238 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i32, i64
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i32
# BB#0: # %entry
- i32.const $11=, 0
- i32.load $1=, shift1($11)
- i32.load8_u $0=, uc($11)
- i32.const $push1=, 8
- i32.sub $2=, $pop1, $1
- i32.const $12=, 835
block
- i32.shl $push2=, $0, $2
- i32.shr_u $push0=, $0, $1
- i32.or $push3=, $pop2, $pop0
- i32.ne $push4=, $pop3, $12
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push13=, 0
+ i32.load8_u $push0=, uc($pop13)
+ tee_local $push136=, $2=, $pop0
+ i32.const $push15=, 8
+ i32.const $push135=, 0
+ i32.load $push1=, shift1($pop135)
+ tee_local $push134=, $1=, $pop1
+ i32.sub $push2=, $pop15, $pop134
+ tee_local $push133=, $0=, $pop2
+ i32.shl $push16=, $pop136, $pop133
+ i32.shr_u $push14=, $2, $1
+ i32.or $push17=, $pop16, $pop14
+ i32.const $push132=, 835
+ i32.ne $push18=, $pop17, $pop132
+ br_if $pop18, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $13=, 4
block
- i32.shr_u $push5=, $0, $13
- i32.shl $push6=, $0, $13
- i32.or $push7=, $pop5, $pop6
- i32.ne $push8=, $pop7, $12
- br_if $pop8, 0 # 0: down to label1
+ i32.const $push19=, 4
+ i32.shr_u $push20=, $2, $pop19
+ i32.const $push138=, 4
+ i32.shl $push21=, $2, $pop138
+ i32.or $push22=, $pop20, $pop21
+ i32.const $push137=, 835
+ i32.ne $push23=, $pop22, $pop137
+ br_if $pop23, 0 # 0: down to label1
# BB#2: # %if.end11
- i32.load16_u $3=, us($11)
- i32.const $push10=, 16
- i32.sub $4=, $pop10, $1
- i32.const $14=, 253972259
block
- i32.shr_u $push9=, $3, $1
- i32.shl $push11=, $3, $4
- i32.or $push12=, $pop9, $pop11
- i32.ne $push13=, $pop12, $14
- br_if $pop13, 0 # 0: down to label2
+ i32.const $push24=, 0
+ i32.load16_u $push3=, us($pop24)
+ tee_local $push141=, $4=, $pop3
+ i32.shr_u $push25=, $pop141, $1
+ i32.const $push26=, 16
+ i32.sub $push4=, $pop26, $1
+ tee_local $push140=, $3=, $pop4
+ i32.shl $push27=, $4, $pop140
+ i32.or $push28=, $pop25, $pop27
+ i32.const $push139=, 253972259
+ i32.ne $push29=, $pop28, $pop139
+ br_if $pop29, 0 # 0: down to label2
# BB#3: # %if.end21
- i32.const $15=, 12
block
- i32.shr_u $push14=, $3, $13
- i32.shl $push15=, $3, $15
- i32.or $push16=, $pop14, $pop15
- i32.ne $push17=, $pop16, $14
- br_if $pop17, 0 # 0: down to label3
+ i32.const $push30=, 4
+ i32.shr_u $push31=, $4, $pop30
+ i32.const $push32=, 12
+ i32.shl $push33=, $4, $pop32
+ i32.or $push34=, $pop31, $pop33
+ i32.const $push142=, 253972259
+ i32.ne $push35=, $pop34, $pop142
+ br_if $pop35, 0 # 0: down to label3
# BB#4: # %if.end30
- i32.load $14=, ui($11)
- i32.const $push19=, 32
- i32.sub $5=, $pop19, $1
- i32.const $16=, 1073745699
block
- i32.shr_u $push18=, $14, $1
- i32.shl $push20=, $14, $5
- i32.or $push21=, $pop18, $pop20
- i32.ne $push22=, $pop21, $16
- br_if $pop22, 0 # 0: down to label4
+ i32.const $push36=, 0
+ i32.load $push5=, ui($pop36)
+ tee_local $push145=, $6=, $pop5
+ i32.shr_u $push37=, $pop145, $1
+ i32.const $push38=, 32
+ i32.sub $push6=, $pop38, $1
+ tee_local $push144=, $5=, $pop6
+ i32.shl $push39=, $6, $pop144
+ i32.or $push40=, $pop37, $pop39
+ i32.const $push143=, 1073745699
+ i32.ne $push41=, $pop40, $pop143
+ br_if $pop41, 0 # 0: down to label4
# BB#5: # %if.end38
- i32.const $17=, 28
block
- i32.shr_u $push23=, $14, $13
- i32.shl $push24=, $14, $17
- i32.or $push25=, $pop23, $pop24
- i32.ne $push26=, $pop25, $16
- br_if $pop26, 0 # 0: down to label5
+ i32.const $push42=, 4
+ i32.shr_u $push43=, $6, $pop42
+ i32.const $push44=, 28
+ i32.shl $push45=, $6, $pop44
+ i32.or $push46=, $pop43, $pop45
+ i32.const $push146=, 1073745699
+ i32.ne $push47=, $pop46, $pop146
+ br_if $pop47, 0 # 0: down to label5
# BB#6: # %if.end45
- i32.load $16=, ul($11)
- i32.const $18=, -1893513881
block
- i32.shr_u $push27=, $16, $1
- i32.shl $push28=, $16, $5
- i32.or $push29=, $pop27, $pop28
- i32.ne $push30=, $pop29, $18
- br_if $pop30, 0 # 0: down to label6
+ i32.const $push48=, 0
+ i32.load $push7=, ul($pop48)
+ tee_local $push148=, $7=, $pop7
+ i32.shr_u $push49=, $pop148, $1
+ i32.shl $push50=, $7, $5
+ i32.or $push51=, $pop49, $pop50
+ i32.const $push147=, -1893513881
+ i32.ne $push52=, $pop51, $pop147
+ br_if $pop52, 0 # 0: down to label6
# BB#7: # %if.end53
block
- i32.shr_u $push31=, $16, $13
- i32.shl $push32=, $16, $17
- i32.or $push33=, $pop31, $pop32
- i32.ne $push34=, $pop33, $18
- br_if $pop34, 0 # 0: down to label7
+ i32.const $push53=, 4
+ i32.shr_u $push54=, $7, $pop53
+ i32.const $push55=, 28
+ i32.shl $push56=, $7, $pop55
+ i32.or $push57=, $pop54, $pop56
+ i32.const $push149=, -1893513881
+ i32.ne $push58=, $pop57, $pop149
+ br_if $pop58, 0 # 0: down to label7
# BB#8: # %if.end60
- i64.load $6=, ull($11)
- i32.const $18=, 64
- i32.sub $push36=, $18, $1
- i64.extend_u/i32 $8=, $pop36
- i64.extend_u/i32 $7=, $1
- i64.const $19=, 68174490360335855
block
- i64.shr_u $push35=, $6, $7
- i64.shl $push37=, $6, $8
- i64.or $push38=, $pop35, $pop37
- i64.ne $push39=, $pop38, $19
- br_if $pop39, 0 # 0: down to label8
+ i32.const $push59=, 0
+ i64.load $push8=, ull($pop59)
+ tee_local $push153=, $10=, $pop8
+ i64.extend_u/i32 $push9=, $1
+ tee_local $push152=, $9=, $pop9
+ i64.shr_u $push60=, $pop153, $pop152
+ i32.const $push61=, 64
+ i32.sub $push62=, $pop61, $1
+ i64.extend_u/i32 $push10=, $pop62
+ tee_local $push151=, $8=, $pop10
+ i64.shl $push63=, $10, $pop151
+ i64.or $push64=, $pop60, $pop63
+ i64.const $push150=, 68174490360335855
+ i64.ne $push65=, $pop64, $pop150
+ br_if $pop65, 0 # 0: down to label8
# BB#9: # %if.end69
- i64.const $20=, 4
- i64.const $21=, 60
block
- i64.shr_u $push40=, $6, $20
- i64.shl $push41=, $6, $21
- i64.or $push42=, $pop40, $pop41
- i64.ne $push43=, $pop42, $19
- br_if $pop43, 0 # 0: down to label9
+ i64.const $push66=, 4
+ i64.shr_u $push67=, $10, $pop66
+ i64.const $push68=, 60
+ i64.shl $push69=, $10, $pop68
+ i64.or $push70=, $pop67, $pop69
+ i64.const $push154=, 68174490360335855
+ i64.ne $push71=, $pop70, $pop154
+ br_if $pop71, 0 # 0: down to label9
# BB#10: # %if.end76
- i32.load $22=, shift2($11)
- i64.extend_u/i32 $9=, $22
- i32.sub $push45=, $18, $22
- i64.extend_u/i32 $10=, $pop45
- i64.const $23=, -994074541463572736
block
- i64.shl $push46=, $6, $10
- i64.shr_u $push44=, $6, $9
- i64.or $push47=, $pop46, $pop44
- i64.ne $push48=, $pop47, $23
- br_if $pop48, 0 # 0: down to label10
+ i32.const $push75=, 64
+ i32.const $push72=, 0
+ i32.load $push73=, shift2($pop72)
+ tee_local $push158=, $13=, $pop73
+ i32.sub $push76=, $pop75, $pop158
+ i64.extend_u/i32 $push12=, $pop76
+ tee_local $push157=, $12=, $pop12
+ i64.shl $push77=, $10, $pop157
+ i64.extend_u/i32 $push11=, $13
+ tee_local $push156=, $11=, $pop11
+ i64.shr_u $push74=, $10, $pop156
+ i64.or $push78=, $pop77, $pop74
+ i64.const $push155=, -994074541463572736
+ i64.ne $push79=, $pop78, $pop155
+ br_if $pop79, 0 # 0: down to label10
# BB#11: # %if.end86
block
- i64.shr_u $push49=, $6, $21
- i64.shl $push50=, $6, $20
- i64.or $push51=, $pop49, $pop50
- i64.ne $push52=, $pop51, $23
- br_if $pop52, 0 # 0: down to label11
+ i64.const $push80=, 60
+ i64.shr_u $push81=, $10, $pop80
+ i64.const $push82=, 4
+ i64.shl $push83=, $10, $pop82
+ i64.or $push84=, $pop81, $pop83
+ i64.const $push159=, -994074541463572736
+ i64.ne $push85=, $pop84, $pop159
+ br_if $pop85, 0 # 0: down to label11
# BB#12: # %if.end93
block
- i32.shr_u $push54=, $0, $2
- i32.shl $push53=, $0, $1
- i32.or $push55=, $pop54, $pop53
- i32.ne $push56=, $pop55, $12
- br_if $pop56, 0 # 0: down to label12
+ i32.shr_u $push87=, $2, $0
+ i32.shl $push86=, $2, $1
+ i32.or $push88=, $pop87, $pop86
+ i32.const $push89=, 835
+ i32.ne $push90=, $pop88, $pop89
+ br_if $pop90, 0 # 0: down to label12
# BB#13: # %if.end112
- i32.const $0=, 992079
block
- i32.shl $push57=, $3, $1
- i32.shr_u $push58=, $3, $4
- i32.or $push59=, $pop57, $pop58
- i32.ne $push60=, $pop59, $0
- br_if $pop60, 0 # 0: down to label13
+ i32.shl $push91=, $4, $1
+ i32.shr_u $push92=, $4, $3
+ i32.or $push93=, $pop91, $pop92
+ i32.const $push160=, 992079
+ i32.ne $push94=, $pop93, $pop160
+ br_if $pop94, 0 # 0: down to label13
# BB#14: # %if.end122
block
- i32.shl $push61=, $3, $13
- i32.shr_u $push62=, $3, $15
- i32.or $push63=, $pop61, $pop62
- i32.ne $push64=, $pop63, $0
- br_if $pop64, 0 # 0: down to label14
+ i32.const $push95=, 4
+ i32.shl $push96=, $4, $pop95
+ i32.const $push97=, 12
+ i32.shr_u $push98=, $4, $pop97
+ i32.or $push99=, $pop96, $pop98
+ i32.const $push161=, 992079
+ i32.ne $push100=, $pop99, $pop161
+ br_if $pop100, 0 # 0: down to label14
# BB#15: # %if.end131
- i32.const $0=, 992064
block
- i32.shl $push65=, $14, $1
- i32.shr_u $push66=, $14, $5
- i32.or $push67=, $pop65, $pop66
- i32.ne $push68=, $pop67, $0
- br_if $pop68, 0 # 0: down to label15
+ i32.shl $push101=, $6, $1
+ i32.shr_u $push102=, $6, $5
+ i32.or $push103=, $pop101, $pop102
+ i32.const $push162=, 992064
+ i32.ne $push104=, $pop103, $pop162
+ br_if $pop104, 0 # 0: down to label15
# BB#16: # %if.end139
block
- i32.shl $push69=, $14, $13
- i32.shr_u $push70=, $14, $17
- i32.or $push71=, $pop69, $pop70
- i32.ne $push72=, $pop71, $0
- br_if $pop72, 0 # 0: down to label16
+ i32.const $push105=, 4
+ i32.shl $push106=, $6, $pop105
+ i32.const $push107=, 28
+ i32.shr_u $push108=, $6, $pop107
+ i32.or $push109=, $pop106, $pop108
+ i32.const $push163=, 992064
+ i32.ne $push110=, $pop109, $pop163
+ br_if $pop110, 0 # 0: down to label16
# BB#17: # %if.end146
- i32.const $0=, 591751055
block
- i32.shl $push73=, $16, $1
- i32.shr_u $push74=, $16, $5
- i32.or $push75=, $pop73, $pop74
- i32.ne $push76=, $pop75, $0
- br_if $pop76, 0 # 0: down to label17
+ i32.shl $push111=, $7, $1
+ i32.shr_u $push112=, $7, $5
+ i32.or $push113=, $pop111, $pop112
+ i32.const $push164=, 591751055
+ i32.ne $push114=, $pop113, $pop164
+ br_if $pop114, 0 # 0: down to label17
# BB#18: # %if.end154
block
- i32.shl $push77=, $16, $13
- i32.shr_u $push78=, $16, $17
- i32.or $push79=, $pop77, $pop78
- i32.ne $push80=, $pop79, $0
- br_if $pop80, 0 # 0: down to label18
+ i32.const $push115=, 4
+ i32.shl $push116=, $7, $pop115
+ i32.const $push117=, 28
+ i32.shr_u $push118=, $7, $pop117
+ i32.or $push119=, $pop116, $pop118
+ i32.const $push165=, 591751055
+ i32.ne $push120=, $pop119, $pop165
+ br_if $pop120, 0 # 0: down to label18
# BB#19: # %if.end161
block
- i64.shl $push81=, $6, $7
- i64.shr_u $push82=, $6, $8
- i64.or $push83=, $pop81, $pop82
- i64.ne $push84=, $pop83, $23
- br_if $pop84, 0 # 0: down to label19
+ i64.shl $push121=, $10, $9
+ i64.shr_u $push122=, $10, $8
+ i64.or $push123=, $pop121, $pop122
+ i64.const $push124=, -994074541463572736
+ i64.ne $push125=, $pop123, $pop124
+ br_if $pop125, 0 # 0: down to label19
# BB#20: # %if.end178
block
- i64.shr_u $push86=, $6, $10
- i64.shl $push85=, $6, $9
- i64.or $push87=, $pop86, $pop85
- i64.ne $push88=, $pop87, $19
- br_if $pop88, 0 # 0: down to label20
+ i64.shr_u $push127=, $10, $12
+ i64.shl $push126=, $10, $11
+ i64.or $push128=, $pop127, $pop126
+ i64.const $push129=, 68174490360335855
+ i64.ne $push130=, $pop128, $pop129
+ br_if $pop130, 0 # 0: down to label20
# BB#21: # %if.end195
- call exit@FUNCTION, $11
+ i32.const $push131=, 0
+ call exit@FUNCTION, $pop131
unreachable
.LBB0_22: # %if.then187
end_block # label20:
@@ -292,7 +339,7 @@ uc:
.type us,@object
.section .data.us,"aw",@progbits
.globl us
- .align 1
+ .p2align 1
us:
.int16 62004 # 0xf234
.size us, 2
@@ -301,7 +348,7 @@ us:
.type ui,@object
.section .data.ui,"aw",@progbits
.globl ui
- .align 2
+ .p2align 2
ui:
.int32 62004 # 0xf234
.size ui, 4
@@ -310,7 +357,7 @@ ui:
.type ul,@object
.section .data.ul,"aw",@progbits
.globl ul
- .align 2
+ .p2align 2
ul:
.int32 4063516280 # 0xf2345678
.size ul, 4
@@ -319,7 +366,7 @@ ul:
.type ull,@object
.section .data.ull,"aw",@progbits
.globl ull
- .align 3
+ .p2align 3
ull:
.int64 1090791845765373680 # 0xf2345678abcdef0
.size ull, 8
@@ -328,7 +375,7 @@ ull:
.type shift1,@object
.section .data.shift1,"aw",@progbits
.globl shift1
- .align 2
+ .p2align 2
shift1:
.int32 4 # 0x4
.size shift1, 4
@@ -337,7 +384,7 @@ shift1:
.type shift2,@object
.section .data.shift2,"aw",@progbits
.globl shift2
- .align 2
+ .p2align 2
shift2:
.int32 60 # 0x3c
.size shift2, 4
diff --git a/test/torture-s/20020508-2.c.s b/test/torture-s/20020508-2.c.s
index 23b139545..298b39b9f 100644
--- a/test/torture-s/20020508-2.c.s
+++ b/test/torture-s/20020508-2.c.s
@@ -6,191 +6,238 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i32, i64
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i32
# BB#0: # %entry
- i32.const $11=, 0
- i32.load $1=, shift1($11)
- i32.load8_s $0=, c($11)
- i32.const $push1=, 8
- i32.sub $2=, $pop1, $1
- i32.const $12=, 835
block
- i32.shl $push2=, $0, $2
- i32.shr_s $push0=, $0, $1
- i32.or $push3=, $pop2, $pop0
- i32.ne $push4=, $pop3, $12
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push13=, 0
+ i32.load8_s $push0=, c($pop13)
+ tee_local $push136=, $2=, $pop0
+ i32.const $push15=, 8
+ i32.const $push135=, 0
+ i32.load $push1=, shift1($pop135)
+ tee_local $push134=, $1=, $pop1
+ i32.sub $push2=, $pop15, $pop134
+ tee_local $push133=, $0=, $pop2
+ i32.shl $push16=, $pop136, $pop133
+ i32.shr_s $push14=, $2, $1
+ i32.or $push17=, $pop16, $pop14
+ i32.const $push132=, 835
+ i32.ne $push18=, $pop17, $pop132
+ br_if $pop18, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $13=, 4
block
- i32.shr_s $push5=, $0, $13
- i32.shl $push6=, $0, $13
- i32.or $push7=, $pop5, $pop6
- i32.ne $push8=, $pop7, $12
- br_if $pop8, 0 # 0: down to label1
+ i32.const $push19=, 4
+ i32.shr_s $push20=, $2, $pop19
+ i32.const $push138=, 4
+ i32.shl $push21=, $2, $pop138
+ i32.or $push22=, $pop20, $pop21
+ i32.const $push137=, 835
+ i32.ne $push23=, $pop22, $pop137
+ br_if $pop23, 0 # 0: down to label1
# BB#2: # %if.end11
- i32.load16_s $3=, s($11)
- i32.const $push10=, 16
- i32.sub $4=, $pop10, $1
- i32.const $14=, 19087651
block
- i32.shr_s $push9=, $3, $1
- i32.shl $push11=, $3, $4
- i32.or $push12=, $pop9, $pop11
- i32.ne $push13=, $pop12, $14
- br_if $pop13, 0 # 0: down to label2
+ i32.const $push24=, 0
+ i32.load16_s $push3=, s($pop24)
+ tee_local $push141=, $4=, $pop3
+ i32.shr_s $push25=, $pop141, $1
+ i32.const $push26=, 16
+ i32.sub $push4=, $pop26, $1
+ tee_local $push140=, $3=, $pop4
+ i32.shl $push27=, $4, $pop140
+ i32.or $push28=, $pop25, $pop27
+ i32.const $push139=, 19087651
+ i32.ne $push29=, $pop28, $pop139
+ br_if $pop29, 0 # 0: down to label2
# BB#3: # %if.end21
- i32.const $15=, 12
block
- i32.shr_s $push14=, $3, $13
- i32.shl $push15=, $3, $15
- i32.or $push16=, $pop14, $pop15
- i32.ne $push17=, $pop16, $14
- br_if $pop17, 0 # 0: down to label3
+ i32.const $push30=, 4
+ i32.shr_s $push31=, $4, $pop30
+ i32.const $push32=, 12
+ i32.shl $push33=, $4, $pop32
+ i32.or $push34=, $pop31, $pop33
+ i32.const $push142=, 19087651
+ i32.ne $push35=, $pop34, $pop142
+ br_if $pop35, 0 # 0: down to label3
# BB#4: # %if.end30
- i32.load $14=, i($11)
- i32.const $push19=, 32
- i32.sub $5=, $pop19, $1
- i32.const $16=, 1073742115
block
- i32.shr_s $push18=, $14, $1
- i32.shl $push20=, $14, $5
- i32.or $push21=, $pop18, $pop20
- i32.ne $push22=, $pop21, $16
- br_if $pop22, 0 # 0: down to label4
+ i32.const $push36=, 0
+ i32.load $push5=, i($pop36)
+ tee_local $push145=, $6=, $pop5
+ i32.shr_s $push37=, $pop145, $1
+ i32.const $push38=, 32
+ i32.sub $push6=, $pop38, $1
+ tee_local $push144=, $5=, $pop6
+ i32.shl $push39=, $6, $pop144
+ i32.or $push40=, $pop37, $pop39
+ i32.const $push143=, 1073742115
+ i32.ne $push41=, $pop40, $pop143
+ br_if $pop41, 0 # 0: down to label4
# BB#5: # %if.end38
- i32.const $17=, 28
block
- i32.shr_s $push23=, $14, $13
- i32.shl $push24=, $14, $17
- i32.or $push25=, $pop23, $pop24
- i32.ne $push26=, $pop25, $16
- br_if $pop26, 0 # 0: down to label5
+ i32.const $push42=, 4
+ i32.shr_s $push43=, $6, $pop42
+ i32.const $push44=, 28
+ i32.shl $push45=, $6, $pop44
+ i32.or $push46=, $pop43, $pop45
+ i32.const $push146=, 1073742115
+ i32.ne $push47=, $pop46, $pop146
+ br_if $pop47, 0 # 0: down to label5
# BB#6: # %if.end45
- i32.load $16=, l($11)
- i32.const $18=, -2128394905
block
- i32.shr_s $push27=, $16, $1
- i32.shl $push28=, $16, $5
- i32.or $push29=, $pop27, $pop28
- i32.ne $push30=, $pop29, $18
- br_if $pop30, 0 # 0: down to label6
+ i32.const $push48=, 0
+ i32.load $push7=, l($pop48)
+ tee_local $push148=, $7=, $pop7
+ i32.shr_s $push49=, $pop148, $1
+ i32.shl $push50=, $7, $5
+ i32.or $push51=, $pop49, $pop50
+ i32.const $push147=, -2128394905
+ i32.ne $push52=, $pop51, $pop147
+ br_if $pop52, 0 # 0: down to label6
# BB#7: # %if.end53
block
- i32.shr_s $push31=, $16, $13
- i32.shl $push32=, $16, $17
- i32.or $push33=, $pop31, $pop32
- i32.ne $push34=, $pop33, $18
- br_if $pop34, 0 # 0: down to label7
+ i32.const $push53=, 4
+ i32.shr_s $push54=, $7, $pop53
+ i32.const $push55=, 28
+ i32.shl $push56=, $7, $pop55
+ i32.or $push57=, $pop54, $pop56
+ i32.const $push149=, -2128394905
+ i32.ne $push58=, $pop57, $pop149
+ br_if $pop58, 0 # 0: down to label7
# BB#8: # %if.end60
- i64.load $6=, ll($11)
- i32.const $18=, 64
- i32.sub $push36=, $18, $1
- i64.extend_u/i32 $8=, $pop36
- i64.extend_u/i32 $7=, $1
- i64.const $19=, 5124095577148911
block
- i64.shr_s $push35=, $6, $7
- i64.shl $push37=, $6, $8
- i64.or $push38=, $pop35, $pop37
- i64.ne $push39=, $pop38, $19
- br_if $pop39, 0 # 0: down to label8
+ i32.const $push59=, 0
+ i64.load $push8=, ll($pop59)
+ tee_local $push153=, $10=, $pop8
+ i64.extend_u/i32 $push9=, $1
+ tee_local $push152=, $9=, $pop9
+ i64.shr_s $push60=, $pop153, $pop152
+ i32.const $push61=, 64
+ i32.sub $push62=, $pop61, $1
+ i64.extend_u/i32 $push10=, $pop62
+ tee_local $push151=, $8=, $pop10
+ i64.shl $push63=, $10, $pop151
+ i64.or $push64=, $pop60, $pop63
+ i64.const $push150=, 5124095577148911
+ i64.ne $push65=, $pop64, $pop150
+ br_if $pop65, 0 # 0: down to label8
# BB#9: # %if.end69
- i64.const $20=, 4
- i64.const $21=, 60
block
- i64.shr_s $push40=, $6, $20
- i64.shl $push41=, $6, $21
- i64.or $push42=, $pop40, $pop41
- i64.ne $push43=, $pop42, $19
- br_if $pop43, 0 # 0: down to label9
+ i64.const $push66=, 4
+ i64.shr_s $push67=, $10, $pop66
+ i64.const $push68=, 60
+ i64.shl $push69=, $10, $pop68
+ i64.or $push70=, $pop67, $pop69
+ i64.const $push154=, 5124095577148911
+ i64.ne $push71=, $pop70, $pop154
+ br_if $pop71, 0 # 0: down to label9
# BB#10: # %if.end76
- i32.load $22=, shift2($11)
- i64.extend_u/i32 $9=, $22
- i32.sub $push45=, $18, $22
- i64.extend_u/i32 $10=, $pop45
- i64.const $23=, 1311768467750121216
block
- i64.shl $push46=, $6, $10
- i64.shr_s $push44=, $6, $9
- i64.or $push47=, $pop46, $pop44
- i64.ne $push48=, $pop47, $23
- br_if $pop48, 0 # 0: down to label10
+ i32.const $push75=, 64
+ i32.const $push72=, 0
+ i32.load $push73=, shift2($pop72)
+ tee_local $push158=, $13=, $pop73
+ i32.sub $push76=, $pop75, $pop158
+ i64.extend_u/i32 $push12=, $pop76
+ tee_local $push157=, $12=, $pop12
+ i64.shl $push77=, $10, $pop157
+ i64.extend_u/i32 $push11=, $13
+ tee_local $push156=, $11=, $pop11
+ i64.shr_s $push74=, $10, $pop156
+ i64.or $push78=, $pop77, $pop74
+ i64.const $push155=, 1311768467750121216
+ i64.ne $push79=, $pop78, $pop155
+ br_if $pop79, 0 # 0: down to label10
# BB#11: # %if.end86
block
- i64.shr_s $push49=, $6, $21
- i64.shl $push50=, $6, $20
- i64.or $push51=, $pop49, $pop50
- i64.ne $push52=, $pop51, $23
- br_if $pop52, 0 # 0: down to label11
+ i64.const $push80=, 60
+ i64.shr_s $push81=, $10, $pop80
+ i64.const $push82=, 4
+ i64.shl $push83=, $10, $pop82
+ i64.or $push84=, $pop81, $pop83
+ i64.const $push159=, 1311768467750121216
+ i64.ne $push85=, $pop84, $pop159
+ br_if $pop85, 0 # 0: down to label11
# BB#12: # %if.end93
block
- i32.shr_s $push54=, $0, $2
- i32.shl $push53=, $0, $1
- i32.or $push55=, $pop54, $pop53
- i32.ne $push56=, $pop55, $12
- br_if $pop56, 0 # 0: down to label12
+ i32.shr_s $push87=, $2, $0
+ i32.shl $push86=, $2, $1
+ i32.or $push88=, $pop87, $pop86
+ i32.const $push89=, 835
+ i32.ne $push90=, $pop88, $pop89
+ br_if $pop90, 0 # 0: down to label12
# BB#13: # %if.end112
- i32.const $0=, 74561
block
- i32.shl $push57=, $3, $1
- i32.shr_s $push58=, $3, $4
- i32.or $push59=, $pop57, $pop58
- i32.ne $push60=, $pop59, $0
- br_if $pop60, 0 # 0: down to label13
+ i32.shl $push91=, $4, $1
+ i32.shr_s $push92=, $4, $3
+ i32.or $push93=, $pop91, $pop92
+ i32.const $push160=, 74561
+ i32.ne $push94=, $pop93, $pop160
+ br_if $pop94, 0 # 0: down to label13
# BB#14: # %if.end122
block
- i32.shl $push61=, $3, $13
- i32.shr_s $push62=, $3, $15
- i32.or $push63=, $pop61, $pop62
- i32.ne $push64=, $pop63, $0
- br_if $pop64, 0 # 0: down to label14
+ i32.const $push95=, 4
+ i32.shl $push96=, $4, $pop95
+ i32.const $push97=, 12
+ i32.shr_s $push98=, $4, $pop97
+ i32.or $push99=, $pop96, $pop98
+ i32.const $push161=, 74561
+ i32.ne $push100=, $pop99, $pop161
+ br_if $pop100, 0 # 0: down to label14
# BB#15: # %if.end131
- i32.const $0=, 74560
block
- i32.shl $push65=, $14, $1
- i32.shr_s $push66=, $14, $5
- i32.or $push67=, $pop65, $pop66
- i32.ne $push68=, $pop67, $0
- br_if $pop68, 0 # 0: down to label15
+ i32.shl $push101=, $6, $1
+ i32.shr_s $push102=, $6, $5
+ i32.or $push103=, $pop101, $pop102
+ i32.const $push162=, 74560
+ i32.ne $push104=, $pop103, $pop162
+ br_if $pop104, 0 # 0: down to label15
# BB#16: # %if.end139
block
- i32.shl $push69=, $14, $13
- i32.shr_s $push70=, $14, $17
- i32.or $push71=, $pop69, $pop70
- i32.ne $push72=, $pop71, $0
- br_if $pop72, 0 # 0: down to label16
+ i32.const $push105=, 4
+ i32.shl $push106=, $6, $pop105
+ i32.const $push107=, 28
+ i32.shr_s $push108=, $6, $pop107
+ i32.or $push109=, $pop106, $pop108
+ i32.const $push163=, 74560
+ i32.ne $push110=, $pop109, $pop163
+ br_if $pop110, 0 # 0: down to label16
# BB#17: # %if.end146
- i32.const $0=, 591751041
block
- i32.shl $push73=, $16, $1
- i32.shr_s $push74=, $16, $5
- i32.or $push75=, $pop73, $pop74
- i32.ne $push76=, $pop75, $0
- br_if $pop76, 0 # 0: down to label17
+ i32.shl $push111=, $7, $1
+ i32.shr_s $push112=, $7, $5
+ i32.or $push113=, $pop111, $pop112
+ i32.const $push164=, 591751041
+ i32.ne $push114=, $pop113, $pop164
+ br_if $pop114, 0 # 0: down to label17
# BB#18: # %if.end154
block
- i32.shl $push77=, $16, $13
- i32.shr_s $push78=, $16, $17
- i32.or $push79=, $pop77, $pop78
- i32.ne $push80=, $pop79, $0
- br_if $pop80, 0 # 0: down to label18
+ i32.const $push115=, 4
+ i32.shl $push116=, $7, $pop115
+ i32.const $push117=, 28
+ i32.shr_s $push118=, $7, $pop117
+ i32.or $push119=, $pop116, $pop118
+ i32.const $push165=, 591751041
+ i32.ne $push120=, $pop119, $pop165
+ br_if $pop120, 0 # 0: down to label18
# BB#19: # %if.end161
block
- i64.shl $push81=, $6, $7
- i64.shr_s $push82=, $6, $8
- i64.or $push83=, $pop81, $pop82
- i64.ne $push84=, $pop83, $23
- br_if $pop84, 0 # 0: down to label19
+ i64.shl $push121=, $10, $9
+ i64.shr_s $push122=, $10, $8
+ i64.or $push123=, $pop121, $pop122
+ i64.const $push124=, 1311768467750121216
+ i64.ne $push125=, $pop123, $pop124
+ br_if $pop125, 0 # 0: down to label19
# BB#20: # %if.end178
block
- i64.shr_s $push86=, $6, $10
- i64.shl $push85=, $6, $9
- i64.or $push87=, $pop86, $pop85
- i64.ne $push88=, $pop87, $19
- br_if $pop88, 0 # 0: down to label20
+ i64.shr_s $push127=, $10, $12
+ i64.shl $push126=, $10, $11
+ i64.or $push128=, $pop127, $pop126
+ i64.const $push129=, 5124095577148911
+ i64.ne $push130=, $pop128, $pop129
+ br_if $pop130, 0 # 0: down to label20
# BB#21: # %if.end195
- call exit@FUNCTION, $11
+ i32.const $push131=, 0
+ call exit@FUNCTION, $pop131
unreachable
.LBB0_22: # %if.then187
end_block # label20:
@@ -292,7 +339,7 @@ c:
.type s,@object
.section .data.s,"aw",@progbits
.globl s
- .align 1
+ .p2align 1
s:
.int16 4660 # 0x1234
.size s, 2
@@ -301,7 +348,7 @@ s:
.type i,@object
.section .data.i,"aw",@progbits
.globl i
- .align 2
+ .p2align 2
i:
.int32 4660 # 0x1234
.size i, 4
@@ -310,7 +357,7 @@ i:
.type l,@object
.section .data.l,"aw",@progbits
.globl l
- .align 2
+ .p2align 2
l:
.int32 305419896 # 0x12345678
.size l, 4
@@ -319,7 +366,7 @@ l:
.type ll,@object
.section .data.ll,"aw",@progbits
.globl ll
- .align 3
+ .p2align 3
ll:
.int64 81985529234382576 # 0x12345678abcdef0
.size ll, 8
@@ -328,7 +375,7 @@ ll:
.type shift1,@object
.section .data.shift1,"aw",@progbits
.globl shift1
- .align 2
+ .p2align 2
shift1:
.int32 4 # 0x4
.size shift1, 4
@@ -337,7 +384,7 @@ shift1:
.type shift2,@object
.section .data.shift2,"aw",@progbits
.globl shift2
- .align 2
+ .p2align 2
shift2:
.int32 60 # 0x3c
.size shift2, 4
diff --git a/test/torture-s/20020508-3.c.s b/test/torture-s/20020508-3.c.s
index 03c892adb..d9dd64433 100644
--- a/test/torture-s/20020508-3.c.s
+++ b/test/torture-s/20020508-3.c.s
@@ -6,190 +6,238 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i32, i64
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i32
# BB#0: # %entry
- i32.const $11=, 0
- i32.load $1=, shift1($11)
- i32.load8_s $0=, c($11)
- i32.const $push1=, 8
- i32.sub $2=, $pop1, $1
- i32.const $12=, 835
block
- i32.shl $push2=, $0, $2
- i32.shr_s $push0=, $0, $1
- i32.or $push3=, $pop2, $pop0
- i32.ne $push4=, $pop3, $12
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push13=, 0
+ i32.load8_s $push0=, c($pop13)
+ tee_local $push136=, $2=, $pop0
+ i32.const $push15=, 8
+ i32.const $push135=, 0
+ i32.load $push1=, shift1($pop135)
+ tee_local $push134=, $1=, $pop1
+ i32.sub $push2=, $pop15, $pop134
+ tee_local $push133=, $0=, $pop2
+ i32.shl $push16=, $pop136, $pop133
+ i32.shr_s $push14=, $2, $1
+ i32.or $push17=, $pop16, $pop14
+ i32.const $push132=, 835
+ i32.ne $push18=, $pop17, $pop132
+ br_if $pop18, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $13=, 4
block
- i32.shr_s $push5=, $0, $13
- i32.shl $push6=, $0, $13
- i32.or $push7=, $pop5, $pop6
- i32.ne $push8=, $pop7, $12
- br_if $pop8, 0 # 0: down to label1
+ i32.const $push19=, 4
+ i32.shr_s $push20=, $2, $pop19
+ i32.const $push138=, 4
+ i32.shl $push21=, $2, $pop138
+ i32.or $push22=, $pop20, $pop21
+ i32.const $push137=, 835
+ i32.ne $push23=, $pop22, $pop137
+ br_if $pop23, 0 # 0: down to label1
# BB#2: # %if.end11
- i32.load16_s $3=, s($11)
- i32.const $push10=, 16
- i32.sub $4=, $pop10, $1
- i32.const $14=, -221
block
- i32.shr_s $push9=, $3, $1
- i32.shl $push11=, $3, $4
- i32.or $push12=, $pop9, $pop11
- i32.ne $push13=, $pop12, $14
- br_if $pop13, 0 # 0: down to label2
+ i32.const $push24=, 0
+ i32.load16_s $push3=, s($pop24)
+ tee_local $push141=, $4=, $pop3
+ i32.shr_s $push25=, $pop141, $1
+ i32.const $push26=, 16
+ i32.sub $push4=, $pop26, $1
+ tee_local $push140=, $3=, $pop4
+ i32.shl $push27=, $4, $pop140
+ i32.or $push28=, $pop25, $pop27
+ i32.const $push139=, -221
+ i32.ne $push29=, $pop28, $pop139
+ br_if $pop29, 0 # 0: down to label2
# BB#3: # %if.end21
- i32.const $15=, 12
block
- i32.shr_s $push14=, $3, $13
- i32.shl $push15=, $3, $15
- i32.or $push16=, $pop14, $pop15
- i32.ne $push17=, $pop16, $14
- br_if $pop17, 0 # 0: down to label3
+ i32.const $push30=, 4
+ i32.shr_s $push31=, $4, $pop30
+ i32.const $push32=, 12
+ i32.shl $push33=, $4, $pop32
+ i32.or $push34=, $pop31, $pop33
+ i32.const $push142=, -221
+ i32.ne $push35=, $pop34, $pop142
+ br_if $pop35, 0 # 0: down to label3
# BB#4: # %if.end30
- i32.load $14=, i($11)
- i32.const $push19=, 32
- i32.sub $5=, $pop19, $1
- i32.const $16=, 1073745699
block
- i32.shr_s $push18=, $14, $1
- i32.shl $push20=, $14, $5
- i32.or $push21=, $pop18, $pop20
- i32.ne $push22=, $pop21, $16
- br_if $pop22, 0 # 0: down to label4
+ i32.const $push36=, 0
+ i32.load $push5=, i($pop36)
+ tee_local $push145=, $6=, $pop5
+ i32.shr_s $push37=, $pop145, $1
+ i32.const $push38=, 32
+ i32.sub $push6=, $pop38, $1
+ tee_local $push144=, $5=, $pop6
+ i32.shl $push39=, $6, $pop144
+ i32.or $push40=, $pop37, $pop39
+ i32.const $push143=, 1073745699
+ i32.ne $push41=, $pop40, $pop143
+ br_if $pop41, 0 # 0: down to label4
# BB#5: # %if.end38
- i32.const $17=, 28
block
- i32.shr_s $push23=, $14, $13
- i32.shl $push24=, $14, $17
- i32.or $push25=, $pop23, $pop24
- i32.ne $push26=, $pop25, $16
- br_if $pop26, 0 # 0: down to label5
+ i32.const $push42=, 4
+ i32.shr_s $push43=, $6, $pop42
+ i32.const $push44=, 28
+ i32.shl $push45=, $6, $pop44
+ i32.or $push46=, $pop43, $pop45
+ i32.const $push146=, 1073745699
+ i32.ne $push47=, $pop46, $pop146
+ br_if $pop47, 0 # 0: down to label5
# BB#6: # %if.end45
- i32.load $16=, l($11)
- i32.const $18=, -14465689
block
- i32.shr_s $push27=, $16, $1
- i32.shl $push28=, $16, $5
- i32.or $push29=, $pop27, $pop28
- i32.ne $push30=, $pop29, $18
- br_if $pop30, 0 # 0: down to label6
+ i32.const $push48=, 0
+ i32.load $push7=, l($pop48)
+ tee_local $push148=, $7=, $pop7
+ i32.shr_s $push49=, $pop148, $1
+ i32.shl $push50=, $7, $5
+ i32.or $push51=, $pop49, $pop50
+ i32.const $push147=, -14465689
+ i32.ne $push52=, $pop51, $pop147
+ br_if $pop52, 0 # 0: down to label6
# BB#7: # %if.end53
block
- i32.shr_s $push31=, $16, $13
- i32.shl $push32=, $16, $17
- i32.or $push33=, $pop31, $pop32
- i32.ne $push34=, $pop33, $18
- br_if $pop34, 0 # 0: down to label7
+ i32.const $push53=, 4
+ i32.shr_s $push54=, $7, $pop53
+ i32.const $push55=, 28
+ i32.shl $push56=, $7, $pop55
+ i32.or $push57=, $pop54, $pop56
+ i32.const $push149=, -14465689
+ i32.ne $push58=, $pop57, $pop149
+ br_if $pop58, 0 # 0: down to label7
# BB#8: # %if.end60
- i64.load $6=, ll($11)
- i32.const $18=, 64
- i32.sub $push36=, $18, $1
- i64.extend_u/i32 $8=, $pop36
- i64.extend_u/i32 $7=, $1
- i64.const $19=, 68174490360335855
block
- i64.shr_s $push35=, $6, $7
- i64.shl $push37=, $6, $8
- i64.or $push38=, $pop35, $pop37
- i64.ne $push39=, $pop38, $19
- br_if $pop39, 0 # 0: down to label8
+ i32.const $push59=, 0
+ i64.load $push8=, ll($pop59)
+ tee_local $push153=, $10=, $pop8
+ i64.extend_u/i32 $push9=, $1
+ tee_local $push152=, $9=, $pop9
+ i64.shr_s $push60=, $pop153, $pop152
+ i32.const $push61=, 64
+ i32.sub $push62=, $pop61, $1
+ i64.extend_u/i32 $push10=, $pop62
+ tee_local $push151=, $8=, $pop10
+ i64.shl $push63=, $10, $pop151
+ i64.or $push64=, $pop60, $pop63
+ i64.const $push150=, 68174490360335855
+ i64.ne $push65=, $pop64, $pop150
+ br_if $pop65, 0 # 0: down to label8
# BB#9: # %if.end69
- i64.const $20=, 4
- i64.const $21=, 60
block
- i64.shr_s $push40=, $6, $20
- i64.shl $push41=, $6, $21
- i64.or $push42=, $pop40, $pop41
- i64.ne $push43=, $pop42, $19
- br_if $pop43, 0 # 0: down to label9
+ i64.const $push66=, 4
+ i64.shr_s $push67=, $10, $pop66
+ i64.const $push68=, 60
+ i64.shl $push69=, $10, $pop68
+ i64.or $push70=, $pop67, $pop69
+ i64.const $push154=, 68174490360335855
+ i64.ne $push71=, $pop70, $pop154
+ br_if $pop71, 0 # 0: down to label9
# BB#10: # %if.end76
- i32.load $22=, shift2($11)
- i64.extend_u/i32 $9=, $22
- i32.sub $push45=, $18, $22
- i64.extend_u/i32 $10=, $pop45
- i64.const $23=, -994074541463572736
block
- i64.shl $push46=, $6, $10
- i64.shr_s $push44=, $6, $9
- i64.or $push47=, $pop46, $pop44
- i64.ne $push48=, $pop47, $23
- br_if $pop48, 0 # 0: down to label10
+ i32.const $push75=, 64
+ i32.const $push72=, 0
+ i32.load $push73=, shift2($pop72)
+ tee_local $push158=, $13=, $pop73
+ i32.sub $push76=, $pop75, $pop158
+ i64.extend_u/i32 $push12=, $pop76
+ tee_local $push157=, $12=, $pop12
+ i64.shl $push77=, $10, $pop157
+ i64.extend_u/i32 $push11=, $13
+ tee_local $push156=, $11=, $pop11
+ i64.shr_s $push74=, $10, $pop156
+ i64.or $push78=, $pop77, $pop74
+ i64.const $push155=, -994074541463572736
+ i64.ne $push79=, $pop78, $pop155
+ br_if $pop79, 0 # 0: down to label10
# BB#11: # %if.end86
block
- i64.shr_s $push49=, $6, $21
- i64.shl $push50=, $6, $20
- i64.or $push51=, $pop49, $pop50
- i64.ne $push52=, $pop51, $23
- br_if $pop52, 0 # 0: down to label11
+ i64.const $push80=, 60
+ i64.shr_s $push81=, $10, $pop80
+ i64.const $push82=, 4
+ i64.shl $push83=, $10, $pop82
+ i64.or $push84=, $pop81, $pop83
+ i64.const $push159=, -994074541463572736
+ i64.ne $push85=, $pop84, $pop159
+ br_if $pop85, 0 # 0: down to label11
# BB#12: # %if.end93
block
- i32.shr_s $push54=, $0, $2
- i32.shl $push53=, $0, $1
- i32.or $push55=, $pop54, $pop53
- i32.ne $push56=, $pop55, $12
- br_if $pop56, 0 # 0: down to label12
+ i32.shr_s $push87=, $2, $0
+ i32.shl $push86=, $2, $1
+ i32.or $push88=, $pop87, $pop86
+ i32.const $push89=, 835
+ i32.ne $push90=, $pop88, $pop89
+ br_if $pop90, 0 # 0: down to label12
# BB#13: # %if.end112
- i32.const $0=, -1
block
- i32.shl $push57=, $3, $1
- i32.shr_s $push58=, $3, $4
- i32.or $push59=, $pop57, $pop58
- i32.ne $push60=, $pop59, $0
- br_if $pop60, 0 # 0: down to label13
+ i32.shl $push91=, $4, $1
+ i32.shr_s $push92=, $4, $3
+ i32.or $push93=, $pop91, $pop92
+ i32.const $push160=, -1
+ i32.ne $push94=, $pop93, $pop160
+ br_if $pop94, 0 # 0: down to label13
# BB#14: # %if.end122
block
- i32.shl $push61=, $3, $13
- i32.shr_s $push62=, $3, $15
- i32.or $push63=, $pop61, $pop62
- i32.ne $push64=, $pop63, $0
- br_if $pop64, 0 # 0: down to label14
+ i32.const $push95=, 4
+ i32.shl $push96=, $4, $pop95
+ i32.const $push97=, 12
+ i32.shr_s $push98=, $4, $pop97
+ i32.or $push99=, $pop96, $pop98
+ i32.const $push161=, -1
+ i32.ne $push100=, $pop99, $pop161
+ br_if $pop100, 0 # 0: down to label14
# BB#15: # %if.end131
- i32.const $12=, 992064
block
- i32.shl $push65=, $14, $1
- i32.shr_s $push66=, $14, $5
- i32.or $push67=, $pop65, $pop66
- i32.ne $push68=, $pop67, $12
- br_if $pop68, 0 # 0: down to label15
+ i32.shl $push101=, $6, $1
+ i32.shr_s $push102=, $6, $5
+ i32.or $push103=, $pop101, $pop102
+ i32.const $push162=, 992064
+ i32.ne $push104=, $pop103, $pop162
+ br_if $pop104, 0 # 0: down to label15
# BB#16: # %if.end139
block
- i32.shl $push69=, $14, $13
- i32.shr_s $push70=, $14, $17
- i32.or $push71=, $pop69, $pop70
- i32.ne $push72=, $pop71, $12
- br_if $pop72, 0 # 0: down to label16
+ i32.const $push105=, 4
+ i32.shl $push106=, $6, $pop105
+ i32.const $push107=, 28
+ i32.shr_s $push108=, $6, $pop107
+ i32.or $push109=, $pop106, $pop108
+ i32.const $push163=, 992064
+ i32.ne $push110=, $pop109, $pop163
+ br_if $pop110, 0 # 0: down to label16
# BB#17: # %if.end146
block
- i32.shl $push73=, $16, $1
- i32.shr_s $push74=, $16, $5
- i32.or $push75=, $pop73, $pop74
- i32.ne $push76=, $pop75, $0
- br_if $pop76, 0 # 0: down to label17
+ i32.shl $push111=, $7, $1
+ i32.shr_s $push112=, $7, $5
+ i32.or $push113=, $pop111, $pop112
+ i32.const $push164=, -1
+ i32.ne $push114=, $pop113, $pop164
+ br_if $pop114, 0 # 0: down to label17
# BB#18: # %if.end154
block
- i32.shl $push77=, $16, $13
- i32.shr_s $push78=, $16, $17
- i32.or $push79=, $pop77, $pop78
- i32.ne $push80=, $pop79, $0
- br_if $pop80, 0 # 0: down to label18
+ i32.const $push115=, 4
+ i32.shl $push116=, $7, $pop115
+ i32.const $push117=, 28
+ i32.shr_s $push118=, $7, $pop117
+ i32.or $push119=, $pop116, $pop118
+ i32.const $push165=, -1
+ i32.ne $push120=, $pop119, $pop165
+ br_if $pop120, 0 # 0: down to label18
# BB#19: # %if.end161
block
- i64.shl $push81=, $6, $7
- i64.shr_s $push82=, $6, $8
- i64.or $push83=, $pop81, $pop82
- i64.ne $push84=, $pop83, $23
- br_if $pop84, 0 # 0: down to label19
+ i64.shl $push121=, $10, $9
+ i64.shr_s $push122=, $10, $8
+ i64.or $push123=, $pop121, $pop122
+ i64.const $push124=, -994074541463572736
+ i64.ne $push125=, $pop123, $pop124
+ br_if $pop125, 0 # 0: down to label19
# BB#20: # %if.end178
block
- i64.shr_s $push86=, $6, $10
- i64.shl $push85=, $6, $9
- i64.or $push87=, $pop86, $pop85
- i64.ne $push88=, $pop87, $19
- br_if $pop88, 0 # 0: down to label20
+ i64.shr_s $push127=, $10, $12
+ i64.shl $push126=, $10, $11
+ i64.or $push128=, $pop127, $pop126
+ i64.const $push129=, 68174490360335855
+ i64.ne $push130=, $pop128, $pop129
+ br_if $pop130, 0 # 0: down to label20
# BB#21: # %if.end195
- call exit@FUNCTION, $11
+ i32.const $push131=, 0
+ call exit@FUNCTION, $pop131
unreachable
.LBB0_22: # %if.then187
end_block # label20:
@@ -291,7 +339,7 @@ c:
.type s,@object
.section .data.s,"aw",@progbits
.globl s
- .align 1
+ .p2align 1
s:
.int16 62004 # 0xf234
.size s, 2
@@ -300,7 +348,7 @@ s:
.type i,@object
.section .data.i,"aw",@progbits
.globl i
- .align 2
+ .p2align 2
i:
.int32 62004 # 0xf234
.size i, 4
@@ -309,7 +357,7 @@ i:
.type l,@object
.section .data.l,"aw",@progbits
.globl l
- .align 2
+ .p2align 2
l:
.int32 4063516280 # 0xf2345678
.size l, 4
@@ -318,7 +366,7 @@ l:
.type ll,@object
.section .data.ll,"aw",@progbits
.globl ll
- .align 3
+ .p2align 3
ll:
.int64 1090791845765373680 # 0xf2345678abcdef0
.size ll, 8
@@ -327,7 +375,7 @@ ll:
.type shift1,@object
.section .data.shift1,"aw",@progbits
.globl shift1
- .align 2
+ .p2align 2
shift1:
.int32 4 # 0x4
.size shift1, 4
@@ -336,7 +384,7 @@ shift1:
.type shift2,@object
.section .data.shift2,"aw",@progbits
.globl shift2
- .align 2
+ .p2align 2
shift2:
.int32 60 # 0x3c
.size shift2, 4
diff --git a/test/torture-s/20020510-1.c.s b/test/torture-s/20020510-1.c.s
index 13568e194..4eb0ac779 100644
--- a/test/torture-s/20020510-1.c.s
+++ b/test/torture-s/20020510-1.c.s
@@ -6,17 +6,17 @@
.type testc,@function
testc: # @testc
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 24
block
block
block
- i32.shl $push0=, $0, $2
- i32.shr_s $push1=, $pop0, $2
- i32.const $push2=, 1
- i32.lt_s $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label2
+ i32.const $push0=, 24
+ i32.shl $push1=, $0, $pop0
+ i32.const $push5=, 24
+ i32.shr_s $push2=, $pop1, $pop5
+ i32.const $push3=, 1
+ i32.lt_s $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label2
# BB#1: # %if.then
br_if $1, 1 # 1: down to label1
# BB#2: # %if.then5
@@ -42,17 +42,17 @@ testc: # @testc
.type tests,@function
tests: # @tests
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 16
block
block
block
- i32.shl $push0=, $0, $2
- i32.shr_s $push1=, $pop0, $2
- i32.const $push2=, 1
- i32.lt_s $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label5
+ i32.const $push0=, 16
+ i32.shl $push1=, $0, $pop0
+ i32.const $push5=, 16
+ i32.shr_s $push2=, $pop1, $pop5
+ i32.const $push3=, 1
+ i32.lt_s $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label5
# BB#1: # %if.then
br_if $1, 1 # 1: down to label4
# BB#2: # %if.then5
diff --git a/test/torture-s/20020529-1.c.s b/test/torture-s/20020529-1.c.s
new file mode 100644
index 000000000..7cccc50da
--- /dev/null
+++ b/test/torture-s/20020529-1.c.s
@@ -0,0 +1,206 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20020529-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32, i32
+ .result i32
+ .local i32, i32, i32
+# BB#0: # %entry
+ i32.const $push2=, 8
+ i32.add $5=, $0, $pop2
+ i32.const $push7=, 0
+ i32.load $6=, f1.beenhere($pop7)
+.LBB0_1: # %for.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ block
+ loop # label3:
+ i32.const $push9=, 1
+ i32.add $4=, $6, $pop9
+ i32.const $push8=, 2
+ i32.ge_s $push0=, $6, $pop8
+ br_if $pop0, 4 # 4: down to label0
+# BB#2: # %f1.exit
+ # in Loop: Header=BB0_1 Depth=1
+ i32.const $push10=, 1
+ i32.ge_s $push1=, $6, $pop10
+ br_if $pop1, 3 # 3: down to label1
+# BB#3: # %if.end
+ # in Loop: Header=BB0_1 Depth=1
+ copy_local $6=, $4
+ br_if $1, 0 # 0: up to label3
+# BB#4: # %if.end3
+ # in Loop: Header=BB0_1 Depth=1
+ i32.const $push12=, 0
+ i32.store $6=, f1.beenhere($pop12), $4
+ i32.store16 $4=, 0($5):p2align=2, $3
+ i32.load $push3=, 0($0)
+ br_if $pop3, 2 # 2: down to label2
+# BB#5: # %if.end8
+ # in Loop: Header=BB0_1 Depth=1
+ br_if $2, 1 # 1: down to label4
+# BB#6: # %for.cond.outer.backedge
+ # in Loop: Header=BB0_1 Depth=1
+ i32.const $push14=, 16
+ i32.shl $push4=, $4, $pop14
+ i32.const $push13=, 16
+ i32.shr_s $3=, $pop4, $pop13
+ br 0 # 0: up to label3
+.LBB0_7: # %if.then10
+ end_loop # label4:
+ call f2@FUNCTION
+ unreachable
+.LBB0_8: # %if.then7
+ end_block # label2:
+ call f2@FUNCTION
+ unreachable
+.LBB0_9: # %if.then
+ end_block # label1:
+ i32.const $push5=, 0
+ i32.store $discard=, f1.beenhere($pop5), $4
+ i32.const $push11=, 0
+ return $pop11
+.LBB0_10: # %if.then.i
+ end_block # label0:
+ i32.const $push6=, 0
+ i32.store $discard=, f1.beenhere($pop6), $4
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.f1,"ax",@progbits
+ .hidden f1
+ .globl f1
+ .type f1,@function
+f1: # @f1
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push8=, 0
+ i32.const $push7=, 0
+ i32.load $push0=, f1.beenhere($pop7)
+ tee_local $push6=, $1=, $pop0
+ i32.const $push1=, 1
+ i32.add $push2=, $pop6, $pop1
+ i32.store $discard=, f1.beenhere($pop8), $pop2
+ block
+ i32.const $push3=, 2
+ i32.ge_s $push4=, $1, $pop3
+ br_if $pop4, 0 # 0: down to label5
+# BB#1: # %if.end
+ i32.const $push9=, 0
+ i32.gt_s $push5=, $1, $pop9
+ return $pop5
+.LBB1_2: # %if.then
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size f1, .Lfunc_end1-f1
+
+ .section .text.f2,"ax",@progbits
+ .hidden f2
+ .globl f2
+ .type f2,@function
+f2: # @f2
+# BB#0: # %entry
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size f2, .Lfunc_end2-f2
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $6=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ i32.const $push5=, 4
+ i32.or $push6=, $6, $pop5
+ i32.store $discard=, 0($pop6), $6
+ i32.const $push3=, 0
+ i32.store $push4=, 0($6):p2align=3, $pop3
+ tee_local $push20=, $2=, $pop4
+ i32.load $0=, f1.beenhere($pop20)
+ i32.const $push2=, 23
+ i32.store16 $1=, 8($6):p2align=3, $pop2
+ i32.const $push19=, 1
+ i32.add $3=, $0, $pop19
+ block
+ i32.const $push18=, 1
+ i32.gt_s $push7=, $0, $pop18
+ br_if $pop7, 0 # 0: down to label6
+.LBB3_1: # %f1.exit.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ loop # label8:
+ copy_local $push0=, $0
+ tee_local $push21=, $3=, $pop0
+ i32.gt_s $push8=, $pop21, $2
+ br_if $pop8, 2 # 2: down to label7
+# BB#2: # %if.end.i
+ # in Loop: Header=BB3_1 Depth=1
+ i32.const $push10=, 8
+ i32.add $push11=, $6, $pop10
+ i32.const $push9=, 0
+ i32.store16 $1=, 0($pop11):p2align=3, $pop9
+ i32.const $push12=, 1
+ i32.add $0=, $3, $pop12
+ i32.const $push22=, 1
+ i32.le_s $push13=, $0, $pop22
+ br_if $pop13, 0 # 0: up to label8
+# BB#3: # %if.then.i.i.loopexit
+ end_loop # label9:
+ i32.const $push15=, 0
+ i32.store $discard=, f1.beenhere($pop15), $0
+ i32.const $push14=, 2
+ i32.add $3=, $3, $pop14
+ br 1 # 1: down to label6
+.LBB3_4: # %foo.exit
+ end_block # label7:
+ i32.const $push24=, 0
+ i32.const $push23=, 1
+ i32.add $push1=, $3, $pop23
+ i32.store $discard=, f1.beenhere($pop24), $pop1
+ block
+ i32.const $push16=, 65535
+ i32.and $push17=, $1, $pop16
+ br_if $pop17, 0 # 0: down to label10
+# BB#5: # %if.end
+ i32.const $push25=, 0
+ call exit@FUNCTION, $pop25
+ unreachable
+.LBB3_6: # %if.then
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB3_7: # %if.then.i.i
+ end_block # label6:
+ i32.store $discard=, f1.beenhere($2), $3
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size main, .Lfunc_end3-main
+
+ .type f1.beenhere,@object # @f1.beenhere
+ .lcomm f1.beenhere,4,2
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20020611-1.c.s b/test/torture-s/20020611-1.c.s
index 12cfa68c7..a0b0432dd 100644
--- a/test/torture-s/20020611-1.c.s
+++ b/test/torture-s/20020611-1.c.s
@@ -5,14 +5,15 @@
.globl x
.type x,@function
x: # @x
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, n($0)
- i32.const $push1=, 31
- i32.lt_u $push2=, $pop0, $pop1
- i32.store $push3=, p($0), $pop2
- i32.store $discard=, k($0), $pop3
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, n($pop5)
+ i32.const $push2=, 31
+ i32.lt_u $push3=, $pop1, $pop2
+ i32.store $push4=, p($pop6), $pop3
+ i32.store $discard=, k($pop0), $pop4
return
.endfunc
.Lfunc_end0:
@@ -24,20 +25,22 @@ x: # @x
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, n($0)
+ i32.const $push7=, 0
+ i32.const $push6=, 0
+ i32.const $push5=, 0
+ i32.load $push0=, n($pop5)
i32.const $push1=, 31
i32.lt_u $push2=, $pop0, $pop1
- i32.store $push3=, p($0), $pop2
- i32.store $push4=, k($0), $pop3
- i32.const $push5=, 0
- i32.eq $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.store $push3=, p($pop6), $pop2
+ i32.store $push4=, k($pop7), $pop3
+ i32.const $push9=, 0
+ i32.eq $push10=, $pop4, $pop9
+ br_if $pop10, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push8=, 0
+ call exit@FUNCTION, $pop8
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -51,7 +54,7 @@ main: # @main
.type n,@object
.section .data.n,"aw",@progbits
.globl n
- .align 2
+ .p2align 2
n:
.int32 30 # 0x1e
.size n, 4
@@ -60,7 +63,7 @@ n:
.type p,@object
.section .bss.p,"aw",@nobits
.globl p
- .align 2
+ .p2align 2
p:
.int32 0 # 0x0
.size p, 4
@@ -69,7 +72,7 @@ p:
.type k,@object
.section .bss.k,"aw",@nobits
.globl k
- .align 2
+ .p2align 2
k:
.int32 0 # 0x0
.size k, 4
diff --git a/test/torture-s/20020615-1.c.s b/test/torture-s/20020615-1.c.s
index dcf583724..d4c9a3a67 100644
--- a/test/torture-s/20020615-1.c.s
+++ b/test/torture-s/20020615-1.c.s
@@ -7,73 +7,91 @@
line_hints: # @line_hints
.param i32, i32, i32
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.load $push2=, 0($2)
- i32.load $push3=, 0($1)
- i32.sub $6=, $pop2, $pop3
- i32.load $push4=, 4($2)
- i32.load $push5=, 4($1)
- i32.sub $1=, $pop4, $pop5
- i32.load $3=, 4($0)
- i32.load $4=, 8($0)
- i32.load $5=, 0($0)
- i32.const $0=, 0
- i32.sub $push6=, $0, $6
- i32.select $2=, $3, $pop6, $6
- i32.sub $push7=, $0, $1
- i32.select $6=, $4, $pop7, $1
- i32.select $1=, $5, $2, $6
- i32.const $7=, 31
- i32.shr_s $8=, $1, $7
- i32.add $push8=, $1, $8
- i32.xor $8=, $pop8, $8
- i32.select $2=, $5, $6, $2
- i32.shr_s $6=, $2, $7
- i32.add $push9=, $2, $6
- i32.xor $7=, $pop9, $6
- i32.const $6=, 4
+ i32.const $4=, 0
+ i32.load $push2=, 0($0)
+ tee_local $push50=, $7=, $pop2
+ i32.load $push0=, 4($0)
+ tee_local $push49=, $6=, $pop0
+ i32.const $push48=, 0
+ i32.load $push5=, 0($2)
+ i32.load $push6=, 0($1)
+ i32.sub $push7=, $pop5, $pop6
+ tee_local $push47=, $3=, $pop7
+ i32.sub $push11=, $pop48, $pop47
+ i32.select $push12=, $pop49, $pop11, $3
+ tee_local $push46=, $3=, $pop12
+ i32.load $push1=, 8($0)
+ tee_local $push45=, $5=, $pop1
+ i32.const $push44=, 0
+ i32.load $push8=, 4($2)
+ i32.load $push9=, 4($1)
+ i32.sub $push10=, $pop8, $pop9
+ tee_local $push43=, $0=, $pop10
+ i32.sub $push13=, $pop44, $pop43
+ i32.select $push14=, $pop45, $pop13, $0
+ tee_local $push42=, $1=, $pop14
+ i32.select $0=, $pop50, $pop46, $pop42
+ i32.const $push15=, 31
+ i32.shr_s $push16=, $0, $pop15
+ tee_local $push41=, $2=, $pop16
+ i32.add $push17=, $0, $pop41
+ i32.xor $2=, $pop17, $2
+ i32.select $1=, $7, $1, $3
+ i32.const $push40=, 31
+ i32.shr_s $push18=, $1, $pop40
+ tee_local $push39=, $3=, $pop18
+ i32.add $push19=, $1, $pop39
+ i32.xor $3=, $pop19, $3
block
block
- i32.const $push25=, 0
- i32.eq $push26=, $1, $pop25
- br_if $pop26, 0 # 0: down to label1
+ i32.const $push56=, 0
+ i32.eq $push57=, $0, $pop56
+ br_if $pop57, 0 # 0: down to label1
# BB#1: # %entry
- i32.shr_s $push1=, $8, $6
- i32.gt_s $push10=, $7, $pop1
- br_if $pop10, 0 # 0: down to label1
+ i32.const $push51=, 4
+ i32.shr_s $push4=, $2, $pop51
+ i32.gt_s $push20=, $3, $pop4
+ br_if $pop20, 0 # 0: down to label1
# BB#2: # %if.then21
- i32.gt_s $push12=, $1, $0
- i32.const $push14=, 2
- i32.const $push13=, 1
- i32.select $0=, $pop12, $pop14, $pop13
- i32.select $push11=, $5, $4, $3
- i32.const $push15=, 3
- i32.xor $push16=, $0, $pop15
- i32.select $0=, $pop11, $pop16, $0
+ i32.select $push21=, $7, $5, $6
+ i32.const $push22=, 0
+ i32.gt_s $push23=, $0, $pop22
+ i32.const $push25=, 2
+ i32.const $push24=, 1
+ i32.select $push26=, $pop23, $pop25, $pop24
+ tee_local $push52=, $0=, $pop26
+ i32.const $push27=, 3
+ i32.xor $push28=, $pop52, $pop27
+ i32.select $4=, $pop21, $pop28, $0
br 1 # 1: down to label0
.LBB0_3: # %if.else
end_block # label1:
- i32.const $push27=, 0
- i32.eq $push28=, $2, $pop27
- br_if $pop28, 0 # 0: down to label0
+ i32.const $push58=, 0
+ i32.eq $push59=, $1, $pop58
+ br_if $pop59, 0 # 0: down to label0
# BB#4: # %if.else
- i32.shr_s $push17=, $7, $6
- i32.gt_s $push18=, $8, $pop17
- br_if $pop18, 0 # 0: down to label0
+ i32.const $push53=, 4
+ i32.shr_s $push29=, $3, $pop53
+ i32.gt_s $push30=, $2, $pop29
+ br_if $pop30, 0 # 0: down to label0
# BB#5: # %if.then31
- i32.const $push19=, 29
- i32.shr_u $push20=, $2, $pop19
- i32.and $push21=, $pop20, $6
- i32.add $0=, $pop21, $6
- i32.select $push0=, $5, $3, $4
- i32.const $push22=, 12
- i32.xor $push23=, $0, $pop22
- i32.select $push24=, $pop0, $pop23, $0
- return $pop24
+ i32.select $push3=, $7, $6, $5
+ i32.const $push31=, 29
+ i32.shr_u $push32=, $1, $pop31
+ i32.const $push33=, 4
+ i32.and $push34=, $pop32, $pop33
+ i32.const $push55=, 4
+ i32.add $push35=, $pop34, $pop55
+ tee_local $push54=, $0=, $pop35
+ i32.const $push36=, 12
+ i32.xor $push37=, $pop54, $pop36
+ i32.select $push38=, $pop3, $pop37, $0
+ return $pop38
.LBB0_6: # %if.end40
end_block # label0:
- return $0
+ return $4
.endfunc
.Lfunc_end0:
.size line_hints, .Lfunc_end0-line_hints
@@ -84,155 +102,228 @@ line_hints: # @line_hints
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i32, i32, i32, i32, i32, i64, i32, i32
+ .local i32, i32, i32, i32, i32, i64, i64, i64, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, 0
- i64.load $7=, main.gsf+8($6)
- i64.load $8=, main.gsf($6)
- i32.wrap/i64 $push4=, $7
- i32.wrap/i64 $push5=, $8
- i32.sub $3=, $pop4, $pop5
- i64.const $9=, 32
- i32.load $0=, main.fh+4($6)
- i64.shr_u $push6=, $7, $9
- i32.wrap/i64 $push7=, $pop6
- i64.shr_u $push8=, $8, $9
- i32.wrap/i64 $push9=, $pop8
- i32.sub $10=, $pop7, $pop9
- i64.load $7=, main.fh+8($6)
- i32.sub $push10=, $6, $3
- i32.select $11=, $0, $pop10, $3
- i32.load $2=, main.fh($6)
- i32.wrap/i64 $1=, $7
- i32.sub $push11=, $6, $10
- i32.select $12=, $1, $pop11, $10
- i32.select $3=, $2, $11, $12
block
- i32.const $push53=, 0
- i32.eq $push54=, $3, $pop53
- br_if $pop54, 0 # 0: down to label2
+ i32.const $push13=, 0
+ i32.load $push3=, main.fh($pop13):p2align=4
+ tee_local $push122=, $9=, $pop3
+ i32.const $push121=, 0
+ i32.load $push0=, main.fh+4($pop121)
+ tee_local $push120=, $8=, $pop0
+ i32.const $push119=, 0
+ i32.const $push118=, 0
+ i64.load $push14=, main.gsf+8($pop118)
+ tee_local $push117=, $7=, $pop14
+ i32.wrap/i64 $push15=, $pop117
+ i32.const $push116=, 0
+ i64.load $push16=, main.gsf($pop116):p2align=4
+ tee_local $push115=, $6=, $pop16
+ i32.wrap/i64 $push17=, $pop115
+ i32.sub $push18=, $pop15, $pop17
+ tee_local $push114=, $2=, $pop18
+ i32.sub $push25=, $pop119, $pop114
+ i32.select $push26=, $pop120, $pop25, $2
+ tee_local $push113=, $1=, $pop26
+ i32.const $push112=, 0
+ i64.load $push1=, main.fh+8($pop112)
+ tee_local $push111=, $5=, $pop1
+ i32.wrap/i64 $push2=, $pop111
+ tee_local $push110=, $4=, $pop2
+ i32.const $push109=, 0
+ i64.const $push19=, 32
+ i64.shr_u $push20=, $7, $pop19
+ i32.wrap/i64 $push21=, $pop20
+ i64.const $push108=, 32
+ i64.shr_u $push22=, $6, $pop108
+ i32.wrap/i64 $push23=, $pop22
+ i32.sub $push24=, $pop21, $pop23
+ tee_local $push107=, $2=, $pop24
+ i32.sub $push27=, $pop109, $pop107
+ i32.select $push28=, $pop110, $pop27, $2
+ tee_local $push106=, $3=, $pop28
+ i32.select $push4=, $pop122, $pop113, $pop106
+ tee_local $push105=, $2=, $pop4
+ i32.const $push169=, 0
+ i32.eq $push170=, $pop105, $pop169
+ br_if $pop170, 0 # 0: down to label2
# BB#1: # %entry
- i32.const $10=, 31
- i32.shr_s $13=, $3, $10
- i32.select $11=, $2, $12, $11
- i32.shr_s $12=, $11, $10
- i32.const $14=, 4
- i32.add $push14=, $11, $12
- i32.xor $push2=, $pop14, $12
- i32.add $push12=, $3, $13
- i32.xor $push13=, $pop12, $13
- i32.shr_s $push3=, $pop13, $14
- i32.gt_s $push15=, $pop2, $pop3
- br_if $pop15, 0 # 0: down to label2
+ i32.select $1=, $9, $3, $1
+ i32.const $push29=, 31
+ i32.shr_s $push33=, $1, $pop29
+ tee_local $push125=, $3=, $pop33
+ i32.add $push34=, $1, $pop125
+ i32.xor $push11=, $pop34, $3
+ i32.const $push124=, 31
+ i32.shr_s $push30=, $2, $pop124
+ tee_local $push123=, $1=, $pop30
+ i32.add $push31=, $2, $pop123
+ i32.xor $push32=, $pop31, $1
+ i32.const $push35=, 4
+ i32.shr_s $push12=, $pop32, $pop35
+ i32.gt_s $push36=, $pop11, $pop12
+ br_if $pop36, 0 # 0: down to label2
# BB#2: # %line_hints.exit
- i32.const $11=, 1
- i32.gt_s $push17=, $3, $6
- i32.const $push18=, 2
- i32.select $3=, $pop17, $pop18, $11
- i32.select $push16=, $2, $1, $0
- i32.const $push19=, 3
- i32.xor $push20=, $3, $pop19
- i32.select $push21=, $pop16, $pop20, $3
- i32.ne $push22=, $pop21, $11
- br_if $pop22, 0 # 0: down to label2
+ i32.select $push37=, $9, $4, $8
+ i32.const $push128=, 0
+ i32.gt_s $push38=, $2, $pop128
+ i32.const $push40=, 2
+ i32.const $push39=, 1
+ i32.select $push41=, $pop38, $pop40, $pop39
+ tee_local $push127=, $2=, $pop41
+ i32.const $push42=, 3
+ i32.xor $push43=, $pop127, $pop42
+ i32.select $push44=, $pop37, $pop43, $2
+ i32.const $push126=, 1
+ i32.ne $push45=, $pop44, $pop126
+ br_if $pop45, 0 # 0: down to label2
# BB#3: # %lor.lhs.false
- i64.load $8=, main.gsf+24($6)
- i64.load $15=, main.gsf+16($6)
- i32.wrap/i64 $push24=, $8
- i32.wrap/i64 $push25=, $15
- i32.sub $12=, $pop24, $pop25
- i64.shr_u $push26=, $8, $9
- i32.wrap/i64 $push27=, $pop26
- i64.shr_u $push28=, $15, $9
- i32.wrap/i64 $push29=, $pop28
- i32.sub $0=, $pop27, $pop29
- i32.load $16=, main.fh+16($6)
- i64.const $push30=, 4294967296
- i64.lt_u $11=, $7, $pop30
- i32.load $17=, main.fh+20($6)
- i32.sub $4=, $6, $12
- i32.select $2=, $16, $4, $12
- i32.sub $5=, $6, $0
- i32.select $1=, $17, $5, $0
- i32.select $3=, $11, $1, $2
- i32.shr_s $13=, $3, $10
- i32.add $push31=, $3, $13
- i32.xor $13=, $pop31, $13
- i32.select $2=, $11, $2, $1
- i32.shr_s $1=, $2, $10
+ i64.const $push60=, 4294967296
+ i64.lt_u $push61=, $5, $pop60
+ tee_local $push149=, $1=, $pop61
+ i32.const $push148=, 0
+ i32.load $push57=, main.fh+20($pop148)
+ tee_local $push147=, $13=, $pop57
+ i32.const $push146=, 0
+ i32.const $push145=, 0
+ i64.load $push47=, main.gsf+24($pop145)
+ tee_local $push144=, $7=, $pop47
+ i64.const $push51=, 32
+ i64.shr_u $push52=, $pop144, $pop51
+ i32.wrap/i64 $push53=, $pop52
+ i32.const $push143=, 0
+ i64.load $push49=, main.gsf+16($pop143):p2align=4
+ tee_local $push142=, $6=, $pop49
+ i64.const $push141=, 32
+ i64.shr_u $push54=, $pop142, $pop141
+ i32.wrap/i64 $push55=, $pop54
+ i32.sub $push6=, $pop53, $pop55
+ tee_local $push140=, $3=, $pop6
+ i32.sub $push8=, $pop146, $pop140
+ tee_local $push139=, $12=, $pop8
+ i32.select $push59=, $pop147, $pop139, $3
+ tee_local $push138=, $9=, $pop59
+ i32.const $push137=, 0
+ i32.load $push56=, main.fh+16($pop137):p2align=4
+ tee_local $push136=, $11=, $pop56
+ i32.const $push135=, 0
+ i32.wrap/i64 $push48=, $7
+ i32.wrap/i64 $push50=, $6
+ i32.sub $push5=, $pop48, $pop50
+ tee_local $push134=, $8=, $pop5
+ i32.sub $push7=, $pop135, $pop134
+ tee_local $push133=, $10=, $pop7
+ i32.select $push58=, $pop136, $pop133, $8
+ tee_local $push132=, $0=, $pop58
+ i32.select $2=, $pop149, $pop138, $pop132
+ i32.const $push62=, 31
+ i32.shr_s $push63=, $2, $pop62
+ tee_local $push131=, $4=, $pop63
+ i32.add $push64=, $2, $pop131
+ i32.xor $4=, $pop64, $4
+ i32.select $9=, $1, $0, $9
+ i32.const $push130=, 31
+ i32.shr_s $push65=, $9, $pop130
+ tee_local $push129=, $0=, $pop65
+ i32.add $push66=, $9, $pop129
+ i32.xor $0=, $pop66, $0
block
- i32.add $push32=, $2, $1
- i32.xor $1=, $pop32, $1
- i32.const $push55=, 0
- i32.eq $push56=, $3, $pop55
- br_if $pop56, 0 # 0: down to label3
+ i32.const $push171=, 0
+ i32.eq $push172=, $2, $pop171
+ br_if $pop172, 0 # 0: down to label3
# BB#4: # %lor.lhs.false
- i32.shr_s $push23=, $13, $14
- i32.le_s $push33=, $1, $pop23
- br_if $pop33, 1 # 1: down to label2
+ i32.const $push150=, 4
+ i32.shr_s $push46=, $4, $pop150
+ i32.le_s $push67=, $0, $pop46
+ br_if $pop67, 1 # 1: down to label2
.LBB1_5: # %if.else.i82
end_block # label3:
- i32.const $push57=, 0
- i32.eq $push58=, $2, $pop57
- br_if $pop58, 0 # 0: down to label2
+ i32.const $push173=, 0
+ i32.eq $push174=, $9, $pop173
+ br_if $pop174, 0 # 0: down to label2
# BB#6: # %if.else.i82
- i32.shr_s $push34=, $1, $14
- i32.gt_s $push35=, $13, $pop34
- br_if $pop35, 0 # 0: down to label2
+ i32.const $push151=, 4
+ i32.shr_s $push68=, $0, $pop151
+ i32.gt_s $push69=, $4, $pop68
+ br_if $pop69, 0 # 0: down to label2
# BB#7: # %line_hints.exit89
- i32.const $1=, 29
- i32.shr_u $push36=, $2, $1
- i32.and $push37=, $pop36, $14
- i32.add $3=, $pop37, $14
- i32.const $2=, 12
- i32.select $push0=, $11, $17, $16
- i32.xor $push38=, $3, $2
- i32.select $push39=, $pop0, $pop38, $3
- i32.const $push40=, 8
- i32.ne $push41=, $pop39, $pop40
- br_if $pop41, 0 # 0: down to label2
+ i32.select $push9=, $1, $13, $11
+ i32.const $push70=, 29
+ i32.shr_u $push71=, $9, $pop70
+ i32.const $push154=, 4
+ i32.and $push72=, $pop71, $pop154
+ i32.const $push153=, 4
+ i32.add $push73=, $pop72, $pop153
+ tee_local $push152=, $2=, $pop73
+ i32.const $push74=, 12
+ i32.xor $push75=, $pop152, $pop74
+ i32.select $push76=, $pop9, $pop75, $2
+ i32.const $push77=, 8
+ i32.ne $push78=, $pop76, $pop77
+ br_if $pop78, 0 # 0: down to label2
# BB#8: # %lor.lhs.false3
- i32.load $16=, main.fh+28($6)
- i32.load $17=, main.fh+32($6)
- i32.load $13=, main.fh+24($6)
- i32.select $11=, $16, $4, $12
- i32.select $12=, $17, $5, $0
- i32.select $3=, $13, $11, $12
- i32.shr_s $0=, $3, $10
- i32.add $push43=, $3, $0
- i32.xor $0=, $pop43, $0
- i32.select $11=, $13, $12, $11
- i32.shr_s $10=, $11, $10
+ i32.const $push80=, 0
+ i32.load $push85=, main.fh+24($pop80):p2align=3
+ tee_local $push164=, $1=, $pop85
+ i32.const $push163=, 0
+ i32.load $push81=, main.fh+28($pop163)
+ tee_local $push162=, $4=, $pop81
+ i32.select $push83=, $pop162, $10, $8
+ tee_local $push161=, $9=, $pop83
+ i32.const $push160=, 0
+ i32.load $push82=, main.fh+32($pop160):p2align=4
+ tee_local $push159=, $0=, $pop82
+ i32.select $push84=, $pop159, $12, $3
+ tee_local $push158=, $8=, $pop84
+ i32.select $2=, $pop164, $pop161, $pop158
+ i32.const $push86=, 31
+ i32.shr_s $push87=, $2, $pop86
+ tee_local $push157=, $3=, $pop87
+ i32.add $push88=, $2, $pop157
+ i32.xor $3=, $pop88, $3
+ i32.select $9=, $1, $8, $9
+ i32.const $push156=, 31
+ i32.shr_s $push89=, $9, $pop156
+ tee_local $push155=, $8=, $pop89
+ i32.add $push90=, $9, $pop155
+ i32.xor $8=, $pop90, $8
block
- i32.add $push44=, $11, $10
- i32.xor $10=, $pop44, $10
- i32.const $push59=, 0
- i32.eq $push60=, $3, $pop59
- br_if $pop60, 0 # 0: down to label4
+ i32.const $push175=, 0
+ i32.eq $push176=, $2, $pop175
+ br_if $pop176, 0 # 0: down to label4
# BB#9: # %lor.lhs.false3
- i32.shr_s $push42=, $0, $14
- i32.le_s $push45=, $10, $pop42
- br_if $pop45, 1 # 1: down to label2
+ i32.const $push165=, 4
+ i32.shr_s $push79=, $3, $pop165
+ i32.le_s $push91=, $8, $pop79
+ br_if $pop91, 1 # 1: down to label2
.LBB1_10: # %if.else.i40
end_block # label4:
- i32.const $push61=, 0
- i32.eq $push62=, $11, $pop61
- br_if $pop62, 0 # 0: down to label2
+ i32.const $push177=, 0
+ i32.eq $push178=, $9, $pop177
+ br_if $pop178, 0 # 0: down to label2
# BB#11: # %if.else.i40
- i32.shr_s $push46=, $10, $14
- i32.gt_s $push47=, $0, $pop46
- br_if $pop47, 0 # 0: down to label2
+ i32.const $push93=, 4
+ i32.shr_s $push92=, $8, $pop93
+ i32.gt_s $push94=, $3, $pop92
+ br_if $pop94, 0 # 0: down to label2
# BB#12: # %line_hints.exit47
- i32.shr_u $push48=, $11, $1
- i32.and $push49=, $pop48, $14
- i32.add $3=, $pop49, $14
- i32.select $push1=, $13, $16, $17
- i32.xor $push50=, $3, $2
- i32.select $push51=, $pop1, $pop50, $3
- i32.ne $push52=, $pop51, $14
- br_if $pop52, 0 # 0: down to label2
+ i32.select $push10=, $1, $4, $0
+ i32.const $push95=, 29
+ i32.shr_u $push96=, $9, $pop95
+ i32.const $push97=, 4
+ i32.and $push98=, $pop96, $pop97
+ i32.const $push168=, 4
+ i32.add $push99=, $pop98, $pop168
+ tee_local $push167=, $2=, $pop99
+ i32.const $push100=, 12
+ i32.xor $push101=, $pop167, $pop100
+ i32.select $push102=, $pop10, $pop101, $2
+ i32.const $push166=, 4
+ i32.ne $push103=, $pop102, $pop166
+ br_if $pop103, 0 # 0: down to label2
# BB#13: # %if.end
- call exit@FUNCTION, $6
+ i32.const $push104=, 0
+ call exit@FUNCTION, $pop104
unreachable
.LBB1_14: # %if.then
end_block # label2:
@@ -244,7 +335,7 @@ main: # @main
.type main.fh,@object # @main.fh
.section .data.main.fh,"aw",@progbits
- .align 4
+ .p2align 4
main.fh:
.int32 0 # 0x0
.int32 1 # 0x1
@@ -257,7 +348,7 @@ main.fh:
.type main.gsf,@object # @main.gsf
.section .data.main.gsf,"aw",@progbits
- .align 4
+ .p2align 4
main.gsf:
.int32 196608 # 0x30000
.int32 80216 # 0x13958
diff --git a/test/torture-s/20020805-1.c.s b/test/torture-s/20020805-1.c.s
index c4936b0cc..c79c38d98 100644
--- a/test/torture-s/20020805-1.c.s
+++ b/test/torture-s/20020805-1.c.s
@@ -27,26 +27,21 @@ check: # @check
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, n($0)
- block
- i32.const $push0=, 2
- i32.sub $push1=, $pop0, $1
- i32.sub $push2=, $0, $1
- i32.or $push3=, $pop1, $pop2
- i32.const $push4=, 1
+ i32.const $push2=, 2
+ i32.const $push0=, 0
+ i32.load $push1=, n($pop0)
+ tee_local $push10=, $0=, $pop1
+ i32.sub $push3=, $pop2, $pop10
+ i32.const $push9=, 0
+ i32.sub $push4=, $pop9, $0
i32.or $push5=, $pop3, $pop4
- i32.const $push6=, -1
- i32.ne $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: down to label1
-# BB#1: # %check.exit
- call exit@FUNCTION, $0
- unreachable
-.LBB1_2: # %if.then.i
- end_block # label1:
- call abort@FUNCTION
+ i32.const $push6=, 1
+ i32.or $push7=, $pop5, $pop6
+ call check@FUNCTION, $pop7
+ i32.const $push8=, 0
+ call exit@FUNCTION, $pop8
unreachable
.endfunc
.Lfunc_end1:
@@ -56,7 +51,7 @@ main: # @main
.type n,@object
.section .data.n,"aw",@progbits
.globl n
- .align 2
+ .p2align 2
n:
.int32 1 # 0x1
.size n, 4
diff --git a/test/torture-s/20020810-1.c.s b/test/torture-s/20020810-1.c.s
new file mode 100644
index 000000000..2f2221f4f
--- /dev/null
+++ b/test/torture-s/20020810-1.c.s
@@ -0,0 +1,88 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20020810-1.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32
+ .local i64
+# BB#0: # %entry
+ block
+ i32.load $push1=, 0($0)
+ i32.const $push2=, 0
+ i64.load $push0=, R($pop2)
+ tee_local $push10=, $1=, $pop0
+ i32.wrap/i64 $push3=, $pop10
+ i32.ne $push4=, $pop1, $pop3
+ br_if $pop4, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load $push8=, 4($0)
+ i64.const $push5=, 32
+ i64.shr_u $push6=, $1, $pop5
+ i32.wrap/i64 $push7=, $pop6
+ i32.ne $push9=, $pop8, $pop7
+ br_if $pop9, 0 # 0: down to label0
+# BB#2: # %if.end
+ return
+.LBB0_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.g,"ax",@progbits
+ .hidden g
+ .globl g
+ .type g,@function
+g: # @g
+ .param i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, R($pop0)
+ i64.store $discard=, 0($0):p2align=2, $pop1
+ return
+ .endfunc
+.Lfunc_end1:
+ .size g, .Lfunc_end1-g
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push0=, 0
+ br_if $pop0, 0 # 0: down to label1
+# BB#1: # %lor.lhs.false.i
+ i32.const $push1=, 1
+ i32.const $push3=, 0
+ i32.eq $push4=, $pop1, $pop3
+ br_if $pop4, 0 # 0: down to label1
+# BB#2: # %if.end
+ i32.const $push2=, 0
+ return $pop2
+.LBB2_3: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden R # @R
+ .type R,@object
+ .section .data.R,"aw",@progbits
+ .globl R
+ .p2align 3
+R:
+ .int32 100 # 0x64
+ .int32 200 # 0xc8
+ .size R, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20020911-1.c.s b/test/torture-s/20020911-1.c.s
index 6358bd4d1..3969e4df9 100644
--- a/test/torture-s/20020911-1.c.s
+++ b/test/torture-s/20020911-1.c.s
@@ -6,24 +6,26 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load16_s $1=, c($0)
block
- i32.const $push2=, -1
- i32.gt_s $push3=, $1, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push1=, 0
+ i32.load16_s $push2=, c($pop1)
+ tee_local $push11=, $0=, $pop2
+ i32.const $push4=, -1
+ i32.gt_s $push5=, $pop11, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.const $push1=, 65535
- i32.and $push0=, $1, $pop1
- i32.const $push4=, -32768
- i32.add $push5=, $pop0, $pop4
- i32.const $push6=, 32768
- i32.ge_s $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: down to label0
+ i32.const $push3=, 65535
+ i32.and $push0=, $0, $pop3
+ i32.const $push6=, -32768
+ i32.add $push7=, $pop0, $pop6
+ i32.const $push8=, 32768
+ i32.ge_s $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#2: # %if.end
- return $0
+ i32.const $push10=, 0
+ return $pop10
.LBB0_3: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -36,7 +38,7 @@ main: # @main
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 1
+ .p2align 1
c:
.int16 32768 # 0x8000
.size c, 2
diff --git a/test/torture-s/20020916-1.c.s b/test/torture-s/20020916-1.c.s
index 2e8ba502e..392c01c25 100644
--- a/test/torture-s/20020916-1.c.s
+++ b/test/torture-s/20020916-1.c.s
@@ -7,14 +7,14 @@
foo: # @foo
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.lt_s $push1=, $0, $1
- i32.const $push2=, 1
- i32.gt_s $push0=, $0, $1
- i32.select $push3=, $pop1, $pop2, $pop0
- return $pop3
+ i32.const $push0=, 0
+ i32.lt_s $push2=, $0, $pop0
+ i32.const $push3=, 1
+ i32.const $push5=, 0
+ i32.gt_s $push1=, $0, $pop5
+ i32.select $push4=, $pop2, $pop3, $pop1
+ return $pop4
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/20020920-1.c.s b/test/torture-s/20020920-1.c.s
index 1b1069254..13126142d 100644
--- a/test/torture-s/20020920-1.c.s
+++ b/test/torture-s/20020920-1.c.s
@@ -9,12 +9,8 @@ f: # @f
# BB#0: # %entry
i32.const $push0=, 2
i32.store $discard=, 0($0), $pop0
- i64.const $push1=, 0
- i64.store32 $discard=, 4($0), $pop1
- i32.const $push2=, 8
- i32.add $push3=, $0, $pop2
- i64.const $push4=, 1
- i64.store32 $discard=, 0($pop3), $pop4
+ i64.const $push1=, 4294967296
+ i64.store $discard=, 4($0):p2align=2, $pop1
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/20021010-2.c.s b/test/torture-s/20021010-2.c.s
index d868890ad..34c1e4e8b 100644
--- a/test/torture-s/20021010-2.c.s
+++ b/test/torture-s/20021010-2.c.s
@@ -6,24 +6,33 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load16_s $1=, global_saveRect($0)
- i32.load16_s $3=, global_bounds($0)
- i32.load16_s $2=, global_saveRect+2($0)
- i32.load16_s $4=, global_bounds+2($0)
block
- i32.gt_s $push2=, $2, $4
- i32.select $push3=, $pop2, $4, $2
- i32.lt_s $push0=, $1, $3
- i32.select $push1=, $pop0, $3, $1
- i32.sub $push4=, $pop3, $pop1
- i32.load $push5=, expectedwidth($0)
- i32.ne $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push19=, 0
+ i32.load16_s $push1=, global_saveRect+2($pop19)
+ tee_local $push18=, $1=, $pop1
+ i32.const $push17=, 0
+ i32.load16_s $push3=, global_bounds+2($pop17)
+ tee_local $push16=, $0=, $pop3
+ i32.gt_s $push6=, $pop18, $pop16
+ i32.select $push7=, $pop6, $0, $1
+ i32.const $push15=, 0
+ i32.load16_s $push0=, global_saveRect($pop15)
+ tee_local $push14=, $1=, $pop0
+ i32.const $push13=, 0
+ i32.load16_s $push2=, global_bounds($pop13)
+ tee_local $push12=, $0=, $pop2
+ i32.lt_s $push4=, $pop14, $pop12
+ i32.select $push5=, $pop4, $0, $1
+ i32.sub $push8=, $pop7, $pop5
+ i32.const $push11=, 0
+ i32.load $push9=, expectedwidth($pop11)
+ i32.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label0
# BB#1: # %if.end26
- call exit@FUNCTION, $0
+ i32.const $push20=, 0
+ call exit@FUNCTION, $pop20
unreachable
.LBB0_2: # %if.then25
end_block # label0:
@@ -37,7 +46,7 @@ main: # @main
.type expectedwidth,@object
.section .data.expectedwidth,"aw",@progbits
.globl expectedwidth
- .align 2
+ .p2align 2
expectedwidth:
.int32 50 # 0x32
.size expectedwidth, 4
@@ -46,7 +55,7 @@ expectedwidth:
.type global_vramPtr,@object
.section .data.global_vramPtr,"aw",@progbits
.globl global_vramPtr
- .align 2
+ .p2align 2
global_vramPtr:
.int32 40960
.size global_vramPtr, 4
@@ -55,7 +64,7 @@ global_vramPtr:
.type global_bounds,@object
.section .data.global_bounds,"aw",@progbits
.globl global_bounds
- .align 1
+ .p2align 1
global_bounds:
.int16 100 # 0x64
.int16 150 # 0x96
@@ -67,7 +76,7 @@ global_bounds:
.type global_saveRect,@object
.section .data.global_saveRect,"aw",@progbits
.globl global_saveRect
- .align 1
+ .p2align 1
global_saveRect:
.int16 75 # 0x4b
.int16 175 # 0xaf
diff --git a/test/torture-s/20021011-1.c.s b/test/torture-s/20021011-1.c.s
index b107404e2..e0f618a5a 100644
--- a/test/torture-s/20021011-1.c.s
+++ b/test/torture-s/20021011-1.c.s
@@ -6,98 +6,201 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i64
# BB#0: # %entry
- i32.const $0=, .L.str
- i32.const $1=, buf
- i32.const $2=, 9
- call memcpy@FUNCTION, $1, $0, $2
+ i32.const $push56=, 0
+ i32.const $push55=, 0
+ i32.load8_u $push0=, .L.str+8($pop55)
+ i32.store8 $0=, buf+8($pop56):p2align=3, $pop0
+ i32.const $push54=, 0
+ i32.const $push53=, 0
+ i64.load $push1=, .L.str($pop53):p2align=0
+ i64.store $1=, buf($pop54):p2align=4, $pop1
block
- i32.call $push0=, strcmp@FUNCTION, $1, $0
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push52=, buf
+ i32.const $push51=, .L.str
+ i32.call $push2=, strcmp@FUNCTION, $pop52, $pop51
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %for.body.preheader
- call memcpy@FUNCTION, $1, $0, $2
+ i32.const $push60=, 0
+ i32.store8 $discard=, buf+8($pop60):p2align=3, $0
+ i32.const $push59=, 0
+ i64.store $discard=, buf($pop59):p2align=4, $1
block
- i32.call $push1=, strcmp@FUNCTION, $1, $0
- br_if $pop1, 0 # 0: down to label1
+ i32.const $push58=, buf
+ i32.const $push57=, .L.str
+ i32.call $push3=, strcmp@FUNCTION, $pop58, $pop57
+ br_if $pop3, 0 # 0: down to label1
# BB#2: # %for.cond
- i32.const $1=, buf+1
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push2=, strcmp@FUNCTION, $1, $0
- br_if $pop2, 0 # 0: down to label1
+ i32.const $push65=, 0
+ i32.const $push64=, 0
+ i32.load8_u $push4=, .L.str+8($pop64)
+ i32.store8 $0=, buf+9($pop65), $pop4
+ i32.const $push63=, 0
+ i32.const $push62=, 0
+ i64.load $push5=, .L.str($pop62):p2align=0
+ i64.store $1=, buf+1($pop63):p2align=0, $pop5
+ i32.const $push6=, buf+1
+ i32.const $push61=, .L.str
+ i32.call $push7=, strcmp@FUNCTION, $pop6, $pop61
+ br_if $pop7, 0 # 0: down to label1
# BB#3: # %for.cond.1
- i32.const $1=, buf+2
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push3=, strcmp@FUNCTION, $1, $0
- br_if $pop3, 0 # 0: down to label1
+ i32.const $push68=, 0
+ i32.store8 $discard=, buf+10($pop68):p2align=1, $0
+ i32.const $push67=, 0
+ i64.store $discard=, buf+2($pop67):p2align=1, $1
+ i32.const $push8=, buf+2
+ i32.const $push66=, .L.str
+ i32.call $push9=, strcmp@FUNCTION, $pop8, $pop66
+ br_if $pop9, 0 # 0: down to label1
# BB#4: # %for.cond.2
- i32.const $1=, buf+3
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push4=, strcmp@FUNCTION, $1, $0
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push73=, 0
+ i32.const $push72=, 0
+ i32.load8_u $push10=, .L.str+8($pop72)
+ i32.store8 $0=, buf+11($pop73), $pop10
+ i32.const $push71=, 0
+ i32.const $push70=, 0
+ i64.load $push11=, .L.str($pop70):p2align=0
+ i64.store $1=, buf+3($pop71):p2align=0, $pop11
+ i32.const $push12=, buf+3
+ i32.const $push69=, .L.str
+ i32.call $push13=, strcmp@FUNCTION, $pop12, $pop69
+ br_if $pop13, 0 # 0: down to label1
# BB#5: # %for.cond.3
- i32.const $1=, buf+4
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push5=, strcmp@FUNCTION, $1, $0
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push76=, 0
+ i32.store8 $discard=, buf+12($pop76):p2align=2, $0
+ i32.const $push75=, 0
+ i64.store $discard=, buf+4($pop75):p2align=2, $1
+ i32.const $push14=, buf+4
+ i32.const $push74=, .L.str
+ i32.call $push15=, strcmp@FUNCTION, $pop14, $pop74
+ br_if $pop15, 0 # 0: down to label1
# BB#6: # %for.cond.4
- i32.const $1=, buf+5
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push6=, strcmp@FUNCTION, $1, $0
- br_if $pop6, 0 # 0: down to label1
+ i32.const $push81=, 0
+ i32.const $push80=, 0
+ i32.load8_u $push16=, .L.str+8($pop80)
+ i32.store8 $0=, buf+13($pop81), $pop16
+ i32.const $push79=, 0
+ i32.const $push78=, 0
+ i64.load $push17=, .L.str($pop78):p2align=0
+ i64.store $1=, buf+5($pop79):p2align=0, $pop17
+ i32.const $push18=, buf+5
+ i32.const $push77=, .L.str
+ i32.call $push19=, strcmp@FUNCTION, $pop18, $pop77
+ br_if $pop19, 0 # 0: down to label1
# BB#7: # %for.cond.5
- i32.const $1=, buf+6
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push7=, strcmp@FUNCTION, $1, $0
- br_if $pop7, 0 # 0: down to label1
+ i32.const $push84=, 0
+ i32.store8 $discard=, buf+14($pop84):p2align=1, $0
+ i32.const $push83=, 0
+ i64.store $discard=, buf+6($pop83):p2align=1, $1
+ i32.const $push20=, buf+6
+ i32.const $push82=, .L.str
+ i32.call $push21=, strcmp@FUNCTION, $pop20, $pop82
+ br_if $pop21, 0 # 0: down to label1
# BB#8: # %for.cond.6
- i32.const $1=, buf+7
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push8=, strcmp@FUNCTION, $1, $0
- br_if $pop8, 0 # 0: down to label1
+ i32.const $push89=, 0
+ i32.const $push88=, 0
+ i32.load8_u $push22=, .L.str+8($pop88)
+ i32.store8 $0=, buf+15($pop89), $pop22
+ i32.const $push87=, 0
+ i32.const $push86=, 0
+ i64.load $push23=, .L.str($pop86):p2align=0
+ i64.store $1=, buf+7($pop87):p2align=0, $pop23
+ i32.const $push24=, buf+7
+ i32.const $push85=, .L.str
+ i32.call $push25=, strcmp@FUNCTION, $pop24, $pop85
+ br_if $pop25, 0 # 0: down to label1
# BB#9: # %for.cond.7
- i32.const $1=, buf+8
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push9=, strcmp@FUNCTION, $1, $0
- br_if $pop9, 0 # 0: down to label1
+ i32.const $push92=, 0
+ i32.store8 $discard=, buf+16($pop92):p2align=3, $0
+ i32.const $push91=, 0
+ i64.store $discard=, buf+8($pop91), $1
+ i32.const $push26=, buf+8
+ i32.const $push90=, .L.str
+ i32.call $push27=, strcmp@FUNCTION, $pop26, $pop90
+ br_if $pop27, 0 # 0: down to label1
# BB#10: # %for.cond.8
- i32.const $1=, buf+9
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push10=, strcmp@FUNCTION, $1, $0
- br_if $pop10, 0 # 0: down to label1
+ i32.const $push97=, 0
+ i32.const $push96=, 0
+ i32.load8_u $push28=, .L.str+8($pop96)
+ i32.store8 $0=, buf+17($pop97), $pop28
+ i32.const $push95=, 0
+ i32.const $push94=, 0
+ i64.load $push29=, .L.str($pop94):p2align=0
+ i64.store $1=, buf+9($pop95):p2align=0, $pop29
+ i32.const $push30=, buf+9
+ i32.const $push93=, .L.str
+ i32.call $push31=, strcmp@FUNCTION, $pop30, $pop93
+ br_if $pop31, 0 # 0: down to label1
# BB#11: # %for.cond.9
- i32.const $1=, buf+10
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push11=, strcmp@FUNCTION, $1, $0
- br_if $pop11, 0 # 0: down to label1
+ i32.const $push100=, 0
+ i32.store8 $discard=, buf+18($pop100):p2align=1, $0
+ i32.const $push99=, 0
+ i64.store $discard=, buf+10($pop99):p2align=1, $1
+ i32.const $push32=, buf+10
+ i32.const $push98=, .L.str
+ i32.call $push33=, strcmp@FUNCTION, $pop32, $pop98
+ br_if $pop33, 0 # 0: down to label1
# BB#12: # %for.cond.10
- i32.const $1=, buf+11
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push12=, strcmp@FUNCTION, $1, $0
- br_if $pop12, 0 # 0: down to label1
+ i32.const $push105=, 0
+ i32.const $push104=, 0
+ i32.load8_u $push34=, .L.str+8($pop104)
+ i32.store8 $0=, buf+19($pop105), $pop34
+ i32.const $push103=, 0
+ i32.const $push102=, 0
+ i64.load $push35=, .L.str($pop102):p2align=0
+ i64.store $1=, buf+11($pop103):p2align=0, $pop35
+ i32.const $push36=, buf+11
+ i32.const $push101=, .L.str
+ i32.call $push37=, strcmp@FUNCTION, $pop36, $pop101
+ br_if $pop37, 0 # 0: down to label1
# BB#13: # %for.cond.11
- i32.const $1=, buf+12
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push13=, strcmp@FUNCTION, $1, $0
- br_if $pop13, 0 # 0: down to label1
+ i32.const $push108=, 0
+ i32.store8 $discard=, buf+20($pop108):p2align=2, $0
+ i32.const $push107=, 0
+ i64.store $discard=, buf+12($pop107):p2align=2, $1
+ i32.const $push38=, buf+12
+ i32.const $push106=, .L.str
+ i32.call $push39=, strcmp@FUNCTION, $pop38, $pop106
+ br_if $pop39, 0 # 0: down to label1
# BB#14: # %for.cond.12
- i32.const $1=, buf+13
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push14=, strcmp@FUNCTION, $1, $0
- br_if $pop14, 0 # 0: down to label1
+ i32.const $push113=, 0
+ i32.const $push112=, 0
+ i32.load8_u $push40=, .L.str+8($pop112)
+ i32.store8 $0=, buf+21($pop113), $pop40
+ i32.const $push111=, 0
+ i32.const $push110=, 0
+ i64.load $push41=, .L.str($pop110):p2align=0
+ i64.store $1=, buf+13($pop111):p2align=0, $pop41
+ i32.const $push42=, buf+13
+ i32.const $push109=, .L.str
+ i32.call $push43=, strcmp@FUNCTION, $pop42, $pop109
+ br_if $pop43, 0 # 0: down to label1
# BB#15: # %for.cond.13
- i32.const $1=, buf+14
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push15=, strcmp@FUNCTION, $1, $0
- br_if $pop15, 0 # 0: down to label1
+ i32.const $push116=, 0
+ i32.store8 $discard=, buf+22($pop116):p2align=1, $0
+ i32.const $push115=, 0
+ i64.store $discard=, buf+14($pop115):p2align=1, $1
+ i32.const $push44=, buf+14
+ i32.const $push114=, .L.str
+ i32.call $push45=, strcmp@FUNCTION, $pop44, $pop114
+ br_if $pop45, 0 # 0: down to label1
# BB#16: # %for.cond.14
- i32.const $1=, buf+15
- call memcpy@FUNCTION, $1, $0, $2
- i32.call $push16=, strcmp@FUNCTION, $1, $0
- br_if $pop16, 0 # 0: down to label1
+ i32.const $push120=, 0
+ i32.const $push119=, 0
+ i32.load8_u $push46=, .L.str+8($pop119)
+ i32.store8 $discard=, buf+23($pop120), $pop46
+ i32.const $push118=, 0
+ i32.const $push117=, 0
+ i64.load $push47=, .L.str($pop117):p2align=0
+ i64.store $discard=, buf+15($pop118):p2align=0, $pop47
+ i32.const $push49=, buf+15
+ i32.const $push48=, .L.str
+ i32.call $push50=, strcmp@FUNCTION, $pop49, $pop48
+ br_if $pop50, 0 # 0: down to label1
# BB#17: # %for.cond.15
- i32.const $push17=, 0
- return $pop17
+ i32.const $push121=, 0
+ return $pop121
.LBB0_18: # %if.then7
end_block # label1:
call abort@FUNCTION
@@ -114,7 +217,7 @@ main: # @main
.type buf,@object
.section .bss.buf,"aw",@nobits
.globl buf
- .align 4
+ .p2align 4
buf:
.skip 64
.size buf, 64
diff --git a/test/torture-s/20021015-1.c.s b/test/torture-s/20021015-1.c.s
index 5d00b9c37..767d0339a 100644
--- a/test/torture-s/20021015-1.c.s
+++ b/test/torture-s/20021015-1.c.s
@@ -13,8 +13,9 @@ g: # @g
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $4=, 0
- i32.store8 $discard=, g_list($4), $4
+ i32.const $push3=, 0
+ i32.const $push4=, 0
+ i32.store8 $discard=, g_list($pop3), $pop4
return
.LBB0_2: # %if.then
end_block # label0:
@@ -30,19 +31,21 @@ g: # @g
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load8_u $push0=, g_list($0)
i32.const $push1=, 0
- i32.eq $push2=, $pop0, $pop1
- br_if $pop2, 0 # 0: down to label1
+ i32.load8_u $push0=, g_list($pop1)
+ i32.const $push5=, 0
+ i32.eq $push6=, $pop0, $pop5
+ br_if $pop6, 0 # 0: down to label1
# BB#1: # %g.exit
- i32.store8 $discard=, g_list($0), $0
+ i32.const $push3=, 0
+ i32.const $push2=, 0
+ i32.store8 $discard=, g_list($pop3), $pop2
.LBB1_2: # %for.end
end_block # label1:
- return $0
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
diff --git a/test/torture-s/20021024-1.c.s b/test/torture-s/20021024-1.c.s
new file mode 100644
index 000000000..ec4df343b
--- /dev/null
+++ b/test/torture-s/20021024-1.c.s
@@ -0,0 +1,123 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20021024-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+# BB#0: # %entry
+ return
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+ .local i32, i32, i32
+# BB#0: # %entry
+ i32.const $push6=, 511
+ i32.and $2=, $0, $pop6
+ i32.const $push4=, 6
+ i32.shr_u $push5=, $0, $pop4
+ i32.const $push2=, 4088
+ i32.and $push7=, $pop5, $pop2
+ i32.add $4=, $1, $pop7
+ i32.const $push16=, 0
+ i32.load $3=, cp($pop16)
+ i32.const $push0=, 20
+ i32.shr_u $push1=, $0, $pop0
+ i32.const $push15=, 4088
+ i32.and $push3=, $pop1, $pop15
+ i32.add $0=, $1, $pop3
+.LBB1_1: # %top
+ # =>This Inner Loop Header: Depth=1
+ loop # label0:
+ i64.const $push19=, 1
+ i64.store $discard=, 0($3), $pop19
+ i32.const $push18=, 0
+ i64.load $push9=, 0($0)
+ i64.load $push8=, 0($4)
+ i64.add $push10=, $pop9, $pop8
+ i64.store $discard=, m($pop18), $pop10
+ i64.const $push17=, 2
+ i64.store $discard=, 0($3), $pop17
+ i32.const $push20=, 0
+ i32.eq $push21=, $2, $pop20
+ br_if $pop21, 0 # 0: up to label0
+# BB#2: # %if.end
+ end_loop # label1:
+ i32.const $push11=, 3
+ i32.shl $push12=, $2, $pop11
+ i32.add $push13=, $1, $pop12
+ i64.const $push14=, 1
+ i64.store $discard=, 0($pop13), $pop14
+ return
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i32.const $push0=, 0
+ i64.const $push1=, 47
+ i64.store $discard=, main.r+32($pop0):p2align=4, $pop1
+ i32.const $push10=, 0
+ i64.const $push2=, 11
+ i64.store $discard=, main.r+64($pop10):p2align=4, $pop2
+ i32.const $push9=, 0
+ i64.const $push3=, 58
+ i64.store $discard=, m($pop9), $pop3
+ i64.const $push4=, 2
+ i64.store $discard=, 8($3), $pop4
+ i32.const $push8=, 0
+ i64.const $push5=, 1
+ i64.store $discard=, main.r+120($pop8), $pop5
+ i32.const $push7=, 0
+ i32.const $2=, 8
+ i32.add $2=, $3, $2
+ i32.store $discard=, cp($pop7), $2
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden cp # @cp
+ .type cp,@object
+ .section .bss.cp,"aw",@nobits
+ .globl cp
+ .p2align 2
+cp:
+ .int32 0
+ .size cp, 4
+
+ .hidden m # @m
+ .type m,@object
+ .section .bss.m,"aw",@nobits
+ .globl m
+ .p2align 3
+m:
+ .int64 0 # 0x0
+ .size m, 8
+
+ .type main.r,@object # @main.r
+ .lcomm main.r,512,4
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20021111-1.c.s b/test/torture-s/20021111-1.c.s
index f5abf7eb8..437937ec5 100644
--- a/test/torture-s/20021111-1.c.s
+++ b/test/torture-s/20021111-1.c.s
@@ -7,26 +7,28 @@
aim_callhandler: # @aim_callhandler
.param i32, i32, i32, i32
.result i32
- .local i32
# BB#0: # %entry
block
- i32.const $push5=, 0
- i32.eq $push6=, $1, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push11=, 0
+ i32.eq $push12=, $1, $pop11
+ br_if $pop12, 0 # 0: down to label0
# BB#1: # %entry
- i32.const $push0=, 65535
- i32.eq $push1=, $3, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push1=, 65535
+ i32.eq $push2=, $3, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#2: # %if.end3
- i32.const $1=, 0
- i32.load $3=, aim_callhandler.i($1)
- i32.const $4=, 1
block
- i32.ge_s $push2=, $3, $4
- br_if $pop2, 0 # 0: down to label1
+ i32.const $push8=, 0
+ i32.load $push0=, aim_callhandler.i($pop8)
+ tee_local $push7=, $1=, $pop0
+ i32.const $push6=, 1
+ i32.ge_s $push3=, $pop7, $pop6
+ br_if $pop3, 0 # 0: down to label1
# BB#3: # %if.end7
- i32.add $push3=, $3, $4
- i32.store $discard=, aim_callhandler.i($1), $pop3
+ i32.const $push10=, 0
+ i32.const $push9=, 1
+ i32.add $push4=, $1, $pop9
+ i32.store $discard=, aim_callhandler.i($pop10), $pop4
br 1 # 1: down to label0
.LBB0_4: # %if.then6
end_block # label1:
@@ -34,8 +36,8 @@ aim_callhandler: # @aim_callhandler
unreachable
.LBB0_5: # %return
end_block # label0:
- i32.const $push4=, 0
- return $pop4
+ i32.const $push5=, 0
+ return $pop5
.endfunc
.Lfunc_end0:
.size aim_callhandler, .Lfunc_end0-aim_callhandler
@@ -46,22 +48,26 @@ aim_callhandler: # @aim_callhandler
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $0=, aim_callhandler.i($1)
- i32.const $2=, 1
block
- i32.lt_s $push0=, $0, $2
- br_if $pop0, 0 # 0: down to label2
+ i32.const $push5=, 0
+ i32.load $push0=, aim_callhandler.i($pop5)
+ tee_local $push4=, $0=, $pop0
+ i32.const $push3=, 1
+ i32.lt_s $push1=, $pop4, $pop3
+ br_if $pop1, 0 # 0: down to label2
# BB#1: # %if.then6.i
call abort@FUNCTION
unreachable
.LBB1_2: # %aim_callhandler.exit
end_block # label2:
- i32.add $push1=, $0, $2
- i32.store $discard=, aim_callhandler.i($1), $pop1
- call exit@FUNCTION, $1
+ i32.const $push8=, 0
+ i32.const $push7=, 1
+ i32.add $push2=, $0, $pop7
+ i32.store $discard=, aim_callhandler.i($pop8), $pop2
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/20021118-1.c.s b/test/torture-s/20021118-1.c.s
new file mode 100644
index 000000000..9d9a141b9
--- /dev/null
+++ b/test/torture-s/20021118-1.c.s
@@ -0,0 +1,33 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20021118-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32, i32, i32, i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ i32.load $push0=, 12($0)
+ i32.add $push1=, $pop0, $7
+ return $pop1
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20021118-3.c.s b/test/torture-s/20021118-3.c.s
index dbfdae420..99f26f860 100644
--- a/test/torture-s/20021118-3.c.s
+++ b/test/torture-s/20021118-3.c.s
@@ -7,20 +7,20 @@
foo: # @foo
.param i32
.result i32
- .local i32
# BB#0: # %entry
block
i32.const $push1=, -2
i32.eq $push2=, $0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %entry
- i32.const $1=, 0
i32.const $push3=, -100
i32.sub $push0=, $pop3, $0
- i32.ge_s $push4=, $pop0, $1
+ i32.const $push5=, 0
+ i32.ge_s $push4=, $pop0, $pop5
br_if $pop4, 0 # 0: down to label0
# BB#2: # %if.end
- return $1
+ i32.const $push6=, 0
+ return $pop6
.LBB0_3: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/20021120-1.c.s b/test/torture-s/20021120-1.c.s
index 3f46a2151..300246ca4 100644
--- a/test/torture-s/20021120-1.c.s
+++ b/test/torture-s/20021120-1.c.s
@@ -6,41 +6,72 @@
.type foo,@function
foo: # @foo
.param i32
- .local i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64
+ .local f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64
# BB#0: # %entry
- i32.const $1=, 0
- f64.load $130=, gd($1)
- f64.load $131=, gd+8($1)
- f64.load $132=, gd+16($1)
- f64.load $133=, gd+24($1)
- f64.load $134=, gd+32($1)
- f64.load $135=, gd+40($1)
- f64.load $136=, gd+48($1)
- f64.load $137=, gd+56($1)
- f64.load $138=, gd+64($1)
- f64.load $139=, gd+72($1)
- f64.load $140=, gd+80($1)
- f64.load $141=, gd+88($1)
- f64.load $142=, gd+96($1)
- f64.load $143=, gd+104($1)
- f64.load $144=, gd+112($1)
- f64.load $145=, gd+120($1)
- f64.load $146=, gd+128($1)
- f64.load $147=, gd+136($1)
- f64.load $148=, gd+144($1)
- f64.load $149=, gd+152($1)
- f64.load $150=, gd+160($1)
- f64.load $151=, gd+168($1)
- f64.load $152=, gd+176($1)
- f64.load $153=, gd+184($1)
- f64.load $154=, gd+192($1)
- f64.load $155=, gd+200($1)
- f64.load $156=, gd+208($1)
- f64.load $157=, gd+216($1)
- f64.load $158=, gd+224($1)
- f64.load $159=, gd+232($1)
- f64.load $160=, gd+240($1)
- f64.load $161=, gd+248($1)
+ i32.const $push98=, 0
+ f64.load $129=, gd($pop98):p2align=4
+ i32.const $push97=, 0
+ f64.load $130=, gd+8($pop97)
+ i32.const $push96=, 0
+ f64.load $131=, gd+16($pop96):p2align=4
+ i32.const $push95=, 0
+ f64.load $132=, gd+24($pop95)
+ i32.const $push94=, 0
+ f64.load $133=, gd+32($pop94):p2align=4
+ i32.const $push93=, 0
+ f64.load $134=, gd+40($pop93)
+ i32.const $push92=, 0
+ f64.load $135=, gd+48($pop92):p2align=4
+ i32.const $push91=, 0
+ f64.load $136=, gd+56($pop91)
+ i32.const $push90=, 0
+ f64.load $137=, gd+64($pop90):p2align=4
+ i32.const $push89=, 0
+ f64.load $138=, gd+72($pop89)
+ i32.const $push88=, 0
+ f64.load $139=, gd+80($pop88):p2align=4
+ i32.const $push87=, 0
+ f64.load $140=, gd+88($pop87)
+ i32.const $push86=, 0
+ f64.load $141=, gd+96($pop86):p2align=4
+ i32.const $push85=, 0
+ f64.load $142=, gd+104($pop85)
+ i32.const $push84=, 0
+ f64.load $143=, gd+112($pop84):p2align=4
+ i32.const $push83=, 0
+ f64.load $144=, gd+120($pop83)
+ i32.const $push82=, 0
+ f64.load $145=, gd+128($pop82):p2align=4
+ i32.const $push81=, 0
+ f64.load $146=, gd+136($pop81)
+ i32.const $push80=, 0
+ f64.load $147=, gd+144($pop80):p2align=4
+ i32.const $push79=, 0
+ f64.load $148=, gd+152($pop79)
+ i32.const $push78=, 0
+ f64.load $149=, gd+160($pop78):p2align=4
+ i32.const $push77=, 0
+ f64.load $150=, gd+168($pop77)
+ i32.const $push76=, 0
+ f64.load $151=, gd+176($pop76):p2align=4
+ i32.const $push75=, 0
+ f64.load $152=, gd+184($pop75)
+ i32.const $push74=, 0
+ f64.load $153=, gd+192($pop74):p2align=4
+ i32.const $push73=, 0
+ f64.load $154=, gd+200($pop73)
+ i32.const $push72=, 0
+ f64.load $155=, gd+208($pop72):p2align=4
+ i32.const $push71=, 0
+ f64.load $156=, gd+216($pop71)
+ i32.const $push70=, 0
+ f64.load $157=, gd+224($pop70):p2align=4
+ i32.const $push69=, 0
+ f64.load $158=, gd+232($pop69)
+ i32.const $push68=, 0
+ f64.load $159=, gd+240($pop68):p2align=4
+ i32.const $push67=, 0
+ f64.load $160=, gd+248($pop67)
block
i32.const $push0=, 1
i32.lt_s $push1=, $0, $pop0
@@ -48,300 +79,492 @@ foo: # @foo
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- f32.load $2=, gf($1)
- f32.load $3=, gf+4($1)
- f32.load $4=, gf+8($1)
- f32.load $5=, gf+12($1)
- f32.load $6=, gf+16($1)
- f32.load $7=, gf+20($1)
- f32.load $8=, gf+24($1)
- f32.load $9=, gf+28($1)
- f32.load $10=, gf+32($1)
- f32.load $11=, gf+36($1)
- f32.load $12=, gf+40($1)
- f32.load $13=, gf+44($1)
- f32.load $14=, gf+48($1)
- f32.load $15=, gf+52($1)
- f32.load $16=, gf+56($1)
- f32.load $17=, gf+60($1)
- f32.load $18=, gf+64($1)
- f32.load $19=, gf+68($1)
- f32.load $20=, gf+72($1)
- f32.load $21=, gf+76($1)
- f32.load $22=, gf+80($1)
- f32.load $23=, gf+84($1)
- f32.load $24=, gf+88($1)
- f32.load $25=, gf+92($1)
- f32.load $26=, gf+96($1)
- f32.load $27=, gf+100($1)
- f32.load $28=, gf+104($1)
- f32.load $29=, gf+108($1)
- f32.load $30=, gf+112($1)
- f32.load $31=, gf+116($1)
- f32.load $32=, gf+120($1)
- f32.load $33=, gf+124($1)
- f64.load $34=, gd($1)
- f64.load $35=, gd+8($1)
- f64.load $36=, gd+16($1)
- f64.load $37=, gd+24($1)
- f64.load $38=, gd+32($1)
- f64.load $39=, gd+40($1)
- f64.load $40=, gd+48($1)
- f64.load $41=, gd+56($1)
- f64.load $42=, gd+64($1)
- f64.load $43=, gd+72($1)
- f64.load $44=, gd+80($1)
- f64.load $45=, gd+88($1)
- f64.load $46=, gd+96($1)
- f64.load $47=, gd+104($1)
- f64.load $48=, gd+112($1)
- f64.load $49=, gd+120($1)
- f64.load $50=, gd+128($1)
- f64.load $51=, gd+136($1)
- f64.load $52=, gd+144($1)
- f64.load $53=, gd+152($1)
- f64.load $54=, gd+160($1)
- f64.load $55=, gd+168($1)
- f64.load $56=, gd+176($1)
- f64.load $57=, gd+184($1)
- f64.load $58=, gd+192($1)
- f64.load $59=, gd+200($1)
- f64.load $60=, gd+208($1)
- f64.load $61=, gd+216($1)
- f64.load $62=, gd+224($1)
- f64.load $63=, gd+232($1)
- f64.load $64=, gd+240($1)
- f64.load $65=, gd+248($1)
- f64.load $66=, gd($1)
- f64.load $67=, gd+8($1)
- f64.load $68=, gd+16($1)
- f64.load $69=, gd+24($1)
- f64.load $70=, gd+32($1)
- f64.load $71=, gd+40($1)
- f64.load $72=, gd+48($1)
- f64.load $73=, gd+56($1)
- f64.load $74=, gd+64($1)
- f64.load $75=, gd+72($1)
- f64.load $76=, gd+80($1)
- f64.load $77=, gd+88($1)
- f64.load $78=, gd+96($1)
- f64.load $79=, gd+104($1)
- f64.load $80=, gd+112($1)
- f64.load $81=, gd+120($1)
- f64.load $82=, gd+128($1)
- f64.load $83=, gd+136($1)
- f64.load $84=, gd+144($1)
- f64.load $85=, gd+152($1)
- f64.load $86=, gd+160($1)
- f64.load $87=, gd+168($1)
- f64.load $88=, gd+176($1)
- f64.load $89=, gd+184($1)
- f64.load $90=, gd+192($1)
- f64.load $91=, gd+200($1)
- f64.load $92=, gd+208($1)
- f64.load $93=, gd+216($1)
- f64.load $94=, gd+224($1)
- f64.load $95=, gd+232($1)
- f64.load $96=, gd+240($1)
- f64.load $97=, gd+248($1)
- f64.load $98=, gd($1)
- f64.load $99=, gd+8($1)
- f64.load $100=, gd+16($1)
- f64.load $101=, gd+24($1)
- f64.load $102=, gd+32($1)
- f64.load $103=, gd+40($1)
- f64.load $104=, gd+48($1)
- f64.load $105=, gd+56($1)
- f64.load $106=, gd+64($1)
- f64.load $107=, gd+72($1)
- f64.load $108=, gd+80($1)
- f64.load $109=, gd+88($1)
- f64.load $110=, gd+96($1)
- f64.load $111=, gd+104($1)
- f64.load $112=, gd+112($1)
- f64.load $113=, gd+120($1)
- f64.load $114=, gd+128($1)
- f64.load $115=, gd+136($1)
- f64.load $116=, gd+144($1)
- f64.load $117=, gd+152($1)
- f64.load $118=, gd+160($1)
- f64.load $119=, gd+168($1)
- f64.load $120=, gd+176($1)
- f64.load $121=, gd+184($1)
- f64.load $122=, gd+192($1)
- f64.load $123=, gd+200($1)
- f64.load $124=, gd+208($1)
- f64.load $125=, gd+216($1)
- f64.load $126=, gd+224($1)
- f64.load $127=, gd+232($1)
- f64.load $128=, gd+240($1)
- f64.load $129=, gd+248($1)
- f32.store $discard=, gf($1), $2
- f32.store $discard=, gf+4($1), $3
- f32.store $discard=, gf+8($1), $4
- f32.store $discard=, gf+12($1), $5
- f32.store $discard=, gf+16($1), $6
- f32.store $discard=, gf+20($1), $7
- f32.store $discard=, gf+24($1), $8
- f32.store $discard=, gf+28($1), $9
- f32.store $discard=, gf+32($1), $10
- f32.store $discard=, gf+36($1), $11
- f32.store $discard=, gf+40($1), $12
- f32.store $discard=, gf+44($1), $13
- f32.store $discard=, gf+48($1), $14
- f32.store $discard=, gf+52($1), $15
- f32.store $discard=, gf+56($1), $16
- f32.store $discard=, gf+60($1), $17
- f32.store $discard=, gf+64($1), $18
- f32.store $discard=, gf+68($1), $19
- f32.store $discard=, gf+72($1), $20
- f32.store $discard=, gf+76($1), $21
- f32.store $discard=, gf+80($1), $22
- f32.store $discard=, gf+84($1), $23
- f32.store $discard=, gf+88($1), $24
- f32.store $discard=, gf+92($1), $25
- f32.store $discard=, gf+96($1), $26
- f32.store $discard=, gf+100($1), $27
- f32.store $discard=, gf+104($1), $28
- f32.store $discard=, gf+108($1), $29
- f32.store $discard=, gf+112($1), $30
- f32.store $discard=, gf+116($1), $31
- f32.store $discard=, gf+120($1), $32
- f64.add $push2=, $130, $34
- f64.add $push34=, $pop2, $66
- f64.add $130=, $pop34, $98
- f64.add $push3=, $131, $35
- f64.add $push35=, $pop3, $67
- f64.add $131=, $pop35, $99
- f64.add $push4=, $132, $36
- f64.add $push36=, $pop4, $68
- f64.add $132=, $pop36, $100
- f64.add $push5=, $133, $37
- f64.add $push37=, $pop5, $69
- f64.add $133=, $pop37, $101
- f64.add $push6=, $134, $38
- f64.add $push38=, $pop6, $70
- f64.add $134=, $pop38, $102
- f64.add $push7=, $135, $39
- f64.add $push39=, $pop7, $71
- f64.add $135=, $pop39, $103
- f64.add $push8=, $136, $40
- f64.add $push40=, $pop8, $72
- f64.add $136=, $pop40, $104
- f64.add $push9=, $137, $41
- f64.add $push41=, $pop9, $73
- f64.add $137=, $pop41, $105
- f64.add $push10=, $138, $42
- f64.add $push42=, $pop10, $74
- f64.add $138=, $pop42, $106
- f64.add $push11=, $139, $43
- f64.add $push43=, $pop11, $75
- f64.add $139=, $pop43, $107
- f64.add $push12=, $140, $44
- f64.add $push44=, $pop12, $76
- f64.add $140=, $pop44, $108
- f64.add $push13=, $141, $45
- f64.add $push45=, $pop13, $77
- f64.add $141=, $pop45, $109
- f64.add $push14=, $142, $46
- f64.add $push46=, $pop14, $78
- f64.add $142=, $pop46, $110
- f64.add $push15=, $143, $47
- f64.add $push47=, $pop15, $79
- f64.add $143=, $pop47, $111
- f64.add $push16=, $144, $48
- f64.add $push48=, $pop16, $80
- f64.add $144=, $pop48, $112
- f64.add $push17=, $145, $49
- f64.add $push49=, $pop17, $81
- f64.add $145=, $pop49, $113
- f64.add $push18=, $146, $50
- f64.add $push50=, $pop18, $82
- f64.add $146=, $pop50, $114
- f64.add $push19=, $147, $51
- f64.add $push51=, $pop19, $83
- f64.add $147=, $pop51, $115
- f64.add $push20=, $148, $52
- f64.add $push52=, $pop20, $84
- f64.add $148=, $pop52, $116
- f64.add $push21=, $149, $53
- f64.add $push53=, $pop21, $85
- f64.add $149=, $pop53, $117
- f64.add $push22=, $150, $54
- f64.add $push54=, $pop22, $86
- f64.add $150=, $pop54, $118
- f64.add $push23=, $151, $55
- f64.add $push55=, $pop23, $87
- f64.add $151=, $pop55, $119
- f64.add $push24=, $152, $56
- f64.add $push56=, $pop24, $88
- f64.add $152=, $pop56, $120
- f64.add $push25=, $153, $57
- f64.add $push57=, $pop25, $89
- f64.add $153=, $pop57, $121
- f64.add $push26=, $154, $58
- f64.add $push58=, $pop26, $90
- f64.add $154=, $pop58, $122
- f64.add $push27=, $155, $59
- f64.add $push59=, $pop27, $91
- f64.add $155=, $pop59, $123
- f64.add $push28=, $156, $60
- f64.add $push60=, $pop28, $92
- f64.add $156=, $pop60, $124
- f64.add $push29=, $157, $61
- f64.add $push61=, $pop29, $93
- f64.add $157=, $pop61, $125
- f64.add $push30=, $158, $62
- f64.add $push62=, $pop30, $94
- f64.add $158=, $pop62, $126
- f64.add $push31=, $159, $63
- f64.add $push63=, $pop31, $95
- f64.add $159=, $pop63, $127
- f64.add $push32=, $160, $64
- f64.add $push64=, $pop32, $96
- f64.add $160=, $pop64, $128
- f64.add $push33=, $161, $65
- f64.add $push65=, $pop33, $97
- f64.add $161=, $pop65, $129
+ i32.const $push258=, 0
+ f32.load $1=, gf($pop258):p2align=4
+ i32.const $push257=, 0
+ f32.load $2=, gf+4($pop257)
+ i32.const $push256=, 0
+ f32.load $3=, gf+8($pop256):p2align=3
+ i32.const $push255=, 0
+ f32.load $4=, gf+12($pop255)
+ i32.const $push254=, 0
+ f32.load $5=, gf+16($pop254):p2align=4
+ i32.const $push253=, 0
+ f32.load $6=, gf+20($pop253)
+ i32.const $push252=, 0
+ f32.load $7=, gf+24($pop252):p2align=3
+ i32.const $push251=, 0
+ f32.load $8=, gf+28($pop251)
+ i32.const $push250=, 0
+ f32.load $9=, gf+32($pop250):p2align=4
+ i32.const $push249=, 0
+ f32.load $10=, gf+36($pop249)
+ i32.const $push248=, 0
+ f32.load $11=, gf+40($pop248):p2align=3
+ i32.const $push247=, 0
+ f32.load $12=, gf+44($pop247)
+ i32.const $push246=, 0
+ f32.load $13=, gf+48($pop246):p2align=4
+ i32.const $push245=, 0
+ f32.load $14=, gf+52($pop245)
+ i32.const $push244=, 0
+ f32.load $15=, gf+56($pop244):p2align=3
+ i32.const $push243=, 0
+ f32.load $16=, gf+60($pop243)
+ i32.const $push242=, 0
+ f32.load $17=, gf+64($pop242):p2align=4
+ i32.const $push241=, 0
+ f32.load $18=, gf+68($pop241)
+ i32.const $push240=, 0
+ f32.load $19=, gf+72($pop240):p2align=3
+ i32.const $push239=, 0
+ f32.load $20=, gf+76($pop239)
+ i32.const $push238=, 0
+ f32.load $21=, gf+80($pop238):p2align=4
+ i32.const $push237=, 0
+ f32.load $22=, gf+84($pop237)
+ i32.const $push236=, 0
+ f32.load $23=, gf+88($pop236):p2align=3
+ i32.const $push235=, 0
+ f32.load $24=, gf+92($pop235)
+ i32.const $push234=, 0
+ f32.load $25=, gf+96($pop234):p2align=4
+ i32.const $push233=, 0
+ f32.load $26=, gf+100($pop233)
+ i32.const $push232=, 0
+ f32.load $27=, gf+104($pop232):p2align=3
+ i32.const $push231=, 0
+ f32.load $28=, gf+108($pop231)
+ i32.const $push230=, 0
+ f32.load $29=, gf+112($pop230):p2align=4
+ i32.const $push229=, 0
+ f32.load $30=, gf+116($pop229)
+ i32.const $push228=, 0
+ f32.load $31=, gf+120($pop228):p2align=3
+ i32.const $push227=, 0
+ f32.load $32=, gf+124($pop227)
+ i32.const $push226=, 0
+ f64.load $33=, gd($pop226):p2align=4
+ i32.const $push225=, 0
+ f64.load $34=, gd+8($pop225)
+ i32.const $push224=, 0
+ f64.load $35=, gd+16($pop224):p2align=4
+ i32.const $push223=, 0
+ f64.load $36=, gd+24($pop223)
+ i32.const $push222=, 0
+ f64.load $37=, gd+32($pop222):p2align=4
+ i32.const $push221=, 0
+ f64.load $38=, gd+40($pop221)
+ i32.const $push220=, 0
+ f64.load $39=, gd+48($pop220):p2align=4
+ i32.const $push219=, 0
+ f64.load $40=, gd+56($pop219)
+ i32.const $push218=, 0
+ f64.load $41=, gd+64($pop218):p2align=4
+ i32.const $push217=, 0
+ f64.load $42=, gd+72($pop217)
+ i32.const $push216=, 0
+ f64.load $43=, gd+80($pop216):p2align=4
+ i32.const $push215=, 0
+ f64.load $44=, gd+88($pop215)
+ i32.const $push214=, 0
+ f64.load $45=, gd+96($pop214):p2align=4
+ i32.const $push213=, 0
+ f64.load $46=, gd+104($pop213)
+ i32.const $push212=, 0
+ f64.load $47=, gd+112($pop212):p2align=4
+ i32.const $push211=, 0
+ f64.load $48=, gd+120($pop211)
+ i32.const $push210=, 0
+ f64.load $49=, gd+128($pop210):p2align=4
+ i32.const $push209=, 0
+ f64.load $50=, gd+136($pop209)
+ i32.const $push208=, 0
+ f64.load $51=, gd+144($pop208):p2align=4
+ i32.const $push207=, 0
+ f64.load $52=, gd+152($pop207)
+ i32.const $push206=, 0
+ f64.load $53=, gd+160($pop206):p2align=4
+ i32.const $push205=, 0
+ f64.load $54=, gd+168($pop205)
+ i32.const $push204=, 0
+ f64.load $55=, gd+176($pop204):p2align=4
+ i32.const $push203=, 0
+ f64.load $56=, gd+184($pop203)
+ i32.const $push202=, 0
+ f64.load $57=, gd+192($pop202):p2align=4
+ i32.const $push201=, 0
+ f64.load $58=, gd+200($pop201)
+ i32.const $push200=, 0
+ f64.load $59=, gd+208($pop200):p2align=4
+ i32.const $push199=, 0
+ f64.load $60=, gd+216($pop199)
+ i32.const $push198=, 0
+ f64.load $61=, gd+224($pop198):p2align=4
+ i32.const $push197=, 0
+ f64.load $62=, gd+232($pop197)
+ i32.const $push196=, 0
+ f64.load $63=, gd+240($pop196):p2align=4
+ i32.const $push195=, 0
+ f64.load $64=, gd+248($pop195)
+ i32.const $push194=, 0
+ f64.load $65=, gd($pop194):p2align=4
+ i32.const $push193=, 0
+ f64.load $66=, gd+8($pop193)
+ i32.const $push192=, 0
+ f64.load $67=, gd+16($pop192):p2align=4
+ i32.const $push191=, 0
+ f64.load $68=, gd+24($pop191)
+ i32.const $push190=, 0
+ f64.load $69=, gd+32($pop190):p2align=4
+ i32.const $push189=, 0
+ f64.load $70=, gd+40($pop189)
+ i32.const $push188=, 0
+ f64.load $71=, gd+48($pop188):p2align=4
+ i32.const $push187=, 0
+ f64.load $72=, gd+56($pop187)
+ i32.const $push186=, 0
+ f64.load $73=, gd+64($pop186):p2align=4
+ i32.const $push185=, 0
+ f64.load $74=, gd+72($pop185)
+ i32.const $push184=, 0
+ f64.load $75=, gd+80($pop184):p2align=4
+ i32.const $push183=, 0
+ f64.load $76=, gd+88($pop183)
+ i32.const $push182=, 0
+ f64.load $77=, gd+96($pop182):p2align=4
+ i32.const $push181=, 0
+ f64.load $78=, gd+104($pop181)
+ i32.const $push180=, 0
+ f64.load $79=, gd+112($pop180):p2align=4
+ i32.const $push179=, 0
+ f64.load $80=, gd+120($pop179)
+ i32.const $push178=, 0
+ f64.load $81=, gd+128($pop178):p2align=4
+ i32.const $push177=, 0
+ f64.load $82=, gd+136($pop177)
+ i32.const $push176=, 0
+ f64.load $83=, gd+144($pop176):p2align=4
+ i32.const $push175=, 0
+ f64.load $84=, gd+152($pop175)
+ i32.const $push174=, 0
+ f64.load $85=, gd+160($pop174):p2align=4
+ i32.const $push173=, 0
+ f64.load $86=, gd+168($pop173)
+ i32.const $push172=, 0
+ f64.load $87=, gd+176($pop172):p2align=4
+ i32.const $push171=, 0
+ f64.load $88=, gd+184($pop171)
+ i32.const $push170=, 0
+ f64.load $89=, gd+192($pop170):p2align=4
+ i32.const $push169=, 0
+ f64.load $90=, gd+200($pop169)
+ i32.const $push168=, 0
+ f64.load $91=, gd+208($pop168):p2align=4
+ i32.const $push167=, 0
+ f64.load $92=, gd+216($pop167)
+ i32.const $push166=, 0
+ f64.load $93=, gd+224($pop166):p2align=4
+ i32.const $push165=, 0
+ f64.load $94=, gd+232($pop165)
+ i32.const $push164=, 0
+ f64.load $95=, gd+240($pop164):p2align=4
+ i32.const $push163=, 0
+ f64.load $96=, gd+248($pop163)
+ i32.const $push162=, 0
+ f64.load $97=, gd($pop162):p2align=4
+ i32.const $push161=, 0
+ f64.load $98=, gd+8($pop161)
+ i32.const $push160=, 0
+ f64.load $99=, gd+16($pop160):p2align=4
+ i32.const $push159=, 0
+ f64.load $100=, gd+24($pop159)
+ i32.const $push158=, 0
+ f64.load $101=, gd+32($pop158):p2align=4
+ i32.const $push157=, 0
+ f64.load $102=, gd+40($pop157)
+ i32.const $push156=, 0
+ f64.load $103=, gd+48($pop156):p2align=4
+ i32.const $push155=, 0
+ f64.load $104=, gd+56($pop155)
+ i32.const $push154=, 0
+ f64.load $105=, gd+64($pop154):p2align=4
+ i32.const $push153=, 0
+ f64.load $106=, gd+72($pop153)
+ i32.const $push152=, 0
+ f64.load $107=, gd+80($pop152):p2align=4
+ i32.const $push151=, 0
+ f64.load $108=, gd+88($pop151)
+ i32.const $push150=, 0
+ f64.load $109=, gd+96($pop150):p2align=4
+ i32.const $push149=, 0
+ f64.load $110=, gd+104($pop149)
+ i32.const $push148=, 0
+ f64.load $111=, gd+112($pop148):p2align=4
+ i32.const $push147=, 0
+ f64.load $112=, gd+120($pop147)
+ i32.const $push146=, 0
+ f64.load $113=, gd+128($pop146):p2align=4
+ i32.const $push145=, 0
+ f64.load $114=, gd+136($pop145)
+ i32.const $push144=, 0
+ f64.load $115=, gd+144($pop144):p2align=4
+ i32.const $push143=, 0
+ f64.load $116=, gd+152($pop143)
+ i32.const $push142=, 0
+ f64.load $117=, gd+160($pop142):p2align=4
+ i32.const $push141=, 0
+ f64.load $118=, gd+168($pop141)
+ i32.const $push140=, 0
+ f64.load $119=, gd+176($pop140):p2align=4
+ i32.const $push139=, 0
+ f64.load $120=, gd+184($pop139)
+ i32.const $push138=, 0
+ f64.load $121=, gd+192($pop138):p2align=4
+ i32.const $push137=, 0
+ f64.load $122=, gd+200($pop137)
+ i32.const $push136=, 0
+ f64.load $123=, gd+208($pop136):p2align=4
+ i32.const $push135=, 0
+ f64.load $124=, gd+216($pop135)
+ i32.const $push134=, 0
+ f64.load $125=, gd+224($pop134):p2align=4
+ i32.const $push133=, 0
+ f64.load $126=, gd+232($pop133)
+ i32.const $push132=, 0
+ f64.load $127=, gd+240($pop132):p2align=4
+ i32.const $push131=, 0
+ f64.load $128=, gd+248($pop131)
+ i32.const $push130=, 0
+ f32.store $discard=, gf($pop130):p2align=4, $1
+ i32.const $push129=, 0
+ f32.store $discard=, gf+4($pop129), $2
+ i32.const $push128=, 0
+ f32.store $discard=, gf+8($pop128):p2align=3, $3
+ i32.const $push127=, 0
+ f32.store $discard=, gf+12($pop127), $4
+ i32.const $push126=, 0
+ f32.store $discard=, gf+16($pop126):p2align=4, $5
+ i32.const $push125=, 0
+ f32.store $discard=, gf+20($pop125), $6
+ i32.const $push124=, 0
+ f32.store $discard=, gf+24($pop124):p2align=3, $7
+ i32.const $push123=, 0
+ f32.store $discard=, gf+28($pop123), $8
+ i32.const $push122=, 0
+ f32.store $discard=, gf+32($pop122):p2align=4, $9
+ i32.const $push121=, 0
+ f32.store $discard=, gf+36($pop121), $10
+ i32.const $push120=, 0
+ f32.store $discard=, gf+40($pop120):p2align=3, $11
+ i32.const $push119=, 0
+ f32.store $discard=, gf+44($pop119), $12
+ i32.const $push118=, 0
+ f32.store $discard=, gf+48($pop118):p2align=4, $13
+ i32.const $push117=, 0
+ f32.store $discard=, gf+52($pop117), $14
+ i32.const $push116=, 0
+ f32.store $discard=, gf+56($pop116):p2align=3, $15
+ i32.const $push115=, 0
+ f32.store $discard=, gf+60($pop115), $16
+ i32.const $push114=, 0
+ f32.store $discard=, gf+64($pop114):p2align=4, $17
+ i32.const $push113=, 0
+ f32.store $discard=, gf+68($pop113), $18
+ i32.const $push112=, 0
+ f32.store $discard=, gf+72($pop112):p2align=3, $19
+ i32.const $push111=, 0
+ f32.store $discard=, gf+76($pop111), $20
+ i32.const $push110=, 0
+ f32.store $discard=, gf+80($pop110):p2align=4, $21
+ i32.const $push109=, 0
+ f32.store $discard=, gf+84($pop109), $22
+ i32.const $push108=, 0
+ f32.store $discard=, gf+88($pop108):p2align=3, $23
+ i32.const $push107=, 0
+ f32.store $discard=, gf+92($pop107), $24
+ i32.const $push106=, 0
+ f32.store $discard=, gf+96($pop106):p2align=4, $25
+ i32.const $push105=, 0
+ f32.store $discard=, gf+100($pop105), $26
+ i32.const $push104=, 0
+ f32.store $discard=, gf+104($pop104):p2align=3, $27
+ i32.const $push103=, 0
+ f32.store $discard=, gf+108($pop103), $28
+ i32.const $push102=, 0
+ f32.store $discard=, gf+112($pop102):p2align=4, $29
+ i32.const $push101=, 0
+ f32.store $discard=, gf+116($pop101), $30
+ i32.const $push100=, 0
+ f32.store $discard=, gf+120($pop100):p2align=3, $31
+ f64.add $push2=, $129, $33
+ f64.add $push34=, $65, $pop2
+ f64.add $129=, $97, $pop34
+ f64.add $push3=, $130, $34
+ f64.add $push35=, $66, $pop3
+ f64.add $130=, $98, $pop35
+ f64.add $push4=, $131, $35
+ f64.add $push36=, $67, $pop4
+ f64.add $131=, $99, $pop36
+ f64.add $push5=, $132, $36
+ f64.add $push37=, $68, $pop5
+ f64.add $132=, $100, $pop37
+ f64.add $push6=, $133, $37
+ f64.add $push38=, $69, $pop6
+ f64.add $133=, $101, $pop38
+ f64.add $push7=, $134, $38
+ f64.add $push39=, $70, $pop7
+ f64.add $134=, $102, $pop39
+ f64.add $push8=, $135, $39
+ f64.add $push40=, $71, $pop8
+ f64.add $135=, $103, $pop40
+ f64.add $push9=, $136, $40
+ f64.add $push41=, $72, $pop9
+ f64.add $136=, $104, $pop41
+ f64.add $push10=, $137, $41
+ f64.add $push42=, $73, $pop10
+ f64.add $137=, $105, $pop42
+ f64.add $push11=, $138, $42
+ f64.add $push43=, $74, $pop11
+ f64.add $138=, $106, $pop43
+ f64.add $push12=, $139, $43
+ f64.add $push44=, $75, $pop12
+ f64.add $139=, $107, $pop44
+ f64.add $push13=, $140, $44
+ f64.add $push45=, $76, $pop13
+ f64.add $140=, $108, $pop45
+ f64.add $push14=, $141, $45
+ f64.add $push46=, $77, $pop14
+ f64.add $141=, $109, $pop46
+ f64.add $push15=, $142, $46
+ f64.add $push47=, $78, $pop15
+ f64.add $142=, $110, $pop47
+ f64.add $push16=, $143, $47
+ f64.add $push48=, $79, $pop16
+ f64.add $143=, $111, $pop48
+ f64.add $push17=, $144, $48
+ f64.add $push49=, $80, $pop17
+ f64.add $144=, $112, $pop49
+ f64.add $push18=, $145, $49
+ f64.add $push50=, $81, $pop18
+ f64.add $145=, $113, $pop50
+ f64.add $push19=, $146, $50
+ f64.add $push51=, $82, $pop19
+ f64.add $146=, $114, $pop51
+ f64.add $push20=, $147, $51
+ f64.add $push52=, $83, $pop20
+ f64.add $147=, $115, $pop52
+ f64.add $push21=, $148, $52
+ f64.add $push53=, $84, $pop21
+ f64.add $148=, $116, $pop53
+ f64.add $push22=, $149, $53
+ f64.add $push54=, $85, $pop22
+ f64.add $149=, $117, $pop54
+ f64.add $push23=, $150, $54
+ f64.add $push55=, $86, $pop23
+ f64.add $150=, $118, $pop55
+ f64.add $push24=, $151, $55
+ f64.add $push56=, $87, $pop24
+ f64.add $151=, $119, $pop56
+ f64.add $push25=, $152, $56
+ f64.add $push57=, $88, $pop25
+ f64.add $152=, $120, $pop57
+ f64.add $push26=, $153, $57
+ f64.add $push58=, $89, $pop26
+ f64.add $153=, $121, $pop58
+ f64.add $push27=, $154, $58
+ f64.add $push59=, $90, $pop27
+ f64.add $154=, $122, $pop59
+ f64.add $push28=, $155, $59
+ f64.add $push60=, $91, $pop28
+ f64.add $155=, $123, $pop60
+ f64.add $push29=, $156, $60
+ f64.add $push61=, $92, $pop29
+ f64.add $156=, $124, $pop61
+ f64.add $push30=, $157, $61
+ f64.add $push62=, $93, $pop30
+ f64.add $157=, $125, $pop62
+ f64.add $push31=, $158, $62
+ f64.add $push63=, $94, $pop31
+ f64.add $158=, $126, $pop63
+ f64.add $push32=, $159, $63
+ f64.add $push64=, $95, $pop32
+ f64.add $159=, $127, $pop64
+ f64.add $push33=, $160, $64
+ f64.add $push65=, $96, $pop33
+ f64.add $160=, $128, $pop65
i32.const $push66=, -1
i32.add $0=, $0, $pop66
- f32.store $discard=, gf+124($1), $33
+ i32.const $push99=, 0
+ f32.store $discard=, gf+124($pop99), $32
br_if $0, 0 # 0: up to label1
.LBB0_2: # %for.end
end_loop # label2:
end_block # label0:
- f64.store $discard=, gd($1), $130
- f64.store $discard=, gd+8($1), $131
- f64.store $discard=, gd+16($1), $132
- f64.store $discard=, gd+24($1), $133
- f64.store $discard=, gd+32($1), $134
- f64.store $discard=, gd+40($1), $135
- f64.store $discard=, gd+48($1), $136
- f64.store $discard=, gd+56($1), $137
- f64.store $discard=, gd+64($1), $138
- f64.store $discard=, gd+72($1), $139
- f64.store $discard=, gd+80($1), $140
- f64.store $discard=, gd+88($1), $141
- f64.store $discard=, gd+96($1), $142
- f64.store $discard=, gd+104($1), $143
- f64.store $discard=, gd+112($1), $144
- f64.store $discard=, gd+120($1), $145
- f64.store $discard=, gd+128($1), $146
- f64.store $discard=, gd+136($1), $147
- f64.store $discard=, gd+144($1), $148
- f64.store $discard=, gd+152($1), $149
- f64.store $discard=, gd+160($1), $150
- f64.store $discard=, gd+168($1), $151
- f64.store $discard=, gd+176($1), $152
- f64.store $discard=, gd+184($1), $153
- f64.store $discard=, gd+192($1), $154
- f64.store $discard=, gd+200($1), $155
- f64.store $discard=, gd+208($1), $156
- f64.store $discard=, gd+216($1), $157
- f64.store $discard=, gd+224($1), $158
- f64.store $discard=, gd+232($1), $159
- f64.store $discard=, gd+240($1), $160
- f64.store $discard=, gd+248($1), $161
+ i32.const $push290=, 0
+ f64.store $discard=, gd($pop290):p2align=4, $129
+ i32.const $push289=, 0
+ f64.store $discard=, gd+8($pop289), $130
+ i32.const $push288=, 0
+ f64.store $discard=, gd+16($pop288):p2align=4, $131
+ i32.const $push287=, 0
+ f64.store $discard=, gd+24($pop287), $132
+ i32.const $push286=, 0
+ f64.store $discard=, gd+32($pop286):p2align=4, $133
+ i32.const $push285=, 0
+ f64.store $discard=, gd+40($pop285), $134
+ i32.const $push284=, 0
+ f64.store $discard=, gd+48($pop284):p2align=4, $135
+ i32.const $push283=, 0
+ f64.store $discard=, gd+56($pop283), $136
+ i32.const $push282=, 0
+ f64.store $discard=, gd+64($pop282):p2align=4, $137
+ i32.const $push281=, 0
+ f64.store $discard=, gd+72($pop281), $138
+ i32.const $push280=, 0
+ f64.store $discard=, gd+80($pop280):p2align=4, $139
+ i32.const $push279=, 0
+ f64.store $discard=, gd+88($pop279), $140
+ i32.const $push278=, 0
+ f64.store $discard=, gd+96($pop278):p2align=4, $141
+ i32.const $push277=, 0
+ f64.store $discard=, gd+104($pop277), $142
+ i32.const $push276=, 0
+ f64.store $discard=, gd+112($pop276):p2align=4, $143
+ i32.const $push275=, 0
+ f64.store $discard=, gd+120($pop275), $144
+ i32.const $push274=, 0
+ f64.store $discard=, gd+128($pop274):p2align=4, $145
+ i32.const $push273=, 0
+ f64.store $discard=, gd+136($pop273), $146
+ i32.const $push272=, 0
+ f64.store $discard=, gd+144($pop272):p2align=4, $147
+ i32.const $push271=, 0
+ f64.store $discard=, gd+152($pop271), $148
+ i32.const $push270=, 0
+ f64.store $discard=, gd+160($pop270):p2align=4, $149
+ i32.const $push269=, 0
+ f64.store $discard=, gd+168($pop269), $150
+ i32.const $push268=, 0
+ f64.store $discard=, gd+176($pop268):p2align=4, $151
+ i32.const $push267=, 0
+ f64.store $discard=, gd+184($pop267), $152
+ i32.const $push266=, 0
+ f64.store $discard=, gd+192($pop266):p2align=4, $153
+ i32.const $push265=, 0
+ f64.store $discard=, gd+200($pop265), $154
+ i32.const $push264=, 0
+ f64.store $discard=, gd+208($pop264):p2align=4, $155
+ i32.const $push263=, 0
+ f64.store $discard=, gd+216($pop263), $156
+ i32.const $push262=, 0
+ f64.store $discard=, gd+224($pop262):p2align=4, $157
+ i32.const $push261=, 0
+ f64.store $discard=, gd+232($pop261), $158
+ i32.const $push260=, 0
+ f64.store $discard=, gd+240($pop260):p2align=4, $159
+ i32.const $push259=, 0
+ f64.store $discard=, gd+248($pop259), $160
return
.endfunc
.Lfunc_end0:
@@ -353,63 +576,65 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, f64, i32, i32, i32
+ .local f64, i32, i32, i32
# BB#0: # %entry
- f64.const $3=, 0x0p0
- i32.const $4=, 0
- i32.const $6=, gd
- i32.const $5=, gf
+ f64.const $0=, 0x0p0
+ i32.const $1=, 0
+ i32.const $3=, gd
+ i32.const $2=, gf
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label3:
- f64.store $push0=, 0($6), $3
- f64.const $push2=, 0x1p0
- f64.add $3=, $pop0, $pop2
- f32.convert_s/i32 $push1=, $4
- f32.store $discard=, 0($5), $pop1
- i32.const $0=, 1
- i32.add $4=, $4, $0
- i32.const $1=, 8
- i32.add $6=, $6, $1
- i32.const $2=, 4
- i32.add $5=, $5, $2
- i32.const $push3=, 32
- i32.ne $push4=, $4, $pop3
- br_if $pop4, 0 # 0: up to label3
+ f64.store $discard=, 0($3), $0
+ f32.convert_s/i32 $push0=, $1
+ f32.store $discard=, 0($2), $pop0
+ f64.const $push14=, 0x1p0
+ f64.add $0=, $0, $pop14
+ i32.const $push13=, 1
+ i32.add $1=, $1, $pop13
+ i32.const $push12=, 8
+ i32.add $3=, $3, $pop12
+ i32.const $push11=, 4
+ i32.add $2=, $2, $pop11
+ i32.const $push10=, 32
+ i32.ne $push1=, $1, $pop10
+ br_if $pop1, 0 # 0: up to label3
# BB#2: # %for.end
end_loop # label4:
- call foo@FUNCTION, $0
- i32.const $4=, 0
- i32.const $5=, gd
- copy_local $6=, $4
+ i32.const $push15=, 1
+ call foo@FUNCTION, $pop15
+ i32.const $2=, gd
+ i32.const $1=, 0
+ i32.const $3=, 0
.LBB1_3: # %for.body6
# =>This Inner Loop Header: Depth=1
block
loop # label6:
- f64.load $push5=, 0($5)
- f64.convert_s/i32 $push6=, $4
- f64.ne $push7=, $pop5, $pop6
- br_if $pop7, 2 # 2: down to label5
+ f64.load $push2=, 0($2)
+ f64.convert_s/i32 $push3=, $1
+ f64.ne $push4=, $pop2, $pop3
+ br_if $pop4, 2 # 2: down to label5
# BB#4: # %lor.lhs.false
# in Loop: Header=BB1_3 Depth=1
- i32.const $push8=, gf
- i32.add $push9=, $pop8, $4
- f32.load $push10=, 0($pop9)
- f32.convert_s/i32 $push11=, $6
- f32.ne $push12=, $pop10, $pop11
- br_if $pop12, 2 # 2: down to label5
+ f32.load $push5=, gf($1)
+ f32.convert_s/i32 $push6=, $3
+ f32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 2 # 2: down to label5
# BB#5: # %for.cond3
# in Loop: Header=BB1_3 Depth=1
- i32.add $6=, $6, $0
- i32.add $5=, $5, $1
- i32.add $4=, $4, $2
- i32.const $push13=, 31
- i32.le_s $push14=, $6, $pop13
- br_if $pop14, 0 # 0: up to label6
+ i32.const $push19=, 1
+ i32.add $3=, $3, $pop19
+ i32.const $push18=, 8
+ i32.add $2=, $2, $pop18
+ i32.const $push17=, 4
+ i32.add $1=, $1, $pop17
+ i32.const $push16=, 31
+ i32.le_s $push8=, $3, $pop16
+ br_if $pop8, 0 # 0: up to label6
# BB#6: # %for.end17
end_loop # label7:
- i32.const $push15=, 0
- call exit@FUNCTION, $pop15
+ i32.const $push9=, 0
+ call exit@FUNCTION, $pop9
unreachable
.LBB1_7: # %if.then
end_block # label5:
@@ -423,7 +648,7 @@ main: # @main
.type gd,@object
.section .bss.gd,"aw",@nobits
.globl gd
- .align 4
+ .p2align 4
gd:
.skip 256
.size gd, 256
@@ -432,7 +657,7 @@ gd:
.type gf,@object
.section .bss.gf,"aw",@nobits
.globl gf
- .align 4
+ .p2align 4
gf:
.skip 128
.size gf, 128
diff --git a/test/torture-s/20021120-2.c.s b/test/torture-s/20021120-2.c.s
index b7841449e..bc0aa35b8 100644
--- a/test/torture-s/20021120-2.c.s
+++ b/test/torture-s/20021120-2.c.s
@@ -6,14 +6,14 @@
.type foo,@function
foo: # @foo
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push0=, 10
- i32.store $discard=, g1($1), $pop0
- i32.const $push1=, 7930
- i32.div_s $push2=, $pop1, $0
- i32.store $discard=, g2($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push1=, 10
+ i32.store $discard=, g1($pop0), $pop1
+ i32.const $push4=, 0
+ i32.const $push2=, 7930
+ i32.div_s $push3=, $pop2, $0
+ i32.store $discard=, g2($pop4), $pop3
return
.endfunc
.Lfunc_end0:
@@ -25,13 +25,14 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
+ i32.const $push4=, 0
i32.const $push0=, 10
- i32.store $push1=, g1($0), $pop0
- i32.store $discard=, g2($0), $pop1
- call exit@FUNCTION, $0
+ i32.store $push2=, g1($pop4), $pop0
+ i32.store $discard=, g2($pop1), $pop2
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.endfunc
.Lfunc_end1:
@@ -41,7 +42,7 @@ main: # @main
.type g1,@object
.section .bss.g1,"aw",@nobits
.globl g1
- .align 2
+ .p2align 2
g1:
.int32 0 # 0x0
.size g1, 4
@@ -50,7 +51,7 @@ g1:
.type g2,@object
.section .bss.g2,"aw",@nobits
.globl g2
- .align 2
+ .p2align 2
g2:
.int32 0 # 0x0
.size g2, 4
diff --git a/test/torture-s/20021120-3.c.s b/test/torture-s/20021120-3.c.s
index 259771a74..e08c0cb9f 100644
--- a/test/torture-s/20021120-3.c.s
+++ b/test/torture-s/20021120-3.c.s
@@ -7,39 +7,40 @@
foo: # @foo
.param i32, i32, i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 16
+ i32.sub $10=, $7, $8
i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 16
- i32.sub $8=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $8=, 0($9), $8
- i32.div_u $3=, $1, $2
+ i32.store $10=, 0($8), $10
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.sub $10=, $3, $4
i32.const $4=, __stack_pointer
- i32.load $4=, 0($4)
- i32.const $5=, 4
- i32.sub $8=, $4, $5
+ i32.store $10=, 0($4), $10
+ i32.div_u $push0=, $1, $2
+ i32.store $discard=, 0($10), $pop0
+ i32.const $push1=, .L.str
+ i32.call $discard=, sprintf@FUNCTION, $0, $pop1
i32.const $5=, __stack_pointer
- i32.store $8=, 0($5), $8
- i32.store $discard=, 0($8), $3
- i32.const $push0=, .L.str
- i32.call $discard=, siprintf@FUNCTION, $0, $pop0
+ i32.load $5=, 0($5)
+ i32.const $6=, 4
+ i32.add $10=, $5, $6
i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 4
- i32.add $8=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $8=, 0($7), $8
- i32.const $0=, 1
- i32.add $push1=, $1, $0
- i32.add $push2=, $2, $0
- i32.div_u $push3=, $pop1, $pop2
- i32.const $10=, 16
- i32.add $8=, $8, $10
- i32.const $10=, __stack_pointer
- i32.store $8=, 0($10), $8
- return $pop3
+ i32.store $10=, 0($6), $10
+ i32.const $push2=, 1
+ i32.add $push3=, $1, $pop2
+ i32.const $push6=, 1
+ i32.add $push4=, $2, $pop6
+ i32.div_u $push5=, $pop3, $pop4
+ i32.const $9=, 16
+ i32.add $10=, $10, $9
+ i32.const $9=, __stack_pointer
+ i32.store $10=, 0($9), $10
+ return $pop5
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -69,7 +70,7 @@ main: # @main
i32.const $push1=, .L.str
i32.const $6=, 16
i32.add $6=, $7, $6
- i32.call $discard=, siprintf@FUNCTION, $6, $pop1
+ i32.call $discard=, sprintf@FUNCTION, $6, $pop1
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
i32.const $3=, 4
diff --git a/test/torture-s/20021127-1.c.s b/test/torture-s/20021127-1.c.s
index bd90203dc..82c86e9e2 100644
--- a/test/torture-s/20021127-1.c.s
+++ b/test/torture-s/20021127-1.c.s
@@ -31,7 +31,7 @@ llabs: # @llabs
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 3
+ .p2align 3
a:
.int64 -1 # 0xffffffffffffffff
.size a, 8
diff --git a/test/torture-s/20021204-1.c.s b/test/torture-s/20021204-1.c.s
index d3e9dd54c..0add0faa5 100644
--- a/test/torture-s/20021204-1.c.s
+++ b/test/torture-s/20021204-1.c.s
@@ -28,20 +28,17 @@ foo: # @foo
main: # @main
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
- block
- i32.load $push0=, z($2)
- i32.const $push1=, 1
- i32.ge_s $push2=, $pop0, $pop1
- br_if $pop2, 0 # 0: down to label1
-# BB#1: # %foo.exit
- call exit@FUNCTION, $2
- unreachable
-.LBB1_2: # %if.then.i
- end_block # label1:
- call abort@FUNCTION
+ i32.const $push0=, 0
+ i32.load $push1=, z($pop0)
+ i32.const $push7=, 0
+ i32.gt_s $push2=, $pop1, $pop7
+ i32.const $push4=, 2
+ i32.const $push3=, 1
+ i32.select $push5=, $pop2, $pop4, $pop3
+ call foo@FUNCTION, $pop5
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.endfunc
.Lfunc_end1:
@@ -51,7 +48,7 @@ main: # @main
.type z,@object
.section .bss.z,"aw",@nobits
.globl z
- .align 2
+ .p2align 2
z:
.int32 0 # 0x0
.size z, 4
diff --git a/test/torture-s/20021219-1.c.s b/test/torture-s/20021219-1.c.s
index b30fe9b81..2ea7bd237 100644
--- a/test/torture-s/20021219-1.c.s
+++ b/test/torture-s/20021219-1.c.s
@@ -18,102 +18,64 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $7=, __stack_pointer
- i32.load $7=, 0($7)
- i32.const $8=, 16
- i32.sub $13=, $7, $8
- i32.const $8=, __stack_pointer
- i32.store $13=, 0($8), $13
- i32.const $1=, 0
- i32.const $2=, 1
- i32.const $push1=, 10
- i32.const $10=, 0
- i32.add $10=, $13, $10
- i32.add $push2=, $10, $pop1
- i32.load8_u $push0=, .Lmain.str+10($1)
- i32.store8 $discard=, 0($pop2), $pop0
- i32.const $6=, 8
- i32.const $11=, 0
- i32.add $11=, $13, $11
- i32.add $push9=, $11, $6
- i32.const $push3=, .Lmain.str+8
- i32.add $push4=, $pop3, $2
- i32.load8_u $push5=, 0($pop4)
- i32.shl $push6=, $pop5, $6
- i32.load8_u $push7=, .Lmain.str+8($1)
- i32.or $push8=, $pop6, $pop7
- i32.store16 $discard=, 0($pop9), $pop8
- i32.const $6=, .Lmain.str
- i32.const $5=, 6
- i64.const $3=, 8
- i64.const $4=, 16
- i32.const $push18=, 7
- i32.add $push19=, $6, $pop18
- i64.load8_u $push20=, 0($pop19)
- i64.shl $push21=, $pop20, $3
- i32.add $push22=, $6, $5
- i64.load8_u $push23=, 0($pop22)
- i64.or $push24=, $pop21, $pop23
- i64.shl $push25=, $pop24, $4
- i32.const $push10=, 5
- i32.add $push11=, $6, $pop10
- i64.load8_u $push12=, 0($pop11)
- i64.shl $push13=, $pop12, $3
- i32.const $push14=, 4
- i32.add $push15=, $6, $pop14
- i64.load8_u $push16=, 0($pop15)
- i64.or $push17=, $pop13, $pop16
- i64.or $push26=, $pop25, $pop17
- i64.const $push27=, 32
- i64.shl $push28=, $pop26, $pop27
- i32.const $push29=, 3
- i32.add $push30=, $6, $pop29
- i64.load8_u $push31=, 0($pop30)
- i64.shl $push32=, $pop31, $3
- i32.const $push33=, 2
- i32.add $push34=, $6, $pop33
- i64.load8_u $push35=, 0($pop34)
- i64.or $push36=, $pop32, $pop35
- i64.shl $push37=, $pop36, $4
- i32.add $push38=, $6, $2
- i64.load8_u $push39=, 0($pop38)
- i64.shl $push40=, $pop39, $3
- i64.load8_u $push41=, .Lmain.str($1)
- i64.or $push42=, $pop40, $pop41
- i64.or $push43=, $pop37, $pop42
- i64.or $push44=, $pop28, $pop43
- i64.store $discard=, 0($13), $pop44
- i32.const $0=, 32
- i32.const $12=, 0
- i32.add $12=, $13, $12
- i32.or $6=, $12, $5
- copy_local $5=, $0
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $8=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $8=, 0($3), $8
+ i32.const $push2=, 10
+ i32.const $5=, 4
+ i32.add $5=, $8, $5
+ i32.add $push3=, $5, $pop2
+ i32.const $push0=, 0
+ i32.load8_u $push1=, .Lmain.str+10($pop0)
+ i32.store8 $discard=, 0($pop3):p2align=1, $pop1
+ i32.const $push5=, 8
+ i32.const $6=, 4
+ i32.add $6=, $8, $6
+ i32.add $push6=, $6, $pop5
+ i32.const $push14=, 0
+ i32.load16_u $push4=, .Lmain.str+8($pop14):p2align=0
+ i32.store16 $discard=, 0($pop6):p2align=2, $pop4
+ i32.const $push13=, 0
+ i64.load $push7=, .Lmain.str($pop13):p2align=0
+ i64.store $discard=, 4($8):p2align=2, $pop7
+ i32.const $push8=, 6
+ i32.const $7=, 4
+ i32.add $7=, $8, $7
+ i32.add $0=, $7, $pop8
+ i32.const $1=, 32
.LBB1_1: # %while.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
block
- i32.const $push45=, 255
- i32.and $5=, $5, $pop45
- i32.eq $push46=, $5, $0
- br_if $pop46, 0 # 0: down to label2
+ i32.const $push17=, 255
+ i32.and $push9=, $1, $pop17
+ tee_local $push16=, $1=, $pop9
+ i32.const $push15=, 32
+ i32.eq $push10=, $pop16, $pop15
+ br_if $pop10, 0 # 0: down to label2
# BB#2: # %while.cond
# in Loop: Header=BB1_1 Depth=1
- i32.const $push47=, 13
- i32.eq $push48=, $5, $pop47
- br_if $pop48, 0 # 0: down to label2
+ i32.const $push18=, 13
+ i32.eq $push11=, $1, $pop18
+ br_if $pop11, 0 # 0: down to label2
# BB#3: # %while.end
- i32.const $9=, 16
- i32.add $13=, $13, $9
- i32.const $9=, __stack_pointer
- i32.store $13=, 0($9), $13
- return $1
+ i32.const $push12=, 0
+ i32.const $4=, 16
+ i32.add $8=, $8, $4
+ i32.const $4=, __stack_pointer
+ i32.store $8=, 0($4), $8
+ return $pop12
.LBB1_4: # %while.body
# in Loop: Header=BB1_1 Depth=1
end_block # label2:
- i32.load8_u $5=, 0($6)
- i32.add $6=, $6, $2
+ i32.load8_u $1=, 0($0)
+ i32.const $push19=, 1
+ i32.add $0=, $0, $pop19
br 0 # 0: up to label0
.LBB1_5:
end_loop # label1:
diff --git a/test/torture-s/20030109-1.c.s b/test/torture-s/20030109-1.c.s
index c38672f6d..d9f2165a1 100644
--- a/test/torture-s/20030109-1.c.s
+++ b/test/torture-s/20030109-1.c.s
@@ -6,16 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, x+4($0)
+ i32.const $push3=, 0
+ i32.load $push0=, x+4($pop3)
i32.const $push1=, 40
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -28,7 +28,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int32 0 # 0x0
.int32 40 # 0x28
diff --git a/test/torture-s/20030120-1.c.s b/test/torture-s/20030120-1.c.s
index 8dabbb91d..6a3b91bee 100644
--- a/test/torture-s/20030120-1.c.s
+++ b/test/torture-s/20030120-1.c.s
@@ -37,14 +37,14 @@ test2: # @test2
test3: # @test3
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 1
- i32.and $push0=, $0, $1
- i32.const $push1=, 0
- i32.ne $push2=, $0, $pop1
- i32.select $push3=, $pop0, $1, $pop2
- return $pop3
+ i32.const $push0=, 1
+ i32.and $push1=, $0, $pop0
+ i32.const $push5=, 1
+ i32.const $push2=, 0
+ i32.ne $push3=, $0, $pop2
+ i32.select $push4=, $pop1, $pop5, $pop3
+ return $pop4
.endfunc
.Lfunc_end2:
.size test3, .Lfunc_end2-test3
diff --git a/test/torture-s/20030120-2.c.s b/test/torture-s/20030120-2.c.s
index 1f09f6be2..75b2f19bb 100644
--- a/test/torture-s/20030120-2.c.s
+++ b/test/torture-s/20030120-2.c.s
@@ -7,17 +7,18 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 3
- i32.const $2=, 4
- i32.eq $push4=, $0, $2
- i32.eq $push2=, $0, $1
+ i32.const $push5=, 4
+ i32.eq $push6=, $0, $pop5
+ i32.const $push9=, 4
+ i32.const $push2=, 3
+ i32.eq $push3=, $0, $pop2
+ i32.const $push8=, 3
i32.const $push0=, 1
i32.eq $push1=, $0, $pop0
- i32.select $push3=, $pop2, $1, $pop1
- i32.select $push5=, $pop4, $2, $pop3
- return $pop5
+ i32.select $push4=, $pop3, $pop8, $pop1
+ i32.select $push7=, $pop6, $pop9, $pop4
+ return $pop7
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/20030128-1.c.s b/test/torture-s/20030128-1.c.s
index 9c44e0a16..1d2db96ee 100644
--- a/test/torture-s/20030128-1.c.s
+++ b/test/torture-s/20030128-1.c.s
@@ -6,21 +6,23 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load16_s $1=, y($0)
block
- i32.load8_u $push0=, x($0)
- i32.div_s $push1=, $pop0, $1
- i32.store8 $push2=, x($0), $pop1
- i32.const $push3=, 255
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, 246
- i32.ne $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load8_u $push1=, x($pop9)
+ i32.const $push8=, 0
+ i32.load16_s $push0=, y($pop8)
+ i32.div_s $push2=, $pop1, $pop0
+ i32.store8 $push3=, x($pop10), $pop2
+ i32.const $push4=, 255
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, 246
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push11=, 0
+ call exit@FUNCTION, $pop11
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -42,7 +44,7 @@ x:
.type y,@object
.section .data.y,"aw",@progbits
.globl y
- .align 1
+ .p2align 1
y:
.int16 65531 # 0xfffb
.size y, 2
diff --git a/test/torture-s/20030209-1.c.s b/test/torture-s/20030209-1.c.s
index d71a1786e..3d9fb3dcd 100644
--- a/test/torture-s/20030209-1.c.s
+++ b/test/torture-s/20030209-1.c.s
@@ -6,12 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i64.const $push0=, 4631107791820423168
- i64.store $discard=, x+79200($0), $pop0
- call exit@FUNCTION, $0
+ i64.store $discard=, x+79200($pop1):p2align=4, $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end0:
@@ -21,7 +21,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 4
+ .p2align 4
x:
.skip 80000
.size x, 80000
diff --git a/test/torture-s/20030216-1.c.s b/test/torture-s/20030216-1.c.s
index 58c1c6c53..02fc87d0f 100644
--- a/test/torture-s/20030216-1.c.s
+++ b/test/torture-s/20030216-1.c.s
@@ -17,7 +17,7 @@ main: # @main
.type one,@object
.section .rodata.one,"a",@progbits
.globl one
- .align 3
+ .p2align 3
one:
.int64 4607182418800017408 # double 1
.size one, 8
diff --git a/test/torture-s/20030218-1.c.s b/test/torture-s/20030218-1.c.s
index 988d6eb47..9eac30474 100644
--- a/test/torture-s/20030218-1.c.s
+++ b/test/torture-s/20030218-1.c.s
@@ -25,23 +25,24 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %if.end
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 16
- i32.sub $4=, $1, $2
- i32.const $2=, __stack_pointer
- i32.store $4=, 0($2), $4
+ i32.store $3=, 0($1), $3
i32.const $push0=, 65280
- i32.store16 $discard=, 14($4), $pop0
- i32.const $0=, 0
+ i32.store16 $discard=, 14($3), $pop0
+ i32.const $push3=, 0
i32.const $push1=, 2
- i32.const $3=, 14
- i32.add $3=, $4, $3
- i32.add $push2=, $3, $pop1
- i32.store $discard=, q($0), $pop2
- call exit@FUNCTION, $0
+ i32.const $2=, 14
+ i32.add $2=, $3, $2
+ i32.add $push2=, $2, $pop1
+ i32.store $discard=, q($pop3), $pop2
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.endfunc
.Lfunc_end1:
@@ -51,7 +52,7 @@ main: # @main
.type q,@object
.section .bss.q,"aw",@nobits
.globl q
- .align 2
+ .p2align 2
q:
.int32 0
.size q, 4
diff --git a/test/torture-s/20030221-1.c.s b/test/torture-s/20030221-1.c.s
index 591e6403f..125a2bd6d 100644
--- a/test/torture-s/20030221-1.c.s
+++ b/test/torture-s/20030221-1.c.s
@@ -6,39 +6,37 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 16
- i32.sub $6=, $1, $2
- i32.const $2=, __stack_pointer
- i32.store $6=, 0($2), $6
- i32.const $0=, 0
+ i32.store $3=, 0($1), $3
i32.const $push1=, 8
- i32.const $4=, 0
- i32.add $4=, $6, $4
- i32.or $push2=, $4, $pop1
- i64.load $push0=, .Lmain.buf+8($0)
+ i32.or $push2=, $3, $pop1
+ i32.const $push11=, 0
+ i64.load $push0=, .Lmain.buf+8($pop11)
i64.store $discard=, 0($pop2), $pop0
- i64.load $push3=, .Lmain.buf($0)
- i64.store $discard=, 0($6), $pop3
- i32.const $5=, 0
- i32.add $5=, $6, $5
+ i32.const $push10=, 0
+ i64.load $push3=, .Lmain.buf($pop10):p2align=4
+ i64.store $discard=, 0($3):p2align=4, $pop3
block
- i32.call $push4=, strlen@FUNCTION, $5
- i32.store8 $push5=, 0($6), $pop4
+ i32.call $push4=, strlen@FUNCTION, $3
+ i32.store8 $push5=, 0($3):p2align=4, $pop4
i32.const $push6=, 255
i32.and $push7=, $pop5, $pop6
i32.const $push8=, 10
i32.ne $push9=, $pop7, $pop8
br_if $pop9, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $3=, 16
- i32.add $6=, $6, $3
- i32.const $3=, __stack_pointer
- i32.store $6=, 0($3), $6
- return $0
+ i32.const $push12=, 0
+ i32.const $2=, 16
+ i32.add $3=, $3, $2
+ i32.const $2=, __stack_pointer
+ i32.store $3=, 0($2), $3
+ return $pop12
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -49,7 +47,7 @@ main: # @main
.type .Lmain.buf,@object # @main.buf
.section .rodata.cst16,"aM",@progbits,16
- .align 4
+ .p2align 4
.Lmain.buf:
.asciz "1234567890\000\000\000\000\000"
.size .Lmain.buf, 16
diff --git a/test/torture-s/20030222-1.c.s b/test/torture-s/20030222-1.c.s
index 80b15d4a9..1591650b1 100644
--- a/test/torture-s/20030222-1.c.s
+++ b/test/torture-s/20030222-1.c.s
@@ -21,26 +21,27 @@ ll_to_int: # @ll_to_int
.type main,@function
main: # @main
.result i32
- .local i64, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $4=, $2, $3
i32.const $3=, __stack_pointer
- i32.load $3=, 0($3)
- i32.const $4=, 16
- i32.sub $5=, $3, $4
- i32.const $4=, __stack_pointer
- i32.store $5=, 0($4), $5
+ i32.store $4=, 0($3), $4
i32.const $1=, 0
- i32.load $2=, val($1)
- i64.extend_s/i32 $0=, $2
+ i32.load $1=, val($1)
+ i64.extend_s/i32 $0=, $1
#APP
#NO_APP
- i64.store32 $discard=, 12($5), $0
+ i64.store32 $discard=, 12($4), $0
block
- i32.load $push0=, 12($5)
- i32.ne $push1=, $pop0, $2
+ i32.load $push0=, 12($4)
+ i32.ne $push1=, $1, $pop0
br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $1
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -54,7 +55,7 @@ main: # @main
.type val,@object
.section .data.val,"aw",@progbits
.globl val
- .align 2
+ .p2align 2
val:
.int32 2147483649 # 0x80000001
.size val, 4
diff --git a/test/torture-s/20030224-2.c.s b/test/torture-s/20030224-2.c.s
index 71d61e330..6bc33bcfb 100644
--- a/test/torture-s/20030224-2.c.s
+++ b/test/torture-s/20030224-2.c.s
@@ -17,7 +17,7 @@ main: # @main
.type node,@object
.section .bss.node,"aw",@nobits
.globl node
- .align 2
+ .p2align 2
node:
.skip 8
.size node, 8
@@ -26,7 +26,7 @@ node:
.type node_p,@object
.section .data.node_p,"aw",@progbits
.globl node_p
- .align 2
+ .p2align 2
node_p:
.int32 node
.size node_p, 4
diff --git a/test/torture-s/20030313-1.c.s b/test/torture-s/20030313-1.c.s
index 47ee0bbe3..38c43d6af 100644
--- a/test/torture-s/20030313-1.c.s
+++ b/test/torture-s/20030313-1.c.s
@@ -6,77 +6,77 @@
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 12
block
- i32.ne $push0=, $1, $2
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push0=, 12
+ i32.ne $push1=, $1, $pop0
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.load $push1=, 0($0)
- i32.const $push2=, 1
- i32.ne $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label1
+ i32.load $push2=, 0($0)
+ i32.const $push3=, 1
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label1
# BB#2: # %lor.lhs.false
- i32.load $push4=, 4($0)
- i32.const $push5=, 11
- i32.ne $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label1
+ i32.load $push5=, 4($0)
+ i32.const $push6=, 11
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label1
# BB#3: # %if.end5
block
- i32.load $push7=, 8($0)
- i32.const $push8=, 2
- i32.ne $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label2
+ i32.load $push8=, 8($0)
+ i32.const $push9=, 2
+ i32.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label2
# BB#4: # %lor.lhs.false8
- i32.load $push10=, 12($0)
- i32.ne $push11=, $pop10, $2
- br_if $pop11, 0 # 0: down to label2
+ i32.load $push11=, 12($0)
+ i32.const $push12=, 12
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label2
# BB#5: # %if.end12
block
- i32.load $push12=, 16($0)
- i32.const $push13=, 3
- i32.ne $push14=, $pop12, $pop13
- br_if $pop14, 0 # 0: down to label3
+ i32.load $push14=, 16($0)
+ i32.const $push15=, 3
+ i32.ne $push16=, $pop14, $pop15
+ br_if $pop16, 0 # 0: down to label3
# BB#6: # %lor.lhs.false15
- i32.load $push15=, 20($0)
- i32.const $push16=, 13
- i32.ne $push17=, $pop15, $pop16
- br_if $pop17, 0 # 0: down to label3
+ i32.load $push17=, 20($0)
+ i32.const $push18=, 13
+ i32.ne $push19=, $pop17, $pop18
+ br_if $pop19, 0 # 0: down to label3
# BB#7: # %if.end19
block
- i32.load $push18=, 24($0)
- i32.const $push19=, 4
- i32.ne $push20=, $pop18, $pop19
- br_if $pop20, 0 # 0: down to label4
+ i32.load $push20=, 24($0)
+ i32.const $push21=, 4
+ i32.ne $push22=, $pop20, $pop21
+ br_if $pop22, 0 # 0: down to label4
# BB#8: # %lor.lhs.false22
- i32.load $push21=, 28($0)
- i32.const $push22=, 14
- i32.ne $push23=, $pop21, $pop22
- br_if $pop23, 0 # 0: down to label4
+ i32.load $push23=, 28($0)
+ i32.const $push24=, 14
+ i32.ne $push25=, $pop23, $pop24
+ br_if $pop25, 0 # 0: down to label4
# BB#9: # %if.end26
block
- i32.load $push24=, 32($0)
- i32.const $push25=, 5
- i32.ne $push26=, $pop24, $pop25
- br_if $pop26, 0 # 0: down to label5
+ i32.load $push26=, 32($0)
+ i32.const $push27=, 5
+ i32.ne $push28=, $pop26, $pop27
+ br_if $pop28, 0 # 0: down to label5
# BB#10: # %lor.lhs.false29
- i32.load $push27=, 36($0)
- i32.const $push28=, 15
- i32.ne $push29=, $pop27, $pop28
- br_if $pop29, 0 # 0: down to label5
+ i32.load $push29=, 36($0)
+ i32.const $push30=, 15
+ i32.ne $push31=, $pop29, $pop30
+ br_if $pop31, 0 # 0: down to label5
# BB#11: # %if.end33
block
- i32.load $push30=, 40($0)
- i32.const $push31=, 6
- i32.ne $push32=, $pop30, $pop31
- br_if $pop32, 0 # 0: down to label6
+ i32.load $push32=, 40($0)
+ i32.const $push33=, 6
+ i32.ne $push34=, $pop32, $pop33
+ br_if $pop34, 0 # 0: down to label6
# BB#12: # %lor.lhs.false36
- i32.load $push33=, 44($0)
- i32.const $push34=, 16
- i32.ne $push35=, $pop33, $pop34
- br_if $pop35, 0 # 0: down to label6
+ i32.load $push35=, 44($0)
+ i32.const $push36=, 16
+ i32.ne $push37=, $pop35, $pop36
+ br_if $pop37, 0 # 0: down to label6
# BB#13: # %if.end40
return
.LBB0_14: # %if.then39
@@ -117,44 +117,53 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
-# BB#0: # %entry
- i32.const $3=, __stack_pointer
- i32.load $3=, 0($3)
- i32.const $4=, 160
- i32.sub $7=, $3, $4
- i32.const $4=, __stack_pointer
- i32.store $7=, 0($4), $7
- i32.const $push1=, 8
- i32.const $5=, 0
- i32.add $5=, $7, $5
- i32.or $push2=, $5, $pop1
- i64.const $push3=, 51539607554
- i64.store $discard=, 0($pop2), $pop3
- i32.const $0=, 0
- i32.load $1=, x($0)
- i32.const $push4=, 3
- i32.store $discard=, 16($7), $pop4
- i32.load $2=, x+4($0)
- i32.store $discard=, 20($7), $1
- i32.const $push5=, 4
- i32.store $discard=, 24($7), $pop5
- i32.store $discard=, 28($7), $2
- i32.load $1=, x+8($0)
- i32.const $push6=, 5
- i32.store $discard=, 32($7), $pop6
- i32.load $2=, x+12($0)
- i32.store $discard=, 36($7), $1
- i32.const $push7=, 6
- i32.store $discard=, 40($7), $pop7
- i32.store $discard=, 44($7), $2
- i64.const $push0=, 47244640257
- i64.store $discard=, 0($7), $pop0
- i32.const $push8=, 12
- i32.const $6=, 0
- i32.add $6=, $7, $6
- call foo@FUNCTION, $6, $pop8
- call exit@FUNCTION, $0
+# BB#0: # %lor.lhs.false15.i
+ block
+ i32.const $push13=, 0
+ i32.load $push2=, x($pop13)
+ i32.const $push3=, 13
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label7
+# BB#1: # %lor.lhs.false22.i
+ block
+ i32.const $push14=, 0
+ i32.load $push5=, x+4($pop14)
+ i32.const $push6=, 14
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label8
+# BB#2: # %lor.lhs.false29.i
+ block
+ i32.const $push15=, 0
+ i32.load $push0=, x+8($pop15)
+ i32.const $push8=, 15
+ i32.ne $push9=, $pop0, $pop8
+ br_if $pop9, 0 # 0: down to label9
+# BB#3: # %lor.lhs.false36.i
+ block
+ i32.const $push16=, 0
+ i32.load $push1=, x+12($pop16)
+ i32.const $push10=, 16
+ i32.ne $push11=, $pop1, $pop10
+ br_if $pop11, 0 # 0: down to label10
+# BB#4: # %foo.exit
+ i32.const $push12=, 0
+ call exit@FUNCTION, $pop12
+ unreachable
+.LBB1_5: # %if.then39.i
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB1_6: # %if.then32.i
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB1_7: # %if.then25.i
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB1_8: # %if.then18.i
+ end_block # label7:
+ call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end1:
@@ -164,7 +173,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int32 13 # 0xd
.int32 14 # 0xe
diff --git a/test/torture-s/20030606-1.c.s b/test/torture-s/20030606-1.c.s
index 7a3c6ae88..c9b34f68f 100644
--- a/test/torture-s/20030606-1.c.s
+++ b/test/torture-s/20030606-1.c.s
@@ -7,24 +7,25 @@
foo: # @foo
.param i32, i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
i32.const $push0=, 55
i32.store $discard=, 0($0), $pop0
- i32.const $2=, 4
- i32.add $3=, $0, $2
+ i32.const $push3=, 4
+ i32.add $2=, $0, $pop3
block
- i32.const $push3=, 0
- i32.eq $push4=, $1, $pop3
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push5=, 0
+ i32.eq $push6=, $1, $pop5
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %if.then
- i32.add $push2=, $0, $2
+ i32.const $push4=, 4
+ i32.add $push2=, $0, $pop4
i32.store $discard=, 0($pop2), $1
i32.const $push1=, 8
- i32.add $3=, $0, $pop1
+ i32.add $2=, $0, $pop1
.LBB0_2: # %if.end
end_block # label0:
- return $3
+ return $2
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/20030626-1.c.s b/test/torture-s/20030626-1.c.s
index be3b46e6c..e5caf0b9a 100644
--- a/test/torture-s/20030626-1.c.s
+++ b/test/torture-s/20030626-1.c.s
@@ -6,12 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 7303014
- i32.store $discard=, buf($0), $pop0
- return $0
+ i32.store $discard=, buf($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -20,7 +20,7 @@ main: # @main
.type buf,@object
.section .bss.buf,"aw",@nobits
.globl buf
- .align 2
+ .p2align 2
buf:
.skip 10
.size buf, 10
diff --git a/test/torture-s/20030626-2.c.s b/test/torture-s/20030626-2.c.s
index 62f1e7dd5..710dbf119 100644
--- a/test/torture-s/20030626-2.c.s
+++ b/test/torture-s/20030626-2.c.s
@@ -7,12 +7,20 @@
main: # @main
.result i32
# BB#0: # %entry
- i32.const $push1=, buf
- i32.const $push0=, .L.str.2
- i32.const $push2=, 13
- call memcpy@FUNCTION, $pop1, $pop0, $pop2
- i32.const $push3=, 0
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load8_u $push1=, .L.str.2+12($pop9)
+ i32.store8 $discard=, buf+12($pop0):p2align=2, $pop1
+ i32.const $push8=, 0
+ i32.const $push7=, 0
+ i32.load $push2=, .L.str.2+8($pop7):p2align=0
+ i32.store $discard=, buf+8($pop8):p2align=3, $pop2
+ i32.const $push6=, 0
+ i32.const $push5=, 0
+ i64.load $push3=, .L.str.2($pop5):p2align=0
+ i64.store $discard=, buf($pop6):p2align=4, $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -21,7 +29,7 @@ main: # @main
.type buf,@object
.section .bss.buf,"aw",@nobits
.globl buf
- .align 4
+ .p2align 4
buf:
.skip 40
.size buf, 40
diff --git a/test/torture-s/20030714-1.c.s b/test/torture-s/20030714-1.c.s
index bc63a9ef3..95e84aa4d 100644
--- a/test/torture-s/20030714-1.c.s
+++ b/test/torture-s/20030714-1.c.s
@@ -6,73 +6,78 @@
.type RenderBox_setStyle,@function
RenderBox_setStyle: # @RenderBox_setStyle
.param i32, i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.load16_u $3=, 26($0)
+ i32.load16_u $2=, 26($0)
block
block
i32.const $push1=, 2
i32.add $push2=, $1, $pop1
- i32.load8_u $push3=, 0($pop2)
+ i32.load8_u $push3=, 0($pop2):p2align=1
i32.const $push4=, 4
i32.and $push5=, $pop3, $pop4
br_if $pop5, 0 # 0: down to label1
# BB#1: # %sw.default
- i32.const $2=, 16
block
- i32.and $push10=, $3, $2
- i32.const $push31=, 0
- i32.eq $push32=, $pop10, $pop31
- br_if $pop32, 0 # 0: down to label2
+ i32.const $push34=, 16
+ i32.and $push10=, $2, $pop34
+ i32.const $push36=, 0
+ i32.eq $push37=, $pop10, $pop36
+ br_if $pop37, 0 # 0: down to label2
# BB#2: # %if.then
i32.const $push11=, 26
i32.add $push12=, $0, $pop11
- i32.or $push0=, $3, $2
- i32.store16 $3=, 0($pop12), $pop0
+ i32.const $push35=, 16
+ i32.or $push0=, $2, $pop35
+ i32.store16 $2=, 0($pop12), $pop0
.LBB0_3: # %if.end
end_block # label2:
i32.const $push16=, 26
- i32.add $2=, $0, $pop16
+ i32.add $push17=, $0, $pop16
i32.const $push14=, 65519
- i32.and $push15=, $3, $pop14
- i32.store16 $discard=, 0($2), $pop15
- i32.load $3=, 0($1)
+ i32.and $push15=, $2, $pop14
+ i32.store16 $discard=, 0($pop17), $pop15
+ i32.load $2=, 0($1)
block
- i32.load $push18=, 28($0)
- i32.call_indirect $push19=, $pop18, $0
- br_if $pop19, 0 # 0: down to label3
+ i32.load $push19=, 28($0)
+ i32.call_indirect $push20=, $pop19, $0
+ br_if $pop20, 0 # 0: down to label3
# BB#4: # %if.end
- i32.const $push17=, 1572864
- i32.and $push13=, $3, $pop17
- i32.const $push33=, 0
- i32.eq $push34=, $pop13, $pop33
- br_if $pop34, 0 # 0: down to label3
+ i32.const $push18=, 1572864
+ i32.and $push13=, $2, $pop18
+ i32.const $push38=, 0
+ i32.eq $push39=, $pop13, $pop38
+ br_if $pop39, 0 # 0: down to label3
# BB#5: # %if.then39
- i32.load16_u $push20=, 0($2)
- i32.const $push21=, 8
- i32.or $push22=, $pop20, $pop21
- i32.store16 $discard=, 0($2), $pop22
+ i32.const $push21=, 26
+ i32.add $0=, $0, $pop21
+ i32.load16_u $push22=, 0($0)
+ i32.const $push23=, 8
+ i32.or $push24=, $pop22, $pop23
+ i32.store16 $discard=, 0($0), $pop24
br 2 # 2: down to label0
.LBB0_6: # %if.else
end_block # label3:
- i32.load $push23=, 0($1)
- i32.const $push24=, 393216
- i32.and $push25=, $pop23, $pop24
- i32.const $push26=, 131072
- i32.ne $push27=, $pop25, $pop26
- br_if $pop27, 1 # 1: down to label0
+ i32.load $push25=, 0($1)
+ i32.const $push26=, 393216
+ i32.and $push27=, $pop25, $pop26
+ i32.const $push28=, 131072
+ i32.ne $push29=, $pop27, $pop28
+ br_if $pop29, 1 # 1: down to label0
# BB#7: # %if.then55
- i32.load16_u $push28=, 0($2)
- i32.const $push29=, 64
- i32.or $push30=, $pop28, $pop29
- i32.store16 $discard=, 0($2), $pop30
+ i32.const $push30=, 26
+ i32.add $0=, $0, $pop30
+ i32.load16_u $push31=, 0($0)
+ i32.const $push32=, 64
+ i32.or $push33=, $pop31, $pop32
+ i32.store16 $discard=, 0($0), $pop33
br 1 # 1: down to label0
.LBB0_8: # %sw.bb
end_block # label1:
i32.const $push8=, 26
i32.add $push9=, $0, $pop8
i32.const $push6=, 16
- i32.or $push7=, $3, $pop6
+ i32.or $push7=, $2, $pop6
i32.store16 $discard=, 0($pop9), $pop7
.LBB0_9: # %sw.epilog
end_block # label0:
@@ -125,24 +130,29 @@ RenderBox_isTableCell: # @RenderBox_isTableCell
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %RenderBox_setStyle.exit
- i32.const $0=, 0
- i32.load16_u $1=, g_this+26($0)
- i32.load $2=, g__style($0)
- i32.const $push2=, RenderBox_isTableCell@FUNCTION
- i32.store $discard=, g_this+28($0), $pop2
- i32.const $push3=, -1966081
- i32.and $push4=, $2, $pop3
- i32.const $push5=, 393216
- i32.or $push6=, $pop4, $pop5
- i32.store $discard=, g__style($0), $pop6
- i32.const $push0=, 65447
- i32.and $push1=, $1, $pop0
- i32.const $push7=, 16
- i32.or $push8=, $pop1, $pop7
- i32.store16 $discard=, g_this+26($0), $pop8
- call exit@FUNCTION, $0
+ i32.const $push0=, 0
+ i32.load16_u $0=, g_this+26($pop0)
+ i32.const $push14=, 0
+ i32.load $1=, g__style($pop14)
+ i32.const $push13=, 0
+ i32.const $push3=, RenderBox_isTableCell@FUNCTION
+ i32.store $discard=, g_this+28($pop13), $pop3
+ i32.const $push12=, 0
+ i32.const $push4=, -1966081
+ i32.and $push5=, $1, $pop4
+ i32.const $push6=, 393216
+ i32.or $push7=, $pop5, $pop6
+ i32.store $discard=, g__style($pop12), $pop7
+ i32.const $push11=, 0
+ i32.const $push1=, 65447
+ i32.and $push2=, $0, $pop1
+ i32.const $push8=, 16
+ i32.or $push9=, $pop2, $pop8
+ i32.store16 $discard=, g_this+26($pop11), $pop9
+ i32.const $push10=, 0
+ call exit@FUNCTION, $pop10
unreachable
.endfunc
.Lfunc_end4:
@@ -168,7 +178,7 @@ true:
.type g_this,@object
.section .bss.g_this,"aw",@nobits
.globl g_this
- .align 2
+ .p2align 2
g_this:
.skip 32
.size g_this, 32
@@ -177,7 +187,7 @@ g_this:
.type g__style,@object
.section .bss.g__style,"aw",@nobits
.globl g__style
- .align 2
+ .p2align 2
g__style:
.skip 4
.size g__style, 4
diff --git a/test/torture-s/20030715-1.c.s b/test/torture-s/20030715-1.c.s
index 8a3051841..51fc103b0 100644
--- a/test/torture-s/20030715-1.c.s
+++ b/test/torture-s/20030715-1.c.s
@@ -21,30 +21,30 @@ ap_check_cmd_context: # @ap_check_cmd_context
server_type: # @server_type
.param i32, i32, i32
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $push0=, .L.str
- i32.call $4=, strcmp@FUNCTION, $2, $pop0
i32.const $3=, 0
- copy_local $5=, $3
block
block
- i32.const $push2=, 0
- i32.eq $push3=, $4, $pop2
- br_if $pop3, 0 # 0: down to label1
+ i32.const $push0=, .L.str
+ i32.call $push1=, strcmp@FUNCTION, $2, $pop0
+ i32.const $push5=, 0
+ i32.eq $push6=, $pop1, $pop5
+ br_if $pop6, 0 # 0: down to label1
# BB#1: # %if.else
- i32.const $push1=, .L.str.1
- i32.call $4=, strcmp@FUNCTION, $2, $pop1
- i32.const $2=, .L.str.2
- i32.const $5=, 1
- br_if $4, 1 # 1: down to label0
+ i32.const $4=, .L.str.2
+ i32.const $3=, 1
+ i32.const $push2=, .L.str.1
+ i32.call $push3=, strcmp@FUNCTION, $2, $pop2
+ br_if $pop3, 1 # 1: down to label0
.LBB1_2: # %if.end9
end_block # label1:
- i32.store $discard=, ap_standalone($3), $5
- copy_local $2=, $3
+ i32.const $push4=, 0
+ i32.store $discard=, ap_standalone($pop4), $3
+ i32.const $4=, 0
.LBB1_3: # %cleanup
end_block # label0:
- return $2
+ return $4
.endfunc
.Lfunc_end1:
.size server_type, .Lfunc_end1-server_type
@@ -55,12 +55,12 @@ server_type: # @server_type
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, ap_standalone($0), $pop0
- return $0
+ i32.store $discard=, ap_standalone($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -75,7 +75,7 @@ main: # @main
.type ap_standalone,@object
.section .bss.ap_standalone,"aw",@nobits
.globl ap_standalone
- .align 2
+ .p2align 2
ap_standalone:
.int32 0 # 0x0
.size ap_standalone, 4
diff --git a/test/torture-s/20030717-1.c.s b/test/torture-s/20030717-1.c.s
index 98ba93ba0..e9810da15 100644
--- a/test/torture-s/20030717-1.c.s
+++ b/test/torture-s/20030717-1.c.s
@@ -7,58 +7,66 @@
bar: # @bar
.param i32, i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.load $2=, 24($0)
- i32.const $6=, 20
- i32.load $4=, 4($1)
- i32.load16_u $3=, 0($1)
- i32.mul $push0=, $2, $6
- i32.add $push1=, $0, $pop0
- i32.load $push2=, 12($pop1)
- i32.sub $1=, $4, $pop2
- i32.const $7=, 31
- i32.shr_s $8=, $1, $7
- i32.add $push3=, $1, $8
- i32.xor $5=, $pop3, $8
- copy_local $1=, $2
- copy_local $10=, $2
+ i32.load16_u $2=, 0($1):p2align=2
+ i32.load $push1=, 4($1)
+ tee_local $push27=, $7=, $pop1
+ i32.load $push0=, 24($0)
+ tee_local $push26=, $6=, $pop0
+ i32.const $push25=, 20
+ i32.mul $push2=, $pop26, $pop25
+ i32.add $push3=, $0, $pop2
+ i32.load $push4=, 12($pop3)
+ i32.sub $1=, $pop27, $pop4
+ i32.const $push24=, 31
+ i32.shr_s $push5=, $1, $pop24
+ tee_local $push23=, $4=, $pop5
+ i32.add $push6=, $1, $pop23
+ i32.xor $3=, $pop6, $4
+ copy_local $1=, $6
+ copy_local $5=, $6
.LBB0_1: # %do.body
# =>This Inner Loop Header: Depth=1
loop # label0:
block
- i32.const $push4=, 0
- i32.gt_s $push5=, $1, $pop4
- br_if $pop5, 0 # 0: down to label2
+ i32.const $push28=, 0
+ i32.gt_s $push7=, $1, $pop28
+ br_if $pop7, 0 # 0: down to label2
# BB#2: # %if.then
# in Loop: Header=BB0_1 Depth=1
- i32.add $push6=, $0, $6
- i32.load $1=, 0($pop6)
+ i32.const $push29=, 20
+ i32.add $push8=, $0, $pop29
+ i32.load $1=, 0($pop8)
.LBB0_3: # %if.end
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
- i32.const $push7=, -1
- i32.add $1=, $1, $pop7
- i32.mul $push8=, $1, $6
- i32.add $push9=, $0, $pop8
- i32.load $push10=, 12($pop9)
- i32.sub $8=, $4, $pop10
- i32.shr_s $9=, $8, $7
- i32.add $push11=, $8, $9
- i32.xor $push12=, $pop11, $9
- i32.lt_u $push13=, $pop12, $5
- i32.select $10=, $pop13, $1, $10
- i32.ne $push14=, $1, $2
- br_if $pop14, 0 # 0: up to label0
+ i32.const $push33=, -1
+ i32.add $1=, $1, $pop33
+ i32.const $push32=, 20
+ i32.mul $push9=, $1, $pop32
+ i32.add $push10=, $0, $pop9
+ i32.load $push11=, 12($pop10)
+ i32.sub $4=, $7, $pop11
+ i32.const $push31=, 31
+ i32.shr_s $push12=, $4, $pop31
+ tee_local $push30=, $8=, $pop12
+ i32.add $push13=, $4, $pop30
+ i32.xor $push14=, $pop13, $8
+ i32.lt_u $push15=, $pop14, $3
+ i32.select $5=, $pop15, $1, $5
+ i32.ne $push16=, $1, $6
+ br_if $pop16, 0 # 0: up to label0
# BB#4: # %do.end
end_loop # label1:
- i32.mul $push18=, $10, $6
- i32.add $push19=, $0, $pop18
- i32.const $push15=, 9
- i32.shr_u $push16=, $3, $pop15
- i32.add $push17=, $pop16, $4
- i32.store $discard=, 12($pop19), $pop17
- return $10
+ i32.const $push20=, 20
+ i32.mul $push21=, $5, $pop20
+ i32.add $push22=, $0, $pop21
+ i32.const $push17=, 9
+ i32.shr_u $push18=, $2, $pop17
+ i32.add $push19=, $pop18, $7
+ i32.store $discard=, 12($pop22), $pop19
+ return $5
.endfunc
.Lfunc_end0:
.size bar, .Lfunc_end0-bar
diff --git a/test/torture-s/20030828-1.c.s b/test/torture-s/20030828-1.c.s
new file mode 100644
index 000000000..ee63e6e95
--- /dev/null
+++ b/test/torture-s/20030828-1.c.s
@@ -0,0 +1,57 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20030828-1.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, p($pop0)
+ i32.load $push2=, 0($pop1)
+ i32.const $push3=, 1
+ i32.add $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i32.const $push0=, 5
+ i32.store $discard=, 12($3), $pop0
+ i32.const $push1=, 0
+ i32.const $2=, 12
+ i32.add $2=, $3, $2
+ i32.store $discard=, p($pop1), $2
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden p # @p
+ .type p,@object
+ .section .bss.p,"aw",@nobits
+ .globl p
+ .p2align 2
+p:
+ .int32 0
+ .size p, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20030903-1.c.s b/test/torture-s/20030903-1.c.s
index 312277219..fc6b15953 100644
--- a/test/torture-s/20030903-1.c.s
+++ b/test/torture-s/20030903-1.c.s
@@ -6,18 +6,20 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
block
- i32.load $push0=, test($1)
- i32.const $push1=, -1
- i32.add $0=, $pop0, $pop1
- i32.const $push2=, 3
- i32.le_u $push3=, $0, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push6=, 0
+ i32.load $push1=, test($pop6)
+ i32.const $push2=, -1
+ i32.add $push0=, $pop1, $pop2
+ tee_local $push5=, $0=, $pop0
+ i32.const $push3=, 3
+ i32.le_u $push4=, $pop5, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %sw.epilog
- return $1
+ i32.const $push7=, 0
+ return $pop7
.LBB0_2: # %entry
end_block # label0:
block
diff --git a/test/torture-s/20030913-1.c.s b/test/torture-s/20030913-1.c.s
index a8831fbbb..9e2d04424 100644
--- a/test/torture-s/20030913-1.c.s
+++ b/test/torture-s/20030913-1.c.s
@@ -34,12 +34,12 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 42
- i32.store $discard=, glob($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, glob($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
@@ -49,7 +49,7 @@ main: # @main
.type glob,@object
.section .bss.glob,"aw",@nobits
.globl glob
- .align 2
+ .p2align 2
glob:
.int32 0 # 0x0
.size glob, 4
diff --git a/test/torture-s/20030914-1.c.s b/test/torture-s/20030914-1.c.s
new file mode 100644
index 000000000..6a39ca1b9
--- /dev/null
+++ b/test/torture-s/20030914-1.c.s
@@ -0,0 +1,345 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20030914-1.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32, i32, i64, i64
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 512
+ i32.sub $70=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $70=, 0($6), $70
+ i32.load $push0=, 0($2)
+ i32.const $8=, 496
+ i32.add $8=, $70, $8
+ call __floatsitf@FUNCTION, $8, $pop0
+ i64.load $push4=, 496($70)
+ i32.const $push1=, 8
+ i32.const $9=, 496
+ i32.add $9=, $70, $9
+ i32.add $push2=, $9, $pop1
+ i64.load $push3=, 0($pop2)
+ i32.const $10=, 480
+ i32.add $10=, $70, $10
+ call __addtf3@FUNCTION, $10, $pop4, $pop3, $3, $4
+ i32.const $push114=, 8
+ i32.const $11=, 480
+ i32.add $11=, $70, $11
+ i32.add $push5=, $11, $pop114
+ i64.load $4=, 0($pop5)
+ i64.load $3=, 480($70)
+ i32.load $push6=, 4($2)
+ i32.const $12=, 464
+ i32.add $12=, $70, $12
+ call __floatsitf@FUNCTION, $12, $pop6
+ i64.load $push9=, 464($70)
+ i32.const $push113=, 8
+ i32.const $13=, 464
+ i32.add $13=, $70, $13
+ i32.add $push7=, $13, $pop113
+ i64.load $push8=, 0($pop7)
+ i32.const $14=, 448
+ i32.add $14=, $70, $14
+ call __addtf3@FUNCTION, $14, $3, $4, $pop9, $pop8
+ i32.const $push112=, 8
+ i32.const $15=, 448
+ i32.add $15=, $70, $15
+ i32.add $push10=, $15, $pop112
+ i64.load $4=, 0($pop10)
+ i64.load $3=, 448($70)
+ i32.load $push11=, 8($2)
+ i32.const $16=, 432
+ i32.add $16=, $70, $16
+ call __floatsitf@FUNCTION, $16, $pop11
+ i64.load $push14=, 432($70)
+ i32.const $push111=, 8
+ i32.const $17=, 432
+ i32.add $17=, $70, $17
+ i32.add $push12=, $17, $pop111
+ i64.load $push13=, 0($pop12)
+ i32.const $18=, 416
+ i32.add $18=, $70, $18
+ call __addtf3@FUNCTION, $18, $3, $4, $pop14, $pop13
+ i32.const $push110=, 8
+ i32.const $19=, 416
+ i32.add $19=, $70, $19
+ i32.add $push15=, $19, $pop110
+ i64.load $4=, 0($pop15)
+ i64.load $3=, 416($70)
+ i32.load $push16=, 12($2)
+ i32.const $20=, 400
+ i32.add $20=, $70, $20
+ call __floatsitf@FUNCTION, $20, $pop16
+ i64.load $push19=, 400($70)
+ i32.const $push109=, 8
+ i32.const $21=, 400
+ i32.add $21=, $70, $21
+ i32.add $push17=, $21, $pop109
+ i64.load $push18=, 0($pop17)
+ i32.const $22=, 384
+ i32.add $22=, $70, $22
+ call __addtf3@FUNCTION, $22, $3, $4, $pop19, $pop18
+ i32.const $push108=, 8
+ i32.const $23=, 384
+ i32.add $23=, $70, $23
+ i32.add $push20=, $23, $pop108
+ i64.load $4=, 0($pop20)
+ i64.load $3=, 384($70)
+ i32.load $push21=, 16($2)
+ i32.const $24=, 368
+ i32.add $24=, $70, $24
+ call __floatsitf@FUNCTION, $24, $pop21
+ i64.load $push24=, 368($70)
+ i32.const $push107=, 8
+ i32.const $25=, 368
+ i32.add $25=, $70, $25
+ i32.add $push22=, $25, $pop107
+ i64.load $push23=, 0($pop22)
+ i32.const $26=, 352
+ i32.add $26=, $70, $26
+ call __addtf3@FUNCTION, $26, $3, $4, $pop24, $pop23
+ i32.const $push106=, 8
+ i32.const $27=, 352
+ i32.add $27=, $70, $27
+ i32.add $push25=, $27, $pop106
+ i64.load $4=, 0($pop25)
+ i64.load $3=, 352($70)
+ i32.load $push26=, 20($2)
+ i32.const $28=, 336
+ i32.add $28=, $70, $28
+ call __floatsitf@FUNCTION, $28, $pop26
+ i64.load $push29=, 336($70)
+ i32.const $push105=, 8
+ i32.const $29=, 336
+ i32.add $29=, $70, $29
+ i32.add $push27=, $29, $pop105
+ i64.load $push28=, 0($pop27)
+ i32.const $30=, 320
+ i32.add $30=, $70, $30
+ call __addtf3@FUNCTION, $30, $3, $4, $pop29, $pop28
+ i32.const $push104=, 8
+ i32.const $31=, 320
+ i32.add $31=, $70, $31
+ i32.add $push30=, $31, $pop104
+ i64.load $4=, 0($pop30)
+ i64.load $3=, 320($70)
+ i32.load $push31=, 24($2)
+ i32.const $32=, 304
+ i32.add $32=, $70, $32
+ call __floatsitf@FUNCTION, $32, $pop31
+ i64.load $push34=, 304($70)
+ i32.const $push103=, 8
+ i32.const $33=, 304
+ i32.add $33=, $70, $33
+ i32.add $push32=, $33, $pop103
+ i64.load $push33=, 0($pop32)
+ i32.const $34=, 288
+ i32.add $34=, $70, $34
+ call __addtf3@FUNCTION, $34, $3, $4, $pop34, $pop33
+ i32.const $push102=, 8
+ i32.const $35=, 288
+ i32.add $35=, $70, $35
+ i32.add $push35=, $35, $pop102
+ i64.load $4=, 0($pop35)
+ i64.load $3=, 288($70)
+ i32.load $push36=, 28($2)
+ i32.const $36=, 272
+ i32.add $36=, $70, $36
+ call __floatsitf@FUNCTION, $36, $pop36
+ i64.load $push39=, 272($70)
+ i32.const $push101=, 8
+ i32.const $37=, 272
+ i32.add $37=, $70, $37
+ i32.add $push37=, $37, $pop101
+ i64.load $push38=, 0($pop37)
+ i32.const $38=, 256
+ i32.add $38=, $70, $38
+ call __addtf3@FUNCTION, $38, $3, $4, $pop39, $pop38
+ i32.const $push100=, 8
+ i32.const $39=, 256
+ i32.add $39=, $70, $39
+ i32.add $push40=, $39, $pop100
+ i64.load $4=, 0($pop40)
+ i64.load $3=, 256($70)
+ i32.load $push41=, 32($2)
+ i32.const $40=, 240
+ i32.add $40=, $70, $40
+ call __floatsitf@FUNCTION, $40, $pop41
+ i64.load $push44=, 240($70)
+ i32.const $push99=, 8
+ i32.const $41=, 240
+ i32.add $41=, $70, $41
+ i32.add $push42=, $41, $pop99
+ i64.load $push43=, 0($pop42)
+ i32.const $42=, 224
+ i32.add $42=, $70, $42
+ call __addtf3@FUNCTION, $42, $3, $4, $pop44, $pop43
+ i32.const $push98=, 8
+ i32.const $43=, 224
+ i32.add $43=, $70, $43
+ i32.add $push45=, $43, $pop98
+ i64.load $4=, 0($pop45)
+ i64.load $3=, 224($70)
+ i32.load $push46=, 36($2)
+ i32.const $44=, 208
+ i32.add $44=, $70, $44
+ call __floatsitf@FUNCTION, $44, $pop46
+ i64.load $push49=, 208($70)
+ i32.const $push97=, 8
+ i32.const $45=, 208
+ i32.add $45=, $70, $45
+ i32.add $push47=, $45, $pop97
+ i64.load $push48=, 0($pop47)
+ i32.const $46=, 192
+ i32.add $46=, $70, $46
+ call __addtf3@FUNCTION, $46, $3, $4, $pop49, $pop48
+ i32.const $push96=, 8
+ i32.const $47=, 192
+ i32.add $47=, $70, $47
+ i32.add $push50=, $47, $pop96
+ i64.load $4=, 0($pop50)
+ i64.load $3=, 192($70)
+ i32.load $push51=, 40($2)
+ i32.const $48=, 176
+ i32.add $48=, $70, $48
+ call __floatsitf@FUNCTION, $48, $pop51
+ i64.load $push54=, 176($70)
+ i32.const $push95=, 8
+ i32.const $49=, 176
+ i32.add $49=, $70, $49
+ i32.add $push52=, $49, $pop95
+ i64.load $push53=, 0($pop52)
+ i32.const $50=, 160
+ i32.add $50=, $70, $50
+ call __addtf3@FUNCTION, $50, $3, $4, $pop54, $pop53
+ i32.const $push94=, 8
+ i32.const $51=, 160
+ i32.add $51=, $70, $51
+ i32.add $push55=, $51, $pop94
+ i64.load $4=, 0($pop55)
+ i64.load $3=, 160($70)
+ i32.load $push56=, 44($2)
+ i32.const $52=, 144
+ i32.add $52=, $70, $52
+ call __floatsitf@FUNCTION, $52, $pop56
+ i64.load $push59=, 144($70)
+ i32.const $push93=, 8
+ i32.const $53=, 144
+ i32.add $53=, $70, $53
+ i32.add $push57=, $53, $pop93
+ i64.load $push58=, 0($pop57)
+ i32.const $54=, 128
+ i32.add $54=, $70, $54
+ call __addtf3@FUNCTION, $54, $3, $4, $pop59, $pop58
+ i32.const $push92=, 8
+ i32.const $55=, 128
+ i32.add $55=, $70, $55
+ i32.add $push60=, $55, $pop92
+ i64.load $4=, 0($pop60)
+ i64.load $3=, 128($70)
+ i32.load $push61=, 48($2)
+ i32.const $56=, 112
+ i32.add $56=, $70, $56
+ call __floatsitf@FUNCTION, $56, $pop61
+ i64.load $push64=, 112($70)
+ i32.const $push91=, 8
+ i32.const $57=, 112
+ i32.add $57=, $70, $57
+ i32.add $push62=, $57, $pop91
+ i64.load $push63=, 0($pop62)
+ i32.const $58=, 96
+ i32.add $58=, $70, $58
+ call __addtf3@FUNCTION, $58, $3, $4, $pop64, $pop63
+ i32.const $push90=, 8
+ i32.const $59=, 96
+ i32.add $59=, $70, $59
+ i32.add $push65=, $59, $pop90
+ i64.load $4=, 0($pop65)
+ i64.load $3=, 96($70)
+ i32.load $push66=, 52($2)
+ i32.const $60=, 80
+ i32.add $60=, $70, $60
+ call __floatsitf@FUNCTION, $60, $pop66
+ i64.load $push69=, 80($70)
+ i32.const $push89=, 8
+ i32.const $61=, 80
+ i32.add $61=, $70, $61
+ i32.add $push67=, $61, $pop89
+ i64.load $push68=, 0($pop67)
+ i32.const $62=, 64
+ i32.add $62=, $70, $62
+ call __addtf3@FUNCTION, $62, $3, $4, $pop69, $pop68
+ i32.const $push88=, 8
+ i32.const $63=, 64
+ i32.add $63=, $70, $63
+ i32.add $push70=, $63, $pop88
+ i64.load $4=, 0($pop70)
+ i64.load $3=, 64($70)
+ i32.load $push71=, 56($2)
+ i32.const $64=, 48
+ i32.add $64=, $70, $64
+ call __floatsitf@FUNCTION, $64, $pop71
+ i64.load $push74=, 48($70)
+ i32.const $push87=, 8
+ i32.const $65=, 48
+ i32.add $65=, $70, $65
+ i32.add $push72=, $65, $pop87
+ i64.load $push73=, 0($pop72)
+ i32.const $66=, 32
+ i32.add $66=, $70, $66
+ call __addtf3@FUNCTION, $66, $3, $4, $pop74, $pop73
+ i32.const $push86=, 8
+ i32.const $67=, 32
+ i32.add $67=, $70, $67
+ i32.add $push75=, $67, $pop86
+ i64.load $4=, 0($pop75)
+ i64.load $3=, 32($70)
+ i32.load $push76=, 60($2)
+ i32.const $68=, 16
+ i32.add $68=, $70, $68
+ call __floatsitf@FUNCTION, $68, $pop76
+ i64.load $push79=, 16($70)
+ i32.const $push85=, 8
+ i32.const $69=, 16
+ i32.add $69=, $70, $69
+ i32.add $push77=, $69, $pop85
+ i64.load $push78=, 0($pop77)
+ call __addtf3@FUNCTION, $70, $3, $4, $pop79, $pop78
+ i64.load $4=, 0($70)
+ i32.const $push84=, 8
+ i32.add $push82=, $0, $pop84
+ i32.const $push83=, 8
+ i32.add $push80=, $70, $pop83
+ i64.load $push81=, 0($pop80)
+ i64.store $discard=, 0($pop82), $pop81
+ i64.store $discard=, 0($0):p2align=4, $4
+ i32.const $7=, 512
+ i32.add $70=, $70, $7
+ i32.const $7=, __stack_pointer
+ i32.store $70=, 0($7), $70
+ return
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20030914-2.c.s b/test/torture-s/20030914-2.c.s
new file mode 100644
index 000000000..72f77d20f
--- /dev/null
+++ b/test/torture-s/20030914-2.c.s
@@ -0,0 +1,119 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20030914-2.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32
+ .result i32
+# BB#0: # %entry
+ return $1
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 80
+ i32.sub $11=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $11=, 0($1), $11
+ i32.const $push1=, 64
+ i32.const $2=, 8
+ i32.add $2=, $11, $2
+ i32.add $push2=, $2, $pop1
+ i32.const $push37=, 0
+ i64.load $push0=, gs+64($pop37):p2align=2
+ i64.store $discard=, 0($pop2):p2align=2, $pop0
+ i32.const $push4=, 56
+ i32.const $3=, 8
+ i32.add $3=, $11, $3
+ i32.add $push5=, $3, $pop4
+ i32.const $push36=, 0
+ i64.load $push3=, gs+56($pop36):p2align=2
+ i64.store $discard=, 0($pop5):p2align=2, $pop3
+ i32.const $push7=, 48
+ i32.const $4=, 8
+ i32.add $4=, $11, $4
+ i32.add $push8=, $4, $pop7
+ i32.const $push35=, 0
+ i64.load $push6=, gs+48($pop35):p2align=2
+ i64.store $discard=, 0($pop8):p2align=2, $pop6
+ i32.const $push10=, 40
+ i32.const $5=, 8
+ i32.add $5=, $11, $5
+ i32.add $push11=, $5, $pop10
+ i32.const $push34=, 0
+ i64.load $push9=, gs+40($pop34):p2align=2
+ i64.store $discard=, 0($pop11):p2align=2, $pop9
+ i32.const $push13=, 32
+ i32.const $6=, 8
+ i32.add $6=, $11, $6
+ i32.add $push14=, $6, $pop13
+ i32.const $push33=, 0
+ i64.load $push12=, gs+32($pop33):p2align=2
+ i64.store $discard=, 0($pop14):p2align=2, $pop12
+ i32.const $push16=, 24
+ i32.const $7=, 8
+ i32.add $7=, $11, $7
+ i32.add $push17=, $7, $pop16
+ i32.const $push32=, 0
+ i64.load $push15=, gs+24($pop32):p2align=2
+ i64.store $discard=, 0($pop17):p2align=2, $pop15
+ i32.const $push19=, 16
+ i32.const $8=, 8
+ i32.add $8=, $11, $8
+ i32.add $push20=, $8, $pop19
+ i32.const $push31=, 0
+ i64.load $push18=, gs+16($pop31):p2align=2
+ i64.store $discard=, 0($pop20):p2align=2, $pop18
+ i32.const $push22=, 8
+ i32.const $9=, 8
+ i32.add $9=, $11, $9
+ i32.add $push23=, $9, $pop22
+ i32.const $push30=, 0
+ i64.load $push21=, gs+8($pop30):p2align=2
+ i64.store $discard=, 0($pop23):p2align=2, $pop21
+ i32.const $push29=, 0
+ i64.load $push24=, gs($pop29):p2align=2
+ i64.store $discard=, 8($11):p2align=2, $pop24
+ i32.const $push25=, 4660
+ i32.const $10=, 8
+ i32.add $10=, $11, $10
+ block
+ i32.call $push26=, f@FUNCTION, $10, $pop25
+ i32.const $push28=, 4660
+ i32.ne $push27=, $pop26, $pop28
+ br_if $pop27, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push38=, 0
+ call exit@FUNCTION, $pop38
+ unreachable
+.LBB1_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden gs # @gs
+ .type gs,@object
+ .section .bss.gs,"aw",@nobits
+ .globl gs
+ .p2align 2
+gs:
+ .skip 72
+ .size gs, 72
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20030928-1.c.s b/test/torture-s/20030928-1.c.s
index 7a0b5025b..bcd215624 100644
--- a/test/torture-s/20030928-1.c.s
+++ b/test/torture-s/20030928-1.c.s
@@ -6,65 +6,55 @@
.type get_addrs,@function
get_addrs: # @get_addrs
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 1
i32.load $push0=, 0($1)
- i32.shl $push1=, $pop0, $2
- i32.const $push2=, .L.str
- i32.add $push3=, $pop1, $pop2
- i32.const $push4=, -131072
- i32.add $push5=, $pop3, $pop4
- i32.store $discard=, 0($0), $pop5
- i32.load $push6=, 4($1)
- i32.shl $push7=, $pop6, $2
- i32.const $push8=, .L.str.1
- i32.add $push9=, $pop7, $pop8
- i32.const $push10=, -262144
- i32.add $push11=, $pop9, $pop10
- i32.store $discard=, 4($0), $pop11
- i32.load $push12=, 8($1)
- i32.shl $push13=, $pop12, $2
- i32.const $push14=, .L.str.2
- i32.add $push15=, $pop13, $pop14
- i32.const $push16=, -393216
- i32.add $push17=, $pop15, $pop16
- i32.store $discard=, 8($0), $pop17
- i32.load $push18=, 12($1)
- i32.shl $push19=, $pop18, $2
- i32.const $push20=, .L.str.3
- i32.add $push21=, $pop19, $pop20
- i32.const $push22=, -524288
- i32.add $push23=, $pop21, $pop22
- i32.store $discard=, 12($0), $pop23
- i32.load $push24=, 16($1)
- i32.shl $push25=, $pop24, $2
- i32.const $push26=, .L.str.4
- i32.add $push27=, $pop25, $pop26
- i32.const $push28=, -655360
- i32.add $push29=, $pop27, $pop28
- i32.store $discard=, 16($0), $pop29
- i32.load $push30=, 20($1)
- i32.shl $push31=, $pop30, $2
- i32.const $push32=, .L.str.5
- i32.add $push33=, $pop31, $pop32
- i32.const $push34=, -786432
- i32.add $push35=, $pop33, $pop34
- i32.store $discard=, 20($0), $pop35
- i32.load $push36=, 24($1)
- i32.shl $push37=, $pop36, $2
- i32.const $push38=, .L.str.6
- i32.add $push39=, $pop37, $pop38
- i32.const $push40=, -917504
- i32.add $push41=, $pop39, $pop40
- i32.store $discard=, 24($0), $pop41
- i32.load $push42=, 28($1)
- i32.shl $push43=, $pop42, $2
- i32.const $push44=, .L.str.7
- i32.add $push45=, $pop43, $pop44
- i32.const $push46=, -1048576
- i32.add $push47=, $pop45, $pop46
- i32.store $discard=, 28($0), $pop47
+ i32.const $push1=, 1
+ i32.shl $push2=, $pop0, $pop1
+ i32.const $push3=, .L.str-131072
+ i32.add $push4=, $pop2, $pop3
+ i32.store $discard=, 0($0), $pop4
+ i32.load $push5=, 4($1)
+ i32.const $push39=, 1
+ i32.shl $push6=, $pop5, $pop39
+ i32.const $push7=, .L.str.1-262144
+ i32.add $push8=, $pop6, $pop7
+ i32.store $discard=, 4($0), $pop8
+ i32.load $push9=, 8($1)
+ i32.const $push38=, 1
+ i32.shl $push10=, $pop9, $pop38
+ i32.const $push11=, .L.str.2-393216
+ i32.add $push12=, $pop10, $pop11
+ i32.store $discard=, 8($0), $pop12
+ i32.load $push13=, 12($1)
+ i32.const $push37=, 1
+ i32.shl $push14=, $pop13, $pop37
+ i32.const $push15=, .L.str.3-524288
+ i32.add $push16=, $pop14, $pop15
+ i32.store $discard=, 12($0), $pop16
+ i32.load $push17=, 16($1)
+ i32.const $push36=, 1
+ i32.shl $push18=, $pop17, $pop36
+ i32.const $push19=, .L.str.4-655360
+ i32.add $push20=, $pop18, $pop19
+ i32.store $discard=, 16($0), $pop20
+ i32.load $push21=, 20($1)
+ i32.const $push35=, 1
+ i32.shl $push22=, $pop21, $pop35
+ i32.const $push23=, .L.str.5-786432
+ i32.add $push24=, $pop22, $pop23
+ i32.store $discard=, 20($0), $pop24
+ i32.load $push25=, 24($1)
+ i32.const $push34=, 1
+ i32.shl $push26=, $pop25, $pop34
+ i32.const $push27=, .L.str.6-917504
+ i32.add $push28=, $pop26, $pop27
+ i32.store $discard=, 24($0), $pop28
+ i32.load $push29=, 28($1)
+ i32.const $push33=, 1
+ i32.shl $push30=, $pop29, $pop33
+ i32.const $push31=, .L.str.7-1048576
+ i32.add $push32=, $pop30, $pop31
+ i32.store $discard=, 28($0), $pop32
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/20031010-1.c.s b/test/torture-s/20031010-1.c.s
index d7e0b5248..6c6b21ab8 100644
--- a/test/torture-s/20031010-1.c.s
+++ b/test/torture-s/20031010-1.c.s
@@ -39,19 +39,20 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 1
block
- i32.const $push1=, 2
- i32.const $push0=, 3
- i32.call $push2=, foo@FUNCTION, $pop1, $pop0, $0, $0, $0
- i32.const $push4=, 0
- i32.eq $push5=, $pop2, $pop4
- br_if $pop5, 0 # 0: down to label2
+ i32.const $push2=, 2
+ i32.const $push1=, 3
+ i32.const $push0=, 1
+ i32.const $push6=, 1
+ i32.const $push5=, 1
+ i32.call $push3=, foo@FUNCTION, $pop2, $pop1, $pop0, $pop6, $pop5
+ i32.const $push7=, 0
+ i32.eq $push8=, $pop3, $pop7
+ br_if $pop8, 0 # 0: down to label2
# BB#1: # %if.end
- i32.const $push3=, 0
- return $pop3
+ i32.const $push4=, 0
+ return $pop4
.LBB1_2: # %if.then
end_block # label2:
call abort@FUNCTION
diff --git a/test/torture-s/20031012-1.c.s b/test/torture-s/20031012-1.c.s
index 391bc364d..3fafbc542 100644
--- a/test/torture-s/20031012-1.c.s
+++ b/test/torture-s/20031012-1.c.s
@@ -7,33 +7,30 @@
main: # @main
.param i32, i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 15008
+ i32.sub $6=, $3, $4
i32.const $4=, __stack_pointer
- i32.load $4=, 0($4)
- i32.const $5=, 15008
- i32.sub $7=, $4, $5
- i32.const $5=, __stack_pointer
- i32.store $7=, 0($5), $7
- i32.const $2=, 13371
- i32.const $push0=, 205
- i32.const $7=, 0
- i32.add $7=, $7, $7
- call memset@FUNCTION, $7, $pop0, $2
- i32.const $push1=, 0
- i32.store8 $3=, 13371($7), $pop1
- i32.const $8=, 0
- i32.add $8=, $7, $8
+ i32.store $6=, 0($4), $6
+ i32.const $push1=, 205
+ i32.const $push0=, 13371
+ i32.call $discard=, memset@FUNCTION, $6, $pop1, $pop0
+ i32.const $push2=, 0
+ i32.store8 $2=, 13371($6), $pop2
block
- i32.call $push2=, strlen@FUNCTION, $8
- i32.ne $push3=, $pop2, $2
- br_if $pop3, 0 # 0: down to label0
+ i32.call $push3=, strlen@FUNCTION, $6
+ i32.const $push5=, 13371
+ i32.ne $push4=, $pop3, $pop5
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %foo.exit
- i32.const $6=, 15008
- i32.add $7=, $7, $6
- i32.const $6=, __stack_pointer
- i32.store $7=, 0($6), $7
- return $3
+ i32.const $5=, 15008
+ i32.add $6=, $6, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return $2
.LBB0_2: # %if.then.i
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/20031201-1.c.s b/test/torture-s/20031201-1.c.s
index 262660455..71a699024 100644
--- a/test/torture-s/20031201-1.c.s
+++ b/test/torture-s/20031201-1.c.s
@@ -7,18 +7,16 @@
f1: # @f1
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.store $discard=, i($1), $0
- i32.const $push0=, 32
- i32.store $push1=, 0($0), $pop0
- i32.store $discard=, 4($0), $pop1
+ i32.const $push0=, 0
+ i32.store $push1=, i($pop0), $0
+ i64.const $push2=, 137438953504
+ i64.store $discard=, 0($pop1):p2align=2, $pop2
call f0@FUNCTION
- i32.load $1=, i($1)
- i32.const $push2=, 8
- i32.store $push3=, 0($1), $pop2
- i32.store $discard=, 4($1), $pop3
+ i32.const $push5=, 0
+ i32.load $push3=, i($pop5)
+ i64.const $push4=, 34359738376
+ i64.store $discard=, 0($pop3):p2align=2, $pop4
call test@FUNCTION
unreachable
.endfunc
@@ -30,25 +28,29 @@ f1: # @f1
.globl f0
.type f0,@function
f0: # @f0
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, f0.washere($1)
- i32.load $0=, i($1)
+ i32.const $push0=, 0
+ i32.load $0=, i($pop0)
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, f0.washere($pop9)
+ tee_local $push8=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop8, $pop2
+ i32.store $discard=, f0.washere($pop10), $pop3
block
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.store $discard=, f0.washere($1), $pop1
- br_if $2, 0 # 0: down to label0
+ br_if $1, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.const $1=, 32
- i32.load16_u $push2=, 0($0)
- i32.ne $push3=, $pop2, $1
- br_if $pop3, 0 # 0: down to label0
-# BB#2: # %lor.lhs.false1
- i32.load16_u $push4=, 4($0)
- i32.ne $push5=, $pop4, $1
+ i32.load16_u $push4=, 0($0):p2align=2
+ i32.const $push11=, 32
+ i32.ne $push5=, $pop4, $pop11
br_if $pop5, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false1
+ i32.load16_u $push6=, 4($0):p2align=2
+ i32.const $push12=, 32
+ i32.ne $push7=, $pop6, $pop12
+ br_if $pop7, 0 # 0: down to label0
# BB#3: # %if.end
return
.LBB1_4: # %if.then
@@ -64,21 +66,24 @@ f0: # @f0
.globl test
.type test,@function
test: # @test
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $0=, i($1)
- i32.const $2=, 8
block
- i32.load16_u $push0=, 0($0)
- i32.ne $push1=, $pop0, $2
- br_if $pop1, 0 # 0: down to label1
-# BB#1: # %lor.lhs.false
- i32.load16_u $push2=, 4($0)
- i32.ne $push3=, $pop2, $2
+ i32.const $push1=, 0
+ i32.load $push0=, i($pop1)
+ tee_local $push8=, $0=, $pop0
+ i32.load16_u $push2=, 0($pop8):p2align=2
+ i32.const $push7=, 8
+ i32.ne $push3=, $pop2, $pop7
br_if $pop3, 0 # 0: down to label1
+# BB#1: # %lor.lhs.false
+ i32.load16_u $push4=, 4($0):p2align=2
+ i32.const $push9=, 8
+ i32.ne $push5=, $pop4, $pop9
+ br_if $pop5, 0 # 0: down to label1
# BB#2: # %if.end
- call exit@FUNCTION, $1
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.LBB2_3: # %if.then
end_block # label1:
diff --git a/test/torture-s/20031204-1.c.s b/test/torture-s/20031204-1.c.s
index 03ce09853..43e6a68d4 100644
--- a/test/torture-s/20031204-1.c.s
+++ b/test/torture-s/20031204-1.c.s
@@ -21,85 +21,91 @@ in_aton: # @in_aton
root_nfs_parse_addr: # @root_nfs_parse_addr
.param i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, 0
- copy_local $6=, $0
+ i32.const $3=, 0
+ copy_local $1=, $0
.LBB1_1: # %while.cond1.preheader
# =>This Loop Header: Depth=1
# Child Loop BB1_2 Depth 2
loop # label0:
- copy_local $7=, $6
+ copy_local $2=, $1
.LBB1_2: # %while.cond1
# Parent Loop BB1_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label2:
- copy_local $2=, $7
- i32.load8_u $1=, 0($2)
- i32.const $3=, 255
- i32.const $4=, 1
- i32.add $7=, $2, $4
- i32.const $push0=, -48
- i32.add $push1=, $1, $pop0
- i32.and $push2=, $pop1, $3
- i32.const $push3=, 10
- i32.lt_u $push4=, $pop2, $pop3
+ copy_local $push1=, $2
+ tee_local $push25=, $6=, $pop1
+ i32.const $push24=, 1
+ i32.add $2=, $pop25, $pop24
+ i32.load8_u $push0=, 0($6)
+ tee_local $push23=, $5=, $pop0
+ i32.const $push22=, -48
+ i32.add $push2=, $pop23, $pop22
+ i32.const $push21=, 255
+ i32.and $push3=, $pop2, $pop21
+ i32.const $push20=, 10
+ i32.lt_u $push4=, $pop3, $pop20
br_if $pop4, 0 # 0: up to label2
# BB#3: # %while.end
# in Loop: Header=BB1_1 Depth=1
end_loop # label3:
- copy_local $9=, $6
- i32.eq $push5=, $2, $6
+ copy_local $4=, $1
+ i32.eq $push5=, $6, $1
br_if $pop5, 1 # 1: down to label1
# BB#4: # %lor.lhs.false
# in Loop: Header=BB1_1 Depth=1
- i32.const $5=, 3
- copy_local $9=, $2
- i32.sub $push6=, $2, $6
- i32.gt_s $push7=, $pop6, $5
+ copy_local $4=, $6
+ i32.sub $push6=, $6, $1
+ i32.const $push26=, 3
+ i32.gt_s $push7=, $pop6, $pop26
br_if $pop7, 1 # 1: down to label1
# BB#5: # %if.end
# in Loop: Header=BB1_1 Depth=1
- i32.eq $push11=, $8, $5
- i32.and $push8=, $1, $3
- i32.const $push9=, 46
- i32.eq $push10=, $pop8, $pop9
- i32.or $push12=, $pop11, $pop10
- i32.add $8=, $pop12, $8
- copy_local $6=, $7
- copy_local $9=, $2
- i32.const $push13=, 4
- i32.lt_s $push14=, $8, $pop13
- br_if $pop14, 0 # 0: up to label0
+ i32.const $push30=, 3
+ i32.eq $push10=, $3, $pop30
+ i32.const $push29=, 255
+ i32.and $push8=, $5, $pop29
+ i32.const $push28=, 46
+ i32.eq $push9=, $pop8, $pop28
+ i32.or $push11=, $pop10, $pop9
+ i32.add $3=, $pop11, $3
+ copy_local $1=, $2
+ copy_local $4=, $6
+ i32.const $push27=, 4
+ i32.lt_s $push12=, $3, $pop27
+ br_if $pop12, 0 # 0: up to label0
.LBB1_6: # %while.end25
end_loop # label1:
- i32.const $2=, -1
+ i32.const $6=, -1
block
- i32.const $push15=, 4
- i32.ne $push16=, $8, $pop15
- br_if $pop16, 0 # 0: down to label4
+ i32.const $push13=, 4
+ i32.ne $push14=, $3, $pop13
+ br_if $pop14, 0 # 0: down to label4
# BB#7: # %land.lhs.true
- i32.load8_u $7=, 0($9)
block
- i32.const $push20=, 0
- i32.eq $push21=, $7, $pop20
- br_if $pop21, 0 # 0: down to label5
+ i32.load8_u $push15=, 0($4)
+ tee_local $push31=, $2=, $pop15
+ i32.const $push32=, 0
+ i32.eq $push33=, $pop31, $pop32
+ br_if $pop33, 0 # 0: down to label5
# BB#8: # %land.lhs.true
- i32.const $push17=, 58
- i32.ne $push18=, $7, $pop17
- br_if $pop18, 1 # 1: down to label4
+ i32.const $push16=, 58
+ i32.ne $push17=, $2, $pop16
+ br_if $pop17, 1 # 1: down to label4
# BB#9: # %if.then39
- i32.add $2=, $9, $4
+ i32.const $push18=, 1
+ i32.add $6=, $4, $pop18
i32.const $push19=, 0
- i32.store8 $discard=, 0($9), $pop19
- copy_local $9=, $2
+ i32.store8 $discard=, 0($4), $pop19
+ copy_local $4=, $6
.LBB1_10: # %if.end41
end_block # label5:
- i32.call $discard=, strcpy@FUNCTION, $0, $9
- i32.const $2=, 168496141
+ i32.call $discard=, strcpy@FUNCTION, $0, $4
+ i32.const $6=, 168496141
.LBB1_11: # %if.end43
end_block # label4:
- return $2
+ return $6
.endfunc
.Lfunc_end1:
.size root_nfs_parse_addr, .Lfunc_end1-root_nfs_parse_addr
@@ -110,81 +116,87 @@ root_nfs_parse_addr: # @root_nfs_parse_addr
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $7=, 0
- i32.const $5=, main.addr
+ i32.const $2=, 0
+ i32.const $0=, main.addr
.LBB2_1: # %while.cond1.preheader.i
# =>This Loop Header: Depth=1
# Child Loop BB2_2 Depth 2
loop # label6:
- copy_local $6=, $5
+ copy_local $1=, $0
.LBB2_2: # %while.cond1.i
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label8:
- copy_local $1=, $6
- i32.load8_u $0=, 0($1)
- i32.const $2=, 255
- i32.const $3=, 1
- i32.add $6=, $1, $3
- i32.const $push0=, -48
- i32.add $push1=, $0, $pop0
- i32.and $push2=, $pop1, $2
- i32.const $push3=, 10
- i32.lt_u $push4=, $pop2, $pop3
+ copy_local $push1=, $1
+ tee_local $push27=, $5=, $pop1
+ i32.const $push26=, 1
+ i32.add $1=, $pop27, $pop26
+ i32.load8_u $push0=, 0($5)
+ tee_local $push25=, $4=, $pop0
+ i32.const $push24=, -48
+ i32.add $push2=, $pop25, $pop24
+ i32.const $push23=, 255
+ i32.and $push3=, $pop2, $pop23
+ i32.const $push22=, 10
+ i32.lt_u $push4=, $pop3, $pop22
br_if $pop4, 0 # 0: up to label8
# BB#3: # %while.end.i
# in Loop: Header=BB2_1 Depth=1
end_loop # label9:
- copy_local $8=, $5
- i32.eq $push5=, $1, $5
+ copy_local $3=, $0
+ i32.eq $push5=, $5, $0
br_if $pop5, 1 # 1: down to label7
# BB#4: # %lor.lhs.false.i
# in Loop: Header=BB2_1 Depth=1
- i32.const $4=, 3
- copy_local $8=, $1
- i32.sub $push6=, $1, $5
- i32.gt_s $push7=, $pop6, $4
+ copy_local $3=, $5
+ i32.sub $push6=, $5, $0
+ i32.const $push28=, 3
+ i32.gt_s $push7=, $pop6, $pop28
br_if $pop7, 1 # 1: down to label7
# BB#5: # %if.end.i
# in Loop: Header=BB2_1 Depth=1
- i32.eq $push11=, $7, $4
- i32.and $push8=, $0, $2
- i32.const $push9=, 46
- i32.eq $push10=, $pop8, $pop9
- i32.or $push12=, $pop11, $pop10
- i32.add $7=, $pop12, $7
- copy_local $5=, $6
- copy_local $8=, $1
- i32.const $push13=, 4
- i32.lt_s $push14=, $7, $pop13
- br_if $pop14, 0 # 0: up to label6
+ i32.const $push32=, 3
+ i32.eq $push10=, $2, $pop32
+ i32.const $push31=, 255
+ i32.and $push8=, $4, $pop31
+ i32.const $push30=, 46
+ i32.eq $push9=, $pop8, $pop30
+ i32.or $push11=, $pop10, $pop9
+ i32.add $2=, $pop11, $2
+ copy_local $0=, $1
+ copy_local $3=, $5
+ i32.const $push29=, 4
+ i32.lt_s $push12=, $2, $pop29
+ br_if $pop12, 0 # 0: up to label6
.LBB2_6: # %while.end25.i
end_loop # label7:
block
- i32.const $push15=, 4
- i32.ne $push16=, $7, $pop15
- br_if $pop16, 0 # 0: down to label10
+ i32.const $push13=, 4
+ i32.ne $push14=, $2, $pop13
+ br_if $pop14, 0 # 0: down to label10
# BB#7: # %land.lhs.true.i
- i32.load8_u $1=, 0($8)
block
- i32.const $push22=, 0
- i32.eq $push23=, $1, $pop22
- br_if $pop23, 0 # 0: down to label11
+ i32.load8_u $push15=, 0($3)
+ tee_local $push33=, $5=, $pop15
+ i32.const $push34=, 0
+ i32.eq $push35=, $pop33, $pop34
+ br_if $pop35, 0 # 0: down to label11
# BB#8: # %land.lhs.true.i
- i32.const $push17=, 58
- i32.ne $push18=, $1, $pop17
- br_if $pop18, 1 # 1: down to label10
+ i32.const $push16=, 58
+ i32.ne $push17=, $5, $pop16
+ br_if $pop17, 1 # 1: down to label10
# BB#9: # %if.then39.i
- i32.add $1=, $8, $3
+ i32.const $push18=, 1
+ i32.add $5=, $3, $pop18
i32.const $push19=, 0
- i32.store8 $discard=, 0($8), $pop19
- copy_local $8=, $1
+ i32.store8 $discard=, 0($3), $pop19
+ copy_local $3=, $5
.LBB2_10: # %if.end
end_block # label11:
i32.const $push20=, main.addr
- i32.call $discard=, strcpy@FUNCTION, $pop20, $8
+ i32.call $discard=, strcpy@FUNCTION, $pop20, $3
i32.const $push21=, 0
return $pop21
.LBB2_11: # %if.then
@@ -197,7 +209,7 @@ main: # @main
.type main.addr,@object # @main.addr
.section .data.main.addr,"aw",@progbits
- .align 4
+ .p2align 4
main.addr:
.asciz "10.11.12.13:/hello"
.size main.addr, 19
diff --git a/test/torture-s/20031211-1.c.s b/test/torture-s/20031211-1.c.s
index 6a66dfdc1..1d261c0bc 100644
--- a/test/torture-s/20031211-1.c.s
+++ b/test/torture-s/20031211-1.c.s
@@ -6,12 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 48879
- i32.store $discard=, x($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, x($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end0:
@@ -21,7 +21,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.int32 0 # 0x0
.size x, 4
diff --git a/test/torture-s/20031214-1.c.s b/test/torture-s/20031214-1.c.s
index 4c53b841b..1dcf25dfa 100644
--- a/test/torture-s/20031214-1.c.s
+++ b/test/torture-s/20031214-1.c.s
@@ -18,20 +18,28 @@ b: # @b
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, k($0)
- i32.load $2=, g+8($0)
- i32.load $3=, g+12($0)
- i32.gt_s $push0=, $1, $2
- i32.select $1=, $pop0, $1, $2
- i32.gt_s $push1=, $1, $3
- i32.select $push2=, $pop1, $1, $3
- i32.const $push3=, 1
- i32.add $push4=, $pop2, $pop3
- i32.store $discard=, k($0), $pop4
- return $0
+ i32.const $push0=, 0
+ i32.const $push17=, 0
+ i32.load $push1=, k($pop17)
+ tee_local $push16=, $1=, $pop1
+ i32.const $push15=, 0
+ i32.load $push2=, g+8($pop15):p2align=3
+ tee_local $push14=, $0=, $pop2
+ i32.gt_s $push3=, $pop16, $pop14
+ i32.select $push4=, $pop3, $1, $0
+ tee_local $push13=, $1=, $pop4
+ i32.const $push12=, 0
+ i32.load $push5=, g+12($pop12)
+ tee_local $push11=, $0=, $pop5
+ i32.gt_s $push6=, $pop13, $pop11
+ i32.select $push7=, $pop6, $1, $0
+ i32.const $push8=, 1
+ i32.add $push9=, $pop7, $pop8
+ i32.store $discard=, k($pop0), $pop9
+ i32.const $push10=, 0
+ return $pop10
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -40,7 +48,7 @@ main: # @main
.type g,@object
.section .data.g,"aw",@progbits
.globl g
- .align 3
+ .p2align 3
g:
.int64 0 # double 0
.int32 1 # 0x1
@@ -51,7 +59,7 @@ g:
.type k,@object
.section .bss.k,"aw",@nobits
.globl k
- .align 2
+ .p2align 2
k:
.int32 0 # 0x0
.size k, 4
diff --git a/test/torture-s/20031215-1.c.s b/test/torture-s/20031215-1.c.s
index 21ccf1429..104e2c7e2 100644
--- a/test/torture-s/20031215-1.c.s
+++ b/test/torture-s/20031215-1.c.s
@@ -50,7 +50,7 @@ main: # @main
.type ao,@object
.section .rodata.ao,"a",@progbits
.globl ao
- .align 2
+ .p2align 2
ao:
.int32 2 # 0x2
.int32 2 # 0x2
@@ -62,7 +62,7 @@ ao:
.type a,@object
.section .data.rel.ro.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 ao
.size a, 4
diff --git a/test/torture-s/20040218-1.c.s b/test/torture-s/20040218-1.c.s
index 373f66e70..fef655638 100644
--- a/test/torture-s/20040218-1.c.s
+++ b/test/torture-s/20040218-1.c.s
@@ -8,7 +8,7 @@ xb: # @xb
.param i32
.result i32
# BB#0: # %entry
- i32.load8_u $push0=, 0($0)
+ i32.load8_u $push0=, 0($0):p2align=2
i32.load $push1=, 4($0)
i32.add $push2=, $pop0, $pop1
return $pop2
@@ -24,7 +24,7 @@ xw: # @xw
.param i32
.result i32
# BB#0: # %entry
- i32.load16_u $push0=, 0($0)
+ i32.load16_u $push0=, 0($0):p2align=2
i32.load $push1=, 4($0)
i32.add $push2=, $pop0, $pop1
return $pop2
@@ -39,15 +39,15 @@ xw: # @xw
yb: # @yb
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 16
- i32.load8_u $push0=, 0($0)
+ i32.load8_u $push0=, 0($0):p2align=1
i32.load16_u $push1=, 2($0)
i32.add $push2=, $pop0, $pop1
- i32.shl $push3=, $pop2, $1
- i32.shr_s $push4=, $pop3, $1
- return $pop4
+ i32.const $push3=, 16
+ i32.shl $push4=, $pop2, $pop3
+ i32.const $push6=, 16
+ i32.shr_s $push5=, $pop4, $pop6
+ return $pop5
.endfunc
.Lfunc_end2:
.size yb, .Lfunc_end2-yb
@@ -58,43 +58,44 @@ yb: # @yb
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
- i32.const $3=, 16
- i32.sub $7=, $2, $3
- i32.const $3=, __stack_pointer
- i32.store $7=, 0($3), $7
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $5=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $5=, 0($1), $5
i32.const $push1=, 1048641535
- i32.store $discard=, 4($7), $pop1
+ i32.store $discard=, 4($5), $pop1
i64.const $push0=, 68723771703295
- i64.store $discard=, 8($7), $pop0
- i32.const $4=, 8
- i32.add $4=, $7, $4
- i32.call $0=, xb@FUNCTION, $4
- i32.const $1=, 16255
+ i64.store $discard=, 8($5), $pop0
+ i32.const $2=, 8
+ i32.add $2=, $5, $2
block
- i32.ne $push2=, $0, $1
- br_if $pop2, 0 # 0: down to label0
+ i32.call $push2=, xb@FUNCTION, $2
+ i32.const $push3=, 16255
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.const $5=, 8
- i32.add $5=, $7, $5
- i32.call $push3=, xw@FUNCTION, $5
- i32.const $push4=, 81535
- i32.ne $push5=, $pop3, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $3=, 8
+ i32.add $3=, $5, $3
+ i32.call $push5=, xw@FUNCTION, $3
+ i32.const $push6=, 81535
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#2: # %lor.lhs.false4
- i32.const $6=, 4
- i32.add $6=, $7, $6
- i32.call $push6=, yb@FUNCTION, $6
- i32.const $push7=, 65535
- i32.and $push8=, $pop6, $pop7
- i32.ne $push9=, $pop8, $1
- br_if $pop9, 0 # 0: down to label0
+ i32.const $4=, 4
+ i32.add $4=, $5, $4
+ i32.call $push8=, yb@FUNCTION, $4
+ i32.const $push9=, 65535
+ i32.and $push10=, $pop8, $pop9
+ i32.const $push11=, 16255
+ i32.ne $push12=, $pop10, $pop11
+ br_if $pop12, 0 # 0: down to label0
# BB#3: # %if.end
- i32.const $push10=, 0
- call exit@FUNCTION, $pop10
+ i32.const $push13=, 0
+ call exit@FUNCTION, $pop13
unreachable
.LBB3_4: # %if.then
end_block # label0:
diff --git a/test/torture-s/20040309-1.c.s b/test/torture-s/20040309-1.c.s
index d0dec003b..9b9784996 100644
--- a/test/torture-s/20040309-1.c.s
+++ b/test/torture-s/20040309-1.c.s
@@ -7,24 +7,25 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 16
- i32.const $2=, 0
+ i32.const $1=, 0
block
- i32.shl $push0=, $0, $1
- i32.shr_s $push1=, $pop0, $1
- i32.const $push2=, -1
- i32.gt_s $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push0=, 16
+ i32.shl $push1=, $0, $pop0
+ i32.const $push8=, 16
+ i32.shr_s $push2=, $pop1, $pop8
+ i32.const $push3=, -1
+ i32.gt_s $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %cond.true
- i32.const $push4=, 32768
- i32.add $push5=, $0, $pop4
- i32.const $push6=, 65535
- i32.and $2=, $pop5, $pop6
+ i32.const $push5=, 32768
+ i32.add $push6=, $0, $pop5
+ i32.const $push7=, 65535
+ i32.and $1=, $pop6, $pop7
.LBB0_2: # %cond.end
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/20040411-1.c.s b/test/torture-s/20040411-1.c.s
index 32fa4b091..e4ecc0574 100644
--- a/test/torture-s/20040411-1.c.s
+++ b/test/torture-s/20040411-1.c.s
@@ -7,16 +7,18 @@
sub1: # @sub1
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 2
- i32.add $0=, $0, $2
- i32.eq $push0=, $1, $2
- i32.shl $push1=, $0, $2
- i32.const $push2=, 12
- i32.mul $push3=, $0, $pop2
- i32.select $push4=, $pop0, $pop1, $pop3
- return $pop4
+ i32.const $push0=, 2
+ i32.eq $push2=, $1, $pop0
+ i32.const $push9=, 2
+ i32.add $push1=, $0, $pop9
+ tee_local $push8=, $1=, $pop1
+ i32.const $push7=, 2
+ i32.shl $push3=, $pop8, $pop7
+ i32.const $push4=, 12
+ i32.mul $push5=, $1, $pop4
+ i32.select $push6=, $pop2, $pop3, $pop5
+ return $pop6
.endfunc
.Lfunc_end0:
.size sub1, .Lfunc_end0-sub1
diff --git a/test/torture-s/20040625-1.c.s b/test/torture-s/20040625-1.c.s
new file mode 100644
index 000000000..b0ec0dd23
--- /dev/null
+++ b/test/torture-s/20040625-1.c.s
@@ -0,0 +1,59 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20040625-1.c"
+ .section .text.maybe_next,"ax",@progbits
+ .hidden maybe_next
+ .globl maybe_next
+ .type maybe_next,@function
+maybe_next: # @maybe_next
+ .param i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push0=, 0
+ i32.eq $push1=, $1, $pop0
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %if.then
+ i32.load $0=, 0($0):p2align=0
+.LBB0_2: # %if.end
+ end_block # label0:
+ return $0
+ .endfunc
+.Lfunc_end0:
+ .size maybe_next, .Lfunc_end0-maybe_next
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i32.store $discard=, 8($3):p2align=3, $3
+ i32.const $push0=, 1
+ i32.const $2=, 8
+ i32.add $2=, $3, $2
+ block
+ i32.call $push1=, maybe_next@FUNCTION, $2, $pop0
+ i32.ne $push2=, $pop1, $3
+ br_if $pop2, 0 # 0: down to label1
+# BB#1: # %if.end
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
+ unreachable
+.LBB1_2: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20040629-1.c.s b/test/torture-s/20040629-1.c.s
index 17f217950..5c005181f 100644
--- a/test/torture-s/20040629-1.c.s
+++ b/test/torture-s/20040629-1.c.s
@@ -108,7 +108,7 @@ ret7: # @ret7
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load16_u $push1=, d($pop0)
+ i32.load16_u $push1=, d($pop0):p2align=2
return $pop1
.endfunc
.Lfunc_end6:
@@ -122,7 +122,7 @@ ret8: # @ret8
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load8_u $push1=, d+2($pop0)
+ i32.load8_u $push1=, d+2($pop0):p2align=1
return $pop1
.endfunc
.Lfunc_end7:
@@ -148,17 +148,19 @@ ret9: # @ret9
.type fn1_1,@function
fn1_1: # @fn1_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.add $push0=, $2, $0
- i32.const $push1=, 63
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b($pop9)
+ tee_local $push8=, $1=, $pop1
+ i32.add $push2=, $pop8, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0), $pop7
return
.endfunc
.Lfunc_end9:
@@ -170,19 +172,21 @@ fn1_1: # @fn1_1
.type fn2_1,@function
fn2_1: # @fn2_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.add $push2=, $2, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop10, $pop3
+ i32.const $push5=, 131008
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -131009
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0), $pop9
return
.endfunc
.Lfunc_end10:
@@ -194,14 +198,14 @@ fn2_1: # @fn2_1
.type fn3_1,@function
fn3_1: # @fn3_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 17
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop0, $pop2
- i32.store $discard=, b($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, b($pop5)
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $discard=, b($pop0), $pop4
return
.endfunc
.Lfunc_end11:
@@ -213,17 +217,19 @@ fn3_1: # @fn3_1
.type fn4_1,@function
fn4_1: # @fn4_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.add $push0=, $2, $0
- i32.const $push1=, 31
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c($pop9)
+ tee_local $push8=, $1=, $pop1
+ i32.add $push2=, $pop8, $0
+ i32.const $push3=, 31
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c($pop0), $pop7
return
.endfunc
.Lfunc_end12:
@@ -235,19 +241,21 @@ fn4_1: # @fn4_1
.type fn5_1,@function
fn5_1: # @fn5_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 5
- i32.shl $push1=, $0, $pop0
- i32.add $push2=, $2, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop10, $pop3
+ i32.const $push5=, 32
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -33
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0), $pop9
return
.endfunc
.Lfunc_end13:
@@ -259,14 +267,14 @@ fn5_1: # @fn5_1
.type fn6_1,@function
fn6_1: # @fn6_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop0, $pop2
- i32.store $discard=, c($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, c($pop5)
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $discard=, c($pop0), $pop4
return
.endfunc
.Lfunc_end14:
@@ -278,12 +286,12 @@ fn6_1: # @fn6_1
.type fn7_1,@function
fn7_1: # @fn7_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.add $push1=, $pop0, $0
- i32.store16 $discard=, d($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load $push1=, d($pop3)
+ i32.add $push2=, $pop1, $0
+ i32.store16 $discard=, d($pop0):p2align=2, $pop2
return
.endfunc
.Lfunc_end15:
@@ -295,15 +303,16 @@ fn7_1: # @fn7_1
.type fn8_1,@function
fn8_1: # @fn8_1
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 16
- i32.load $push0=, d($1)
- i32.shl $push1=, $0, $2
- i32.add $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+2($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7)
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.const $push6=, 16
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end16:
@@ -315,14 +324,14 @@ fn8_1: # @fn8_1
.type fn9_1,@function
fn9_1: # @fn9_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 24
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop0, $pop2
- i32.store $discard=, d($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, d($pop5)
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $discard=, d($pop0), $pop4
return
.endfunc
.Lfunc_end17:
@@ -334,18 +343,20 @@ fn9_1: # @fn9_1
.type fn1_2,@function
fn1_2: # @fn1_2
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end18:
@@ -357,18 +368,20 @@ fn1_2: # @fn1_2
.type fn2_2,@function
fn2_2: # @fn2_2
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 64
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 64
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end19:
@@ -380,13 +393,13 @@ fn2_2: # @fn2_2
.type fn3_2,@function
fn3_2: # @fn3_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, 131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end20:
@@ -398,18 +411,20 @@ fn3_2: # @fn3_2
.type fn4_2,@function
fn4_2: # @fn4_2
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0), $pop8
return
.endfunc
.Lfunc_end21:
@@ -421,13 +436,13 @@ fn4_2: # @fn4_2
.type fn5_2,@function
fn5_2: # @fn5_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end22:
@@ -439,13 +454,13 @@ fn5_2: # @fn5_2
.type fn6_2,@function
fn6_2: # @fn6_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end23:
@@ -457,13 +472,13 @@ fn6_2: # @fn6_2
.type fn7_2,@function
fn7_2: # @fn7_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=2, $pop3
return
.endfunc
.Lfunc_end24:
@@ -475,15 +490,15 @@ fn7_2: # @fn7_2
.type fn8_2,@function
fn8_2: # @fn8_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65536
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6)
+ i32.const $push2=, 65536
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end25:
@@ -495,13 +510,13 @@ fn8_2: # @fn8_2
.type fn9_2,@function
fn9_2: # @fn9_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end26:
@@ -513,18 +528,20 @@ fn9_2: # @fn9_2
.type fn1_3,@function
fn1_3: # @fn1_3
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end27:
@@ -536,18 +553,20 @@ fn1_3: # @fn1_3
.type fn2_3,@function
fn2_3: # @fn2_3
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 64
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 64
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end28:
@@ -559,13 +578,13 @@ fn2_3: # @fn2_3
.type fn3_3,@function
fn3_3: # @fn3_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, 131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end29:
@@ -577,18 +596,20 @@ fn3_3: # @fn3_3
.type fn4_3,@function
fn4_3: # @fn4_3
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0), $pop8
return
.endfunc
.Lfunc_end30:
@@ -600,13 +621,13 @@ fn4_3: # @fn4_3
.type fn5_3,@function
fn5_3: # @fn5_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end31:
@@ -618,13 +639,13 @@ fn5_3: # @fn5_3
.type fn6_3,@function
fn6_3: # @fn6_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end32:
@@ -636,13 +657,13 @@ fn6_3: # @fn6_3
.type fn7_3,@function
fn7_3: # @fn7_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=2, $pop3
return
.endfunc
.Lfunc_end33:
@@ -654,15 +675,15 @@ fn7_3: # @fn7_3
.type fn8_3,@function
fn8_3: # @fn8_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65536
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6)
+ i32.const $push2=, 65536
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end34:
@@ -674,13 +695,13 @@ fn8_3: # @fn8_3
.type fn9_3,@function
fn9_3: # @fn9_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end35:
@@ -692,17 +713,19 @@ fn9_3: # @fn9_3
.type fn1_4,@function
fn1_4: # @fn1_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.sub $push0=, $2, $0
- i32.const $push1=, 63
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b($pop9)
+ tee_local $push8=, $1=, $pop1
+ i32.sub $push2=, $pop8, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0), $pop7
return
.endfunc
.Lfunc_end36:
@@ -714,19 +737,21 @@ fn1_4: # @fn1_4
.type fn2_4,@function
fn2_4: # @fn2_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, 131008
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -131009
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0), $pop9
return
.endfunc
.Lfunc_end37:
@@ -738,19 +763,21 @@ fn2_4: # @fn2_4
.type fn3_4,@function
fn3_4: # @fn3_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 17
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, -131072
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, 131071
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, -131072
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0), $pop9
return
.endfunc
.Lfunc_end38:
@@ -762,17 +789,19 @@ fn3_4: # @fn3_4
.type fn4_4,@function
fn4_4: # @fn4_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.sub $push0=, $2, $0
- i32.const $push1=, 31
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c($pop9)
+ tee_local $push8=, $1=, $pop1
+ i32.sub $push2=, $pop8, $0
+ i32.const $push3=, 31
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c($pop0), $pop7
return
.endfunc
.Lfunc_end39:
@@ -784,19 +813,21 @@ fn4_4: # @fn4_4
.type fn5_4,@function
fn5_4: # @fn5_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 5
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, 32
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -33
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0), $pop9
return
.endfunc
.Lfunc_end40:
@@ -808,19 +839,21 @@ fn5_4: # @fn5_4
.type fn6_4,@function
fn6_4: # @fn6_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, -64
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, 63
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, -64
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0), $pop9
return
.endfunc
.Lfunc_end41:
@@ -832,12 +865,12 @@ fn6_4: # @fn6_4
.type fn7_4,@function
fn7_4: # @fn7_4
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.sub $push1=, $pop0, $0
- i32.store16 $discard=, d($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load $push1=, d($pop3)
+ i32.sub $push2=, $pop1, $0
+ i32.store16 $discard=, d($pop0):p2align=2, $pop2
return
.endfunc
.Lfunc_end42:
@@ -849,15 +882,16 @@ fn7_4: # @fn7_4
.type fn8_4,@function
fn8_4: # @fn8_4
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 16
- i32.load $push0=, d($1)
- i32.shl $push1=, $0, $2
- i32.sub $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+2($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7)
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop1, $pop3
+ i32.const $push6=, 16
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end43:
@@ -869,15 +903,16 @@ fn8_4: # @fn8_4
.type fn9_4,@function
fn9_4: # @fn9_4
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 24
- i32.load $push0=, d($1)
- i32.shl $push1=, $0, $2
- i32.sub $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+3($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7)
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop1, $pop3
+ i32.const $push6=, 24
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+3($pop0), $pop5
return
.endfunc
.Lfunc_end44:
@@ -889,17 +924,20 @@ fn9_4: # @fn9_4
.type fn1_5,@function
fn1_5: # @fn1_5
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 63
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 63
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0), $pop7
return
.endfunc
.Lfunc_end45:
@@ -911,17 +949,20 @@ fn1_5: # @fn1_5
.type fn2_5,@function
fn2_5: # @fn2_5
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 131008
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -131009
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 131008
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 131008
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -131009
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0), $pop7
return
.endfunc
.Lfunc_end46:
@@ -933,13 +974,13 @@ fn2_5: # @fn2_5
.type fn3_5,@function
fn3_5: # @fn3_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, -131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, -131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end47:
@@ -951,17 +992,20 @@ fn3_5: # @fn3_5
.type fn4_5,@function
fn4_5: # @fn4_5
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 31
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, c($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 31
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c($pop0), $pop7
return
.endfunc
.Lfunc_end48:
@@ -973,13 +1017,13 @@ fn4_5: # @fn4_5
.type fn5_5,@function
fn5_5: # @fn5_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end49:
@@ -991,13 +1035,13 @@ fn5_5: # @fn5_5
.type fn6_5,@function
fn6_5: # @fn6_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, -64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, -64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end50:
@@ -1009,13 +1053,13 @@ fn6_5: # @fn6_5
.type fn7_5,@function
fn7_5: # @fn7_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65535
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 65535
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=2, $pop3
return
.endfunc
.Lfunc_end51:
@@ -1027,15 +1071,15 @@ fn7_5: # @fn7_5
.type fn8_5,@function
fn8_5: # @fn8_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16711680
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6)
+ i32.const $push2=, 16711680
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end52:
@@ -1047,13 +1091,13 @@ fn8_5: # @fn8_5
.type fn9_5,@function
fn9_5: # @fn9_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, -16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, -16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end53:
@@ -1065,17 +1109,20 @@ fn9_5: # @fn9_5
.type fn1_6,@function
fn1_6: # @fn1_6
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 63
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 63
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0), $pop7
return
.endfunc
.Lfunc_end54:
@@ -1087,17 +1134,20 @@ fn1_6: # @fn1_6
.type fn2_6,@function
fn2_6: # @fn2_6
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 131008
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -131009
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 131008
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 131008
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -131009
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0), $pop7
return
.endfunc
.Lfunc_end55:
@@ -1109,13 +1159,13 @@ fn2_6: # @fn2_6
.type fn3_6,@function
fn3_6: # @fn3_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, -131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, -131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end56:
@@ -1127,17 +1177,20 @@ fn3_6: # @fn3_6
.type fn4_6,@function
fn4_6: # @fn4_6
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 31
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, c($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 31
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c($pop0), $pop7
return
.endfunc
.Lfunc_end57:
@@ -1149,13 +1202,13 @@ fn4_6: # @fn4_6
.type fn5_6,@function
fn5_6: # @fn5_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end58:
@@ -1167,13 +1220,13 @@ fn5_6: # @fn5_6
.type fn6_6,@function
fn6_6: # @fn6_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, -64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, -64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end59:
@@ -1185,13 +1238,13 @@ fn6_6: # @fn6_6
.type fn7_6,@function
fn7_6: # @fn7_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65535
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 65535
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=2, $pop3
return
.endfunc
.Lfunc_end60:
@@ -1203,15 +1256,15 @@ fn7_6: # @fn7_6
.type fn8_6,@function
fn8_6: # @fn8_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16711680
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6)
+ i32.const $push2=, 16711680
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end61:
@@ -1223,13 +1276,13 @@ fn8_6: # @fn8_6
.type fn9_6,@function
fn9_6: # @fn9_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, -16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, -16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end62:
@@ -1241,14 +1294,14 @@ fn9_6: # @fn9_6
.type fn1_7,@function
fn1_7: # @fn1_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, -64
- i32.or $push2=, $0, $pop1
- i32.load $push0=, b($1)
- i32.and $push3=, $pop2, $pop0
- i32.store $discard=, b($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push2=, -64
+ i32.or $push3=, $0, $pop2
+ i32.const $push5=, 0
+ i32.load $push1=, b($pop5)
+ i32.and $push4=, $pop3, $pop1
+ i32.store $discard=, b($pop0), $pop4
return
.endfunc
.Lfunc_end63:
@@ -1260,16 +1313,16 @@ fn1_7: # @fn1_7
.type fn2_7,@function
fn2_7: # @fn2_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, -131009
- i32.or $push4=, $pop2, $pop3
- i32.load $push0=, b($1)
- i32.and $push5=, $pop4, $pop0
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, -131009
+ i32.or $push5=, $pop3, $pop4
+ i32.const $push7=, 0
+ i32.load $push1=, b($pop7)
+ i32.and $push6=, $pop5, $pop1
+ i32.store $discard=, b($pop0), $pop6
return
.endfunc
.Lfunc_end64:
@@ -1281,16 +1334,16 @@ fn2_7: # @fn2_7
.type fn3_7,@function
fn3_7: # @fn3_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 17
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 131071
- i32.or $push4=, $pop2, $pop3
- i32.and $push5=, $pop0, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, b($pop7)
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 131071
+ i32.or $push5=, $pop3, $pop4
+ i32.and $push6=, $pop1, $pop5
+ i32.store $discard=, b($pop0), $pop6
return
.endfunc
.Lfunc_end65:
@@ -1302,14 +1355,14 @@ fn3_7: # @fn3_7
.type fn4_7,@function
fn4_7: # @fn4_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, -32
- i32.or $push2=, $0, $pop1
- i32.load $push0=, c($1)
- i32.and $push3=, $pop2, $pop0
- i32.store $discard=, c($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push2=, -32
+ i32.or $push3=, $0, $pop2
+ i32.const $push5=, 0
+ i32.load $push1=, c($pop5)
+ i32.and $push4=, $pop3, $pop1
+ i32.store $discard=, c($pop0), $pop4
return
.endfunc
.Lfunc_end66:
@@ -1321,16 +1374,16 @@ fn4_7: # @fn4_7
.type fn5_7,@function
fn5_7: # @fn5_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, 5
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, -33
- i32.or $push4=, $pop2, $pop3
- i32.load $push0=, c($1)
- i32.and $push5=, $pop4, $pop0
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, -33
+ i32.or $push5=, $pop3, $pop4
+ i32.const $push7=, 0
+ i32.load $push1=, c($pop7)
+ i32.and $push6=, $pop5, $pop1
+ i32.store $discard=, c($pop0), $pop6
return
.endfunc
.Lfunc_end67:
@@ -1342,16 +1395,16 @@ fn5_7: # @fn5_7
.type fn6_7,@function
fn6_7: # @fn6_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 63
- i32.or $push4=, $pop2, $pop3
- i32.and $push5=, $pop0, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, c($pop7)
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 63
+ i32.or $push5=, $pop3, $pop4
+ i32.and $push6=, $pop1, $pop5
+ i32.store $discard=, c($pop0), $pop6
return
.endfunc
.Lfunc_end68:
@@ -1363,14 +1416,14 @@ fn6_7: # @fn6_7
.type fn7_7,@function
fn7_7: # @fn7_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, -65536
- i32.or $push2=, $0, $pop1
- i32.load $push0=, d($1)
- i32.and $push3=, $pop2, $pop0
- i32.store $discard=, d($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push2=, -65536
+ i32.or $push3=, $0, $pop2
+ i32.const $push5=, 0
+ i32.load $push1=, d($pop5)
+ i32.and $push4=, $pop3, $pop1
+ i32.store $discard=, d($pop0), $pop4
return
.endfunc
.Lfunc_end69:
@@ -1382,16 +1435,16 @@ fn7_7: # @fn7_7
.type fn8_7,@function
fn8_7: # @fn8_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, 16
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, -16711681
- i32.or $push4=, $pop2, $pop3
- i32.load $push0=, d($1)
- i32.and $push5=, $pop4, $pop0
- i32.store $discard=, d($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, -16711681
+ i32.or $push5=, $pop3, $pop4
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7)
+ i32.and $push6=, $pop5, $pop1
+ i32.store $discard=, d($pop0), $pop6
return
.endfunc
.Lfunc_end70:
@@ -1403,16 +1456,16 @@ fn8_7: # @fn8_7
.type fn9_7,@function
fn9_7: # @fn9_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 24
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 16777215
- i32.or $push4=, $pop2, $pop3
- i32.and $push5=, $pop0, $pop4
- i32.store $discard=, d($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7)
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 16777215
+ i32.or $push5=, $pop3, $pop4
+ i32.and $push6=, $pop1, $pop5
+ i32.store $discard=, d($pop0), $pop6
return
.endfunc
.Lfunc_end71:
@@ -1424,14 +1477,14 @@ fn9_7: # @fn9_7
.type fn1_8,@function
fn1_8: # @fn1_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 63
- i32.and $push2=, $0, $pop1
- i32.or $push3=, $pop0, $pop2
- i32.store $discard=, b($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, b($pop5)
+ i32.const $push2=, 63
+ i32.and $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.store $discard=, b($pop0), $pop4
return
.endfunc
.Lfunc_end72:
@@ -1443,16 +1496,16 @@ fn1_8: # @fn1_8
.type fn2_8,@function
fn2_8: # @fn2_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.or $push5=, $pop0, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, b($pop7)
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.or $push6=, $pop1, $pop5
+ i32.store $discard=, b($pop0), $pop6
return
.endfunc
.Lfunc_end73:
@@ -1464,19 +1517,21 @@ fn2_8: # @fn2_8
.type fn3_8,@function
fn3_8: # @fn3_8
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push2=, -131072
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 17
- i32.shl $push1=, $0, $pop0
- i32.or $push4=, $pop3, $pop1
- i32.const $push5=, 131071
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -131072
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.or $push6=, $pop5, $pop3
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0), $pop9
return
.endfunc
.Lfunc_end74:
@@ -1488,14 +1543,14 @@ fn3_8: # @fn3_8
.type fn4_8,@function
fn4_8: # @fn4_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 31
- i32.and $push2=, $0, $pop1
- i32.or $push3=, $pop0, $pop2
- i32.store $discard=, c($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, c($pop5)
+ i32.const $push2=, 31
+ i32.and $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.store $discard=, c($pop0), $pop4
return
.endfunc
.Lfunc_end75:
@@ -1507,16 +1562,16 @@ fn4_8: # @fn4_8
.type fn5_8,@function
fn5_8: # @fn5_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 5
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.or $push5=, $pop0, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, c($pop7)
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 32
+ i32.and $push5=, $pop3, $pop4
+ i32.or $push6=, $pop1, $pop5
+ i32.store $discard=, c($pop0), $pop6
return
.endfunc
.Lfunc_end76:
@@ -1528,19 +1583,21 @@ fn5_8: # @fn5_8
.type fn6_8,@function
fn6_8: # @fn6_8
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.or $push4=, $pop3, $pop1
- i32.const $push5=, 63
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -64
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.or $push6=, $pop5, $pop3
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0), $pop9
return
.endfunc
.Lfunc_end77:
@@ -1552,14 +1609,14 @@ fn6_8: # @fn6_8
.type fn7_8,@function
fn7_8: # @fn7_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65535
- i32.and $push2=, $0, $pop1
- i32.or $push3=, $pop0, $pop2
- i32.store $discard=, d($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, d($pop5)
+ i32.const $push2=, 65535
+ i32.and $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.store $discard=, d($pop0), $pop4
return
.endfunc
.Lfunc_end78:
@@ -1571,16 +1628,16 @@ fn7_8: # @fn7_8
.type fn8_8,@function
fn8_8: # @fn8_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 16711680
- i32.and $push4=, $pop2, $pop3
- i32.or $push5=, $pop0, $pop4
- i32.store $discard=, d($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7)
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 16711680
+ i32.and $push5=, $pop3, $pop4
+ i32.or $push6=, $pop1, $pop5
+ i32.store $discard=, d($pop0), $pop6
return
.endfunc
.Lfunc_end79:
@@ -1592,15 +1649,16 @@ fn8_8: # @fn8_8
.type fn9_8,@function
fn9_8: # @fn9_8
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 24
- i32.load $push0=, d($1)
- i32.shl $push1=, $0, $2
- i32.or $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+3($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7)
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.const $push6=, 24
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+3($pop0), $pop5
return
.endfunc
.Lfunc_end80:
@@ -1612,14 +1670,14 @@ fn9_8: # @fn9_8
.type fn1_9,@function
fn1_9: # @fn1_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 63
- i32.and $push2=, $0, $pop1
- i32.xor $push3=, $pop0, $pop2
- i32.store $discard=, b($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, b($pop5)
+ i32.const $push2=, 63
+ i32.and $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.store $discard=, b($pop0), $pop4
return
.endfunc
.Lfunc_end81:
@@ -1631,16 +1689,16 @@ fn1_9: # @fn1_9
.type fn2_9,@function
fn2_9: # @fn2_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.xor $push5=, $pop0, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, b($pop7)
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.xor $push6=, $pop1, $pop5
+ i32.store $discard=, b($pop0), $pop6
return
.endfunc
.Lfunc_end82:
@@ -1652,19 +1710,21 @@ fn2_9: # @fn2_9
.type fn3_9,@function
fn3_9: # @fn3_9
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push2=, -131072
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 17
- i32.shl $push1=, $0, $pop0
- i32.xor $push4=, $pop3, $pop1
- i32.const $push5=, 131071
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -131072
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.xor $push6=, $pop5, $pop3
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0), $pop9
return
.endfunc
.Lfunc_end83:
@@ -1676,14 +1736,14 @@ fn3_9: # @fn3_9
.type fn4_9,@function
fn4_9: # @fn4_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 31
- i32.and $push2=, $0, $pop1
- i32.xor $push3=, $pop0, $pop2
- i32.store $discard=, c($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, c($pop5)
+ i32.const $push2=, 31
+ i32.and $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.store $discard=, c($pop0), $pop4
return
.endfunc
.Lfunc_end84:
@@ -1695,16 +1755,16 @@ fn4_9: # @fn4_9
.type fn5_9,@function
fn5_9: # @fn5_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 5
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.xor $push5=, $pop0, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, c($pop7)
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 32
+ i32.and $push5=, $pop3, $pop4
+ i32.xor $push6=, $pop1, $pop5
+ i32.store $discard=, c($pop0), $pop6
return
.endfunc
.Lfunc_end85:
@@ -1716,19 +1776,21 @@ fn5_9: # @fn5_9
.type fn6_9,@function
fn6_9: # @fn6_9
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.xor $push4=, $pop3, $pop1
- i32.const $push5=, 63
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -64
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.xor $push6=, $pop5, $pop3
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0), $pop9
return
.endfunc
.Lfunc_end86:
@@ -1740,14 +1802,14 @@ fn6_9: # @fn6_9
.type fn7_9,@function
fn7_9: # @fn7_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65535
- i32.and $push2=, $0, $pop1
- i32.xor $push3=, $pop0, $pop2
- i32.store $discard=, d($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, d($pop5)
+ i32.const $push2=, 65535
+ i32.and $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.store $discard=, d($pop0), $pop4
return
.endfunc
.Lfunc_end87:
@@ -1759,16 +1821,16 @@ fn7_9: # @fn7_9
.type fn8_9,@function
fn8_9: # @fn8_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 16711680
- i32.and $push4=, $pop2, $pop3
- i32.xor $push5=, $pop0, $pop4
- i32.store $discard=, d($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7)
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 16711680
+ i32.and $push5=, $pop3, $pop4
+ i32.xor $push6=, $pop1, $pop5
+ i32.store $discard=, d($pop0), $pop6
return
.endfunc
.Lfunc_end88:
@@ -1780,15 +1842,16 @@ fn8_9: # @fn8_9
.type fn9_9,@function
fn9_9: # @fn9_9
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 24
- i32.load $push0=, d($1)
- i32.shl $push1=, $0, $2
- i32.xor $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+3($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7)
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.const $push6=, 24
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+3($pop0), $pop5
return
.endfunc
.Lfunc_end89:
@@ -1800,17 +1863,19 @@ fn9_9: # @fn9_9
.type fn1_a,@function
fn1_a: # @fn1_a
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.div_u $0=, $pop1, $0
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop3, $0
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b($pop9)
+ tee_local $push8=, $1=, $pop1
+ i32.const $push5=, -64
+ i32.and $push6=, $pop8, $pop5
+ i32.const $push2=, 63
+ i32.and $push3=, $1, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.or $push7=, $pop6, $pop4
+ i32.store $discard=, b($pop0), $pop7
return
.endfunc
.Lfunc_end90:
@@ -1822,20 +1887,23 @@ fn1_a: # @fn1_a
.type fn2_a,@function
fn2_a: # @fn2_a
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.div_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, b($pop13)
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.div_u $push6=, $pop5, $0
+ i32.const $push11=, 6
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -131009
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, b($pop0), $pop10
return
.endfunc
.Lfunc_end91:
@@ -1847,18 +1915,21 @@ fn2_a: # @fn2_a
.type fn3_a,@function
fn3_a: # @fn3_a
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 17
- i32.shr_u $push0=, $2, $3
- i32.div_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 131071
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.const $push9=, 17
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 131071
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end92:
@@ -1870,17 +1941,19 @@ fn3_a: # @fn3_a
.type fn4_a,@function
fn4_a: # @fn4_a
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.div_u $0=, $pop1, $0
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop3, $0
- i32.store $discard=, c($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c($pop9)
+ tee_local $push8=, $1=, $pop1
+ i32.const $push5=, -32
+ i32.and $push6=, $pop8, $pop5
+ i32.const $push2=, 31
+ i32.and $push3=, $1, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.or $push7=, $pop6, $pop4
+ i32.store $discard=, c($pop0), $pop7
return
.endfunc
.Lfunc_end93:
@@ -1892,20 +1965,23 @@ fn4_a: # @fn4_a
.type fn5_a,@function
fn5_a: # @fn5_a
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 5
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 1
- i32.and $push2=, $pop0, $pop1
- i32.div_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, c($pop13)
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ i32.div_u $push6=, $pop5, $0
+ i32.const $push11=, 5
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -33
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, c($pop0), $pop10
return
.endfunc
.Lfunc_end94:
@@ -1917,18 +1993,21 @@ fn5_a: # @fn5_a
.type fn6_a,@function
fn6_a: # @fn6_a
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.div_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 63
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.const $push9=, 6
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 63
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0), $pop8
return
.endfunc
.Lfunc_end95:
@@ -1940,12 +2019,12 @@ fn6_a: # @fn6_a
.type fn7_a,@function
fn7_a: # @fn7_a
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d($1)
- i32.div_u $push1=, $pop0, $0
- i32.store16 $discard=, d($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load16_u $push1=, d($pop3):p2align=2
+ i32.div_u $push2=, $pop1, $0
+ i32.store16 $discard=, d($pop0):p2align=2, $pop2
return
.endfunc
.Lfunc_end96:
@@ -1957,12 +2036,12 @@ fn7_a: # @fn7_a
.type fn8_a,@function
fn8_a: # @fn8_a
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+2($1)
- i32.div_u $push1=, $pop0, $0
- i32.store8 $discard=, d+2($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+2($pop3):p2align=1
+ i32.div_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop2
return
.endfunc
.Lfunc_end97:
@@ -1974,12 +2053,12 @@ fn8_a: # @fn8_a
.type fn9_a,@function
fn9_a: # @fn9_a
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+3($1)
- i32.div_u $push1=, $pop0, $0
- i32.store8 $discard=, d+3($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+3($pop3)
+ i32.div_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+3($pop0), $pop2
return
.endfunc
.Lfunc_end98:
@@ -1991,17 +2070,19 @@ fn9_a: # @fn9_a
.type fn1_b,@function
fn1_b: # @fn1_b
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.rem_u $0=, $pop1, $0
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $0, $pop3
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b($pop9)
+ tee_local $push8=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.and $push3=, $pop8, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0), $pop7
return
.endfunc
.Lfunc_end99:
@@ -2013,20 +2094,23 @@ fn1_b: # @fn1_b
.type fn2_b,@function
fn2_b: # @fn2_b
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.rem_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, b($pop13)
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.rem_u $push6=, $pop5, $0
+ i32.const $push11=, 6
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -131009
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, b($pop0), $pop10
return
.endfunc
.Lfunc_end100:
@@ -2038,18 +2122,21 @@ fn2_b: # @fn2_b
.type fn3_b,@function
fn3_b: # @fn3_b
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 17
- i32.shr_u $push0=, $2, $3
- i32.rem_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 131071
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push9=, 17
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 131071
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end101:
@@ -2061,17 +2148,19 @@ fn3_b: # @fn3_b
.type fn4_b,@function
fn4_b: # @fn4_b
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.rem_u $0=, $pop1, $0
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $0, $pop3
- i32.store $discard=, c($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c($pop9)
+ tee_local $push8=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.and $push3=, $pop8, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c($pop0), $pop7
return
.endfunc
.Lfunc_end102:
@@ -2083,20 +2172,23 @@ fn4_b: # @fn4_b
.type fn5_b,@function
fn5_b: # @fn5_b
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 5
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 1
- i32.and $push2=, $pop0, $pop1
- i32.rem_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, c($pop13)
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ i32.rem_u $push6=, $pop5, $0
+ i32.const $push11=, 5
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -33
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, c($pop0), $pop10
return
.endfunc
.Lfunc_end103:
@@ -2108,18 +2200,21 @@ fn5_b: # @fn5_b
.type fn6_b,@function
fn6_b: # @fn6_b
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.rem_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 63
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push9=, 6
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 63
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0), $pop8
return
.endfunc
.Lfunc_end104:
@@ -2131,12 +2226,12 @@ fn6_b: # @fn6_b
.type fn7_b,@function
fn7_b: # @fn7_b
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d($1)
- i32.rem_u $push1=, $pop0, $0
- i32.store16 $discard=, d($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load16_u $push1=, d($pop3):p2align=2
+ i32.rem_u $push2=, $pop1, $0
+ i32.store16 $discard=, d($pop0):p2align=2, $pop2
return
.endfunc
.Lfunc_end105:
@@ -2148,12 +2243,12 @@ fn7_b: # @fn7_b
.type fn8_b,@function
fn8_b: # @fn8_b
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+2($1)
- i32.rem_u $push1=, $pop0, $0
- i32.store8 $discard=, d+2($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+2($pop3):p2align=1
+ i32.rem_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop2
return
.endfunc
.Lfunc_end106:
@@ -2165,12 +2260,12 @@ fn8_b: # @fn8_b
.type fn9_b,@function
fn9_b: # @fn9_b
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+3($1)
- i32.rem_u $push1=, $pop0, $0
- i32.store8 $discard=, d+3($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+3($pop3)
+ i32.rem_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+3($pop0), $pop2
return
.endfunc
.Lfunc_end107:
@@ -2182,18 +2277,20 @@ fn9_b: # @fn9_b
.type fn1_c,@function
fn1_c: # @fn1_c
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 3
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 3
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end108:
@@ -2205,18 +2302,20 @@ fn1_c: # @fn1_c
.type fn2_c,@function
fn2_c: # @fn2_c
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 192
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 192
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end109:
@@ -2228,13 +2327,13 @@ fn2_c: # @fn2_c
.type fn3_c,@function
fn3_c: # @fn3_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 393216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, 393216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end110:
@@ -2246,18 +2345,20 @@ fn3_c: # @fn3_c
.type fn4_c,@function
fn4_c: # @fn4_c
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 3
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 3
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0), $pop8
return
.endfunc
.Lfunc_end111:
@@ -2269,13 +2370,13 @@ fn4_c: # @fn4_c
.type fn5_c,@function
fn5_c: # @fn5_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end112:
@@ -2287,13 +2388,13 @@ fn5_c: # @fn5_c
.type fn6_c,@function
fn6_c: # @fn6_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 192
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 192
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end113:
@@ -2305,13 +2406,13 @@ fn6_c: # @fn6_c
.type fn7_c,@function
fn7_c: # @fn7_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 3
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=2, $pop3
return
.endfunc
.Lfunc_end114:
@@ -2323,15 +2424,15 @@ fn7_c: # @fn7_c
.type fn8_c,@function
fn8_c: # @fn8_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 196608
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6)
+ i32.const $push2=, 196608
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end115:
@@ -2343,13 +2444,13 @@ fn8_c: # @fn8_c
.type fn9_c,@function
fn9_c: # @fn9_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 50331648
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 50331648
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end116:
@@ -2361,18 +2462,20 @@ fn9_c: # @fn9_c
.type fn1_d,@function
fn1_d: # @fn1_d
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 57
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 57
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end117:
@@ -2384,18 +2487,20 @@ fn1_d: # @fn1_d
.type fn2_d,@function
fn2_d: # @fn2_d
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 130624
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 130624
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end118:
@@ -2407,13 +2512,13 @@ fn2_d: # @fn2_d
.type fn3_d,@function
fn3_d: # @fn3_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, -917504
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, -917504
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end119:
@@ -2425,18 +2530,20 @@ fn3_d: # @fn3_d
.type fn4_d,@function
fn4_d: # @fn4_d
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 25
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 25
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0), $pop8
return
.endfunc
.Lfunc_end120:
@@ -2448,13 +2555,13 @@ fn4_d: # @fn4_d
.type fn5_d,@function
fn5_d: # @fn5_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end121:
@@ -2466,13 +2573,13 @@ fn5_d: # @fn5_d
.type fn6_d,@function
fn6_d: # @fn6_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, -448
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, -448
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end122:
@@ -2484,13 +2591,13 @@ fn6_d: # @fn6_d
.type fn7_d,@function
fn7_d: # @fn7_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65529
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 65529
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=2, $pop3
return
.endfunc
.Lfunc_end123:
@@ -2502,15 +2609,15 @@ fn7_d: # @fn7_d
.type fn8_d,@function
fn8_d: # @fn8_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16318464
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6)
+ i32.const $push2=, 16318464
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end124:
@@ -2522,13 +2629,13 @@ fn8_d: # @fn8_d
.type fn9_d,@function
fn9_d: # @fn9_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, -117440512
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, -117440512
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end125:
@@ -2540,13 +2647,13 @@ fn9_d: # @fn9_d
.type fn1_e,@function
fn1_e: # @fn1_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, -43
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, -43
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end126:
@@ -2558,13 +2665,13 @@ fn1_e: # @fn1_e
.type fn2_e,@function
fn2_e: # @fn2_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, -129665
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, -129665
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end127:
@@ -2576,13 +2683,13 @@ fn2_e: # @fn2_e
.type fn3_e,@function
fn3_e: # @fn3_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 2883583
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, 2883583
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end128:
@@ -2594,13 +2701,13 @@ fn3_e: # @fn3_e
.type fn4_e,@function
fn4_e: # @fn4_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, -11
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, -11
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end129:
@@ -2624,13 +2731,13 @@ fn5_e: # @fn5_e
.type fn6_e,@function
fn6_e: # @fn6_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 1407
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 1407
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end131:
@@ -2642,13 +2749,13 @@ fn6_e: # @fn6_e
.type fn7_e,@function
fn7_e: # @fn7_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, -65515
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, -65515
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end132:
@@ -2660,13 +2767,13 @@ fn7_e: # @fn7_e
.type fn8_e,@function
fn8_e: # @fn8_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, -15335425
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, -15335425
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end133:
@@ -2678,13 +2785,13 @@ fn8_e: # @fn8_e
.type fn9_e,@function
fn9_e: # @fn9_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 369098751
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 369098751
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end134:
@@ -2696,13 +2803,13 @@ fn9_e: # @fn9_e
.type fn1_f,@function
fn1_f: # @fn1_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 19
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, 19
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end135:
@@ -2714,13 +2821,13 @@ fn1_f: # @fn1_f
.type fn2_f,@function
fn2_f: # @fn2_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 1216
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, 1216
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end136:
@@ -2732,13 +2839,13 @@ fn2_f: # @fn2_f
.type fn3_f,@function
fn3_f: # @fn3_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 2490368
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, 2490368
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end137:
@@ -2750,13 +2857,13 @@ fn3_f: # @fn3_f
.type fn4_f,@function
fn4_f: # @fn4_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 19
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 19
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end138:
@@ -2768,13 +2875,13 @@ fn4_f: # @fn4_f
.type fn5_f,@function
fn5_f: # @fn5_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 32
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end139:
@@ -2786,13 +2893,13 @@ fn5_f: # @fn5_f
.type fn6_f,@function
fn6_f: # @fn6_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 1216
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 1216
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end140:
@@ -2804,13 +2911,13 @@ fn6_f: # @fn6_f
.type fn7_f,@function
fn7_f: # @fn7_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 19
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 19
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end141:
@@ -2822,13 +2929,13 @@ fn7_f: # @fn7_f
.type fn8_f,@function
fn8_f: # @fn8_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 1245184
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 1245184
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end142:
@@ -2840,13 +2947,13 @@ fn8_f: # @fn8_f
.type fn9_f,@function
fn9_f: # @fn9_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 318767104
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 318767104
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end143:
@@ -2858,13 +2965,13 @@ fn9_f: # @fn9_f
.type fn1_g,@function
fn1_g: # @fn1_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 37
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, 37
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end144:
@@ -2876,13 +2983,13 @@ fn1_g: # @fn1_g
.type fn2_g,@function
fn2_g: # @fn2_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 2368
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, 2368
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end145:
@@ -2894,13 +3001,13 @@ fn2_g: # @fn2_g
.type fn3_g,@function
fn3_g: # @fn3_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 4849664
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
+ i32.const $push2=, 4849664
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0), $pop3
return
.endfunc
.Lfunc_end146:
@@ -2912,13 +3019,13 @@ fn3_g: # @fn3_g
.type fn4_g,@function
fn4_g: # @fn4_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 5
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 5
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end147:
@@ -2930,13 +3037,13 @@ fn4_g: # @fn4_g
.type fn5_g,@function
fn5_g: # @fn5_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end148:
@@ -2948,13 +3055,13 @@ fn5_g: # @fn5_g
.type fn6_g,@function
fn6_g: # @fn6_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 2368
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, 2368
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end149:
@@ -2966,13 +3073,13 @@ fn6_g: # @fn6_g
.type fn7_g,@function
fn7_g: # @fn7_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 37
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 37
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end150:
@@ -2984,13 +3091,13 @@ fn7_g: # @fn7_g
.type fn8_g,@function
fn8_g: # @fn8_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 2424832
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 2424832
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end151:
@@ -3002,13 +3109,13 @@ fn8_g: # @fn8_g
.type fn9_g,@function
fn9_g: # @fn9_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 620756992
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 620756992
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0), $pop3
return
.endfunc
.Lfunc_end152:
@@ -3020,18 +3127,20 @@ fn9_g: # @fn9_g
.type fn1_h,@function
fn1_h: # @fn1_h
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 17
- i32.div_u $3=, $pop1, $pop2
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 17
+ i32.div_u $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end153:
@@ -3043,21 +3152,24 @@ fn1_h: # @fn1_h
.type fn2_h,@function
fn2_h: # @fn2_h
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 17
- i32.div_u $push4=, $pop2, $pop3
- i32.shl $push5=, $pop4, $3
- i32.const $push6=, -131009
- i32.and $push7=, $2, $pop6
- i32.or $push8=, $pop5, $pop7
- i32.store $discard=, b($1), $pop8
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load $push1=, b($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, 17
+ i32.div_u $push7=, $pop5, $pop6
+ i32.const $push12=, 6
+ i32.shl $push8=, $pop7, $pop12
+ i32.const $push9=, -131009
+ i32.and $push10=, $1, $pop9
+ i32.or $push11=, $pop8, $pop10
+ i32.store $discard=, b($pop0), $pop11
return
.endfunc
.Lfunc_end154:
@@ -3069,18 +3181,20 @@ fn2_h: # @fn2_h
.type fn3_h,@function
fn3_h: # @fn3_h
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 2228224
- i32.div_u $push1=, $2, $pop0
- i32.const $push2=, 17
- i32.shl $push3=, $pop1, $pop2
- i32.const $push4=, 131071
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 2228224
+ i32.div_u $push3=, $pop9, $pop2
+ i32.const $push4=, 17
+ i32.shl $push5=, $pop3, $pop4
+ i32.const $push6=, 131071
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end155:
@@ -3092,18 +3206,20 @@ fn3_h: # @fn3_h
.type fn4_h,@function
fn4_h: # @fn4_h
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 17
- i32.div_u $3=, $pop1, $pop2
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 17
+ i32.div_u $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0), $pop8
return
.endfunc
.Lfunc_end156:
@@ -3115,13 +3231,13 @@ fn4_h: # @fn4_h
.type fn5_h,@function
fn5_h: # @fn5_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, -33
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push2=, -33
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0), $pop3
return
.endfunc
.Lfunc_end157:
@@ -3133,18 +3249,20 @@ fn5_h: # @fn5_h
.type fn6_h,@function
fn6_h: # @fn6_h
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 1088
- i32.div_u $push1=, $2, $pop0
- i32.const $push2=, 6
- i32.shl $push3=, $pop1, $pop2
- i32.const $push4=, 63
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1088
+ i32.div_u $push3=, $pop9, $pop2
+ i32.const $push4=, 6
+ i32.shl $push5=, $pop3, $pop4
+ i32.const $push6=, 63
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0), $pop8
return
.endfunc
.Lfunc_end158:
@@ -3156,13 +3274,13 @@ fn6_h: # @fn6_h
.type fn7_h,@function
fn7_h: # @fn7_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d($1)
- i32.const $push1=, 17
- i32.div_u $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load16_u $push1=, d($pop4):p2align=2
+ i32.const $push2=, 17
+ i32.div_u $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=2, $pop3
return
.endfunc
.Lfunc_end159:
@@ -3174,13 +3292,13 @@ fn7_h: # @fn7_h
.type fn8_h,@function
fn8_h: # @fn8_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+2($1)
- i32.const $push1=, 17
- i32.div_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+2($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load8_u $push1=, d+2($pop4):p2align=1
+ i32.const $push2=, 17
+ i32.div_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop3
return
.endfunc
.Lfunc_end160:
@@ -3192,13 +3310,13 @@ fn8_h: # @fn8_h
.type fn9_h,@function
fn9_h: # @fn9_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 285212672
- i32.div_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+3($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4)
+ i32.const $push2=, 285212672
+ i32.div_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+3($pop0), $pop3
return
.endfunc
.Lfunc_end161:
@@ -3210,18 +3328,20 @@ fn9_h: # @fn9_h
.type fn1_i,@function
fn1_i: # @fn1_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 19
- i32.rem_u $3=, $pop1, $pop2
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0), $pop8
return
.endfunc
.Lfunc_end162:
@@ -3233,21 +3353,24 @@ fn1_i: # @fn1_i
.type fn2_i,@function
fn2_i: # @fn2_i
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 19
- i32.rem_u $push4=, $pop2, $pop3
- i32.shl $push5=, $pop4, $3
- i32.const $push6=, -131009
- i32.and $push7=, $2, $pop6
- i32.or $push8=, $pop5, $pop7
- i32.store $discard=, b($1), $pop8
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load $push1=, b($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, 19
+ i32.rem_u $push7=, $pop5, $pop6
+ i32.const $push12=, 6
+ i32.shl $push8=, $pop7, $pop12
+ i32.const $push9=, -131009
+ i32.and $push10=, $1, $pop9
+ i32.or $push11=, $pop8, $pop10
+ i32.store $discard=, b($pop0), $pop11
return
.endfunc
.Lfunc_end163:
@@ -3259,19 +3382,22 @@ fn2_i: # @fn2_i
.type fn3_i,@function
fn3_i: # @fn3_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 17
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.shl $push3=, $pop2, $3
- i32.const $push4=, 131071
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push12=, 0
+ i32.load $push1=, b($pop12)
+ tee_local $push11=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop11, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push10=, 17
+ i32.shl $push6=, $pop5, $pop10
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0), $pop9
return
.endfunc
.Lfunc_end164:
@@ -3283,18 +3409,20 @@ fn3_i: # @fn3_i
.type fn4_i,@function
fn4_i: # @fn4_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 19
- i32.rem_u $3=, $pop1, $pop2
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0), $pop8
return
.endfunc
.Lfunc_end165:
@@ -3306,21 +3434,24 @@ fn4_i: # @fn4_i
.type fn5_i,@function
fn5_i: # @fn5_i
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 5
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 1
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 19
- i32.rem_u $push4=, $pop2, $pop3
- i32.shl $push5=, $pop4, $3
- i32.const $push6=, -33
- i32.and $push7=, $2, $pop6
- i32.or $push8=, $pop5, $pop7
- i32.store $discard=, c($1), $pop8
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load $push1=, c($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, 19
+ i32.rem_u $push7=, $pop5, $pop6
+ i32.const $push12=, 5
+ i32.shl $push8=, $pop7, $pop12
+ i32.const $push9=, -33
+ i32.and $push10=, $1, $pop9
+ i32.or $push11=, $pop8, $pop10
+ i32.store $discard=, c($pop0), $pop11
return
.endfunc
.Lfunc_end166:
@@ -3332,19 +3463,22 @@ fn5_i: # @fn5_i
.type fn6_i,@function
fn6_i: # @fn6_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.shl $push3=, $pop2, $3
- i32.const $push4=, 63
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push12=, 0
+ i32.load $push1=, c($pop12)
+ tee_local $push11=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop11, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push10=, 6
+ i32.shl $push6=, $pop5, $pop10
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0), $pop9
return
.endfunc
.Lfunc_end167:
@@ -3356,13 +3490,13 @@ fn6_i: # @fn6_i
.type fn7_i,@function
fn7_i: # @fn7_i
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d($1)
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load16_u $push1=, d($pop4):p2align=2
+ i32.const $push2=, 19
+ i32.rem_u $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=2, $pop3
return
.endfunc
.Lfunc_end168:
@@ -3374,13 +3508,13 @@ fn7_i: # @fn7_i
.type fn8_i,@function
fn8_i: # @fn8_i
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+2($1)
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+2($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load8_u $push1=, d+2($pop4):p2align=1
+ i32.const $push2=, 19
+ i32.rem_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop3
return
.endfunc
.Lfunc_end169:
@@ -3392,13 +3526,13 @@ fn8_i: # @fn8_i
.type fn9_i,@function
fn9_i: # @fn9_i
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+3($1)
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+3($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load8_u $push1=, d+3($pop4)
+ i32.const $push2=, 19
+ i32.rem_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+3($pop0), $pop3
return
.endfunc
.Lfunc_end170:
@@ -3410,16 +3544,18 @@ fn9_i: # @fn9_i
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end1610
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 560051
- i32.store $discard=, b($0), $pop0
- i32.const $push1=, -2147483595
- i32.store $discard=, c($0), $pop1
- i32.const $push2=, -1147377476
- i32.store $discard=, d($0), $pop2
- return $0
+ i32.store $discard=, b($pop1), $pop0
+ i32.const $push6=, 0
+ i32.const $push2=, -2147483595
+ i32.store $discard=, c($pop6), $pop2
+ i32.const $push5=, 0
+ i32.const $push3=, -1147377476
+ i32.store $discard=, d($pop5), $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end171:
.size main, .Lfunc_end171-main
@@ -3428,7 +3564,7 @@ main: # @main
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.skip 4
.size b, 4
@@ -3437,7 +3573,7 @@ b:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.skip 4
.size c, 4
@@ -3446,7 +3582,7 @@ c:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.skip 4
.size d, 4
diff --git a/test/torture-s/20040703-1.c.s b/test/torture-s/20040703-1.c.s
new file mode 100644
index 000000000..17ee6d540
--- /dev/null
+++ b/test/torture-s/20040703-1.c.s
@@ -0,0 +1,355 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20040703-1.c"
+ .section .text.num_lshift,"ax",@progbits
+ .hidden num_lshift
+ .globl num_lshift
+ .type num_lshift,@function
+num_lshift: # @num_lshift
+ .param i32, i32, i32, i32
+ .local i32, i32, i64, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ block
+ block
+ i32.ge_u $push5=, $3, $2
+ br_if $pop5, 0 # 0: down to label1
+# BB#1: # %if.else
+ i32.load $4=, 0($1)
+ i32.load $5=, 4($1)
+ copy_local $8=, $5
+ copy_local $9=, $4
+ copy_local $7=, $3
+ block
+ i32.const $push14=, 32
+ i32.lt_u $push15=, $3, $pop14
+ br_if $pop15, 0 # 0: down to label2
+# BB#2: # %if.then5
+ i32.const $push18=, 4
+ i32.add $push19=, $1, $pop18
+ i32.const $push16=, 0
+ i32.store $8=, 0($pop19), $pop16
+ i32.const $push17=, -32
+ i32.add $7=, $3, $pop17
+ i32.store $9=, 0($1), $5
+.LBB0_3: # %if.end
+ end_block # label2:
+ block
+ i32.const $push106=, 0
+ i32.eq $push107=, $7, $pop106
+ br_if $pop107, 0 # 0: down to label3
+# BB#4: # %if.then10
+ i32.const $push21=, 32
+ i32.sub $push22=, $pop21, $7
+ i32.shr_u $11=, $8, $pop22
+ i32.const $push23=, 4
+ i32.add $push24=, $1, $pop23
+ i32.shl $push1=, $8, $7
+ i32.store $8=, 0($pop24), $pop1
+ i32.shl $push20=, $9, $7
+ i32.or $push0=, $11, $pop20
+ i32.store $9=, 0($1), $pop0
+.LBB0_5: # %if.end18
+ end_block # label3:
+ i32.const $push25=, 8
+ i32.add $push26=, $1, $pop25
+ i64.load $6=, 0($pop26):p2align=2
+ block
+ block
+ i32.const $push27=, 33
+ i32.lt_u $push28=, $2, $pop27
+ br_if $pop28, 0 # 0: down to label5
+# BB#6: # %if.then.i
+ i32.const $push35=, -32
+ i32.add $push2=, $2, $pop35
+ tee_local $push97=, $7=, $pop2
+ i32.const $push36=, 31
+ i32.gt_u $push37=, $pop97, $pop36
+ br_if $pop37, 1 # 1: down to label4
+# BB#7: # %if.then2.i
+ i32.const $push38=, 1
+ i32.shl $push39=, $pop38, $7
+ i32.const $push40=, -1
+ i32.add $push41=, $pop39, $pop40
+ i32.and $9=, $9, $pop41
+ br 1 # 1: down to label4
+.LBB0_8: # %if.else.i
+ end_block # label5:
+ i32.const $9=, 0
+ i32.const $push29=, 31
+ i32.gt_u $push30=, $2, $pop29
+ br_if $pop30, 0 # 0: down to label4
+# BB#9: # %if.then5.i
+ i32.const $push31=, 1
+ i32.shl $push32=, $pop31, $2
+ i32.const $push33=, -1
+ i32.add $push34=, $pop32, $pop33
+ i32.and $8=, $8, $pop34
+.LBB0_10: # %num_trim.exit
+ end_block # label4:
+ i32.const $push42=, 4
+ i32.add $push43=, $1, $pop42
+ i32.store $7=, 0($pop43), $8
+ i32.store $8=, 0($1), $9
+ block
+ i32.wrap/i64 $push44=, $6
+ i32.const $push108=, 0
+ i32.eq $push109=, $pop44, $pop108
+ br_if $pop109, 0 # 0: down to label6
+# BB#11: # %if.then21
+ i32.const $push45=, 0
+ i32.store $discard=, 12($1), $pop45
+ br 2 # 2: down to label0
+.LBB0_12: # %if.else23
+ end_block # label6:
+ block
+ block
+ block
+ i32.const $push46=, 32
+ i32.le_u $push47=, $2, $pop46
+ br_if $pop47, 0 # 0: down to label9
+# BB#13: # %if.else8.i
+ i32.const $10=, 0
+ i32.const $push58=, 1
+ i32.const $push56=, -33
+ i32.add $push57=, $2, $pop56
+ i32.shl $push59=, $pop58, $pop57
+ i32.and $push60=, $8, $pop59
+ i32.const $push61=, -1
+ i32.const $push100=, 0
+ i32.select $11=, $pop60, $pop61, $pop100
+ i32.const $push62=, 63
+ i32.gt_u $push63=, $2, $pop62
+ br_if $pop63, 2 # 2: down to label7
+ br 1 # 1: down to label8
+.LBB0_14: # %if.else3.i
+ end_block # label9:
+ i32.const $10=, 1
+ i32.const $push99=, 1
+ i32.const $push48=, -1
+ i32.add $push49=, $2, $pop48
+ i32.shl $push50=, $pop99, $pop49
+ i32.and $push51=, $7, $pop50
+ i32.const $push98=, -1
+ i32.const $push52=, 0
+ i32.select $11=, $pop51, $pop98, $pop52
+ i32.const $push53=, 31
+ i32.gt_u $push54=, $2, $pop53
+ br_if $pop54, 0 # 0: down to label8
+# BB#15: # %if.then5.i64
+ i32.shl $push55=, $11, $2
+ i32.or $7=, $pop55, $7
+ copy_local $8=, $11
+ br 1 # 1: down to label7
+.LBB0_16: # %if.then10.i
+ end_block # label8:
+ i32.const $push64=, -32
+ i32.add $push65=, $2, $pop64
+ i32.shl $push66=, $11, $pop65
+ i32.or $8=, $pop66, $8
+ i32.const $10=, 0
+.LBB0_17: # %if.end15.i
+ end_block # label7:
+ i32.const $push67=, 31
+ i32.gt_u $push68=, $3, $pop67
+ tee_local $push102=, $12=, $pop68
+ i32.select $9=, $pop102, $8, $7
+ i32.select $8=, $12, $11, $8
+ block
+ i32.const $push69=, -32
+ i32.add $push70=, $3, $pop69
+ i32.select $push3=, $12, $pop70, $3
+ tee_local $push101=, $3=, $pop3
+ i32.const $push110=, 0
+ i32.eq $push111=, $pop101, $pop110
+ br_if $pop111, 0 # 0: down to label10
+# BB#18: # %if.then24.i
+ i32.const $push72=, 32
+ i32.sub $push73=, $pop72, $3
+ tee_local $push103=, $7=, $pop73
+ i32.shl $push74=, $8, $pop103
+ i32.shr_u $push71=, $9, $3
+ i32.or $9=, $pop74, $pop71
+ i32.shr_u $push75=, $8, $3
+ i32.shl $push76=, $11, $7
+ i32.or $8=, $pop75, $pop76
+.LBB0_19: # %if.end38.i
+ end_block # label10:
+ block
+ block
+ i32.const $push77=, 33
+ i32.lt_u $push78=, $2, $pop77
+ br_if $pop78, 0 # 0: down to label12
+# BB#20: # %if.then.i61.i
+ i32.const $push83=, -32
+ i32.add $push4=, $2, $pop83
+ tee_local $push104=, $2=, $pop4
+ i32.const $push84=, 31
+ i32.gt_u $push85=, $pop104, $pop84
+ br_if $pop85, 1 # 1: down to label11
+# BB#21: # %if.then2.i.i
+ i32.const $push86=, 1
+ i32.shl $push87=, $pop86, $2
+ i32.const $push88=, -1
+ i32.add $push89=, $pop87, $pop88
+ i32.and $8=, $8, $pop89
+ br 1 # 1: down to label11
+.LBB0_22: # %if.else.i.i
+ end_block # label12:
+ i32.const $8=, 0
+ i32.const $push112=, 0
+ i32.eq $push113=, $10, $pop112
+ br_if $pop113, 0 # 0: down to label11
+# BB#23: # %if.then5.i.i
+ i32.const $push79=, 1
+ i32.shl $push80=, $pop79, $2
+ i32.const $push81=, -1
+ i32.add $push82=, $pop80, $pop81
+ i32.and $9=, $9, $pop82
+.LBB0_24: # %num_rshift.exit
+ end_block # label11:
+ i32.ne $push91=, $5, $9
+ i32.ne $push90=, $4, $8
+ i32.or $push92=, $pop91, $pop90
+ i32.store $discard=, 12($1), $pop92
+ br 1 # 1: down to label0
+.LBB0_25: # %if.then
+ end_block # label1:
+ block
+ block
+ i32.load $push6=, 8($1)
+ i32.const $push114=, 0
+ i32.eq $push115=, $pop6, $pop114
+ br_if $pop115, 0 # 0: down to label14
+# BB#26: # %if.then.land.end_crit_edge
+ i32.const $2=, 0
+ br 1 # 1: down to label13
+.LBB0_27: # %land.rhs
+ end_block # label14:
+ i32.load $push10=, 0($1)
+ i32.const $push7=, 4
+ i32.add $push8=, $1, $pop7
+ i32.load $push9=, 0($pop8)
+ i32.or $push11=, $pop10, $pop9
+ i32.const $push12=, 0
+ i32.ne $2=, $pop11, $pop12
+.LBB0_28: # %land.end
+ end_block # label13:
+ i32.store $discard=, 12($1), $2
+ i64.const $push13=, 0
+ i64.store $discard=, 0($1):p2align=2, $pop13
+.LBB0_29: # %if.end37
+ end_block # label0:
+ i32.const $push94=, 8
+ i32.add $push96=, $1, $pop94
+ i64.load $6=, 0($pop96):p2align=2
+ i64.load $push93=, 0($1):p2align=2
+ i64.store $discard=, 0($0):p2align=2, $pop93
+ i32.const $push105=, 8
+ i32.add $push95=, $0, $pop105
+ i64.store $discard=, 0($pop95):p2align=2, $6
+ return
+ .endfunc
+.Lfunc_end0:
+ .size num_lshift, .Lfunc_end0-num_lshift
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 32
+ i32.sub $5=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $5=, 0($2), $5
+ i32.const $push0=, 0
+ i32.load $0=, n($pop0)
+ i32.const $push1=, 12
+ i32.add $push2=, $5, $pop1
+ i32.const $push19=, 0
+ i32.load $push3=, num+12($pop19)
+ i32.store $discard=, 0($pop2), $pop3
+ i32.const $push4=, 8
+ i32.add $push5=, $5, $pop4
+ i32.const $push18=, 0
+ i32.load $push6=, num+8($pop18)
+ i32.store $discard=, 0($pop5), $pop6
+ i32.const $push17=, 0
+ i64.load $push7=, num($pop17):p2align=2
+ i64.store $discard=, 0($5):p2align=2, $pop7
+ i32.const $push8=, 64
+ i32.const $3=, 16
+ i32.add $3=, $5, $3
+ call num_lshift@FUNCTION, $3, $5, $pop8, $0
+ i32.const $push9=, 4
+ i32.const $4=, 16
+ i32.add $4=, $5, $4
+ block
+ i32.or $push10=, $4, $pop9
+ i32.load $push11=, 0($pop10)
+ i32.const $push12=, 196608
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label15
+# BB#1: # %if.end
+ block
+ i32.load $push14=, 16($5):p2align=3
+ br_if $pop14, 0 # 0: down to label16
+# BB#2: # %if.end3
+ block
+ i32.load $push15=, 28($5)
+ br_if $pop15, 0 # 0: down to label17
+# BB#3: # %if.end6
+ i32.const $push16=, 0
+ call exit@FUNCTION, $pop16
+ unreachable
+.LBB1_4: # %if.then5
+ end_block # label17:
+ call abort@FUNCTION
+ unreachable
+.LBB1_5: # %if.then2
+ end_block # label16:
+ call abort@FUNCTION
+ unreachable
+.LBB1_6: # %if.then
+ end_block # label15:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden precision # @precision
+ .type precision,@object
+ .section .data.precision,"aw",@progbits
+ .globl precision
+ .p2align 2
+precision:
+ .int32 64 # 0x40
+ .size precision, 4
+
+ .hidden n # @n
+ .type n,@object
+ .section .data.n,"aw",@progbits
+ .globl n
+ .p2align 2
+n:
+ .int32 16 # 0x10
+ .size n, 4
+
+ .hidden num # @num
+ .type num,@object
+ .section .data.num,"aw",@progbits
+ .globl num
+ .p2align 2
+num:
+ .int32 0 # 0x0
+ .int32 3 # 0x3
+ .int32 0 # 0x0
+ .int32 0 # 0x0
+ .size num, 16
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20040705-1.c.s b/test/torture-s/20040705-1.c.s
index 86290c7c2..68a690cf5 100644
--- a/test/torture-s/20040705-1.c.s
+++ b/test/torture-s/20040705-1.c.s
@@ -8,7 +8,7 @@ ret1: # @ret1
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, b+8($pop0)
+ i32.load $push1=, b+8($pop0):p2align=3
i32.const $push2=, 63
i32.and $push3=, $pop1, $pop2
return $pop3
@@ -24,7 +24,7 @@ ret2: # @ret2
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, b+8($pop0)
+ i32.load $push1=, b+8($pop0):p2align=3
i32.const $push2=, 6
i32.shr_u $push3=, $pop1, $pop2
i32.const $push4=, 2047
@@ -42,7 +42,7 @@ ret3: # @ret3
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, b+8($pop0)
+ i32.load $push1=, b+8($pop0):p2align=3
i32.const $push2=, 17
i32.shr_u $push3=, $pop1, $pop2
return $pop3
@@ -58,7 +58,7 @@ ret4: # @ret4
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, c+8($pop0)
+ i32.load $push1=, c+8($pop0):p2align=3
i32.const $push2=, 31
i32.and $push3=, $pop1, $pop2
return $pop3
@@ -74,7 +74,7 @@ ret5: # @ret5
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, c+8($pop0)
+ i32.load $push1=, c+8($pop0):p2align=3
i32.const $push2=, 5
i32.shr_u $push3=, $pop1, $pop2
i32.const $push4=, 1
@@ -92,7 +92,7 @@ ret6: # @ret6
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, c+8($pop0)
+ i32.load $push1=, c+8($pop0):p2align=3
i32.const $push2=, 6
i32.shr_u $push3=, $pop1, $pop2
return $pop3
@@ -108,7 +108,7 @@ ret7: # @ret7
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load16_u $push1=, d+8($pop0)
+ i32.load16_u $push1=, d+8($pop0):p2align=3
return $pop1
.endfunc
.Lfunc_end6:
@@ -122,7 +122,7 @@ ret8: # @ret8
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load8_u $push1=, d+10($pop0)
+ i32.load8_u $push1=, d+10($pop0):p2align=1
return $pop1
.endfunc
.Lfunc_end7:
@@ -148,17 +148,19 @@ ret9: # @ret9
.type fn1_1,@function
fn1_1: # @fn1_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.add $push0=, $2, $0
- i32.const $push1=, 63
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b+8($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.add $push2=, $pop8, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end9:
@@ -170,19 +172,21 @@ fn1_1: # @fn1_1
.type fn2_1,@function
fn2_1: # @fn2_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.add $push2=, $2, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop10, $pop3
+ i32.const $push5=, 131008
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -131009
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end10:
@@ -194,14 +198,14 @@ fn2_1: # @fn2_1
.type fn3_1,@function
fn3_1: # @fn3_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 17
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop0, $pop2
- i32.store $discard=, b+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, b+8($pop5):p2align=3
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $discard=, b+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end11:
@@ -213,17 +217,19 @@ fn3_1: # @fn3_1
.type fn4_1,@function
fn4_1: # @fn4_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.add $push0=, $2, $0
- i32.const $push1=, 31
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c+8($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.add $push2=, $pop8, $0
+ i32.const $push3=, 31
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end12:
@@ -235,19 +241,21 @@ fn4_1: # @fn4_1
.type fn5_1,@function
fn5_1: # @fn5_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 5
- i32.shl $push1=, $0, $pop0
- i32.add $push2=, $2, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop10, $pop3
+ i32.const $push5=, 32
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -33
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end13:
@@ -259,14 +267,14 @@ fn5_1: # @fn5_1
.type fn6_1,@function
fn6_1: # @fn6_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop0, $pop2
- i32.store $discard=, c+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, c+8($pop5):p2align=3
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $discard=, c+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end14:
@@ -278,12 +286,12 @@ fn6_1: # @fn6_1
.type fn7_1,@function
fn7_1: # @fn7_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.add $push1=, $pop0, $0
- i32.store16 $discard=, d+8($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load $push1=, d+8($pop3):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop2
return
.endfunc
.Lfunc_end15:
@@ -295,15 +303,16 @@ fn7_1: # @fn7_1
.type fn8_1,@function
fn8_1: # @fn8_1
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 16
- i32.load $push0=, d+8($1)
- i32.shl $push1=, $0, $2
- i32.add $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+10($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d+8($pop7):p2align=3
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.const $push6=, 16
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end16:
@@ -315,14 +324,14 @@ fn8_1: # @fn8_1
.type fn9_1,@function
fn9_1: # @fn9_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 24
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop0, $pop2
- i32.store $discard=, d+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, d+8($pop5):p2align=3
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $discard=, d+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end17:
@@ -334,18 +343,20 @@ fn9_1: # @fn9_1
.type fn1_2,@function
fn1_2: # @fn1_2
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end18:
@@ -357,18 +368,20 @@ fn1_2: # @fn1_2
.type fn2_2,@function
fn2_2: # @fn2_2
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 64
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 64
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end19:
@@ -380,13 +393,13 @@ fn2_2: # @fn2_2
.type fn3_2,@function
fn3_2: # @fn3_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, 131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end20:
@@ -398,18 +411,20 @@ fn3_2: # @fn3_2
.type fn4_2,@function
fn4_2: # @fn4_2
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end21:
@@ -421,13 +436,13 @@ fn4_2: # @fn4_2
.type fn5_2,@function
fn5_2: # @fn5_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end22:
@@ -439,13 +454,13 @@ fn5_2: # @fn5_2
.type fn6_2,@function
fn6_2: # @fn6_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end23:
@@ -457,13 +472,13 @@ fn6_2: # @fn6_2
.type fn7_2,@function
fn7_2: # @fn7_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end24:
@@ -475,15 +490,15 @@ fn7_2: # @fn7_2
.type fn8_2,@function
fn8_2: # @fn8_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 65536
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+10($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d+8($pop6):p2align=3
+ i32.const $push2=, 65536
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end25:
@@ -495,13 +510,13 @@ fn8_2: # @fn8_2
.type fn9_2,@function
fn9_2: # @fn9_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end26:
@@ -513,18 +528,20 @@ fn9_2: # @fn9_2
.type fn1_3,@function
fn1_3: # @fn1_3
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end27:
@@ -536,18 +553,20 @@ fn1_3: # @fn1_3
.type fn2_3,@function
fn2_3: # @fn2_3
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 64
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 64
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end28:
@@ -559,13 +578,13 @@ fn2_3: # @fn2_3
.type fn3_3,@function
fn3_3: # @fn3_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, 131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end29:
@@ -577,18 +596,20 @@ fn3_3: # @fn3_3
.type fn4_3,@function
fn4_3: # @fn4_3
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end30:
@@ -600,13 +621,13 @@ fn4_3: # @fn4_3
.type fn5_3,@function
fn5_3: # @fn5_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end31:
@@ -618,13 +639,13 @@ fn5_3: # @fn5_3
.type fn6_3,@function
fn6_3: # @fn6_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end32:
@@ -636,13 +657,13 @@ fn6_3: # @fn6_3
.type fn7_3,@function
fn7_3: # @fn7_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end33:
@@ -654,15 +675,15 @@ fn7_3: # @fn7_3
.type fn8_3,@function
fn8_3: # @fn8_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 65536
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+10($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d+8($pop6):p2align=3
+ i32.const $push2=, 65536
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end34:
@@ -674,13 +695,13 @@ fn8_3: # @fn8_3
.type fn9_3,@function
fn9_3: # @fn9_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end35:
@@ -692,17 +713,19 @@ fn9_3: # @fn9_3
.type fn1_4,@function
fn1_4: # @fn1_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.sub $push0=, $2, $0
- i32.const $push1=, 63
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b+8($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.sub $push2=, $pop8, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end36:
@@ -714,19 +737,21 @@ fn1_4: # @fn1_4
.type fn2_4,@function
fn2_4: # @fn2_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, 131008
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -131009
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end37:
@@ -738,19 +763,21 @@ fn2_4: # @fn2_4
.type fn3_4,@function
fn3_4: # @fn3_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 17
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, -131072
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, 131071
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, -131072
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end38:
@@ -762,17 +789,19 @@ fn3_4: # @fn3_4
.type fn4_4,@function
fn4_4: # @fn4_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.sub $push0=, $2, $0
- i32.const $push1=, 31
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c+8($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.sub $push2=, $pop8, $0
+ i32.const $push3=, 31
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end39:
@@ -784,19 +813,21 @@ fn4_4: # @fn4_4
.type fn5_4,@function
fn5_4: # @fn5_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 5
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, 32
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -33
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end40:
@@ -808,19 +839,21 @@ fn5_4: # @fn5_4
.type fn6_4,@function
fn6_4: # @fn6_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, -64
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, 63
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, -64
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end41:
@@ -832,12 +865,12 @@ fn6_4: # @fn6_4
.type fn7_4,@function
fn7_4: # @fn7_4
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.sub $push1=, $pop0, $0
- i32.store16 $discard=, d+8($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load $push1=, d+8($pop3):p2align=3
+ i32.sub $push2=, $pop1, $0
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop2
return
.endfunc
.Lfunc_end42:
@@ -849,15 +882,16 @@ fn7_4: # @fn7_4
.type fn8_4,@function
fn8_4: # @fn8_4
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 16
- i32.load $push0=, d+8($1)
- i32.shl $push1=, $0, $2
- i32.sub $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+10($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d+8($pop7):p2align=3
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop1, $pop3
+ i32.const $push6=, 16
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end43:
@@ -869,15 +903,16 @@ fn8_4: # @fn8_4
.type fn9_4,@function
fn9_4: # @fn9_4
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 24
- i32.load $push0=, d+8($1)
- i32.shl $push1=, $0, $2
- i32.sub $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+11($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d+8($pop7):p2align=3
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop1, $pop3
+ i32.const $push6=, 24
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+11($pop0), $pop5
return
.endfunc
.Lfunc_end44:
@@ -889,17 +924,20 @@ fn9_4: # @fn9_4
.type fn1_5,@function
fn1_5: # @fn1_5
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 63
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b+8($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 63
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end45:
@@ -911,17 +949,20 @@ fn1_5: # @fn1_5
.type fn2_5,@function
fn2_5: # @fn2_5
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 131008
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -131009
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b+8($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 131008
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 131008
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -131009
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end46:
@@ -933,13 +974,13 @@ fn2_5: # @fn2_5
.type fn3_5,@function
fn3_5: # @fn3_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, -131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, -131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end47:
@@ -951,17 +992,20 @@ fn3_5: # @fn3_5
.type fn4_5,@function
fn4_5: # @fn4_5
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $3=, 31
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, c+8($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 31
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end48:
@@ -973,13 +1017,13 @@ fn4_5: # @fn4_5
.type fn5_5,@function
fn5_5: # @fn5_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end49:
@@ -991,13 +1035,13 @@ fn5_5: # @fn5_5
.type fn6_5,@function
fn6_5: # @fn6_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, -64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, -64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end50:
@@ -1009,13 +1053,13 @@ fn6_5: # @fn6_5
.type fn7_5,@function
fn7_5: # @fn7_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 65535
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 65535
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end51:
@@ -1027,15 +1071,15 @@ fn7_5: # @fn7_5
.type fn8_5,@function
fn8_5: # @fn8_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 16711680
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+10($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d+8($pop6):p2align=3
+ i32.const $push2=, 16711680
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end52:
@@ -1047,13 +1091,13 @@ fn8_5: # @fn8_5
.type fn9_5,@function
fn9_5: # @fn9_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, -16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, -16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end53:
@@ -1065,17 +1109,20 @@ fn9_5: # @fn9_5
.type fn1_6,@function
fn1_6: # @fn1_6
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 63
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b+8($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 63
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end54:
@@ -1087,17 +1134,20 @@ fn1_6: # @fn1_6
.type fn2_6,@function
fn2_6: # @fn2_6
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 131008
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -131009
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b+8($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 131008
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 131008
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -131009
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end55:
@@ -1109,13 +1159,13 @@ fn2_6: # @fn2_6
.type fn3_6,@function
fn3_6: # @fn3_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, -131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, -131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end56:
@@ -1127,17 +1177,20 @@ fn3_6: # @fn3_6
.type fn4_6,@function
fn4_6: # @fn4_6
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $3=, 31
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, c+8($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 31
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end57:
@@ -1149,13 +1202,13 @@ fn4_6: # @fn4_6
.type fn5_6,@function
fn5_6: # @fn5_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end58:
@@ -1167,13 +1220,13 @@ fn5_6: # @fn5_6
.type fn6_6,@function
fn6_6: # @fn6_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, -64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, -64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end59:
@@ -1185,13 +1238,13 @@ fn6_6: # @fn6_6
.type fn7_6,@function
fn7_6: # @fn7_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 65535
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 65535
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end60:
@@ -1203,15 +1256,15 @@ fn7_6: # @fn7_6
.type fn8_6,@function
fn8_6: # @fn8_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 16711680
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+10($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d+8($pop6):p2align=3
+ i32.const $push2=, 16711680
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end61:
@@ -1223,13 +1276,13 @@ fn8_6: # @fn8_6
.type fn9_6,@function
fn9_6: # @fn9_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, -16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, -16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end62:
@@ -1241,14 +1294,14 @@ fn9_6: # @fn9_6
.type fn1_7,@function
fn1_7: # @fn1_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, -64
- i32.or $push2=, $0, $pop1
- i32.load $push0=, b+8($1)
- i32.and $push3=, $pop2, $pop0
- i32.store $discard=, b+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push2=, -64
+ i32.or $push3=, $0, $pop2
+ i32.const $push5=, 0
+ i32.load $push1=, b+8($pop5):p2align=3
+ i32.and $push4=, $pop3, $pop1
+ i32.store $discard=, b+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end63:
@@ -1260,16 +1313,16 @@ fn1_7: # @fn1_7
.type fn2_7,@function
fn2_7: # @fn2_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, -131009
- i32.or $push4=, $pop2, $pop3
- i32.load $push0=, b+8($1)
- i32.and $push5=, $pop4, $pop0
- i32.store $discard=, b+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, -131009
+ i32.or $push5=, $pop3, $pop4
+ i32.const $push7=, 0
+ i32.load $push1=, b+8($pop7):p2align=3
+ i32.and $push6=, $pop5, $pop1
+ i32.store $discard=, b+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end64:
@@ -1281,16 +1334,16 @@ fn2_7: # @fn2_7
.type fn3_7,@function
fn3_7: # @fn3_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 17
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 131071
- i32.or $push4=, $pop2, $pop3
- i32.and $push5=, $pop0, $pop4
- i32.store $discard=, b+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, b+8($pop7):p2align=3
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 131071
+ i32.or $push5=, $pop3, $pop4
+ i32.and $push6=, $pop1, $pop5
+ i32.store $discard=, b+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end65:
@@ -1302,14 +1355,14 @@ fn3_7: # @fn3_7
.type fn4_7,@function
fn4_7: # @fn4_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, -32
- i32.or $push2=, $0, $pop1
- i32.load $push0=, c+8($1)
- i32.and $push3=, $pop2, $pop0
- i32.store $discard=, c+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push2=, -32
+ i32.or $push3=, $0, $pop2
+ i32.const $push5=, 0
+ i32.load $push1=, c+8($pop5):p2align=3
+ i32.and $push4=, $pop3, $pop1
+ i32.store $discard=, c+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end66:
@@ -1321,16 +1374,16 @@ fn4_7: # @fn4_7
.type fn5_7,@function
fn5_7: # @fn5_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, 5
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, -33
- i32.or $push4=, $pop2, $pop3
- i32.load $push0=, c+8($1)
- i32.and $push5=, $pop4, $pop0
- i32.store $discard=, c+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, -33
+ i32.or $push5=, $pop3, $pop4
+ i32.const $push7=, 0
+ i32.load $push1=, c+8($pop7):p2align=3
+ i32.and $push6=, $pop5, $pop1
+ i32.store $discard=, c+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end67:
@@ -1342,16 +1395,16 @@ fn5_7: # @fn5_7
.type fn6_7,@function
fn6_7: # @fn6_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 63
- i32.or $push4=, $pop2, $pop3
- i32.and $push5=, $pop0, $pop4
- i32.store $discard=, c+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, c+8($pop7):p2align=3
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 63
+ i32.or $push5=, $pop3, $pop4
+ i32.and $push6=, $pop1, $pop5
+ i32.store $discard=, c+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end68:
@@ -1363,14 +1416,14 @@ fn6_7: # @fn6_7
.type fn7_7,@function
fn7_7: # @fn7_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, -65536
- i32.or $push2=, $0, $pop1
- i32.load $push0=, d+8($1)
- i32.and $push3=, $pop2, $pop0
- i32.store $discard=, d+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push2=, -65536
+ i32.or $push3=, $0, $pop2
+ i32.const $push5=, 0
+ i32.load $push1=, d+8($pop5):p2align=3
+ i32.and $push4=, $pop3, $pop1
+ i32.store $discard=, d+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end69:
@@ -1382,16 +1435,16 @@ fn7_7: # @fn7_7
.type fn8_7,@function
fn8_7: # @fn8_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, 16
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, -16711681
- i32.or $push4=, $pop2, $pop3
- i32.load $push0=, d+8($1)
- i32.and $push5=, $pop4, $pop0
- i32.store $discard=, d+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, -16711681
+ i32.or $push5=, $pop3, $pop4
+ i32.const $push7=, 0
+ i32.load $push1=, d+8($pop7):p2align=3
+ i32.and $push6=, $pop5, $pop1
+ i32.store $discard=, d+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end70:
@@ -1403,16 +1456,16 @@ fn8_7: # @fn8_7
.type fn9_7,@function
fn9_7: # @fn9_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 24
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 16777215
- i32.or $push4=, $pop2, $pop3
- i32.and $push5=, $pop0, $pop4
- i32.store $discard=, d+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d+8($pop7):p2align=3
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 16777215
+ i32.or $push5=, $pop3, $pop4
+ i32.and $push6=, $pop1, $pop5
+ i32.store $discard=, d+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end71:
@@ -1424,14 +1477,14 @@ fn9_7: # @fn9_7
.type fn1_8,@function
fn1_8: # @fn1_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 63
- i32.and $push2=, $0, $pop1
- i32.or $push3=, $pop0, $pop2
- i32.store $discard=, b+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, b+8($pop5):p2align=3
+ i32.const $push2=, 63
+ i32.and $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.store $discard=, b+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end72:
@@ -1443,16 +1496,16 @@ fn1_8: # @fn1_8
.type fn2_8,@function
fn2_8: # @fn2_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.or $push5=, $pop0, $pop4
- i32.store $discard=, b+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, b+8($pop7):p2align=3
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.or $push6=, $pop1, $pop5
+ i32.store $discard=, b+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end73:
@@ -1464,19 +1517,21 @@ fn2_8: # @fn2_8
.type fn3_8,@function
fn3_8: # @fn3_8
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push2=, -131072
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 17
- i32.shl $push1=, $0, $pop0
- i32.or $push4=, $pop3, $pop1
- i32.const $push5=, 131071
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -131072
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.or $push6=, $pop5, $pop3
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end74:
@@ -1488,14 +1543,14 @@ fn3_8: # @fn3_8
.type fn4_8,@function
fn4_8: # @fn4_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 31
- i32.and $push2=, $0, $pop1
- i32.or $push3=, $pop0, $pop2
- i32.store $discard=, c+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, c+8($pop5):p2align=3
+ i32.const $push2=, 31
+ i32.and $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.store $discard=, c+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end75:
@@ -1507,16 +1562,16 @@ fn4_8: # @fn4_8
.type fn5_8,@function
fn5_8: # @fn5_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 5
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.or $push5=, $pop0, $pop4
- i32.store $discard=, c+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, c+8($pop7):p2align=3
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 32
+ i32.and $push5=, $pop3, $pop4
+ i32.or $push6=, $pop1, $pop5
+ i32.store $discard=, c+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end76:
@@ -1528,19 +1583,21 @@ fn5_8: # @fn5_8
.type fn6_8,@function
fn6_8: # @fn6_8
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.or $push4=, $pop3, $pop1
- i32.const $push5=, 63
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -64
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.or $push6=, $pop5, $pop3
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end77:
@@ -1552,14 +1609,14 @@ fn6_8: # @fn6_8
.type fn7_8,@function
fn7_8: # @fn7_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 65535
- i32.and $push2=, $0, $pop1
- i32.or $push3=, $pop0, $pop2
- i32.store $discard=, d+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, d+8($pop5):p2align=3
+ i32.const $push2=, 65535
+ i32.and $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.store $discard=, d+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end78:
@@ -1571,16 +1628,16 @@ fn7_8: # @fn7_8
.type fn8_8,@function
fn8_8: # @fn8_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 16
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 16711680
- i32.and $push4=, $pop2, $pop3
- i32.or $push5=, $pop0, $pop4
- i32.store $discard=, d+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d+8($pop7):p2align=3
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 16711680
+ i32.and $push5=, $pop3, $pop4
+ i32.or $push6=, $pop1, $pop5
+ i32.store $discard=, d+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end79:
@@ -1592,15 +1649,16 @@ fn8_8: # @fn8_8
.type fn9_8,@function
fn9_8: # @fn9_8
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 24
- i32.load $push0=, d+8($1)
- i32.shl $push1=, $0, $2
- i32.or $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+11($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d+8($pop7):p2align=3
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.const $push6=, 24
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+11($pop0), $pop5
return
.endfunc
.Lfunc_end80:
@@ -1612,14 +1670,14 @@ fn9_8: # @fn9_8
.type fn1_9,@function
fn1_9: # @fn1_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 63
- i32.and $push2=, $0, $pop1
- i32.xor $push3=, $pop0, $pop2
- i32.store $discard=, b+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, b+8($pop5):p2align=3
+ i32.const $push2=, 63
+ i32.and $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.store $discard=, b+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end81:
@@ -1631,16 +1689,16 @@ fn1_9: # @fn1_9
.type fn2_9,@function
fn2_9: # @fn2_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.xor $push5=, $pop0, $pop4
- i32.store $discard=, b+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, b+8($pop7):p2align=3
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.xor $push6=, $pop1, $pop5
+ i32.store $discard=, b+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end82:
@@ -1652,19 +1710,21 @@ fn2_9: # @fn2_9
.type fn3_9,@function
fn3_9: # @fn3_9
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push2=, -131072
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 17
- i32.shl $push1=, $0, $pop0
- i32.xor $push4=, $pop3, $pop1
- i32.const $push5=, 131071
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -131072
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.xor $push6=, $pop5, $pop3
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end83:
@@ -1676,14 +1736,14 @@ fn3_9: # @fn3_9
.type fn4_9,@function
fn4_9: # @fn4_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 31
- i32.and $push2=, $0, $pop1
- i32.xor $push3=, $pop0, $pop2
- i32.store $discard=, c+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, c+8($pop5):p2align=3
+ i32.const $push2=, 31
+ i32.and $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.store $discard=, c+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end84:
@@ -1695,16 +1755,16 @@ fn4_9: # @fn4_9
.type fn5_9,@function
fn5_9: # @fn5_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 5
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.xor $push5=, $pop0, $pop4
- i32.store $discard=, c+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, c+8($pop7):p2align=3
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 32
+ i32.and $push5=, $pop3, $pop4
+ i32.xor $push6=, $pop1, $pop5
+ i32.store $discard=, c+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end85:
@@ -1716,19 +1776,21 @@ fn5_9: # @fn5_9
.type fn6_9,@function
fn6_9: # @fn6_9
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.xor $push4=, $pop3, $pop1
- i32.const $push5=, 63
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -64
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.xor $push6=, $pop5, $pop3
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end86:
@@ -1740,14 +1802,14 @@ fn6_9: # @fn6_9
.type fn7_9,@function
fn7_9: # @fn7_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 65535
- i32.and $push2=, $0, $pop1
- i32.xor $push3=, $pop0, $pop2
- i32.store $discard=, d+8($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, d+8($pop5):p2align=3
+ i32.const $push2=, 65535
+ i32.and $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.store $discard=, d+8($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end87:
@@ -1759,16 +1821,16 @@ fn7_9: # @fn7_9
.type fn8_9,@function
fn8_9: # @fn8_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 16
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 16711680
- i32.and $push4=, $pop2, $pop3
- i32.xor $push5=, $pop0, $pop4
- i32.store $discard=, d+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d+8($pop7):p2align=3
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 16711680
+ i32.and $push5=, $pop3, $pop4
+ i32.xor $push6=, $pop1, $pop5
+ i32.store $discard=, d+8($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end88:
@@ -1780,15 +1842,16 @@ fn8_9: # @fn8_9
.type fn9_9,@function
fn9_9: # @fn9_9
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 24
- i32.load $push0=, d+8($1)
- i32.shl $push1=, $0, $2
- i32.xor $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+11($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d+8($pop7):p2align=3
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.const $push6=, 24
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+11($pop0), $pop5
return
.endfunc
.Lfunc_end89:
@@ -1800,17 +1863,19 @@ fn9_9: # @fn9_9
.type fn1_a,@function
fn1_a: # @fn1_a
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.div_u $0=, $pop1, $0
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop3, $0
- i32.store $discard=, b+8($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b+8($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.const $push5=, -64
+ i32.and $push6=, $pop8, $pop5
+ i32.const $push2=, 63
+ i32.and $push3=, $1, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.or $push7=, $pop6, $pop4
+ i32.store $discard=, b+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end90:
@@ -1822,20 +1887,23 @@ fn1_a: # @fn1_a
.type fn2_a,@function
fn2_a: # @fn2_a
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.div_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, b+8($pop13):p2align=3
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.div_u $push6=, $pop5, $0
+ i32.const $push11=, 6
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -131009
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, b+8($pop0):p2align=3, $pop10
return
.endfunc
.Lfunc_end91:
@@ -1847,18 +1915,21 @@ fn2_a: # @fn2_a
.type fn3_a,@function
fn3_a: # @fn3_a
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 17
- i32.shr_u $push0=, $2, $3
- i32.div_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 131071
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.const $push9=, 17
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 131071
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end92:
@@ -1870,17 +1941,19 @@ fn3_a: # @fn3_a
.type fn4_a,@function
fn4_a: # @fn4_a
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.div_u $0=, $pop1, $0
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop3, $0
- i32.store $discard=, c+8($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c+8($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.const $push5=, -32
+ i32.and $push6=, $pop8, $pop5
+ i32.const $push2=, 31
+ i32.and $push3=, $1, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.or $push7=, $pop6, $pop4
+ i32.store $discard=, c+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end93:
@@ -1892,20 +1965,23 @@ fn4_a: # @fn4_a
.type fn5_a,@function
fn5_a: # @fn5_a
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $3=, 5
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 1
- i32.and $push2=, $pop0, $pop1
- i32.div_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c+8($1), $pop7
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, c+8($pop13):p2align=3
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ i32.div_u $push6=, $pop5, $0
+ i32.const $push11=, 5
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -33
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, c+8($pop0):p2align=3, $pop10
return
.endfunc
.Lfunc_end94:
@@ -1917,18 +1993,21 @@ fn5_a: # @fn5_a
.type fn6_a,@function
fn6_a: # @fn6_a
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.div_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 63
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.const $push9=, 6
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 63
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end95:
@@ -1940,12 +2019,12 @@ fn6_a: # @fn6_a
.type fn7_a,@function
fn7_a: # @fn7_a
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d+8($1)
- i32.div_u $push1=, $pop0, $0
- i32.store16 $discard=, d+8($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load16_u $push1=, d+8($pop3):p2align=3
+ i32.div_u $push2=, $pop1, $0
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop2
return
.endfunc
.Lfunc_end96:
@@ -1957,12 +2036,12 @@ fn7_a: # @fn7_a
.type fn8_a,@function
fn8_a: # @fn8_a
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+10($1)
- i32.div_u $push1=, $pop0, $0
- i32.store8 $discard=, d+10($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+10($pop3):p2align=1
+ i32.div_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop2
return
.endfunc
.Lfunc_end97:
@@ -1974,12 +2053,12 @@ fn8_a: # @fn8_a
.type fn9_a,@function
fn9_a: # @fn9_a
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+11($1)
- i32.div_u $push1=, $pop0, $0
- i32.store8 $discard=, d+11($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+11($pop3)
+ i32.div_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+11($pop0), $pop2
return
.endfunc
.Lfunc_end98:
@@ -1991,17 +2070,19 @@ fn9_a: # @fn9_a
.type fn1_b,@function
fn1_b: # @fn1_b
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.rem_u $0=, $pop1, $0
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $0, $pop3
- i32.store $discard=, b+8($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b+8($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.and $push3=, $pop8, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end99:
@@ -2013,20 +2094,23 @@ fn1_b: # @fn1_b
.type fn2_b,@function
fn2_b: # @fn2_b
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.rem_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b+8($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, b+8($pop13):p2align=3
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.rem_u $push6=, $pop5, $0
+ i32.const $push11=, 6
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -131009
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, b+8($pop0):p2align=3, $pop10
return
.endfunc
.Lfunc_end100:
@@ -2038,18 +2122,21 @@ fn2_b: # @fn2_b
.type fn3_b,@function
fn3_b: # @fn3_b
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 17
- i32.shr_u $push0=, $2, $3
- i32.rem_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 131071
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push9=, 17
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 131071
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end101:
@@ -2061,17 +2148,19 @@ fn3_b: # @fn3_b
.type fn4_b,@function
fn4_b: # @fn4_b
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.rem_u $0=, $pop1, $0
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $0, $pop3
- i32.store $discard=, c+8($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c+8($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.and $push3=, $pop8, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c+8($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end102:
@@ -2083,20 +2172,23 @@ fn4_b: # @fn4_b
.type fn5_b,@function
fn5_b: # @fn5_b
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $3=, 5
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 1
- i32.and $push2=, $pop0, $pop1
- i32.rem_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c+8($1), $pop7
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, c+8($pop13):p2align=3
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ i32.rem_u $push6=, $pop5, $0
+ i32.const $push11=, 5
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -33
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, c+8($pop0):p2align=3, $pop10
return
.endfunc
.Lfunc_end103:
@@ -2108,18 +2200,21 @@ fn5_b: # @fn5_b
.type fn6_b,@function
fn6_b: # @fn6_b
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.rem_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 63
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c+8($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push9=, 6
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 63
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end104:
@@ -2131,12 +2226,12 @@ fn6_b: # @fn6_b
.type fn7_b,@function
fn7_b: # @fn7_b
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d+8($1)
- i32.rem_u $push1=, $pop0, $0
- i32.store16 $discard=, d+8($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load16_u $push1=, d+8($pop3):p2align=3
+ i32.rem_u $push2=, $pop1, $0
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop2
return
.endfunc
.Lfunc_end105:
@@ -2148,12 +2243,12 @@ fn7_b: # @fn7_b
.type fn8_b,@function
fn8_b: # @fn8_b
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+10($1)
- i32.rem_u $push1=, $pop0, $0
- i32.store8 $discard=, d+10($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+10($pop3):p2align=1
+ i32.rem_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop2
return
.endfunc
.Lfunc_end106:
@@ -2165,12 +2260,12 @@ fn8_b: # @fn8_b
.type fn9_b,@function
fn9_b: # @fn9_b
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+11($1)
- i32.rem_u $push1=, $pop0, $0
- i32.store8 $discard=, d+11($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+11($pop3)
+ i32.rem_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+11($pop0), $pop2
return
.endfunc
.Lfunc_end107:
@@ -2182,18 +2277,20 @@ fn9_b: # @fn9_b
.type fn1_c,@function
fn1_c: # @fn1_c
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 3
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 3
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end108:
@@ -2205,18 +2302,20 @@ fn1_c: # @fn1_c
.type fn2_c,@function
fn2_c: # @fn2_c
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 192
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 192
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end109:
@@ -2228,13 +2327,13 @@ fn2_c: # @fn2_c
.type fn3_c,@function
fn3_c: # @fn3_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 393216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, 393216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end110:
@@ -2246,18 +2345,20 @@ fn3_c: # @fn3_c
.type fn4_c,@function
fn4_c: # @fn4_c
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 3
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 3
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end111:
@@ -2269,13 +2370,13 @@ fn4_c: # @fn4_c
.type fn5_c,@function
fn5_c: # @fn5_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end112:
@@ -2287,13 +2388,13 @@ fn5_c: # @fn5_c
.type fn6_c,@function
fn6_c: # @fn6_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 192
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 192
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end113:
@@ -2305,13 +2406,13 @@ fn6_c: # @fn6_c
.type fn7_c,@function
fn7_c: # @fn7_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 3
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end114:
@@ -2323,15 +2424,15 @@ fn7_c: # @fn7_c
.type fn8_c,@function
fn8_c: # @fn8_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 196608
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+10($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d+8($pop6):p2align=3
+ i32.const $push2=, 196608
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end115:
@@ -2343,13 +2444,13 @@ fn8_c: # @fn8_c
.type fn9_c,@function
fn9_c: # @fn9_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 50331648
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 50331648
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end116:
@@ -2361,18 +2462,20 @@ fn9_c: # @fn9_c
.type fn1_d,@function
fn1_d: # @fn1_d
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 57
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 57
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end117:
@@ -2384,18 +2487,20 @@ fn1_d: # @fn1_d
.type fn2_d,@function
fn2_d: # @fn2_d
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 130624
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 130624
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end118:
@@ -2407,13 +2512,13 @@ fn2_d: # @fn2_d
.type fn3_d,@function
fn3_d: # @fn3_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, -917504
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, -917504
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end119:
@@ -2425,18 +2530,20 @@ fn3_d: # @fn3_d
.type fn4_d,@function
fn4_d: # @fn4_d
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 25
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 25
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end120:
@@ -2448,13 +2555,13 @@ fn4_d: # @fn4_d
.type fn5_d,@function
fn5_d: # @fn5_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end121:
@@ -2466,13 +2573,13 @@ fn5_d: # @fn5_d
.type fn6_d,@function
fn6_d: # @fn6_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, -448
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, -448
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end122:
@@ -2484,13 +2591,13 @@ fn6_d: # @fn6_d
.type fn7_d,@function
fn7_d: # @fn7_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 65529
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 65529
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end123:
@@ -2502,15 +2609,15 @@ fn7_d: # @fn7_d
.type fn8_d,@function
fn8_d: # @fn8_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 16318464
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+10($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d+8($pop6):p2align=3
+ i32.const $push2=, 16318464
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end124:
@@ -2522,13 +2629,13 @@ fn8_d: # @fn8_d
.type fn9_d,@function
fn9_d: # @fn9_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, -117440512
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, -117440512
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end125:
@@ -2540,13 +2647,13 @@ fn9_d: # @fn9_d
.type fn1_e,@function
fn1_e: # @fn1_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, -43
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, -43
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end126:
@@ -2558,13 +2665,13 @@ fn1_e: # @fn1_e
.type fn2_e,@function
fn2_e: # @fn2_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, -129665
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, -129665
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end127:
@@ -2576,13 +2683,13 @@ fn2_e: # @fn2_e
.type fn3_e,@function
fn3_e: # @fn3_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 2883583
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, 2883583
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end128:
@@ -2594,13 +2701,13 @@ fn3_e: # @fn3_e
.type fn4_e,@function
fn4_e: # @fn4_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, -11
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, -11
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end129:
@@ -2624,13 +2731,13 @@ fn5_e: # @fn5_e
.type fn6_e,@function
fn6_e: # @fn6_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 1407
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 1407
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end131:
@@ -2642,13 +2749,13 @@ fn6_e: # @fn6_e
.type fn7_e,@function
fn7_e: # @fn7_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, -65515
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, -65515
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end132:
@@ -2660,13 +2767,13 @@ fn7_e: # @fn7_e
.type fn8_e,@function
fn8_e: # @fn8_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, -15335425
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, -15335425
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end133:
@@ -2678,13 +2785,13 @@ fn8_e: # @fn8_e
.type fn9_e,@function
fn9_e: # @fn9_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 369098751
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 369098751
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end134:
@@ -2696,13 +2803,13 @@ fn9_e: # @fn9_e
.type fn1_f,@function
fn1_f: # @fn1_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 19
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, 19
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end135:
@@ -2714,13 +2821,13 @@ fn1_f: # @fn1_f
.type fn2_f,@function
fn2_f: # @fn2_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 1216
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, 1216
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end136:
@@ -2732,13 +2839,13 @@ fn2_f: # @fn2_f
.type fn3_f,@function
fn3_f: # @fn3_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 2490368
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, 2490368
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end137:
@@ -2750,13 +2857,13 @@ fn3_f: # @fn3_f
.type fn4_f,@function
fn4_f: # @fn4_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 19
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 19
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end138:
@@ -2768,13 +2875,13 @@ fn4_f: # @fn4_f
.type fn5_f,@function
fn5_f: # @fn5_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 32
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end139:
@@ -2786,13 +2893,13 @@ fn5_f: # @fn5_f
.type fn6_f,@function
fn6_f: # @fn6_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 1216
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 1216
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end140:
@@ -2804,13 +2911,13 @@ fn6_f: # @fn6_f
.type fn7_f,@function
fn7_f: # @fn7_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 19
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 19
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end141:
@@ -2822,13 +2929,13 @@ fn7_f: # @fn7_f
.type fn8_f,@function
fn8_f: # @fn8_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 1245184
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 1245184
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end142:
@@ -2840,13 +2947,13 @@ fn8_f: # @fn8_f
.type fn9_f,@function
fn9_f: # @fn9_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 318767104
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 318767104
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end143:
@@ -2858,13 +2965,13 @@ fn9_f: # @fn9_f
.type fn1_g,@function
fn1_g: # @fn1_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 37
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, 37
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end144:
@@ -2876,13 +2983,13 @@ fn1_g: # @fn1_g
.type fn2_g,@function
fn2_g: # @fn2_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 2368
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, 2368
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end145:
@@ -2894,13 +3001,13 @@ fn2_g: # @fn2_g
.type fn3_g,@function
fn3_g: # @fn3_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b+8($1)
- i32.const $push1=, 4849664
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, b+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b+8($pop4):p2align=3
+ i32.const $push2=, 4849664
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, b+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end146:
@@ -2912,13 +3019,13 @@ fn3_g: # @fn3_g
.type fn4_g,@function
fn4_g: # @fn4_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 5
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 5
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end147:
@@ -2930,13 +3037,13 @@ fn4_g: # @fn4_g
.type fn5_g,@function
fn5_g: # @fn5_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end148:
@@ -2948,13 +3055,13 @@ fn5_g: # @fn5_g
.type fn6_g,@function
fn6_g: # @fn6_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, 2368
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, 2368
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end149:
@@ -2966,13 +3073,13 @@ fn6_g: # @fn6_g
.type fn7_g,@function
fn7_g: # @fn7_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 37
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 37
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end150:
@@ -2984,13 +3091,13 @@ fn7_g: # @fn7_g
.type fn8_g,@function
fn8_g: # @fn8_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 2424832
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 2424832
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end151:
@@ -3002,13 +3109,13 @@ fn8_g: # @fn8_g
.type fn9_g,@function
fn9_g: # @fn9_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 620756992
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 620756992
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end152:
@@ -3020,18 +3127,20 @@ fn9_g: # @fn9_g
.type fn1_h,@function
fn1_h: # @fn1_h
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 17
- i32.div_u $3=, $pop1, $pop2
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, b+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 17
+ i32.div_u $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end153:
@@ -3043,21 +3152,24 @@ fn1_h: # @fn1_h
.type fn2_h,@function
fn2_h: # @fn2_h
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 17
- i32.div_u $push4=, $pop2, $pop3
- i32.shl $push5=, $pop4, $3
- i32.const $push6=, -131009
- i32.and $push7=, $2, $pop6
- i32.or $push8=, $pop5, $pop7
- i32.store $discard=, b+8($1), $pop8
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load $push1=, b+8($pop14):p2align=3
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, 17
+ i32.div_u $push7=, $pop5, $pop6
+ i32.const $push12=, 6
+ i32.shl $push8=, $pop7, $pop12
+ i32.const $push9=, -131009
+ i32.and $push10=, $1, $pop9
+ i32.or $push11=, $pop8, $pop10
+ i32.store $discard=, b+8($pop0):p2align=3, $pop11
return
.endfunc
.Lfunc_end154:
@@ -3069,18 +3181,20 @@ fn2_h: # @fn2_h
.type fn3_h,@function
fn3_h: # @fn3_h
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 2228224
- i32.div_u $push1=, $2, $pop0
- i32.const $push2=, 17
- i32.shl $push3=, $pop1, $pop2
- i32.const $push4=, 131071
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 2228224
+ i32.div_u $push3=, $pop9, $pop2
+ i32.const $push4=, 17
+ i32.shl $push5=, $pop3, $pop4
+ i32.const $push6=, 131071
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end155:
@@ -3092,18 +3206,20 @@ fn3_h: # @fn3_h
.type fn4_h,@function
fn4_h: # @fn4_h
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 17
- i32.div_u $3=, $pop1, $pop2
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, c+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 17
+ i32.div_u $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end156:
@@ -3115,13 +3231,13 @@ fn4_h: # @fn4_h
.type fn5_h,@function
fn5_h: # @fn5_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c+8($1)
- i32.const $push1=, -33
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, c+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c+8($pop4):p2align=3
+ i32.const $push2=, -33
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, c+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end157:
@@ -3133,18 +3249,20 @@ fn5_h: # @fn5_h
.type fn6_h,@function
fn6_h: # @fn6_h
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 1088
- i32.div_u $push1=, $2, $pop0
- i32.const $push2=, 6
- i32.shl $push3=, $pop1, $pop2
- i32.const $push4=, 63
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1088
+ i32.div_u $push3=, $pop9, $pop2
+ i32.const $push4=, 6
+ i32.shl $push5=, $pop3, $pop4
+ i32.const $push6=, 63
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end158:
@@ -3156,13 +3274,13 @@ fn6_h: # @fn6_h
.type fn7_h,@function
fn7_h: # @fn7_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d+8($1)
- i32.const $push1=, 17
- i32.div_u $push2=, $pop0, $pop1
- i32.store16 $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load16_u $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 17
+ i32.div_u $push3=, $pop1, $pop2
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end159:
@@ -3174,13 +3292,13 @@ fn7_h: # @fn7_h
.type fn8_h,@function
fn8_h: # @fn8_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+10($1)
- i32.const $push1=, 17
- i32.div_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+10($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load8_u $push1=, d+10($pop4):p2align=1
+ i32.const $push2=, 17
+ i32.div_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop3
return
.endfunc
.Lfunc_end160:
@@ -3192,13 +3310,13 @@ fn8_h: # @fn8_h
.type fn9_h,@function
fn9_h: # @fn9_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d+8($1)
- i32.const $push1=, 285212672
- i32.div_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+11($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 285212672
+ i32.div_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+11($pop0), $pop3
return
.endfunc
.Lfunc_end161:
@@ -3210,18 +3328,20 @@ fn9_h: # @fn9_h
.type fn1_i,@function
fn1_i: # @fn1_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 19
- i32.rem_u $3=, $pop1, $pop2
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, b+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end162:
@@ -3233,21 +3353,24 @@ fn1_i: # @fn1_i
.type fn2_i,@function
fn2_i: # @fn2_i
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 19
- i32.rem_u $push4=, $pop2, $pop3
- i32.shl $push5=, $pop4, $3
- i32.const $push6=, -131009
- i32.and $push7=, $2, $pop6
- i32.or $push8=, $pop5, $pop7
- i32.store $discard=, b+8($1), $pop8
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load $push1=, b+8($pop14):p2align=3
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, 19
+ i32.rem_u $push7=, $pop5, $pop6
+ i32.const $push12=, 6
+ i32.shl $push8=, $pop7, $pop12
+ i32.const $push9=, -131009
+ i32.and $push10=, $1, $pop9
+ i32.or $push11=, $pop8, $pop10
+ i32.store $discard=, b+8($pop0):p2align=3, $pop11
return
.endfunc
.Lfunc_end163:
@@ -3259,19 +3382,22 @@ fn2_i: # @fn2_i
.type fn3_i,@function
fn3_i: # @fn3_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b+8($1)
- i32.const $3=, 17
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.shl $push3=, $pop2, $3
- i32.const $push4=, 131071
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push12=, 0
+ i32.load $push1=, b+8($pop12):p2align=3
+ tee_local $push11=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop11, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push10=, 17
+ i32.shl $push6=, $pop5, $pop10
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end164:
@@ -3283,18 +3409,20 @@ fn3_i: # @fn3_i
.type fn4_i,@function
fn4_i: # @fn4_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 19
- i32.rem_u $3=, $pop1, $pop2
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, c+8($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c+8($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c+8($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end165:
@@ -3306,21 +3434,24 @@ fn4_i: # @fn4_i
.type fn5_i,@function
fn5_i: # @fn5_i
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $3=, 5
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 1
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 19
- i32.rem_u $push4=, $pop2, $pop3
- i32.shl $push5=, $pop4, $3
- i32.const $push6=, -33
- i32.and $push7=, $2, $pop6
- i32.or $push8=, $pop5, $pop7
- i32.store $discard=, c+8($1), $pop8
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load $push1=, c+8($pop14):p2align=3
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, 19
+ i32.rem_u $push7=, $pop5, $pop6
+ i32.const $push12=, 5
+ i32.shl $push8=, $pop7, $pop12
+ i32.const $push9=, -33
+ i32.and $push10=, $1, $pop9
+ i32.or $push11=, $pop8, $pop10
+ i32.store $discard=, c+8($pop0):p2align=3, $pop11
return
.endfunc
.Lfunc_end166:
@@ -3332,19 +3463,22 @@ fn5_i: # @fn5_i
.type fn6_i,@function
fn6_i: # @fn6_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c+8($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.shl $push3=, $pop2, $3
- i32.const $push4=, 63
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c+8($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push12=, 0
+ i32.load $push1=, c+8($pop12):p2align=3
+ tee_local $push11=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop11, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push10=, 6
+ i32.shl $push6=, $pop5, $pop10
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c+8($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end167:
@@ -3356,13 +3490,13 @@ fn6_i: # @fn6_i
.type fn7_i,@function
fn7_i: # @fn7_i
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d+8($1)
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.store16 $discard=, d+8($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load16_u $push1=, d+8($pop4):p2align=3
+ i32.const $push2=, 19
+ i32.rem_u $push3=, $pop1, $pop2
+ i32.store16 $discard=, d+8($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end168:
@@ -3374,13 +3508,13 @@ fn7_i: # @fn7_i
.type fn8_i,@function
fn8_i: # @fn8_i
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+10($1)
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+10($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load8_u $push1=, d+10($pop4):p2align=1
+ i32.const $push2=, 19
+ i32.rem_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+10($pop0):p2align=1, $pop3
return
.endfunc
.Lfunc_end169:
@@ -3392,13 +3526,13 @@ fn8_i: # @fn8_i
.type fn9_i,@function
fn9_i: # @fn9_i
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+11($1)
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+11($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load8_u $push1=, d+11($pop4)
+ i32.const $push2=, 19
+ i32.rem_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+11($pop0), $pop3
return
.endfunc
.Lfunc_end170:
@@ -3410,16 +3544,18 @@ fn9_i: # @fn9_i
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end1610
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 560051
- i32.store $discard=, b+8($0), $pop0
- i32.const $push1=, -2147483595
- i32.store $discard=, c+8($0), $pop1
- i32.const $push2=, -1147377476
- i32.store $discard=, d+8($0), $pop2
- return $0
+ i32.store $discard=, b+8($pop1):p2align=3, $pop0
+ i32.const $push6=, 0
+ i32.const $push2=, -2147483595
+ i32.store $discard=, c+8($pop6):p2align=3, $pop2
+ i32.const $push5=, 0
+ i32.const $push3=, -1147377476
+ i32.store $discard=, d+8($pop5):p2align=3, $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end171:
.size main, .Lfunc_end171-main
@@ -3428,7 +3564,7 @@ main: # @main
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 3
+ .p2align 3
b:
.skip 16
.size b, 16
@@ -3437,7 +3573,7 @@ b:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 3
+ .p2align 3
c:
.skip 16
.size c, 16
@@ -3446,7 +3582,7 @@ c:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 3
+ .p2align 3
d:
.skip 16
.size d, 16
diff --git a/test/torture-s/20040705-2.c.s b/test/torture-s/20040705-2.c.s
index 9899137dd..9451a1164 100644
--- a/test/torture-s/20040705-2.c.s
+++ b/test/torture-s/20040705-2.c.s
@@ -8,7 +8,7 @@ ret1: # @ret1
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, b($pop0)
+ i32.load $push1=, b($pop0):p2align=3
i32.const $push2=, 63
i32.and $push3=, $pop1, $pop2
return $pop3
@@ -24,7 +24,7 @@ ret2: # @ret2
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, b($pop0)
+ i32.load $push1=, b($pop0):p2align=3
i32.const $push2=, 6
i32.shr_u $push3=, $pop1, $pop2
i32.const $push4=, 2047
@@ -42,7 +42,7 @@ ret3: # @ret3
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, b($pop0)
+ i32.load $push1=, b($pop0):p2align=3
i32.const $push2=, 17
i32.shr_u $push3=, $pop1, $pop2
return $pop3
@@ -58,7 +58,7 @@ ret4: # @ret4
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, c($pop0)
+ i32.load $push1=, c($pop0):p2align=3
i32.const $push2=, 31
i32.and $push3=, $pop1, $pop2
return $pop3
@@ -74,7 +74,7 @@ ret5: # @ret5
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, c($pop0)
+ i32.load $push1=, c($pop0):p2align=3
i32.const $push2=, 5
i32.shr_u $push3=, $pop1, $pop2
i32.const $push4=, 1
@@ -92,7 +92,7 @@ ret6: # @ret6
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $push1=, c($pop0)
+ i32.load $push1=, c($pop0):p2align=3
i32.const $push2=, 6
i32.shr_u $push3=, $pop1, $pop2
return $pop3
@@ -108,7 +108,7 @@ ret7: # @ret7
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load16_u $push1=, d($pop0)
+ i32.load16_u $push1=, d($pop0):p2align=3
return $pop1
.endfunc
.Lfunc_end6:
@@ -122,7 +122,7 @@ ret8: # @ret8
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load8_u $push1=, d+2($pop0)
+ i32.load8_u $push1=, d+2($pop0):p2align=1
return $pop1
.endfunc
.Lfunc_end7:
@@ -148,17 +148,19 @@ ret9: # @ret9
.type fn1_1,@function
fn1_1: # @fn1_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.add $push0=, $2, $0
- i32.const $push1=, 63
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.add $push2=, $pop8, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end9:
@@ -170,19 +172,21 @@ fn1_1: # @fn1_1
.type fn2_1,@function
fn2_1: # @fn2_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.add $push2=, $2, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop10, $pop3
+ i32.const $push5=, 131008
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -131009
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end10:
@@ -194,14 +198,14 @@ fn2_1: # @fn2_1
.type fn3_1,@function
fn3_1: # @fn3_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 17
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop0, $pop2
- i32.store $discard=, b($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, b($pop5):p2align=3
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $discard=, b($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end11:
@@ -213,17 +217,19 @@ fn3_1: # @fn3_1
.type fn4_1,@function
fn4_1: # @fn4_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.add $push0=, $2, $0
- i32.const $push1=, 31
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.add $push2=, $pop8, $0
+ i32.const $push3=, 31
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end12:
@@ -235,19 +241,21 @@ fn4_1: # @fn4_1
.type fn5_1,@function
fn5_1: # @fn5_1
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 5
- i32.shl $push1=, $0, $pop0
- i32.add $push2=, $2, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop10, $pop3
+ i32.const $push5=, 32
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -33
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end13:
@@ -259,14 +267,14 @@ fn5_1: # @fn5_1
.type fn6_1,@function
fn6_1: # @fn6_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop0, $pop2
- i32.store $discard=, c($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, c($pop5):p2align=3
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $discard=, c($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end14:
@@ -278,12 +286,12 @@ fn6_1: # @fn6_1
.type fn7_1,@function
fn7_1: # @fn7_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.add $push1=, $pop0, $0
- i32.store16 $discard=, d($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load $push1=, d($pop3):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.store16 $discard=, d($pop0):p2align=3, $pop2
return
.endfunc
.Lfunc_end15:
@@ -295,15 +303,16 @@ fn7_1: # @fn7_1
.type fn8_1,@function
fn8_1: # @fn8_1
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 16
- i32.load $push0=, d($1)
- i32.shl $push1=, $0, $2
- i32.add $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+2($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7):p2align=3
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.const $push6=, 16
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end16:
@@ -315,14 +324,14 @@ fn8_1: # @fn8_1
.type fn9_1,@function
fn9_1: # @fn9_1
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 24
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop0, $pop2
- i32.store $discard=, d($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, d($pop5):p2align=3
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $discard=, d($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end17:
@@ -334,18 +343,20 @@ fn9_1: # @fn9_1
.type fn1_2,@function
fn1_2: # @fn1_2
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end18:
@@ -357,18 +368,20 @@ fn1_2: # @fn1_2
.type fn2_2,@function
fn2_2: # @fn2_2
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 64
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 64
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end19:
@@ -380,13 +393,13 @@ fn2_2: # @fn2_2
.type fn3_2,@function
fn3_2: # @fn3_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, 131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end20:
@@ -398,18 +411,20 @@ fn3_2: # @fn3_2
.type fn4_2,@function
fn4_2: # @fn4_2
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end21:
@@ -421,13 +436,13 @@ fn4_2: # @fn4_2
.type fn5_2,@function
fn5_2: # @fn5_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end22:
@@ -439,13 +454,13 @@ fn5_2: # @fn5_2
.type fn6_2,@function
fn6_2: # @fn6_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end23:
@@ -457,13 +472,13 @@ fn6_2: # @fn6_2
.type fn7_2,@function
fn7_2: # @fn7_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end24:
@@ -475,15 +490,15 @@ fn7_2: # @fn7_2
.type fn8_2,@function
fn8_2: # @fn8_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65536
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6):p2align=3
+ i32.const $push2=, 65536
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end25:
@@ -495,13 +510,13 @@ fn8_2: # @fn8_2
.type fn9_2,@function
fn9_2: # @fn9_2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end26:
@@ -513,18 +528,20 @@ fn9_2: # @fn9_2
.type fn1_3,@function
fn1_3: # @fn1_3
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end27:
@@ -536,18 +553,20 @@ fn1_3: # @fn1_3
.type fn2_3,@function
fn2_3: # @fn2_3
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 64
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 64
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end28:
@@ -559,13 +578,13 @@ fn2_3: # @fn2_3
.type fn3_3,@function
fn3_3: # @fn3_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, 131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end29:
@@ -577,18 +596,20 @@ fn3_3: # @fn3_3
.type fn4_3,@function
fn4_3: # @fn4_3
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end30:
@@ -600,13 +621,13 @@ fn4_3: # @fn4_3
.type fn5_3,@function
fn5_3: # @fn5_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end31:
@@ -618,13 +639,13 @@ fn5_3: # @fn5_3
.type fn6_3,@function
fn6_3: # @fn6_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end32:
@@ -636,13 +657,13 @@ fn6_3: # @fn6_3
.type fn7_3,@function
fn7_3: # @fn7_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end33:
@@ -654,15 +675,15 @@ fn7_3: # @fn7_3
.type fn8_3,@function
fn8_3: # @fn8_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65536
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6):p2align=3
+ i32.const $push2=, 65536
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end34:
@@ -674,13 +695,13 @@ fn8_3: # @fn8_3
.type fn9_3,@function
fn9_3: # @fn9_3
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end35:
@@ -692,17 +713,19 @@ fn9_3: # @fn9_3
.type fn1_4,@function
fn1_4: # @fn1_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.sub $push0=, $2, $0
- i32.const $push1=, 63
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.sub $push2=, $pop8, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end36:
@@ -714,19 +737,21 @@ fn1_4: # @fn1_4
.type fn2_4,@function
fn2_4: # @fn2_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, 131008
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -131009
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end37:
@@ -738,19 +763,21 @@ fn2_4: # @fn2_4
.type fn3_4,@function
fn3_4: # @fn3_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 17
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, -131072
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, 131071
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, -131072
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end38:
@@ -762,17 +789,19 @@ fn3_4: # @fn3_4
.type fn4_4,@function
fn4_4: # @fn4_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.sub $push0=, $2, $0
- i32.const $push1=, 31
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.sub $push2=, $pop8, $0
+ i32.const $push3=, 31
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end39:
@@ -784,19 +813,21 @@ fn4_4: # @fn4_4
.type fn5_4,@function
fn5_4: # @fn5_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 5
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, 32
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, -33
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end40:
@@ -808,19 +839,21 @@ fn5_4: # @fn5_4
.type fn6_4,@function
fn6_4: # @fn6_4
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, -64
- i32.and $push4=, $pop2, $pop3
- i32.const $push5=, 63
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop10, $pop3
+ i32.const $push5=, -64
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end41:
@@ -832,12 +865,12 @@ fn6_4: # @fn6_4
.type fn7_4,@function
fn7_4: # @fn7_4
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.sub $push1=, $pop0, $0
- i32.store16 $discard=, d($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load $push1=, d($pop3):p2align=3
+ i32.sub $push2=, $pop1, $0
+ i32.store16 $discard=, d($pop0):p2align=3, $pop2
return
.endfunc
.Lfunc_end42:
@@ -849,15 +882,16 @@ fn7_4: # @fn7_4
.type fn8_4,@function
fn8_4: # @fn8_4
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 16
- i32.load $push0=, d($1)
- i32.shl $push1=, $0, $2
- i32.sub $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+2($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7):p2align=3
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop1, $pop3
+ i32.const $push6=, 16
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end43:
@@ -869,15 +903,16 @@ fn8_4: # @fn8_4
.type fn9_4,@function
fn9_4: # @fn9_4
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 24
- i32.load $push0=, d($1)
- i32.shl $push1=, $0, $2
- i32.sub $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+3($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7):p2align=3
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.sub $push4=, $pop1, $pop3
+ i32.const $push6=, 24
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+3($pop0), $pop5
return
.endfunc
.Lfunc_end44:
@@ -889,17 +924,20 @@ fn9_4: # @fn9_4
.type fn1_5,@function
fn1_5: # @fn1_5
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 63
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 63
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end45:
@@ -911,17 +949,20 @@ fn1_5: # @fn1_5
.type fn2_5,@function
fn2_5: # @fn2_5
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 131008
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -131009
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 131008
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 131008
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -131009
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end46:
@@ -933,13 +974,13 @@ fn2_5: # @fn2_5
.type fn3_5,@function
fn3_5: # @fn3_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, -131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, -131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end47:
@@ -951,17 +992,20 @@ fn3_5: # @fn3_5
.type fn4_5,@function
fn4_5: # @fn4_5
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 31
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, c($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 31
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end48:
@@ -973,13 +1017,13 @@ fn4_5: # @fn4_5
.type fn5_5,@function
fn5_5: # @fn5_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end49:
@@ -991,13 +1035,13 @@ fn5_5: # @fn5_5
.type fn6_5,@function
fn6_5: # @fn6_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, -64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, -64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end50:
@@ -1009,13 +1053,13 @@ fn6_5: # @fn6_5
.type fn7_5,@function
fn7_5: # @fn7_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65535
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 65535
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end51:
@@ -1027,15 +1071,15 @@ fn7_5: # @fn7_5
.type fn8_5,@function
fn8_5: # @fn8_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16711680
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6):p2align=3
+ i32.const $push2=, 16711680
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end52:
@@ -1047,13 +1091,13 @@ fn8_5: # @fn8_5
.type fn9_5,@function
fn9_5: # @fn9_5
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, -16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, -16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end53:
@@ -1065,17 +1109,20 @@ fn9_5: # @fn9_5
.type fn1_6,@function
fn1_6: # @fn1_6
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 63
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 63
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end54:
@@ -1087,17 +1134,20 @@ fn1_6: # @fn1_6
.type fn2_6,@function
fn2_6: # @fn2_6
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 131008
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -131009
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 131008
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 131008
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -131009
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end55:
@@ -1109,13 +1159,13 @@ fn2_6: # @fn2_6
.type fn3_6,@function
fn3_6: # @fn3_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, -131072
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, -131072
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end56:
@@ -1127,17 +1177,20 @@ fn3_6: # @fn3_6
.type fn4_6,@function
fn4_6: # @fn4_6
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 31
- i32.add $push0=, $2, $3
- i32.and $push1=, $pop0, $3
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.store $discard=, c($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push8=, 31
+ i32.and $push4=, $pop3, $pop8
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end57:
@@ -1149,13 +1202,13 @@ fn4_6: # @fn4_6
.type fn5_6,@function
fn5_6: # @fn5_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end58:
@@ -1167,13 +1220,13 @@ fn5_6: # @fn5_6
.type fn6_6,@function
fn6_6: # @fn6_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, -64
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, -64
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end59:
@@ -1185,13 +1238,13 @@ fn6_6: # @fn6_6
.type fn7_6,@function
fn7_6: # @fn7_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65535
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 65535
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end60:
@@ -1203,15 +1256,15 @@ fn7_6: # @fn7_6
.type fn8_6,@function
fn8_6: # @fn8_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16711680
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6):p2align=3
+ i32.const $push2=, 16711680
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end61:
@@ -1223,13 +1276,13 @@ fn8_6: # @fn8_6
.type fn9_6,@function
fn9_6: # @fn9_6
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, -16777216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, -16777216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end62:
@@ -1241,14 +1294,14 @@ fn9_6: # @fn9_6
.type fn1_7,@function
fn1_7: # @fn1_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, -64
- i32.or $push2=, $0, $pop1
- i32.load $push0=, b($1)
- i32.and $push3=, $pop2, $pop0
- i32.store $discard=, b($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push2=, -64
+ i32.or $push3=, $0, $pop2
+ i32.const $push5=, 0
+ i32.load $push1=, b($pop5):p2align=3
+ i32.and $push4=, $pop3, $pop1
+ i32.store $discard=, b($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end63:
@@ -1260,16 +1313,16 @@ fn1_7: # @fn1_7
.type fn2_7,@function
fn2_7: # @fn2_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, -131009
- i32.or $push4=, $pop2, $pop3
- i32.load $push0=, b($1)
- i32.and $push5=, $pop4, $pop0
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, -131009
+ i32.or $push5=, $pop3, $pop4
+ i32.const $push7=, 0
+ i32.load $push1=, b($pop7):p2align=3
+ i32.and $push6=, $pop5, $pop1
+ i32.store $discard=, b($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end64:
@@ -1281,16 +1334,16 @@ fn2_7: # @fn2_7
.type fn3_7,@function
fn3_7: # @fn3_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 17
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 131071
- i32.or $push4=, $pop2, $pop3
- i32.and $push5=, $pop0, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, b($pop7):p2align=3
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 131071
+ i32.or $push5=, $pop3, $pop4
+ i32.and $push6=, $pop1, $pop5
+ i32.store $discard=, b($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end65:
@@ -1302,14 +1355,14 @@ fn3_7: # @fn3_7
.type fn4_7,@function
fn4_7: # @fn4_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, -32
- i32.or $push2=, $0, $pop1
- i32.load $push0=, c($1)
- i32.and $push3=, $pop2, $pop0
- i32.store $discard=, c($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push2=, -32
+ i32.or $push3=, $0, $pop2
+ i32.const $push5=, 0
+ i32.load $push1=, c($pop5):p2align=3
+ i32.and $push4=, $pop3, $pop1
+ i32.store $discard=, c($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end66:
@@ -1321,16 +1374,16 @@ fn4_7: # @fn4_7
.type fn5_7,@function
fn5_7: # @fn5_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, 5
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, -33
- i32.or $push4=, $pop2, $pop3
- i32.load $push0=, c($1)
- i32.and $push5=, $pop4, $pop0
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, -33
+ i32.or $push5=, $pop3, $pop4
+ i32.const $push7=, 0
+ i32.load $push1=, c($pop7):p2align=3
+ i32.and $push6=, $pop5, $pop1
+ i32.store $discard=, c($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end67:
@@ -1342,16 +1395,16 @@ fn5_7: # @fn5_7
.type fn6_7,@function
fn6_7: # @fn6_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 63
- i32.or $push4=, $pop2, $pop3
- i32.and $push5=, $pop0, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, c($pop7):p2align=3
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 63
+ i32.or $push5=, $pop3, $pop4
+ i32.and $push6=, $pop1, $pop5
+ i32.store $discard=, c($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end68:
@@ -1363,14 +1416,14 @@ fn6_7: # @fn6_7
.type fn7_7,@function
fn7_7: # @fn7_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, -65536
- i32.or $push2=, $0, $pop1
- i32.load $push0=, d($1)
- i32.and $push3=, $pop2, $pop0
- i32.store $discard=, d($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push2=, -65536
+ i32.or $push3=, $0, $pop2
+ i32.const $push5=, 0
+ i32.load $push1=, d($pop5):p2align=3
+ i32.and $push4=, $pop3, $pop1
+ i32.store $discard=, d($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end69:
@@ -1382,16 +1435,16 @@ fn7_7: # @fn7_7
.type fn8_7,@function
fn8_7: # @fn8_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, 16
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, -16711681
- i32.or $push4=, $pop2, $pop3
- i32.load $push0=, d($1)
- i32.and $push5=, $pop4, $pop0
- i32.store $discard=, d($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, -16711681
+ i32.or $push5=, $pop3, $pop4
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7):p2align=3
+ i32.and $push6=, $pop5, $pop1
+ i32.store $discard=, d($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end70:
@@ -1403,16 +1456,16 @@ fn8_7: # @fn8_7
.type fn9_7,@function
fn9_7: # @fn9_7
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 24
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 16777215
- i32.or $push4=, $pop2, $pop3
- i32.and $push5=, $pop0, $pop4
- i32.store $discard=, d($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7):p2align=3
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 16777215
+ i32.or $push5=, $pop3, $pop4
+ i32.and $push6=, $pop1, $pop5
+ i32.store $discard=, d($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end71:
@@ -1424,14 +1477,14 @@ fn9_7: # @fn9_7
.type fn1_8,@function
fn1_8: # @fn1_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 63
- i32.and $push2=, $0, $pop1
- i32.or $push3=, $pop0, $pop2
- i32.store $discard=, b($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, b($pop5):p2align=3
+ i32.const $push2=, 63
+ i32.and $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.store $discard=, b($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end72:
@@ -1443,16 +1496,16 @@ fn1_8: # @fn1_8
.type fn2_8,@function
fn2_8: # @fn2_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.or $push5=, $pop0, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, b($pop7):p2align=3
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.or $push6=, $pop1, $pop5
+ i32.store $discard=, b($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end73:
@@ -1464,19 +1517,21 @@ fn2_8: # @fn2_8
.type fn3_8,@function
fn3_8: # @fn3_8
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push2=, -131072
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 17
- i32.shl $push1=, $0, $pop0
- i32.or $push4=, $pop3, $pop1
- i32.const $push5=, 131071
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -131072
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.or $push6=, $pop5, $pop3
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end74:
@@ -1488,14 +1543,14 @@ fn3_8: # @fn3_8
.type fn4_8,@function
fn4_8: # @fn4_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 31
- i32.and $push2=, $0, $pop1
- i32.or $push3=, $pop0, $pop2
- i32.store $discard=, c($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, c($pop5):p2align=3
+ i32.const $push2=, 31
+ i32.and $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.store $discard=, c($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end75:
@@ -1507,16 +1562,16 @@ fn4_8: # @fn4_8
.type fn5_8,@function
fn5_8: # @fn5_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 5
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.or $push5=, $pop0, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, c($pop7):p2align=3
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 32
+ i32.and $push5=, $pop3, $pop4
+ i32.or $push6=, $pop1, $pop5
+ i32.store $discard=, c($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end76:
@@ -1528,19 +1583,21 @@ fn5_8: # @fn5_8
.type fn6_8,@function
fn6_8: # @fn6_8
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.or $push4=, $pop3, $pop1
- i32.const $push5=, 63
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -64
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.or $push6=, $pop5, $pop3
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end77:
@@ -1552,14 +1609,14 @@ fn6_8: # @fn6_8
.type fn7_8,@function
fn7_8: # @fn7_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65535
- i32.and $push2=, $0, $pop1
- i32.or $push3=, $pop0, $pop2
- i32.store $discard=, d($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, d($pop5):p2align=3
+ i32.const $push2=, 65535
+ i32.and $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.store $discard=, d($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end78:
@@ -1571,16 +1628,16 @@ fn7_8: # @fn7_8
.type fn8_8,@function
fn8_8: # @fn8_8
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 16711680
- i32.and $push4=, $pop2, $pop3
- i32.or $push5=, $pop0, $pop4
- i32.store $discard=, d($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7):p2align=3
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 16711680
+ i32.and $push5=, $pop3, $pop4
+ i32.or $push6=, $pop1, $pop5
+ i32.store $discard=, d($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end79:
@@ -1592,15 +1649,16 @@ fn8_8: # @fn8_8
.type fn9_8,@function
fn9_8: # @fn9_8
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 24
- i32.load $push0=, d($1)
- i32.shl $push1=, $0, $2
- i32.or $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+3($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7):p2align=3
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.or $push4=, $pop1, $pop3
+ i32.const $push6=, 24
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+3($pop0), $pop5
return
.endfunc
.Lfunc_end80:
@@ -1612,14 +1670,14 @@ fn9_8: # @fn9_8
.type fn1_9,@function
fn1_9: # @fn1_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 63
- i32.and $push2=, $0, $pop1
- i32.xor $push3=, $pop0, $pop2
- i32.store $discard=, b($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, b($pop5):p2align=3
+ i32.const $push2=, 63
+ i32.and $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.store $discard=, b($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end81:
@@ -1631,16 +1689,16 @@ fn1_9: # @fn1_9
.type fn2_9,@function
fn2_9: # @fn2_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 6
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 131008
- i32.and $push4=, $pop2, $pop3
- i32.xor $push5=, $pop0, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, b($pop7):p2align=3
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.xor $push6=, $pop1, $pop5
+ i32.store $discard=, b($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end82:
@@ -1652,19 +1710,21 @@ fn2_9: # @fn2_9
.type fn3_9,@function
fn3_9: # @fn3_9
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push2=, -131072
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 17
- i32.shl $push1=, $0, $pop0
- i32.xor $push4=, $pop3, $pop1
- i32.const $push5=, 131071
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -131072
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.xor $push6=, $pop5, $pop3
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end83:
@@ -1676,14 +1736,14 @@ fn3_9: # @fn3_9
.type fn4_9,@function
fn4_9: # @fn4_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 31
- i32.and $push2=, $0, $pop1
- i32.xor $push3=, $pop0, $pop2
- i32.store $discard=, c($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, c($pop5):p2align=3
+ i32.const $push2=, 31
+ i32.and $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.store $discard=, c($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end84:
@@ -1695,16 +1755,16 @@ fn4_9: # @fn4_9
.type fn5_9,@function
fn5_9: # @fn5_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 5
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 32
- i32.and $push4=, $pop2, $pop3
- i32.xor $push5=, $pop0, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, c($pop7):p2align=3
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 32
+ i32.and $push5=, $pop3, $pop4
+ i32.xor $push6=, $pop1, $pop5
+ i32.store $discard=, c($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end85:
@@ -1716,19 +1776,21 @@ fn5_9: # @fn5_9
.type fn6_9,@function
fn6_9: # @fn6_9
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.const $push0=, 6
- i32.shl $push1=, $0, $pop0
- i32.xor $push4=, $pop3, $pop1
- i32.const $push5=, 63
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push4=, -64
+ i32.and $push5=, $pop10, $pop4
+ i32.const $push2=, 6
+ i32.shl $push3=, $0, $pop2
+ i32.xor $push6=, $pop5, $pop3
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end86:
@@ -1740,14 +1802,14 @@ fn6_9: # @fn6_9
.type fn7_9,@function
fn7_9: # @fn7_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65535
- i32.and $push2=, $0, $pop1
- i32.xor $push3=, $pop0, $pop2
- i32.store $discard=, d($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, d($pop5):p2align=3
+ i32.const $push2=, 65535
+ i32.and $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.store $discard=, d($pop0):p2align=3, $pop4
return
.endfunc
.Lfunc_end87:
@@ -1759,16 +1821,16 @@ fn7_9: # @fn7_9
.type fn8_9,@function
fn8_9: # @fn8_9
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16
- i32.shl $push2=, $0, $pop1
- i32.const $push3=, 16711680
- i32.and $push4=, $pop2, $pop3
- i32.xor $push5=, $pop0, $pop4
- i32.store $discard=, d($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7):p2align=3
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 16711680
+ i32.and $push5=, $pop3, $pop4
+ i32.xor $push6=, $pop1, $pop5
+ i32.store $discard=, d($pop0):p2align=3, $pop6
return
.endfunc
.Lfunc_end88:
@@ -1780,15 +1842,16 @@ fn8_9: # @fn8_9
.type fn9_9,@function
fn9_9: # @fn9_9
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 24
- i32.load $push0=, d($1)
- i32.shl $push1=, $0, $2
- i32.xor $push2=, $pop0, $pop1
- i32.shr_u $push3=, $pop2, $2
- i32.store8 $discard=, d+3($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, d($pop7):p2align=3
+ i32.const $push2=, 24
+ i32.shl $push3=, $0, $pop2
+ i32.xor $push4=, $pop1, $pop3
+ i32.const $push6=, 24
+ i32.shr_u $push5=, $pop4, $pop6
+ i32.store8 $discard=, d+3($pop0), $pop5
return
.endfunc
.Lfunc_end89:
@@ -1800,17 +1863,19 @@ fn9_9: # @fn9_9
.type fn1_a,@function
fn1_a: # @fn1_a
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.div_u $0=, $pop1, $0
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop3, $0
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.const $push5=, -64
+ i32.and $push6=, $pop8, $pop5
+ i32.const $push2=, 63
+ i32.and $push3=, $1, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.or $push7=, $pop6, $pop4
+ i32.store $discard=, b($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end90:
@@ -1822,20 +1887,23 @@ fn1_a: # @fn1_a
.type fn2_a,@function
fn2_a: # @fn2_a
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.div_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, b($pop13):p2align=3
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.div_u $push6=, $pop5, $0
+ i32.const $push11=, 6
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -131009
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, b($pop0):p2align=3, $pop10
return
.endfunc
.Lfunc_end91:
@@ -1847,18 +1915,21 @@ fn2_a: # @fn2_a
.type fn3_a,@function
fn3_a: # @fn3_a
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 17
- i32.shr_u $push0=, $2, $3
- i32.div_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 131071
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.const $push9=, 17
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 131071
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end92:
@@ -1870,17 +1941,19 @@ fn3_a: # @fn3_a
.type fn4_a,@function
fn4_a: # @fn4_a
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.div_u $0=, $pop1, $0
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $pop3, $0
- i32.store $discard=, c($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.const $push5=, -32
+ i32.and $push6=, $pop8, $pop5
+ i32.const $push2=, 31
+ i32.and $push3=, $1, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.or $push7=, $pop6, $pop4
+ i32.store $discard=, c($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end93:
@@ -1892,20 +1965,23 @@ fn4_a: # @fn4_a
.type fn5_a,@function
fn5_a: # @fn5_a
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 5
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 1
- i32.and $push2=, $pop0, $pop1
- i32.div_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, c($pop13):p2align=3
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ i32.div_u $push6=, $pop5, $0
+ i32.const $push11=, 5
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -33
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, c($pop0):p2align=3, $pop10
return
.endfunc
.Lfunc_end94:
@@ -1917,18 +1993,21 @@ fn5_a: # @fn5_a
.type fn6_a,@function
fn6_a: # @fn6_a
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.div_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 63
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.div_u $push4=, $pop3, $0
+ i32.const $push9=, 6
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 63
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end95:
@@ -1940,12 +2019,12 @@ fn6_a: # @fn6_a
.type fn7_a,@function
fn7_a: # @fn7_a
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d($1)
- i32.div_u $push1=, $pop0, $0
- i32.store16 $discard=, d($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load16_u $push1=, d($pop3):p2align=3
+ i32.div_u $push2=, $pop1, $0
+ i32.store16 $discard=, d($pop0):p2align=3, $pop2
return
.endfunc
.Lfunc_end96:
@@ -1957,12 +2036,12 @@ fn7_a: # @fn7_a
.type fn8_a,@function
fn8_a: # @fn8_a
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+2($1)
- i32.div_u $push1=, $pop0, $0
- i32.store8 $discard=, d+2($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+2($pop3):p2align=1
+ i32.div_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop2
return
.endfunc
.Lfunc_end97:
@@ -1974,12 +2053,12 @@ fn8_a: # @fn8_a
.type fn9_a,@function
fn9_a: # @fn9_a
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+3($1)
- i32.div_u $push1=, $pop0, $0
- i32.store8 $discard=, d+3($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+3($pop3)
+ i32.div_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+3($pop0), $pop2
return
.endfunc
.Lfunc_end98:
@@ -1991,17 +2070,19 @@ fn9_a: # @fn9_a
.type fn1_b,@function
fn1_b: # @fn1_b
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.rem_u $0=, $pop1, $0
- i32.const $push2=, -64
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $0, $pop3
- i32.store $discard=, b($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, b($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.and $push3=, $pop8, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, b($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end99:
@@ -2013,20 +2094,23 @@ fn1_b: # @fn1_b
.type fn2_b,@function
fn2_b: # @fn2_b
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.rem_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -131009
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, b($1), $pop7
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, b($pop13):p2align=3
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.rem_u $push6=, $pop5, $0
+ i32.const $push11=, 6
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -131009
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, b($pop0):p2align=3, $pop10
return
.endfunc
.Lfunc_end100:
@@ -2038,18 +2122,21 @@ fn2_b: # @fn2_b
.type fn3_b,@function
fn3_b: # @fn3_b
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 17
- i32.shr_u $push0=, $2, $3
- i32.rem_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 131071
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, b($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push9=, 17
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 131071
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end101:
@@ -2061,17 +2148,19 @@ fn3_b: # @fn3_b
.type fn4_b,@function
fn4_b: # @fn4_b
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.rem_u $0=, $pop1, $0
- i32.const $push2=, -32
- i32.and $push3=, $2, $pop2
- i32.or $push4=, $0, $pop3
- i32.store $discard=, c($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, c($pop9):p2align=3
+ tee_local $push8=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.and $push3=, $pop8, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push5=, -32
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop4, $pop6
+ i32.store $discard=, c($pop0):p2align=3, $pop7
return
.endfunc
.Lfunc_end102:
@@ -2083,20 +2172,23 @@ fn4_b: # @fn4_b
.type fn5_b,@function
fn5_b: # @fn5_b
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 5
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 1
- i32.and $push2=, $pop0, $pop1
- i32.rem_u $push3=, $pop2, $0
- i32.shl $push4=, $pop3, $3
- i32.const $push5=, -33
- i32.and $push6=, $2, $pop5
- i32.or $push7=, $pop4, $pop6
- i32.store $discard=, c($1), $pop7
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push13=, 0
+ i32.load $push1=, c($pop13):p2align=3
+ tee_local $push12=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop12, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ i32.rem_u $push6=, $pop5, $0
+ i32.const $push11=, 5
+ i32.shl $push7=, $pop6, $pop11
+ i32.const $push8=, -33
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store $discard=, c($pop0):p2align=3, $pop10
return
.endfunc
.Lfunc_end103:
@@ -2108,18 +2200,21 @@ fn5_b: # @fn5_b
.type fn6_b,@function
fn6_b: # @fn6_b
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.rem_u $push1=, $pop0, $0
- i32.shl $push2=, $pop1, $3
- i32.const $push3=, 63
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $pop2, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, c($pop11):p2align=3
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.rem_u $push4=, $pop3, $0
+ i32.const $push9=, 6
+ i32.shl $push5=, $pop4, $pop9
+ i32.const $push6=, 63
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end104:
@@ -2131,12 +2226,12 @@ fn6_b: # @fn6_b
.type fn7_b,@function
fn7_b: # @fn7_b
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d($1)
- i32.rem_u $push1=, $pop0, $0
- i32.store16 $discard=, d($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load16_u $push1=, d($pop3):p2align=3
+ i32.rem_u $push2=, $pop1, $0
+ i32.store16 $discard=, d($pop0):p2align=3, $pop2
return
.endfunc
.Lfunc_end105:
@@ -2148,12 +2243,12 @@ fn7_b: # @fn7_b
.type fn8_b,@function
fn8_b: # @fn8_b
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+2($1)
- i32.rem_u $push1=, $pop0, $0
- i32.store8 $discard=, d+2($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+2($pop3):p2align=1
+ i32.rem_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop2
return
.endfunc
.Lfunc_end106:
@@ -2165,12 +2260,12 @@ fn8_b: # @fn8_b
.type fn9_b,@function
fn9_b: # @fn9_b
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+3($1)
- i32.rem_u $push1=, $pop0, $0
- i32.store8 $discard=, d+3($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load8_u $push1=, d+3($pop3)
+ i32.rem_u $push2=, $pop1, $0
+ i32.store8 $discard=, d+3($pop0), $pop2
return
.endfunc
.Lfunc_end107:
@@ -2182,18 +2277,20 @@ fn9_b: # @fn9_b
.type fn1_c,@function
fn1_c: # @fn1_c
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 3
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 3
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end108:
@@ -2205,18 +2302,20 @@ fn1_c: # @fn1_c
.type fn2_c,@function
fn2_c: # @fn2_c
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 192
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 192
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end109:
@@ -2228,13 +2327,13 @@ fn2_c: # @fn2_c
.type fn3_c,@function
fn3_c: # @fn3_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 393216
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, 393216
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end110:
@@ -2246,18 +2345,20 @@ fn3_c: # @fn3_c
.type fn4_c,@function
fn4_c: # @fn4_c
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 3
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 3
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end111:
@@ -2269,13 +2370,13 @@ fn4_c: # @fn4_c
.type fn5_c,@function
fn5_c: # @fn5_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end112:
@@ -2287,13 +2388,13 @@ fn5_c: # @fn5_c
.type fn6_c,@function
fn6_c: # @fn6_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 192
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 192
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end113:
@@ -2305,13 +2406,13 @@ fn6_c: # @fn6_c
.type fn7_c,@function
fn7_c: # @fn7_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 3
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end114:
@@ -2323,15 +2424,15 @@ fn7_c: # @fn7_c
.type fn8_c,@function
fn8_c: # @fn8_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 196608
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6):p2align=3
+ i32.const $push2=, 196608
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end115:
@@ -2343,13 +2444,13 @@ fn8_c: # @fn8_c
.type fn9_c,@function
fn9_c: # @fn9_c
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 50331648
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 50331648
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end116:
@@ -2361,18 +2462,20 @@ fn9_c: # @fn9_c
.type fn1_d,@function
fn1_d: # @fn1_d
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 57
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 63
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -64
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 57
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end117:
@@ -2384,18 +2487,20 @@ fn1_d: # @fn1_d
.type fn2_d,@function
fn2_d: # @fn2_d
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 130624
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 131008
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -131009
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 130624
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 131008
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -131009
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end118:
@@ -2407,13 +2512,13 @@ fn2_d: # @fn2_d
.type fn3_d,@function
fn3_d: # @fn3_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, -917504
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, -917504
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end119:
@@ -2425,18 +2530,20 @@ fn3_d: # @fn3_d
.type fn4_d,@function
fn4_d: # @fn4_d
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 25
- i32.add $push1=, $2, $pop0
- i32.const $push2=, 31
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -32
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 25
+ i32.add $push3=, $pop9, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end120:
@@ -2448,13 +2555,13 @@ fn4_d: # @fn4_d
.type fn5_d,@function
fn5_d: # @fn5_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end121:
@@ -2466,13 +2573,13 @@ fn5_d: # @fn5_d
.type fn6_d,@function
fn6_d: # @fn6_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, -448
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, -448
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end122:
@@ -2484,13 +2591,13 @@ fn6_d: # @fn6_d
.type fn7_d,@function
fn7_d: # @fn7_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 65529
- i32.add $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 65529
+ i32.add $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end123:
@@ -2502,15 +2609,15 @@ fn7_d: # @fn7_d
.type fn8_d,@function
fn8_d: # @fn8_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 16318464
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 16
- i32.shr_u $push4=, $pop2, $pop3
- i32.store8 $discard=, d+2($1), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, d($pop6):p2align=3
+ i32.const $push2=, 16318464
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 16
+ i32.shr_u $push5=, $pop3, $pop4
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop5
return
.endfunc
.Lfunc_end124:
@@ -2522,13 +2629,13 @@ fn8_d: # @fn8_d
.type fn9_d,@function
fn9_d: # @fn9_d
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, -117440512
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, -117440512
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end125:
@@ -2540,13 +2647,13 @@ fn9_d: # @fn9_d
.type fn1_e,@function
fn1_e: # @fn1_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, -43
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, -43
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end126:
@@ -2558,13 +2665,13 @@ fn1_e: # @fn1_e
.type fn2_e,@function
fn2_e: # @fn2_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, -129665
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, -129665
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end127:
@@ -2576,13 +2683,13 @@ fn2_e: # @fn2_e
.type fn3_e,@function
fn3_e: # @fn3_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 2883583
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, 2883583
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end128:
@@ -2594,13 +2701,13 @@ fn3_e: # @fn3_e
.type fn4_e,@function
fn4_e: # @fn4_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, -11
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, -11
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end129:
@@ -2624,13 +2731,13 @@ fn5_e: # @fn5_e
.type fn6_e,@function
fn6_e: # @fn6_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 1407
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 1407
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end131:
@@ -2642,13 +2749,13 @@ fn6_e: # @fn6_e
.type fn7_e,@function
fn7_e: # @fn7_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, -65515
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, -65515
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end132:
@@ -2660,13 +2767,13 @@ fn7_e: # @fn7_e
.type fn8_e,@function
fn8_e: # @fn8_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, -15335425
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, -15335425
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end133:
@@ -2678,13 +2785,13 @@ fn8_e: # @fn8_e
.type fn9_e,@function
fn9_e: # @fn9_e
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 369098751
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 369098751
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end134:
@@ -2696,13 +2803,13 @@ fn9_e: # @fn9_e
.type fn1_f,@function
fn1_f: # @fn1_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 19
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, 19
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end135:
@@ -2714,13 +2821,13 @@ fn1_f: # @fn1_f
.type fn2_f,@function
fn2_f: # @fn2_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 1216
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, 1216
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end136:
@@ -2732,13 +2839,13 @@ fn2_f: # @fn2_f
.type fn3_f,@function
fn3_f: # @fn3_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 2490368
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, 2490368
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end137:
@@ -2750,13 +2857,13 @@ fn3_f: # @fn3_f
.type fn4_f,@function
fn4_f: # @fn4_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 19
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 19
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end138:
@@ -2768,13 +2875,13 @@ fn4_f: # @fn4_f
.type fn5_f,@function
fn5_f: # @fn5_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end139:
@@ -2786,13 +2893,13 @@ fn5_f: # @fn5_f
.type fn6_f,@function
fn6_f: # @fn6_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 1216
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 1216
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end140:
@@ -2804,13 +2911,13 @@ fn6_f: # @fn6_f
.type fn7_f,@function
fn7_f: # @fn7_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 19
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 19
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end141:
@@ -2822,13 +2929,13 @@ fn7_f: # @fn7_f
.type fn8_f,@function
fn8_f: # @fn8_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 1245184
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 1245184
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end142:
@@ -2840,13 +2947,13 @@ fn8_f: # @fn8_f
.type fn9_f,@function
fn9_f: # @fn9_f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 318767104
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 318767104
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end143:
@@ -2858,13 +2965,13 @@ fn9_f: # @fn9_f
.type fn1_g,@function
fn1_g: # @fn1_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 37
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, 37
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end144:
@@ -2876,13 +2983,13 @@ fn1_g: # @fn1_g
.type fn2_g,@function
fn2_g: # @fn2_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 2368
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, 2368
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end145:
@@ -2894,13 +3001,13 @@ fn2_g: # @fn2_g
.type fn3_g,@function
fn3_g: # @fn3_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, b($1)
- i32.const $push1=, 4849664
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, b($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4):p2align=3
+ i32.const $push2=, 4849664
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, b($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end146:
@@ -2912,13 +3019,13 @@ fn3_g: # @fn3_g
.type fn4_g,@function
fn4_g: # @fn4_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 5
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 5
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end147:
@@ -2930,13 +3037,13 @@ fn4_g: # @fn4_g
.type fn5_g,@function
fn5_g: # @fn5_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 32
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 32
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end148:
@@ -2948,13 +3055,13 @@ fn5_g: # @fn5_g
.type fn6_g,@function
fn6_g: # @fn6_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, 2368
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, 2368
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end149:
@@ -2966,13 +3073,13 @@ fn6_g: # @fn6_g
.type fn7_g,@function
fn7_g: # @fn7_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 37
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 37
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end150:
@@ -2984,13 +3091,13 @@ fn7_g: # @fn7_g
.type fn8_g,@function
fn8_g: # @fn8_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 2424832
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 2424832
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end151:
@@ -3002,13 +3109,13 @@ fn8_g: # @fn8_g
.type fn9_g,@function
fn9_g: # @fn9_g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 620756992
- i32.xor $push2=, $pop0, $pop1
- i32.store $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 620756992
+ i32.xor $push3=, $pop1, $pop2
+ i32.store $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end152:
@@ -3020,18 +3127,20 @@ fn9_g: # @fn9_g
.type fn1_h,@function
fn1_h: # @fn1_h
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 17
- i32.div_u $3=, $pop1, $pop2
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 17
+ i32.div_u $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end153:
@@ -3043,21 +3152,24 @@ fn1_h: # @fn1_h
.type fn2_h,@function
fn2_h: # @fn2_h
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 17
- i32.div_u $push4=, $pop2, $pop3
- i32.shl $push5=, $pop4, $3
- i32.const $push6=, -131009
- i32.and $push7=, $2, $pop6
- i32.or $push8=, $pop5, $pop7
- i32.store $discard=, b($1), $pop8
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load $push1=, b($pop14):p2align=3
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, 17
+ i32.div_u $push7=, $pop5, $pop6
+ i32.const $push12=, 6
+ i32.shl $push8=, $pop7, $pop12
+ i32.const $push9=, -131009
+ i32.and $push10=, $1, $pop9
+ i32.or $push11=, $pop8, $pop10
+ i32.store $discard=, b($pop0):p2align=3, $pop11
return
.endfunc
.Lfunc_end154:
@@ -3069,18 +3181,20 @@ fn2_h: # @fn2_h
.type fn3_h,@function
fn3_h: # @fn3_h
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 2228224
- i32.div_u $push1=, $2, $pop0
- i32.const $push2=, 17
- i32.shl $push3=, $pop1, $pop2
- i32.const $push4=, 131071
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 2228224
+ i32.div_u $push3=, $pop9, $pop2
+ i32.const $push4=, 17
+ i32.shl $push5=, $pop3, $pop4
+ i32.const $push6=, 131071
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end155:
@@ -3092,18 +3206,20 @@ fn3_h: # @fn3_h
.type fn4_h,@function
fn4_h: # @fn4_h
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 17
- i32.div_u $3=, $pop1, $pop2
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 17
+ i32.div_u $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end156:
@@ -3115,13 +3231,13 @@ fn4_h: # @fn4_h
.type fn5_h,@function
fn5_h: # @fn5_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, c($1)
- i32.const $push1=, -33
- i32.and $push2=, $pop0, $pop1
- i32.store $discard=, c($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4):p2align=3
+ i32.const $push2=, -33
+ i32.and $push3=, $pop1, $pop2
+ i32.store $discard=, c($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end157:
@@ -3133,18 +3249,20 @@ fn5_h: # @fn5_h
.type fn6_h,@function
fn6_h: # @fn6_h
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 1088
- i32.div_u $push1=, $2, $pop0
- i32.const $push2=, 6
- i32.shl $push3=, $pop1, $pop2
- i32.const $push4=, 63
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 1088
+ i32.div_u $push3=, $pop9, $pop2
+ i32.const $push4=, 6
+ i32.shl $push5=, $pop3, $pop4
+ i32.const $push6=, 63
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end158:
@@ -3156,13 +3274,13 @@ fn6_h: # @fn6_h
.type fn7_h,@function
fn7_h: # @fn7_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d($1)
- i32.const $push1=, 17
- i32.div_u $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load16_u $push1=, d($pop4):p2align=3
+ i32.const $push2=, 17
+ i32.div_u $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end159:
@@ -3174,13 +3292,13 @@ fn7_h: # @fn7_h
.type fn8_h,@function
fn8_h: # @fn8_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+2($1)
- i32.const $push1=, 17
- i32.div_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+2($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load8_u $push1=, d+2($pop4):p2align=1
+ i32.const $push2=, 17
+ i32.div_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop3
return
.endfunc
.Lfunc_end160:
@@ -3192,13 +3310,13 @@ fn8_h: # @fn8_h
.type fn9_h,@function
fn9_h: # @fn9_h
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, d($1)
- i32.const $push1=, 285212672
- i32.div_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+3($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, d($pop4):p2align=3
+ i32.const $push2=, 285212672
+ i32.div_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+3($pop0), $pop3
return
.endfunc
.Lfunc_end161:
@@ -3210,18 +3328,20 @@ fn9_h: # @fn9_h
.type fn1_i,@function
fn1_i: # @fn1_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $push0=, 63
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 19
- i32.rem_u $3=, $pop1, $pop2
- i32.const $push3=, -64
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, b($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, b($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 63
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push6=, -64
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, b($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end162:
@@ -3233,21 +3353,24 @@ fn1_i: # @fn1_i
.type fn2_i,@function
fn2_i: # @fn2_i
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 2047
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 19
- i32.rem_u $push4=, $pop2, $pop3
- i32.shl $push5=, $pop4, $3
- i32.const $push6=, -131009
- i32.and $push7=, $2, $pop6
- i32.or $push8=, $pop5, $pop7
- i32.store $discard=, b($1), $pop8
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load $push1=, b($pop14):p2align=3
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.const $push4=, 2047
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, 19
+ i32.rem_u $push7=, $pop5, $pop6
+ i32.const $push12=, 6
+ i32.shl $push8=, $pop7, $pop12
+ i32.const $push9=, -131009
+ i32.and $push10=, $1, $pop9
+ i32.or $push11=, $pop8, $pop10
+ i32.store $discard=, b($pop0):p2align=3, $pop11
return
.endfunc
.Lfunc_end163:
@@ -3259,19 +3382,22 @@ fn2_i: # @fn2_i
.type fn3_i,@function
fn3_i: # @fn3_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.const $3=, 17
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.shl $push3=, $pop2, $3
- i32.const $push4=, 131071
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push12=, 0
+ i32.load $push1=, b($pop12):p2align=3
+ tee_local $push11=, $1=, $pop1
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop11, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push10=, 17
+ i32.shl $push6=, $pop5, $pop10
+ i32.const $push7=, 131071
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, b($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end164:
@@ -3283,18 +3409,20 @@ fn3_i: # @fn3_i
.type fn4_i,@function
fn4_i: # @fn4_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $push0=, 31
- i32.and $push1=, $2, $pop0
- i32.const $push2=, 19
- i32.rem_u $3=, $pop1, $pop2
- i32.const $push3=, -32
- i32.and $push4=, $2, $pop3
- i32.or $push5=, $3, $pop4
- i32.store $discard=, c($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, c($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.const $push2=, 31
+ i32.and $push3=, $pop9, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push6=, -32
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, c($pop0):p2align=3, $pop8
return
.endfunc
.Lfunc_end165:
@@ -3306,21 +3434,24 @@ fn4_i: # @fn4_i
.type fn5_i,@function
fn5_i: # @fn5_i
.param i32
- .local i32, i32, i32
-# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 5
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 1
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 19
- i32.rem_u $push4=, $pop2, $pop3
- i32.shl $push5=, $pop4, $3
- i32.const $push6=, -33
- i32.and $push7=, $2, $pop6
- i32.or $push8=, $pop5, $pop7
- i32.store $discard=, c($1), $pop8
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load $push1=, c($pop14):p2align=3
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, 19
+ i32.rem_u $push7=, $pop5, $pop6
+ i32.const $push12=, 5
+ i32.shl $push8=, $pop7, $pop12
+ i32.const $push9=, -33
+ i32.and $push10=, $1, $pop9
+ i32.or $push11=, $pop8, $pop10
+ i32.store $discard=, c($pop0):p2align=3, $pop11
return
.endfunc
.Lfunc_end166:
@@ -3332,19 +3463,22 @@ fn5_i: # @fn5_i
.type fn6_i,@function
fn6_i: # @fn6_i
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
- i32.const $3=, 6
- i32.shr_u $push0=, $2, $3
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.shl $push3=, $pop2, $3
- i32.const $push4=, 63
- i32.and $push5=, $2, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, c($1), $pop6
+ i32.const $push0=, 0
+ i32.const $push12=, 0
+ i32.load $push1=, c($pop12):p2align=3
+ tee_local $push11=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop11, $pop2
+ i32.const $push4=, 19
+ i32.rem_u $push5=, $pop3, $pop4
+ i32.const $push10=, 6
+ i32.shl $push6=, $pop5, $pop10
+ i32.const $push7=, 63
+ i32.and $push8=, $1, $pop7
+ i32.or $push9=, $pop6, $pop8
+ i32.store $discard=, c($pop0):p2align=3, $pop9
return
.endfunc
.Lfunc_end167:
@@ -3356,13 +3490,13 @@ fn6_i: # @fn6_i
.type fn7_i,@function
fn7_i: # @fn7_i
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $push0=, d($1)
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.store16 $discard=, d($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load16_u $push1=, d($pop4):p2align=3
+ i32.const $push2=, 19
+ i32.rem_u $push3=, $pop1, $pop2
+ i32.store16 $discard=, d($pop0):p2align=3, $pop3
return
.endfunc
.Lfunc_end168:
@@ -3374,13 +3508,13 @@ fn7_i: # @fn7_i
.type fn8_i,@function
fn8_i: # @fn8_i
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+2($1)
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+2($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load8_u $push1=, d+2($pop4):p2align=1
+ i32.const $push2=, 19
+ i32.rem_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+2($pop0):p2align=1, $pop3
return
.endfunc
.Lfunc_end169:
@@ -3392,13 +3526,13 @@ fn8_i: # @fn8_i
.type fn9_i,@function
fn9_i: # @fn9_i
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push0=, d+3($1)
- i32.const $push1=, 19
- i32.rem_u $push2=, $pop0, $pop1
- i32.store8 $discard=, d+3($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load8_u $push1=, d+3($pop4)
+ i32.const $push2=, 19
+ i32.rem_u $push3=, $pop1, $pop2
+ i32.store8 $discard=, d+3($pop0), $pop3
return
.endfunc
.Lfunc_end170:
@@ -3410,16 +3544,18 @@ fn9_i: # @fn9_i
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end1610
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 560051
- i32.store $discard=, b($0), $pop0
- i32.const $push1=, -2147483595
- i32.store $discard=, c($0), $pop1
- i32.const $push2=, -1147377476
- i32.store $discard=, d($0), $pop2
- return $0
+ i32.store $discard=, b($pop1):p2align=3, $pop0
+ i32.const $push6=, 0
+ i32.const $push2=, -2147483595
+ i32.store $discard=, c($pop6):p2align=3, $pop2
+ i32.const $push5=, 0
+ i32.const $push3=, -1147377476
+ i32.store $discard=, d($pop5):p2align=3, $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end171:
.size main, .Lfunc_end171-main
@@ -3428,7 +3564,7 @@ main: # @main
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 3
+ .p2align 3
b:
.skip 16
.size b, 16
@@ -3437,7 +3573,7 @@ b:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 3
+ .p2align 3
c:
.skip 16
.size c, 16
@@ -3446,7 +3582,7 @@ c:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 3
+ .p2align 3
d:
.skip 16
.size d, 16
diff --git a/test/torture-s/20040707-1.c.s b/test/torture-s/20040707-1.c.s
new file mode 100644
index 000000000..fd1173139
--- /dev/null
+++ b/test/torture-s/20040707-1.c.s
@@ -0,0 +1,30 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20040707-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32
+# BB#0: # %entry
+ return
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20040709-1.c.s b/test/torture-s/20040709-1.c.s
new file mode 100644
index 000000000..7488f05d3
--- /dev/null
+++ b/test/torture-s/20040709-1.c.s
@@ -0,0 +1,7699 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20040709-1.c"
+ .section .text.myrnd,"ax",@progbits
+ .hidden myrnd
+ .globl myrnd
+ .type myrnd,@function
+myrnd: # @myrnd
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, myrnd.s($pop11)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ i32.store $push6=, myrnd.s($pop0), $pop5
+ i32.const $push7=, 16
+ i32.shr_u $push8=, $pop6, $pop7
+ i32.const $push9=, 2047
+ i32.and $push10=, $pop8, $pop9
+ return $pop10
+ .endfunc
+.Lfunc_end0:
+ .size myrnd, .Lfunc_end0-myrnd
+
+ .section .text.retmeA,"ax",@progbits
+ .hidden retmeA
+ .globl retmeA
+ .type retmeA,@function
+retmeA: # @retmeA
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($1)
+ i32.store $discard=, 0($0), $pop0
+ return
+ .endfunc
+.Lfunc_end1:
+ .size retmeA, .Lfunc_end1-retmeA
+
+ .section .text.fn1A,"ax",@progbits
+ .hidden fn1A
+ .globl fn1A
+ .type fn1A,@function
+fn1A: # @fn1A
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sA($pop0)
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.const $push6=, 17
+ i32.shr_u $push5=, $pop4, $pop6
+ return $pop5
+ .endfunc
+.Lfunc_end2:
+ .size fn1A, .Lfunc_end2-fn1A
+
+ .section .text.fn2A,"ax",@progbits
+ .hidden fn2A
+ .globl fn2A
+ .type fn2A,@function
+fn2A: # @fn2A
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sA($pop0)
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 32767
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end3:
+ .size fn2A, .Lfunc_end3-fn2A
+
+ .section .text.retitA,"ax",@progbits
+ .hidden retitA
+ .globl retitA
+ .type retitA,@function
+retitA: # @retitA
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sA($pop0)
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end4:
+ .size retitA, .Lfunc_end4-retitA
+
+ .section .text.fn3A,"ax",@progbits
+ .hidden fn3A
+ .globl fn3A
+ .type fn3A,@function
+fn3A: # @fn3A
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push8=, 0
+ i32.load $push1=, sA($pop8)
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $push5=, sA($pop0), $pop4
+ i32.const $push7=, 17
+ i32.shr_u $push6=, $pop5, $pop7
+ return $pop6
+ .endfunc
+.Lfunc_end5:
+ .size fn3A, .Lfunc_end5-fn3A
+
+ .section .text.testA,"ax",@progbits
+ .hidden testA
+ .globl testA
+ .type testA,@function
+testA: # @testA
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push95=, 0
+ i32.const $push94=, 0
+ i32.load $push5=, myrnd.s($pop94)
+ i32.const $push93=, 1103515245
+ i32.mul $push6=, $pop5, $pop93
+ i32.const $push92=, 12345
+ i32.add $push7=, $pop6, $pop92
+ tee_local $push91=, $2=, $pop7
+ i32.const $push90=, 16
+ i32.shr_u $push8=, $pop91, $pop90
+ i32.store8 $discard=, sA($pop95):p2align=2, $pop8
+ i32.const $push89=, 0
+ i32.const $push88=, 1103515245
+ i32.mul $push9=, $2, $pop88
+ i32.const $push87=, 12345
+ i32.add $push10=, $pop9, $pop87
+ tee_local $push86=, $2=, $pop10
+ i32.const $push85=, 16
+ i32.shr_u $push11=, $pop86, $pop85
+ i32.store8 $discard=, sA+1($pop89), $pop11
+ i32.const $push84=, 0
+ i32.const $push83=, 1103515245
+ i32.mul $push12=, $2, $pop83
+ i32.const $push82=, 12345
+ i32.add $push13=, $pop12, $pop82
+ tee_local $push81=, $2=, $pop13
+ i32.const $push80=, 16
+ i32.shr_u $push14=, $pop81, $pop80
+ i32.store8 $discard=, sA+2($pop84):p2align=1, $pop14
+ i32.const $push79=, 0
+ i32.const $push78=, 1103515245
+ i32.mul $push15=, $2, $pop78
+ i32.const $push77=, 12345
+ i32.add $push16=, $pop15, $pop77
+ tee_local $push76=, $2=, $pop16
+ i32.const $push75=, 16
+ i32.shr_u $push17=, $pop76, $pop75
+ i32.store8 $discard=, sA+3($pop79), $pop17
+ block
+ i32.const $push74=, 0
+ i32.const $push73=, 1103515245
+ i32.mul $push18=, $2, $pop73
+ i32.const $push72=, 12345
+ i32.add $push19=, $pop18, $pop72
+ tee_local $push71=, $2=, $pop19
+ i32.const $push70=, 1103515245
+ i32.mul $push22=, $pop71, $pop70
+ i32.const $push69=, 12345
+ i32.add $push1=, $pop22, $pop69
+ i32.store $push23=, myrnd.s($pop74), $pop1
+ tee_local $push68=, $1=, $pop23
+ i32.const $push67=, 16
+ i32.shr_u $push24=, $pop68, $pop67
+ i32.const $push66=, 2047
+ i32.and $push25=, $pop24, $pop66
+ tee_local $push65=, $0=, $pop25
+ i32.const $push64=, 16
+ i32.shr_u $push20=, $2, $pop64
+ i32.const $push63=, 2047
+ i32.and $push21=, $pop20, $pop63
+ tee_local $push62=, $2=, $pop21
+ i32.add $push33=, $pop65, $pop62
+ i32.const $push61=, 17
+ i32.shl $push30=, $0, $pop61
+ i32.const $push60=, 0
+ i32.const $push59=, 17
+ i32.shl $push26=, $2, $pop59
+ i32.const $push58=, 0
+ i32.load $push0=, sA($pop58)
+ tee_local $push57=, $2=, $pop0
+ i32.const $push56=, 131071
+ i32.and $push27=, $pop57, $pop56
+ tee_local $push55=, $0=, $pop27
+ i32.or $push28=, $pop26, $pop55
+ i32.store $push29=, sA($pop60), $pop28
+ i32.add $push31=, $pop30, $pop29
+ i32.const $push54=, 17
+ i32.shr_u $push32=, $pop31, $pop54
+ i32.ne $push34=, $pop33, $pop32
+ br_if $pop34, 0 # 0: down to label0
+# BB#1: # %if.end87
+ block
+ i32.const $push110=, 0
+ i32.const $push109=, 0
+ i32.const $push35=, -2139243339
+ i32.mul $push36=, $1, $pop35
+ i32.const $push37=, -1492899873
+ i32.add $push38=, $pop36, $pop37
+ tee_local $push108=, $1=, $pop38
+ i32.const $push107=, 1103515245
+ i32.mul $push40=, $pop108, $pop107
+ i32.const $push106=, 12345
+ i32.add $push41=, $pop40, $pop106
+ i32.store $push42=, myrnd.s($pop109), $pop41
+ i32.const $push105=, 16
+ i32.shr_u $push43=, $pop42, $pop105
+ i32.const $push104=, 2047
+ i32.and $push3=, $pop43, $pop104
+ tee_local $push103=, $3=, $pop3
+ i32.const $push102=, 17
+ i32.shl $push46=, $pop103, $pop102
+ i32.const $push101=, 16
+ i32.shr_u $push39=, $1, $pop101
+ i32.const $push100=, 2047
+ i32.and $push2=, $pop39, $pop100
+ tee_local $push99=, $1=, $pop2
+ i32.const $push98=, 17
+ i32.shl $push44=, $pop99, $pop98
+ i32.or $push45=, $pop44, $0
+ i32.add $push4=, $pop46, $pop45
+ i32.store $push47=, sA($pop110), $pop4
+ tee_local $push97=, $0=, $pop47
+ i32.xor $push48=, $pop97, $2
+ i32.const $push96=, 131071
+ i32.and $push49=, $pop48, $pop96
+ br_if $pop49, 0 # 0: down to label1
+# BB#2: # %lor.lhs.false125
+ i32.add $push52=, $3, $1
+ i32.const $push50=, 17
+ i32.shr_u $push51=, $0, $pop50
+ i32.ne $push53=, $pop52, $pop51
+ br_if $pop53, 0 # 0: down to label1
+# BB#3: # %if.end131
+ return
+.LBB6_4: # %if.then130
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB6_5: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end6:
+ .size testA, .Lfunc_end6-testA
+
+ .section .text.retmeB,"ax",@progbits
+ .hidden retmeB
+ .globl retmeB
+ .type retmeB,@function
+retmeB: # @retmeB
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1):p2align=2
+ i64.store $discard=, 0($0):p2align=2, $pop0
+ return
+ .endfunc
+.Lfunc_end7:
+ .size retmeB, .Lfunc_end7-retmeB
+
+ .section .text.fn1B,"ax",@progbits
+ .hidden fn1B
+ .globl fn1B
+ .type fn1B,@function
+fn1B: # @fn1B
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sB($pop0):p2align=3
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.const $push6=, 17
+ i32.shr_u $push5=, $pop4, $pop6
+ return $pop5
+ .endfunc
+.Lfunc_end8:
+ .size fn1B, .Lfunc_end8-fn1B
+
+ .section .text.fn2B,"ax",@progbits
+ .hidden fn2B
+ .globl fn2B
+ .type fn2B,@function
+fn2B: # @fn2B
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sB($pop0):p2align=3
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 32767
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end9:
+ .size fn2B, .Lfunc_end9-fn2B
+
+ .section .text.retitB,"ax",@progbits
+ .hidden retitB
+ .globl retitB
+ .type retitB,@function
+retitB: # @retitB
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sB($pop0):p2align=3
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end10:
+ .size retitB, .Lfunc_end10-retitB
+
+ .section .text.fn3B,"ax",@progbits
+ .hidden fn3B
+ .globl fn3B
+ .type fn3B,@function
+fn3B: # @fn3B
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push8=, 0
+ i32.load $push1=, sB($pop8):p2align=3
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $push5=, sB($pop0):p2align=3, $pop4
+ i32.const $push7=, 17
+ i32.shr_u $push6=, $pop5, $pop7
+ return $pop6
+ .endfunc
+.Lfunc_end11:
+ .size fn3B, .Lfunc_end11-fn3B
+
+ .section .text.testB,"ax",@progbits
+ .hidden testB
+ .globl testB
+ .type testB,@function
+testB: # @testB
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push136=, 0
+ i32.const $push135=, 0
+ i32.load $push6=, myrnd.s($pop135)
+ i32.const $push134=, 1103515245
+ i32.mul $push7=, $pop6, $pop134
+ i32.const $push133=, 12345
+ i32.add $push8=, $pop7, $pop133
+ tee_local $push132=, $3=, $pop8
+ i32.const $push131=, 16
+ i32.shr_u $push9=, $pop132, $pop131
+ i32.store8 $discard=, sB($pop136):p2align=3, $pop9
+ i32.const $push130=, 0
+ i32.const $push129=, 1103515245
+ i32.mul $push10=, $3, $pop129
+ i32.const $push128=, 12345
+ i32.add $push11=, $pop10, $pop128
+ tee_local $push127=, $3=, $pop11
+ i32.const $push126=, 16
+ i32.shr_u $push12=, $pop127, $pop126
+ i32.store8 $discard=, sB+1($pop130), $pop12
+ i32.const $push125=, 0
+ i32.const $push124=, 1103515245
+ i32.mul $push13=, $3, $pop124
+ i32.const $push123=, 12345
+ i32.add $push14=, $pop13, $pop123
+ tee_local $push122=, $3=, $pop14
+ i32.const $push121=, 16
+ i32.shr_u $push15=, $pop122, $pop121
+ i32.store8 $discard=, sB+2($pop125):p2align=1, $pop15
+ i32.const $push120=, 0
+ i32.const $push119=, 1103515245
+ i32.mul $push16=, $3, $pop119
+ i32.const $push118=, 12345
+ i32.add $push17=, $pop16, $pop118
+ tee_local $push117=, $3=, $pop17
+ i32.const $push116=, 16
+ i32.shr_u $push18=, $pop117, $pop116
+ i32.store8 $discard=, sB+3($pop120), $pop18
+ i32.const $push115=, 0
+ i32.const $push114=, 1103515245
+ i32.mul $push19=, $3, $pop114
+ i32.const $push113=, 12345
+ i32.add $push20=, $pop19, $pop113
+ tee_local $push112=, $3=, $pop20
+ i32.const $push111=, 16
+ i32.shr_u $push21=, $pop112, $pop111
+ i32.store8 $discard=, sB+4($pop115):p2align=2, $pop21
+ i32.const $push110=, 0
+ i32.const $push109=, 1103515245
+ i32.mul $push22=, $3, $pop109
+ i32.const $push108=, 12345
+ i32.add $push23=, $pop22, $pop108
+ tee_local $push107=, $3=, $pop23
+ i32.const $push106=, 16
+ i32.shr_u $push24=, $pop107, $pop106
+ i32.store8 $discard=, sB+5($pop110), $pop24
+ i32.const $push105=, 0
+ i32.const $push104=, 1103515245
+ i32.mul $push25=, $3, $pop104
+ i32.const $push103=, 12345
+ i32.add $push26=, $pop25, $pop103
+ tee_local $push102=, $3=, $pop26
+ i32.const $push101=, 16
+ i32.shr_u $push27=, $pop102, $pop101
+ i32.store8 $discard=, sB+6($pop105):p2align=1, $pop27
+ i32.const $push100=, 0
+ i32.const $push99=, 1103515245
+ i32.mul $push28=, $3, $pop99
+ i32.const $push98=, 12345
+ i32.add $push29=, $pop28, $pop98
+ tee_local $push97=, $3=, $pop29
+ i32.const $push96=, 16
+ i32.shr_u $push30=, $pop97, $pop96
+ i32.store8 $discard=, sB+7($pop100), $pop30
+ i32.const $push95=, 0
+ i32.load $0=, sB($pop95):p2align=3
+ block
+ i32.const $push94=, 0
+ i32.const $push93=, 1103515245
+ i32.mul $push31=, $3, $pop93
+ i32.const $push92=, 12345
+ i32.add $push32=, $pop31, $pop92
+ tee_local $push91=, $3=, $pop32
+ i32.const $push90=, 1103515245
+ i32.mul $push35=, $pop91, $pop90
+ i32.const $push89=, 12345
+ i32.add $push0=, $pop35, $pop89
+ i32.store $push36=, myrnd.s($pop94), $pop0
+ tee_local $push88=, $2=, $pop36
+ i32.const $push87=, 16
+ i32.shr_u $push37=, $pop88, $pop87
+ i32.const $push86=, 2047
+ i32.and $push38=, $pop37, $pop86
+ tee_local $push85=, $1=, $pop38
+ i32.const $push84=, 16
+ i32.shr_u $push33=, $3, $pop84
+ i32.const $push83=, 2047
+ i32.and $push34=, $pop33, $pop83
+ tee_local $push82=, $3=, $pop34
+ i32.add $push45=, $pop85, $pop82
+ i32.const $push81=, 17
+ i32.shl $push42=, $1, $pop81
+ i32.const $push80=, 0
+ i32.const $push79=, 17
+ i32.shl $push39=, $3, $pop79
+ i32.const $push78=, 131071
+ i32.and $push40=, $0, $pop78
+ i32.or $push1=, $pop39, $pop40
+ i32.store $push41=, sB($pop80):p2align=3, $pop1
+ tee_local $push77=, $3=, $pop41
+ i32.add $push43=, $pop42, $pop77
+ i32.const $push76=, 17
+ i32.shr_u $push44=, $pop43, $pop76
+ i32.ne $push46=, $pop45, $pop44
+ br_if $pop46, 0 # 0: down to label2
+# BB#1: # %if.end76
+ block
+ i32.const $push156=, 0
+ i32.const $push155=, 0
+ i32.const $push154=, 1103515245
+ i32.mul $push47=, $2, $pop154
+ i32.const $push153=, 12345
+ i32.add $push48=, $pop47, $pop153
+ tee_local $push152=, $0=, $pop48
+ i32.const $push55=, -1029531031
+ i32.mul $push56=, $pop152, $pop55
+ i32.const $push57=, -740551042
+ i32.add $push58=, $pop56, $pop57
+ tee_local $push151=, $1=, $pop58
+ i32.const $push150=, 1103515245
+ i32.mul $push60=, $pop151, $pop150
+ i32.const $push149=, 12345
+ i32.add $push61=, $pop60, $pop149
+ i32.store $push62=, myrnd.s($pop155), $pop61
+ i32.const $push148=, 16
+ i32.shr_u $push63=, $pop62, $pop148
+ i32.const $push147=, 2047
+ i32.and $push3=, $pop63, $pop147
+ tee_local $push146=, $2=, $pop3
+ i32.const $push145=, 17
+ i32.shl $push66=, $pop146, $pop145
+ i32.const $push144=, 16
+ i32.shr_u $push59=, $1, $pop144
+ i32.const $push143=, 2047
+ i32.and $push2=, $pop59, $pop143
+ tee_local $push142=, $1=, $pop2
+ i32.const $push141=, 17
+ i32.shl $push64=, $pop142, $pop141
+ i32.const $push140=, 131071
+ i32.and $push53=, $3, $pop140
+ tee_local $push139=, $3=, $pop53
+ i32.or $push65=, $pop64, $pop139
+ i32.add $push4=, $pop66, $pop65
+ i32.store $push67=, sB($pop156):p2align=3, $pop4
+ tee_local $push138=, $4=, $pop67
+ i32.const $push49=, 1
+ i32.shl $push50=, $0, $pop49
+ i32.const $push51=, 268304384
+ i32.and $push52=, $pop50, $pop51
+ i32.or $push54=, $pop52, $3
+ i32.xor $push5=, $pop138, $pop54
+ tee_local $push137=, $3=, $pop5
+ i32.const $push68=, 63
+ i32.and $push69=, $pop137, $pop68
+ br_if $pop69, 0 # 0: down to label3
+# BB#2: # %lor.lhs.false91
+ i32.add $push74=, $2, $1
+ i32.const $push71=, 17
+ i32.shr_u $push72=, $4, $pop71
+ i32.ne $push75=, $pop74, $pop72
+ br_if $pop75, 0 # 0: down to label3
+# BB#3: # %lor.lhs.false91
+ i32.const $push73=, 131008
+ i32.and $push70=, $3, $pop73
+ br_if $pop70, 0 # 0: down to label3
+# BB#4: # %if.end115
+ return
+.LBB12_5: # %if.then114
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB12_6: # %if.then
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end12:
+ .size testB, .Lfunc_end12-testB
+
+ .section .text.retmeC,"ax",@progbits
+ .hidden retmeC
+ .globl retmeC
+ .type retmeC,@function
+retmeC: # @retmeC
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1):p2align=2
+ i64.store $discard=, 0($0):p2align=2, $pop0
+ return
+ .endfunc
+.Lfunc_end13:
+ .size retmeC, .Lfunc_end13-retmeC
+
+ .section .text.fn1C,"ax",@progbits
+ .hidden fn1C
+ .globl fn1C
+ .type fn1C,@function
+fn1C: # @fn1C
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sC+4($pop0)
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.const $push6=, 17
+ i32.shr_u $push5=, $pop4, $pop6
+ return $pop5
+ .endfunc
+.Lfunc_end14:
+ .size fn1C, .Lfunc_end14-fn1C
+
+ .section .text.fn2C,"ax",@progbits
+ .hidden fn2C
+ .globl fn2C
+ .type fn2C,@function
+fn2C: # @fn2C
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sC+4($pop0)
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 32767
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end15:
+ .size fn2C, .Lfunc_end15-fn2C
+
+ .section .text.retitC,"ax",@progbits
+ .hidden retitC
+ .globl retitC
+ .type retitC,@function
+retitC: # @retitC
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sC+4($pop0)
+ i32.const $push2=, 17
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end16:
+ .size retitC, .Lfunc_end16-retitC
+
+ .section .text.fn3C,"ax",@progbits
+ .hidden fn3C
+ .globl fn3C
+ .type fn3C,@function
+fn3C: # @fn3C
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push8=, 0
+ i32.load $push1=, sC+4($pop8)
+ i32.const $push2=, 17
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $push5=, sC+4($pop0), $pop4
+ i32.const $push7=, 17
+ i32.shr_u $push6=, $pop5, $pop7
+ return $pop6
+ .endfunc
+.Lfunc_end17:
+ .size fn3C, .Lfunc_end17-fn3C
+
+ .section .text.testC,"ax",@progbits
+ .hidden testC
+ .globl testC
+ .type testC,@function
+testC: # @testC
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push135=, 0
+ i32.const $push134=, 0
+ i32.load $push5=, myrnd.s($pop134)
+ i32.const $push133=, 1103515245
+ i32.mul $push6=, $pop5, $pop133
+ i32.const $push132=, 12345
+ i32.add $push7=, $pop6, $pop132
+ tee_local $push131=, $1=, $pop7
+ i32.const $push130=, 16
+ i32.shr_u $push8=, $pop131, $pop130
+ i32.store8 $discard=, sC($pop135):p2align=3, $pop8
+ i32.const $push129=, 0
+ i32.const $push128=, 1103515245
+ i32.mul $push9=, $1, $pop128
+ i32.const $push127=, 12345
+ i32.add $push10=, $pop9, $pop127
+ tee_local $push126=, $1=, $pop10
+ i32.const $push125=, 16
+ i32.shr_u $push11=, $pop126, $pop125
+ i32.store8 $discard=, sC+1($pop129), $pop11
+ i32.const $push124=, 0
+ i32.const $push123=, 1103515245
+ i32.mul $push12=, $1, $pop123
+ i32.const $push122=, 12345
+ i32.add $push13=, $pop12, $pop122
+ tee_local $push121=, $1=, $pop13
+ i32.const $push120=, 16
+ i32.shr_u $push14=, $pop121, $pop120
+ i32.store8 $discard=, sC+2($pop124):p2align=1, $pop14
+ i32.const $push119=, 0
+ i32.const $push118=, 1103515245
+ i32.mul $push15=, $1, $pop118
+ i32.const $push117=, 12345
+ i32.add $push16=, $pop15, $pop117
+ tee_local $push116=, $1=, $pop16
+ i32.const $push115=, 1103515245
+ i32.mul $push18=, $pop116, $pop115
+ i32.const $push114=, 12345
+ i32.add $push19=, $pop18, $pop114
+ tee_local $push113=, $3=, $pop19
+ i32.const $push112=, 16
+ i32.shr_u $push20=, $pop113, $pop112
+ i32.store8 $discard=, sC+4($pop119):p2align=2, $pop20
+ i32.const $push111=, 0
+ i32.const $push110=, 1103515245
+ i32.mul $push21=, $3, $pop110
+ i32.const $push109=, 12345
+ i32.add $push22=, $pop21, $pop109
+ tee_local $push108=, $3=, $pop22
+ i32.const $push107=, 16
+ i32.shr_u $push23=, $pop108, $pop107
+ i32.store8 $discard=, sC+5($pop111), $pop23
+ i32.const $push106=, 0
+ i32.const $push105=, 1103515245
+ i32.mul $push24=, $3, $pop105
+ i32.const $push104=, 12345
+ i32.add $push25=, $pop24, $pop104
+ tee_local $push103=, $3=, $pop25
+ i32.const $push102=, 16
+ i32.shr_u $push26=, $pop103, $pop102
+ i32.store8 $discard=, sC+6($pop106):p2align=1, $pop26
+ i32.const $push101=, 0
+ i32.const $push100=, 1103515245
+ i32.mul $push27=, $3, $pop100
+ i32.const $push99=, 12345
+ i32.add $push28=, $pop27, $pop99
+ tee_local $push98=, $3=, $pop28
+ i32.const $push97=, 16
+ i32.shr_u $push29=, $pop98, $pop97
+ i32.store8 $discard=, sC+7($pop101), $pop29
+ i32.const $push96=, 0
+ i32.load $0=, sC+4($pop96)
+ i32.const $push95=, 0
+ i32.const $push94=, 16
+ i32.shr_u $push17=, $1, $pop94
+ i32.store8 $discard=, sC+3($pop95), $pop17
+ block
+ i32.const $push93=, 0
+ i32.const $push92=, 1103515245
+ i32.mul $push30=, $3, $pop92
+ i32.const $push91=, 12345
+ i32.add $push31=, $pop30, $pop91
+ tee_local $push90=, $1=, $pop31
+ i32.const $push89=, 1103515245
+ i32.mul $push34=, $pop90, $pop89
+ i32.const $push88=, 12345
+ i32.add $push0=, $pop34, $pop88
+ i32.store $push35=, myrnd.s($pop93), $pop0
+ tee_local $push87=, $2=, $pop35
+ i32.const $push86=, 16
+ i32.shr_u $push36=, $pop87, $pop86
+ i32.const $push85=, 2047
+ i32.and $push37=, $pop36, $pop85
+ tee_local $push84=, $3=, $pop37
+ i32.const $push83=, 16
+ i32.shr_u $push32=, $1, $pop83
+ i32.const $push82=, 2047
+ i32.and $push33=, $pop32, $pop82
+ tee_local $push81=, $1=, $pop33
+ i32.add $push46=, $pop84, $pop81
+ i32.const $push80=, 17
+ i32.shl $push43=, $3, $pop80
+ i32.const $push79=, 0
+ i32.const $push78=, 17
+ i32.shl $push38=, $1, $pop78
+ i32.const $push39=, 131071
+ i32.and $push40=, $0, $pop39
+ tee_local $push77=, $1=, $pop40
+ i32.or $push41=, $pop38, $pop77
+ i32.store $push42=, sC+4($pop79), $pop41
+ i32.add $push44=, $pop43, $pop42
+ i32.const $push76=, 17
+ i32.shr_u $push45=, $pop44, $pop76
+ i32.ne $push47=, $pop46, $pop45
+ br_if $pop47, 0 # 0: down to label4
+# BB#1: # %if.end80
+ block
+ i32.const $push153=, 0
+ i32.const $push152=, 0
+ i32.const $push151=, 1103515245
+ i32.mul $push48=, $2, $pop151
+ i32.const $push150=, 12345
+ i32.add $push49=, $pop48, $pop150
+ tee_local $push149=, $3=, $pop49
+ i32.const $push55=, -1029531031
+ i32.mul $push56=, $pop149, $pop55
+ i32.const $push57=, -740551042
+ i32.add $push58=, $pop56, $pop57
+ tee_local $push148=, $0=, $pop58
+ i32.const $push147=, 1103515245
+ i32.mul $push60=, $pop148, $pop147
+ i32.const $push146=, 12345
+ i32.add $push61=, $pop60, $pop146
+ i32.store $push62=, myrnd.s($pop152), $pop61
+ i32.const $push145=, 16
+ i32.shr_u $push63=, $pop62, $pop145
+ i32.const $push144=, 2047
+ i32.and $push2=, $pop63, $pop144
+ tee_local $push143=, $2=, $pop2
+ i32.const $push142=, 17
+ i32.shl $push66=, $pop143, $pop142
+ i32.const $push141=, 16
+ i32.shr_u $push59=, $0, $pop141
+ i32.const $push140=, 2047
+ i32.and $push1=, $pop59, $pop140
+ tee_local $push139=, $0=, $pop1
+ i32.const $push138=, 17
+ i32.shl $push64=, $pop139, $pop138
+ i32.or $push65=, $pop64, $1
+ i32.add $push3=, $pop66, $pop65
+ i32.store $push67=, sC+4($pop153), $pop3
+ tee_local $push137=, $4=, $pop67
+ i32.const $push50=, 1
+ i32.shl $push51=, $3, $pop50
+ i32.const $push52=, 268304384
+ i32.and $push53=, $pop51, $pop52
+ i32.or $push54=, $pop53, $1
+ i32.xor $push4=, $pop137, $pop54
+ tee_local $push136=, $1=, $pop4
+ i32.const $push68=, 63
+ i32.and $push69=, $pop136, $pop68
+ br_if $pop69, 0 # 0: down to label5
+# BB#2: # %lor.lhs.false96
+ i32.add $push74=, $2, $0
+ i32.const $push71=, 17
+ i32.shr_u $push72=, $4, $pop71
+ i32.ne $push75=, $pop74, $pop72
+ br_if $pop75, 0 # 0: down to label5
+# BB#3: # %lor.lhs.false96
+ i32.const $push73=, 131008
+ i32.and $push70=, $1, $pop73
+ br_if $pop70, 0 # 0: down to label5
+# BB#4: # %if.end121
+ return
+.LBB18_5: # %if.then120
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB18_6: # %if.then
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end18:
+ .size testC, .Lfunc_end18-testC
+
+ .section .text.retmeD,"ax",@progbits
+ .hidden retmeD
+ .globl retmeD
+ .type retmeD,@function
+retmeD: # @retmeD
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ return
+ .endfunc
+.Lfunc_end19:
+ .size retmeD, .Lfunc_end19-retmeD
+
+ .section .text.fn1D,"ax",@progbits
+ .hidden fn1D
+ .globl fn1D
+ .type fn1D,@function
+fn1D: # @fn1D
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sD($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ return $pop7
+ .endfunc
+.Lfunc_end20:
+ .size fn1D, .Lfunc_end20-fn1D
+
+ .section .text.fn2D,"ax",@progbits
+ .hidden fn2D
+ .globl fn2D
+ .type fn2D,@function
+fn2D: # @fn2D
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sD($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 15
+ i32.rem_u $push9=, $pop7, $pop8
+ return $pop9
+ .endfunc
+.Lfunc_end21:
+ .size fn2D, .Lfunc_end21-fn2D
+
+ .section .text.retitD,"ax",@progbits
+ .hidden retitD
+ .globl retitD
+ .type retitD,@function
+retitD: # @retitD
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sD($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end22:
+ .size retitD, .Lfunc_end22-retitD
+
+ .section .text.fn3D,"ax",@progbits
+ .hidden fn3D
+ .globl fn3D
+ .type fn3D,@function
+fn3D: # @fn3D
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i64.load $push1=, sD($pop16)
+ tee_local $push15=, $1=, $pop1
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop15, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ tee_local $push14=, $0=, $pop5
+ i64.extend_u/i32 $push6=, $pop14
+ i64.const $push13=, 35
+ i64.shl $push7=, $pop6, $pop13
+ i64.const $push8=, 34359738367
+ i64.and $push9=, $1, $pop8
+ i64.or $push10=, $pop7, $pop9
+ i64.store $discard=, sD($pop0), $pop10
+ i32.const $push11=, 536870911
+ i32.and $push12=, $0, $pop11
+ return $pop12
+ .endfunc
+.Lfunc_end23:
+ .size fn3D, .Lfunc_end23-fn3D
+
+ .section .text.testD,"ax",@progbits
+ .hidden testD
+ .globl testD
+ .type testD,@function
+testD: # @testD
+ .local i32
+# BB#0: # %if.end158
+ i32.const $push0=, 0
+ i32.const $push94=, 0
+ i32.load $push1=, myrnd.s($pop94)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push93=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop93, $pop6
+ i32.store8 $discard=, sD($pop0):p2align=3, $pop7
+ i32.const $push92=, 0
+ i32.const $push91=, 1103515245
+ i32.mul $push8=, $0, $pop91
+ i32.const $push90=, 12345
+ i32.add $push9=, $pop8, $pop90
+ tee_local $push89=, $0=, $pop9
+ i32.const $push88=, 16
+ i32.shr_u $push10=, $pop89, $pop88
+ i32.store8 $discard=, sD+1($pop92), $pop10
+ i32.const $push87=, 0
+ i32.const $push86=, 1103515245
+ i32.mul $push11=, $0, $pop86
+ i32.const $push85=, 12345
+ i32.add $push12=, $pop11, $pop85
+ tee_local $push84=, $0=, $pop12
+ i32.const $push83=, 16
+ i32.shr_u $push13=, $pop84, $pop83
+ i32.store8 $discard=, sD+2($pop87):p2align=1, $pop13
+ i32.const $push82=, 0
+ i32.const $push81=, 1103515245
+ i32.mul $push14=, $0, $pop81
+ i32.const $push80=, 12345
+ i32.add $push15=, $pop14, $pop80
+ tee_local $push79=, $0=, $pop15
+ i32.const $push78=, 16
+ i32.shr_u $push16=, $pop79, $pop78
+ i32.store8 $discard=, sD+3($pop82), $pop16
+ i32.const $push77=, 0
+ i32.const $push76=, 1103515245
+ i32.mul $push17=, $0, $pop76
+ i32.const $push75=, 12345
+ i32.add $push18=, $pop17, $pop75
+ tee_local $push74=, $0=, $pop18
+ i32.const $push73=, 16
+ i32.shr_u $push19=, $pop74, $pop73
+ i32.store8 $discard=, sD+4($pop77):p2align=2, $pop19
+ i32.const $push72=, 0
+ i32.const $push71=, 1103515245
+ i32.mul $push20=, $0, $pop71
+ i32.const $push70=, 12345
+ i32.add $push21=, $pop20, $pop70
+ tee_local $push69=, $0=, $pop21
+ i32.const $push68=, 16
+ i32.shr_u $push22=, $pop69, $pop68
+ i32.store8 $discard=, sD+5($pop72), $pop22
+ i32.const $push67=, 0
+ i32.const $push66=, 1103515245
+ i32.mul $push23=, $0, $pop66
+ i32.const $push65=, 12345
+ i32.add $push24=, $pop23, $pop65
+ tee_local $push64=, $0=, $pop24
+ i32.const $push63=, 16
+ i32.shr_u $push25=, $pop64, $pop63
+ i32.store8 $discard=, sD+6($pop67):p2align=1, $pop25
+ i32.const $push62=, 0
+ i32.const $push61=, 1103515245
+ i32.mul $push26=, $0, $pop61
+ i32.const $push60=, 12345
+ i32.add $push27=, $pop26, $pop60
+ tee_local $push59=, $0=, $pop27
+ i32.const $push58=, 16
+ i32.shr_u $push28=, $pop59, $pop58
+ i32.store8 $discard=, sD+7($pop62), $pop28
+ i32.const $push57=, 0
+ i32.const $push56=, 0
+ i32.const $push30=, -341751747
+ i32.mul $push31=, $0, $pop30
+ i32.const $push32=, 229283573
+ i32.add $push33=, $pop31, $pop32
+ tee_local $push55=, $0=, $pop33
+ i32.const $push54=, 1103515245
+ i32.mul $push37=, $pop55, $pop54
+ i32.const $push53=, 12345
+ i32.add $push38=, $pop37, $pop53
+ i32.store $push39=, myrnd.s($pop56), $pop38
+ i32.const $push52=, 16
+ i32.shr_u $push40=, $pop39, $pop52
+ i32.const $push35=, 2047
+ i32.and $push41=, $pop40, $pop35
+ i32.const $push51=, 16
+ i32.shr_u $push34=, $0, $pop51
+ i32.const $push50=, 2047
+ i32.and $push36=, $pop34, $pop50
+ i32.add $push44=, $pop41, $pop36
+ i64.extend_u/i32 $push45=, $pop44
+ i64.const $push46=, 35
+ i64.shl $push47=, $pop45, $pop46
+ i32.const $push49=, 0
+ i64.load $push29=, sD($pop49)
+ i64.const $push42=, 34359738367
+ i64.and $push43=, $pop29, $pop42
+ i64.or $push48=, $pop47, $pop43
+ i64.store $discard=, sD($pop57), $pop48
+ return
+ .endfunc
+.Lfunc_end24:
+ .size testD, .Lfunc_end24-testD
+
+ .section .text.retmeE,"ax",@progbits
+ .hidden retmeE
+ .globl retmeE
+ .type retmeE,@function
+retmeE: # @retmeE
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end25:
+ .size retmeE, .Lfunc_end25-retmeE
+
+ .section .text.fn1E,"ax",@progbits
+ .hidden fn1E
+ .globl fn1E
+ .type fn1E,@function
+fn1E: # @fn1E
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sE+8($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ return $pop7
+ .endfunc
+.Lfunc_end26:
+ .size fn1E, .Lfunc_end26-fn1E
+
+ .section .text.fn2E,"ax",@progbits
+ .hidden fn2E
+ .globl fn2E
+ .type fn2E,@function
+fn2E: # @fn2E
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sE+8($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 15
+ i32.rem_u $push9=, $pop7, $pop8
+ return $pop9
+ .endfunc
+.Lfunc_end27:
+ .size fn2E, .Lfunc_end27-fn2E
+
+ .section .text.retitE,"ax",@progbits
+ .hidden retitE
+ .globl retitE
+ .type retitE,@function
+retitE: # @retitE
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sE+8($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end28:
+ .size retitE, .Lfunc_end28-retitE
+
+ .section .text.fn3E,"ax",@progbits
+ .hidden fn3E
+ .globl fn3E
+ .type fn3E,@function
+fn3E: # @fn3E
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i64.load $push1=, sE+8($pop16)
+ tee_local $push15=, $1=, $pop1
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop15, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ tee_local $push14=, $0=, $pop5
+ i64.extend_u/i32 $push6=, $pop14
+ i64.const $push13=, 35
+ i64.shl $push7=, $pop6, $pop13
+ i64.const $push8=, 34359738367
+ i64.and $push9=, $1, $pop8
+ i64.or $push10=, $pop7, $pop9
+ i64.store $discard=, sE+8($pop0), $pop10
+ i32.const $push11=, 536870911
+ i32.and $push12=, $0, $pop11
+ return $pop12
+ .endfunc
+.Lfunc_end29:
+ .size fn3E, .Lfunc_end29-fn3E
+
+ .section .text.testE,"ax",@progbits
+ .hidden testE
+ .globl testE
+ .type testE,@function
+testE: # @testE
+ .local i32
+# BB#0: # %if.end142
+ i32.const $push0=, 0
+ i32.const $push158=, 0
+ i32.load $push1=, myrnd.s($pop158)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push157=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop157, $pop6
+ i32.store8 $discard=, sE($pop0):p2align=3, $pop7
+ i32.const $push156=, 0
+ i32.const $push155=, 1103515245
+ i32.mul $push8=, $0, $pop155
+ i32.const $push154=, 12345
+ i32.add $push9=, $pop8, $pop154
+ tee_local $push153=, $0=, $pop9
+ i32.const $push152=, 16
+ i32.shr_u $push10=, $pop153, $pop152
+ i32.store8 $discard=, sE+1($pop156), $pop10
+ i32.const $push151=, 0
+ i32.const $push150=, 1103515245
+ i32.mul $push11=, $0, $pop150
+ i32.const $push149=, 12345
+ i32.add $push12=, $pop11, $pop149
+ tee_local $push148=, $0=, $pop12
+ i32.const $push147=, 16
+ i32.shr_u $push13=, $pop148, $pop147
+ i32.store8 $discard=, sE+2($pop151):p2align=1, $pop13
+ i32.const $push146=, 0
+ i32.const $push145=, 1103515245
+ i32.mul $push14=, $0, $pop145
+ i32.const $push144=, 12345
+ i32.add $push15=, $pop14, $pop144
+ tee_local $push143=, $0=, $pop15
+ i32.const $push142=, 16
+ i32.shr_u $push16=, $pop143, $pop142
+ i32.store8 $discard=, sE+3($pop146), $pop16
+ i32.const $push141=, 0
+ i32.const $push140=, 1103515245
+ i32.mul $push17=, $0, $pop140
+ i32.const $push139=, 12345
+ i32.add $push18=, $pop17, $pop139
+ tee_local $push138=, $0=, $pop18
+ i32.const $push137=, 16
+ i32.shr_u $push19=, $pop138, $pop137
+ i32.store8 $discard=, sE+4($pop141):p2align=2, $pop19
+ i32.const $push136=, 0
+ i32.const $push135=, 1103515245
+ i32.mul $push20=, $0, $pop135
+ i32.const $push134=, 12345
+ i32.add $push21=, $pop20, $pop134
+ tee_local $push133=, $0=, $pop21
+ i32.const $push132=, 16
+ i32.shr_u $push22=, $pop133, $pop132
+ i32.store8 $discard=, sE+5($pop136), $pop22
+ i32.const $push131=, 0
+ i32.const $push130=, 1103515245
+ i32.mul $push23=, $0, $pop130
+ i32.const $push129=, 12345
+ i32.add $push24=, $pop23, $pop129
+ tee_local $push128=, $0=, $pop24
+ i32.const $push127=, 16
+ i32.shr_u $push25=, $pop128, $pop127
+ i32.store8 $discard=, sE+6($pop131):p2align=1, $pop25
+ i32.const $push126=, 0
+ i32.const $push125=, 1103515245
+ i32.mul $push26=, $0, $pop125
+ i32.const $push124=, 12345
+ i32.add $push27=, $pop26, $pop124
+ tee_local $push123=, $0=, $pop27
+ i32.const $push122=, 16
+ i32.shr_u $push28=, $pop123, $pop122
+ i32.store8 $discard=, sE+7($pop126), $pop28
+ i32.const $push121=, 0
+ i32.const $push120=, 1103515245
+ i32.mul $push29=, $0, $pop120
+ i32.const $push119=, 12345
+ i32.add $push30=, $pop29, $pop119
+ tee_local $push118=, $0=, $pop30
+ i32.const $push117=, 16
+ i32.shr_u $push31=, $pop118, $pop117
+ i32.store8 $discard=, sE+8($pop121):p2align=3, $pop31
+ i32.const $push116=, 0
+ i32.const $push115=, 1103515245
+ i32.mul $push32=, $0, $pop115
+ i32.const $push114=, 12345
+ i32.add $push33=, $pop32, $pop114
+ tee_local $push113=, $0=, $pop33
+ i32.const $push112=, 16
+ i32.shr_u $push34=, $pop113, $pop112
+ i32.store8 $discard=, sE+9($pop116), $pop34
+ i32.const $push111=, 0
+ i32.const $push110=, 1103515245
+ i32.mul $push35=, $0, $pop110
+ i32.const $push109=, 12345
+ i32.add $push36=, $pop35, $pop109
+ tee_local $push108=, $0=, $pop36
+ i32.const $push107=, 16
+ i32.shr_u $push37=, $pop108, $pop107
+ i32.store8 $discard=, sE+10($pop111):p2align=1, $pop37
+ i32.const $push106=, 0
+ i32.const $push105=, 1103515245
+ i32.mul $push38=, $0, $pop105
+ i32.const $push104=, 12345
+ i32.add $push39=, $pop38, $pop104
+ tee_local $push103=, $0=, $pop39
+ i32.const $push102=, 16
+ i32.shr_u $push40=, $pop103, $pop102
+ i32.store8 $discard=, sE+11($pop106), $pop40
+ i32.const $push101=, 0
+ i32.const $push100=, 1103515245
+ i32.mul $push41=, $0, $pop100
+ i32.const $push99=, 12345
+ i32.add $push42=, $pop41, $pop99
+ tee_local $push98=, $0=, $pop42
+ i32.const $push97=, 16
+ i32.shr_u $push43=, $pop98, $pop97
+ i32.store8 $discard=, sE+12($pop101):p2align=2, $pop43
+ i32.const $push96=, 0
+ i32.const $push95=, 1103515245
+ i32.mul $push44=, $0, $pop95
+ i32.const $push94=, 12345
+ i32.add $push45=, $pop44, $pop94
+ tee_local $push93=, $0=, $pop45
+ i32.const $push92=, 16
+ i32.shr_u $push46=, $pop93, $pop92
+ i32.store8 $discard=, sE+13($pop96), $pop46
+ i32.const $push91=, 0
+ i32.const $push90=, 1103515245
+ i32.mul $push47=, $0, $pop90
+ i32.const $push89=, 12345
+ i32.add $push48=, $pop47, $pop89
+ tee_local $push88=, $0=, $pop48
+ i32.const $push87=, 16
+ i32.shr_u $push49=, $pop88, $pop87
+ i32.store8 $discard=, sE+14($pop91):p2align=1, $pop49
+ i32.const $push86=, 0
+ i32.const $push85=, 1103515245
+ i32.mul $push50=, $0, $pop85
+ i32.const $push84=, 12345
+ i32.add $push51=, $pop50, $pop84
+ tee_local $push83=, $0=, $pop51
+ i32.const $push82=, 16
+ i32.shr_u $push52=, $pop83, $pop82
+ i32.store8 $discard=, sE+15($pop86), $pop52
+ i32.const $push81=, 0
+ i32.const $push80=, 0
+ i32.const $push54=, -341751747
+ i32.mul $push55=, $0, $pop54
+ i32.const $push56=, 229283573
+ i32.add $push57=, $pop55, $pop56
+ tee_local $push79=, $0=, $pop57
+ i32.const $push78=, 1103515245
+ i32.mul $push61=, $pop79, $pop78
+ i32.const $push77=, 12345
+ i32.add $push62=, $pop61, $pop77
+ i32.store $push63=, myrnd.s($pop80), $pop62
+ i32.const $push76=, 16
+ i32.shr_u $push64=, $pop63, $pop76
+ i32.const $push59=, 2047
+ i32.and $push65=, $pop64, $pop59
+ i32.const $push75=, 16
+ i32.shr_u $push58=, $0, $pop75
+ i32.const $push74=, 2047
+ i32.and $push60=, $pop58, $pop74
+ i32.add $push68=, $pop65, $pop60
+ i64.extend_u/i32 $push69=, $pop68
+ i64.const $push70=, 35
+ i64.shl $push71=, $pop69, $pop70
+ i32.const $push73=, 0
+ i64.load $push53=, sE+8($pop73)
+ i64.const $push66=, 34359738367
+ i64.and $push67=, $pop53, $pop66
+ i64.or $push72=, $pop71, $pop67
+ i64.store $discard=, sE+8($pop81), $pop72
+ return
+ .endfunc
+.Lfunc_end30:
+ .size testE, .Lfunc_end30-testE
+
+ .section .text.retmeF,"ax",@progbits
+ .hidden retmeF
+ .globl retmeF
+ .type retmeF,@function
+retmeF: # @retmeF
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end31:
+ .size retmeF, .Lfunc_end31-retmeF
+
+ .section .text.fn1F,"ax",@progbits
+ .hidden fn1F
+ .globl fn1F
+ .type fn1F,@function
+fn1F: # @fn1F
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sF($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ return $pop7
+ .endfunc
+.Lfunc_end32:
+ .size fn1F, .Lfunc_end32-fn1F
+
+ .section .text.fn2F,"ax",@progbits
+ .hidden fn2F
+ .globl fn2F
+ .type fn2F,@function
+fn2F: # @fn2F
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sF($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 15
+ i32.rem_u $push9=, $pop7, $pop8
+ return $pop9
+ .endfunc
+.Lfunc_end33:
+ .size fn2F, .Lfunc_end33-fn2F
+
+ .section .text.retitF,"ax",@progbits
+ .hidden retitF
+ .globl retitF
+ .type retitF,@function
+retitF: # @retitF
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sF($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end34:
+ .size retitF, .Lfunc_end34-retitF
+
+ .section .text.fn3F,"ax",@progbits
+ .hidden fn3F
+ .globl fn3F
+ .type fn3F,@function
+fn3F: # @fn3F
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i64.load $push1=, sF($pop16)
+ tee_local $push15=, $1=, $pop1
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop15, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ tee_local $push14=, $0=, $pop5
+ i64.extend_u/i32 $push6=, $pop14
+ i64.const $push13=, 35
+ i64.shl $push7=, $pop6, $pop13
+ i64.const $push8=, 34359738367
+ i64.and $push9=, $1, $pop8
+ i64.or $push10=, $pop7, $pop9
+ i64.store $discard=, sF($pop0), $pop10
+ i32.const $push11=, 536870911
+ i32.and $push12=, $0, $pop11
+ return $pop12
+ .endfunc
+.Lfunc_end35:
+ .size fn3F, .Lfunc_end35-fn3F
+
+ .section .text.testF,"ax",@progbits
+ .hidden testF
+ .globl testF
+ .type testF,@function
+testF: # @testF
+ .local i32
+# BB#0: # %if.end136
+ i32.const $push0=, 0
+ i32.const $push158=, 0
+ i32.load $push1=, myrnd.s($pop158)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push157=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop157, $pop6
+ i32.store8 $discard=, sF($pop0):p2align=3, $pop7
+ i32.const $push156=, 0
+ i32.const $push155=, 1103515245
+ i32.mul $push8=, $0, $pop155
+ i32.const $push154=, 12345
+ i32.add $push9=, $pop8, $pop154
+ tee_local $push153=, $0=, $pop9
+ i32.const $push152=, 16
+ i32.shr_u $push10=, $pop153, $pop152
+ i32.store8 $discard=, sF+1($pop156), $pop10
+ i32.const $push151=, 0
+ i32.const $push150=, 1103515245
+ i32.mul $push11=, $0, $pop150
+ i32.const $push149=, 12345
+ i32.add $push12=, $pop11, $pop149
+ tee_local $push148=, $0=, $pop12
+ i32.const $push147=, 16
+ i32.shr_u $push13=, $pop148, $pop147
+ i32.store8 $discard=, sF+2($pop151):p2align=1, $pop13
+ i32.const $push146=, 0
+ i32.const $push145=, 1103515245
+ i32.mul $push14=, $0, $pop145
+ i32.const $push144=, 12345
+ i32.add $push15=, $pop14, $pop144
+ tee_local $push143=, $0=, $pop15
+ i32.const $push142=, 16
+ i32.shr_u $push16=, $pop143, $pop142
+ i32.store8 $discard=, sF+3($pop146), $pop16
+ i32.const $push141=, 0
+ i32.const $push140=, 1103515245
+ i32.mul $push17=, $0, $pop140
+ i32.const $push139=, 12345
+ i32.add $push18=, $pop17, $pop139
+ tee_local $push138=, $0=, $pop18
+ i32.const $push137=, 16
+ i32.shr_u $push19=, $pop138, $pop137
+ i32.store8 $discard=, sF+4($pop141):p2align=2, $pop19
+ i32.const $push136=, 0
+ i32.const $push135=, 1103515245
+ i32.mul $push20=, $0, $pop135
+ i32.const $push134=, 12345
+ i32.add $push21=, $pop20, $pop134
+ tee_local $push133=, $0=, $pop21
+ i32.const $push132=, 16
+ i32.shr_u $push22=, $pop133, $pop132
+ i32.store8 $discard=, sF+5($pop136), $pop22
+ i32.const $push131=, 0
+ i32.const $push130=, 1103515245
+ i32.mul $push23=, $0, $pop130
+ i32.const $push129=, 12345
+ i32.add $push24=, $pop23, $pop129
+ tee_local $push128=, $0=, $pop24
+ i32.const $push127=, 16
+ i32.shr_u $push25=, $pop128, $pop127
+ i32.store8 $discard=, sF+6($pop131):p2align=1, $pop25
+ i32.const $push126=, 0
+ i32.const $push125=, 1103515245
+ i32.mul $push26=, $0, $pop125
+ i32.const $push124=, 12345
+ i32.add $push27=, $pop26, $pop124
+ tee_local $push123=, $0=, $pop27
+ i32.const $push122=, 16
+ i32.shr_u $push28=, $pop123, $pop122
+ i32.store8 $discard=, sF+7($pop126), $pop28
+ i32.const $push121=, 0
+ i32.const $push120=, 1103515245
+ i32.mul $push29=, $0, $pop120
+ i32.const $push119=, 12345
+ i32.add $push30=, $pop29, $pop119
+ tee_local $push118=, $0=, $pop30
+ i32.const $push117=, 16
+ i32.shr_u $push31=, $pop118, $pop117
+ i32.store8 $discard=, sF+8($pop121):p2align=3, $pop31
+ i32.const $push116=, 0
+ i32.const $push115=, 1103515245
+ i32.mul $push32=, $0, $pop115
+ i32.const $push114=, 12345
+ i32.add $push33=, $pop32, $pop114
+ tee_local $push113=, $0=, $pop33
+ i32.const $push112=, 16
+ i32.shr_u $push34=, $pop113, $pop112
+ i32.store8 $discard=, sF+9($pop116), $pop34
+ i32.const $push111=, 0
+ i32.const $push110=, 1103515245
+ i32.mul $push35=, $0, $pop110
+ i32.const $push109=, 12345
+ i32.add $push36=, $pop35, $pop109
+ tee_local $push108=, $0=, $pop36
+ i32.const $push107=, 16
+ i32.shr_u $push37=, $pop108, $pop107
+ i32.store8 $discard=, sF+10($pop111):p2align=1, $pop37
+ i32.const $push106=, 0
+ i32.const $push105=, 1103515245
+ i32.mul $push38=, $0, $pop105
+ i32.const $push104=, 12345
+ i32.add $push39=, $pop38, $pop104
+ tee_local $push103=, $0=, $pop39
+ i32.const $push102=, 16
+ i32.shr_u $push40=, $pop103, $pop102
+ i32.store8 $discard=, sF+11($pop106), $pop40
+ i32.const $push101=, 0
+ i32.const $push100=, 1103515245
+ i32.mul $push41=, $0, $pop100
+ i32.const $push99=, 12345
+ i32.add $push42=, $pop41, $pop99
+ tee_local $push98=, $0=, $pop42
+ i32.const $push97=, 16
+ i32.shr_u $push43=, $pop98, $pop97
+ i32.store8 $discard=, sF+12($pop101):p2align=2, $pop43
+ i32.const $push96=, 0
+ i32.const $push95=, 1103515245
+ i32.mul $push44=, $0, $pop95
+ i32.const $push94=, 12345
+ i32.add $push45=, $pop44, $pop94
+ tee_local $push93=, $0=, $pop45
+ i32.const $push92=, 16
+ i32.shr_u $push46=, $pop93, $pop92
+ i32.store8 $discard=, sF+13($pop96), $pop46
+ i32.const $push91=, 0
+ i32.const $push90=, 1103515245
+ i32.mul $push47=, $0, $pop90
+ i32.const $push89=, 12345
+ i32.add $push48=, $pop47, $pop89
+ tee_local $push88=, $0=, $pop48
+ i32.const $push87=, 16
+ i32.shr_u $push49=, $pop88, $pop87
+ i32.store8 $discard=, sF+14($pop91):p2align=1, $pop49
+ i32.const $push86=, 0
+ i32.const $push85=, 1103515245
+ i32.mul $push50=, $0, $pop85
+ i32.const $push84=, 12345
+ i32.add $push51=, $pop50, $pop84
+ tee_local $push83=, $0=, $pop51
+ i32.const $push82=, 16
+ i32.shr_u $push52=, $pop83, $pop82
+ i32.store8 $discard=, sF+15($pop86), $pop52
+ i32.const $push81=, 0
+ i32.const $push80=, 0
+ i32.const $push54=, -341751747
+ i32.mul $push55=, $0, $pop54
+ i32.const $push56=, 229283573
+ i32.add $push57=, $pop55, $pop56
+ tee_local $push79=, $0=, $pop57
+ i32.const $push78=, 1103515245
+ i32.mul $push61=, $pop79, $pop78
+ i32.const $push77=, 12345
+ i32.add $push62=, $pop61, $pop77
+ i32.store $push63=, myrnd.s($pop80), $pop62
+ i32.const $push76=, 16
+ i32.shr_u $push64=, $pop63, $pop76
+ i32.const $push59=, 2047
+ i32.and $push65=, $pop64, $pop59
+ i32.const $push75=, 16
+ i32.shr_u $push58=, $0, $pop75
+ i32.const $push74=, 2047
+ i32.and $push60=, $pop58, $pop74
+ i32.add $push68=, $pop65, $pop60
+ i64.extend_u/i32 $push69=, $pop68
+ i64.const $push70=, 35
+ i64.shl $push71=, $pop69, $pop70
+ i32.const $push73=, 0
+ i64.load $push53=, sF($pop73)
+ i64.const $push66=, 34359738367
+ i64.and $push67=, $pop53, $pop66
+ i64.or $push72=, $pop71, $pop67
+ i64.store $discard=, sF($pop81), $pop72
+ return
+ .endfunc
+.Lfunc_end36:
+ .size testF, .Lfunc_end36-testF
+
+ .section .text.retmeG,"ax",@progbits
+ .hidden retmeG
+ .globl retmeG
+ .type retmeG,@function
+retmeG: # @retmeG
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end37:
+ .size retmeG, .Lfunc_end37-retmeG
+
+ .section .text.fn1G,"ax",@progbits
+ .hidden fn1G
+ .globl fn1G
+ .type fn1G,@function
+fn1G: # @fn1G
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sG($pop0):p2align=3
+ i32.const $push2=, 25
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.const $push6=, 25
+ i32.shr_u $push5=, $pop4, $pop6
+ return $pop5
+ .endfunc
+.Lfunc_end38:
+ .size fn1G, .Lfunc_end38-fn1G
+
+ .section .text.fn2G,"ax",@progbits
+ .hidden fn2G
+ .globl fn2G
+ .type fn2G,@function
+fn2G: # @fn2G
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sG($pop0):p2align=3
+ i32.const $push2=, 25
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 127
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end39:
+ .size fn2G, .Lfunc_end39-fn2G
+
+ .section .text.retitG,"ax",@progbits
+ .hidden retitG
+ .globl retitG
+ .type retitG,@function
+retitG: # @retitG
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sG($pop0):p2align=3
+ i32.const $push2=, 25
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end40:
+ .size retitG, .Lfunc_end40-retitG
+
+ .section .text.fn3G,"ax",@progbits
+ .hidden fn3G
+ .globl fn3G
+ .type fn3G,@function
+fn3G: # @fn3G
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push8=, 0
+ i32.load $push1=, sG($pop8):p2align=3
+ i32.const $push2=, 25
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $push5=, sG($pop0):p2align=3, $pop4
+ i32.const $push7=, 25
+ i32.shr_u $push6=, $pop5, $pop7
+ return $pop6
+ .endfunc
+.Lfunc_end41:
+ .size fn3G, .Lfunc_end41-fn3G
+
+ .section .text.testG,"ax",@progbits
+ .hidden testG
+ .globl testG
+ .type testG,@function
+testG: # @testG
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push189=, 0
+ i32.const $push188=, 0
+ i32.load $push5=, myrnd.s($pop188)
+ i32.const $push187=, 1103515245
+ i32.mul $push6=, $pop5, $pop187
+ i32.const $push186=, 12345
+ i32.add $push7=, $pop6, $pop186
+ tee_local $push185=, $2=, $pop7
+ i32.const $push184=, 16
+ i32.shr_u $push8=, $pop185, $pop184
+ i32.store8 $discard=, sG($pop189):p2align=3, $pop8
+ i32.const $push183=, 0
+ i32.const $push182=, 1103515245
+ i32.mul $push9=, $2, $pop182
+ i32.const $push181=, 12345
+ i32.add $push10=, $pop9, $pop181
+ tee_local $push180=, $2=, $pop10
+ i32.const $push179=, 16
+ i32.shr_u $push11=, $pop180, $pop179
+ i32.store8 $discard=, sG+1($pop183), $pop11
+ i32.const $push178=, 0
+ i32.const $push177=, 1103515245
+ i32.mul $push12=, $2, $pop177
+ i32.const $push176=, 12345
+ i32.add $push13=, $pop12, $pop176
+ tee_local $push175=, $2=, $pop13
+ i32.const $push174=, 16
+ i32.shr_u $push14=, $pop175, $pop174
+ i32.store8 $discard=, sG+2($pop178):p2align=1, $pop14
+ i32.const $push173=, 0
+ i32.const $push172=, 1103515245
+ i32.mul $push15=, $2, $pop172
+ i32.const $push171=, 12345
+ i32.add $push16=, $pop15, $pop171
+ tee_local $push170=, $2=, $pop16
+ i32.const $push169=, 16
+ i32.shr_u $push17=, $pop170, $pop169
+ i32.store8 $discard=, sG+3($pop173), $pop17
+ i32.const $push168=, 0
+ i32.const $push167=, 1103515245
+ i32.mul $push18=, $2, $pop167
+ i32.const $push166=, 12345
+ i32.add $push19=, $pop18, $pop166
+ tee_local $push165=, $2=, $pop19
+ i32.const $push164=, 16
+ i32.shr_u $push20=, $pop165, $pop164
+ i32.store8 $discard=, sG+4($pop168):p2align=2, $pop20
+ i32.const $push163=, 0
+ i32.const $push162=, 1103515245
+ i32.mul $push21=, $2, $pop162
+ i32.const $push161=, 12345
+ i32.add $push22=, $pop21, $pop161
+ tee_local $push160=, $2=, $pop22
+ i32.const $push159=, 16
+ i32.shr_u $push23=, $pop160, $pop159
+ i32.store8 $discard=, sG+5($pop163), $pop23
+ i32.const $push158=, 0
+ i32.const $push157=, 1103515245
+ i32.mul $push24=, $2, $pop157
+ i32.const $push156=, 12345
+ i32.add $push25=, $pop24, $pop156
+ tee_local $push155=, $2=, $pop25
+ i32.const $push154=, 16
+ i32.shr_u $push26=, $pop155, $pop154
+ i32.store8 $discard=, sG+6($pop158):p2align=1, $pop26
+ i32.const $push153=, 0
+ i32.const $push152=, 1103515245
+ i32.mul $push27=, $2, $pop152
+ i32.const $push151=, 12345
+ i32.add $push28=, $pop27, $pop151
+ tee_local $push150=, $2=, $pop28
+ i32.const $push149=, 16
+ i32.shr_u $push29=, $pop150, $pop149
+ i32.store8 $discard=, sG+7($pop153), $pop29
+ i32.const $push148=, 0
+ i32.const $push147=, 1103515245
+ i32.mul $push30=, $2, $pop147
+ i32.const $push146=, 12345
+ i32.add $push31=, $pop30, $pop146
+ tee_local $push145=, $2=, $pop31
+ i32.const $push144=, 16
+ i32.shr_u $push32=, $pop145, $pop144
+ i32.store8 $discard=, sG+8($pop148):p2align=3, $pop32
+ i32.const $push143=, 0
+ i32.const $push142=, 1103515245
+ i32.mul $push33=, $2, $pop142
+ i32.const $push141=, 12345
+ i32.add $push34=, $pop33, $pop141
+ tee_local $push140=, $2=, $pop34
+ i32.const $push139=, 16
+ i32.shr_u $push35=, $pop140, $pop139
+ i32.store8 $discard=, sG+9($pop143), $pop35
+ i32.const $push138=, 0
+ i32.const $push137=, 1103515245
+ i32.mul $push36=, $2, $pop137
+ i32.const $push136=, 12345
+ i32.add $push37=, $pop36, $pop136
+ tee_local $push135=, $2=, $pop37
+ i32.const $push134=, 16
+ i32.shr_u $push38=, $pop135, $pop134
+ i32.store8 $discard=, sG+10($pop138):p2align=1, $pop38
+ i32.const $push133=, 0
+ i32.const $push132=, 1103515245
+ i32.mul $push39=, $2, $pop132
+ i32.const $push131=, 12345
+ i32.add $push40=, $pop39, $pop131
+ tee_local $push130=, $2=, $pop40
+ i32.const $push129=, 16
+ i32.shr_u $push41=, $pop130, $pop129
+ i32.store8 $discard=, sG+11($pop133), $pop41
+ i32.const $push128=, 0
+ i32.const $push127=, 1103515245
+ i32.mul $push42=, $2, $pop127
+ i32.const $push126=, 12345
+ i32.add $push43=, $pop42, $pop126
+ tee_local $push125=, $2=, $pop43
+ i32.const $push124=, 16
+ i32.shr_u $push44=, $pop125, $pop124
+ i32.store8 $discard=, sG+12($pop128):p2align=2, $pop44
+ i32.const $push123=, 0
+ i32.const $push122=, 1103515245
+ i32.mul $push45=, $2, $pop122
+ i32.const $push121=, 12345
+ i32.add $push46=, $pop45, $pop121
+ tee_local $push120=, $2=, $pop46
+ i32.const $push119=, 16
+ i32.shr_u $push47=, $pop120, $pop119
+ i32.store8 $discard=, sG+13($pop123), $pop47
+ i32.const $push118=, 0
+ i32.const $push117=, 1103515245
+ i32.mul $push48=, $2, $pop117
+ i32.const $push116=, 12345
+ i32.add $push49=, $pop48, $pop116
+ tee_local $push115=, $2=, $pop49
+ i32.const $push114=, 16
+ i32.shr_u $push50=, $pop115, $pop114
+ i32.store8 $discard=, sG+14($pop118):p2align=1, $pop50
+ i32.const $push113=, 0
+ i32.const $push112=, 1103515245
+ i32.mul $push51=, $2, $pop112
+ i32.const $push111=, 12345
+ i32.add $push52=, $pop51, $pop111
+ tee_local $push110=, $2=, $pop52
+ i32.const $push109=, 16
+ i32.shr_u $push53=, $pop110, $pop109
+ i32.store8 $discard=, sG+15($pop113), $pop53
+ block
+ i32.const $push108=, 0
+ i32.const $push107=, 1103515245
+ i32.mul $push54=, $2, $pop107
+ i32.const $push106=, 12345
+ i32.add $push55=, $pop54, $pop106
+ tee_local $push105=, $2=, $pop55
+ i32.const $push104=, 1103515245
+ i32.mul $push57=, $pop105, $pop104
+ i32.const $push103=, 12345
+ i32.add $push1=, $pop57, $pop103
+ i32.store $push58=, myrnd.s($pop108), $pop1
+ tee_local $push102=, $1=, $pop58
+ i32.const $push101=, 16
+ i32.shr_u $push59=, $pop102, $pop101
+ tee_local $push100=, $0=, $pop59
+ i32.const $push99=, 16
+ i32.shr_u $push56=, $2, $pop99
+ tee_local $push98=, $2=, $pop56
+ i32.add $push67=, $pop100, $pop98
+ i32.const $push68=, 127
+ i32.and $push69=, $pop67, $pop68
+ i32.const $push97=, 25
+ i32.shl $push64=, $0, $pop97
+ i32.const $push96=, 0
+ i32.const $push95=, 25
+ i32.shl $push60=, $2, $pop95
+ i32.const $push94=, 0
+ i32.load $push0=, sG($pop94):p2align=3
+ tee_local $push93=, $2=, $pop0
+ i32.const $push92=, 33554431
+ i32.and $push61=, $pop93, $pop92
+ tee_local $push91=, $0=, $pop61
+ i32.or $push62=, $pop60, $pop91
+ i32.store $push63=, sG($pop96):p2align=3, $pop62
+ i32.add $push65=, $pop64, $pop63
+ i32.const $push90=, 25
+ i32.shr_u $push66=, $pop65, $pop90
+ i32.ne $push70=, $pop69, $pop66
+ br_if $pop70, 0 # 0: down to label6
+# BB#1: # %if.end76
+ block
+ i32.const $push202=, 0
+ i32.const $push201=, 0
+ i32.const $push71=, -2139243339
+ i32.mul $push72=, $1, $pop71
+ i32.const $push73=, -1492899873
+ i32.add $push74=, $pop72, $pop73
+ tee_local $push200=, $1=, $pop74
+ i32.const $push199=, 1103515245
+ i32.mul $push75=, $pop200, $pop199
+ i32.const $push198=, 12345
+ i32.add $push76=, $pop75, $pop198
+ i32.store $push77=, myrnd.s($pop201), $pop76
+ i32.const $push197=, 16
+ i32.shr_u $push3=, $pop77, $pop197
+ tee_local $push196=, $3=, $pop3
+ i32.const $push195=, 25
+ i32.shl $push80=, $pop196, $pop195
+ i32.const $push194=, 16
+ i32.shr_u $push2=, $1, $pop194
+ tee_local $push193=, $1=, $pop2
+ i32.const $push192=, 25
+ i32.shl $push78=, $pop193, $pop192
+ i32.or $push79=, $pop78, $0
+ i32.add $push4=, $pop80, $pop79
+ i32.store $push81=, sG($pop202):p2align=3, $pop4
+ tee_local $push191=, $0=, $pop81
+ i32.xor $push82=, $pop191, $2
+ i32.const $push190=, 33554431
+ i32.and $push83=, $pop82, $pop190
+ br_if $pop83, 0 # 0: down to label7
+# BB#2: # %lor.lhs.false109
+ i32.add $push86=, $3, $1
+ i32.const $push87=, 127
+ i32.and $push88=, $pop86, $pop87
+ i32.const $push84=, 25
+ i32.shr_u $push85=, $0, $pop84
+ i32.ne $push89=, $pop88, $pop85
+ br_if $pop89, 0 # 0: down to label7
+# BB#3: # %if.end115
+ return
+.LBB42_4: # %if.then114
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB42_5: # %if.then
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end42:
+ .size testG, .Lfunc_end42-testG
+
+ .section .text.retmeH,"ax",@progbits
+ .hidden retmeH
+ .globl retmeH
+ .type retmeH,@function
+retmeH: # @retmeH
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end43:
+ .size retmeH, .Lfunc_end43-retmeH
+
+ .section .text.fn1H,"ax",@progbits
+ .hidden fn1H
+ .globl fn1H
+ .type fn1H,@function
+fn1H: # @fn1H
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sH($pop0):p2align=3
+ i32.const $push2=, 23
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.const $push6=, 23
+ i32.shr_u $push5=, $pop4, $pop6
+ return $pop5
+ .endfunc
+.Lfunc_end44:
+ .size fn1H, .Lfunc_end44-fn1H
+
+ .section .text.fn2H,"ax",@progbits
+ .hidden fn2H
+ .globl fn2H
+ .type fn2H,@function
+fn2H: # @fn2H
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sH($pop0):p2align=3
+ i32.const $push2=, 23
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 511
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end45:
+ .size fn2H, .Lfunc_end45-fn2H
+
+ .section .text.retitH,"ax",@progbits
+ .hidden retitH
+ .globl retitH
+ .type retitH,@function
+retitH: # @retitH
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sH($pop0):p2align=3
+ i32.const $push2=, 23
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end46:
+ .size retitH, .Lfunc_end46-retitH
+
+ .section .text.fn3H,"ax",@progbits
+ .hidden fn3H
+ .globl fn3H
+ .type fn3H,@function
+fn3H: # @fn3H
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push8=, 0
+ i32.load $push1=, sH($pop8):p2align=3
+ i32.const $push2=, 23
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $push5=, sH($pop0):p2align=3, $pop4
+ i32.const $push7=, 23
+ i32.shr_u $push6=, $pop5, $pop7
+ return $pop6
+ .endfunc
+.Lfunc_end47:
+ .size fn3H, .Lfunc_end47-fn3H
+
+ .section .text.testH,"ax",@progbits
+ .hidden testH
+ .globl testH
+ .type testH,@function
+testH: # @testH
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push189=, 0
+ i32.const $push188=, 0
+ i32.load $push5=, myrnd.s($pop188)
+ i32.const $push187=, 1103515245
+ i32.mul $push6=, $pop5, $pop187
+ i32.const $push186=, 12345
+ i32.add $push7=, $pop6, $pop186
+ tee_local $push185=, $2=, $pop7
+ i32.const $push184=, 16
+ i32.shr_u $push8=, $pop185, $pop184
+ i32.store8 $discard=, sH($pop189):p2align=3, $pop8
+ i32.const $push183=, 0
+ i32.const $push182=, 1103515245
+ i32.mul $push9=, $2, $pop182
+ i32.const $push181=, 12345
+ i32.add $push10=, $pop9, $pop181
+ tee_local $push180=, $2=, $pop10
+ i32.const $push179=, 16
+ i32.shr_u $push11=, $pop180, $pop179
+ i32.store8 $discard=, sH+1($pop183), $pop11
+ i32.const $push178=, 0
+ i32.const $push177=, 1103515245
+ i32.mul $push12=, $2, $pop177
+ i32.const $push176=, 12345
+ i32.add $push13=, $pop12, $pop176
+ tee_local $push175=, $2=, $pop13
+ i32.const $push174=, 16
+ i32.shr_u $push14=, $pop175, $pop174
+ i32.store8 $discard=, sH+2($pop178):p2align=1, $pop14
+ i32.const $push173=, 0
+ i32.const $push172=, 1103515245
+ i32.mul $push15=, $2, $pop172
+ i32.const $push171=, 12345
+ i32.add $push16=, $pop15, $pop171
+ tee_local $push170=, $2=, $pop16
+ i32.const $push169=, 16
+ i32.shr_u $push17=, $pop170, $pop169
+ i32.store8 $discard=, sH+3($pop173), $pop17
+ i32.const $push168=, 0
+ i32.const $push167=, 1103515245
+ i32.mul $push18=, $2, $pop167
+ i32.const $push166=, 12345
+ i32.add $push19=, $pop18, $pop166
+ tee_local $push165=, $2=, $pop19
+ i32.const $push164=, 16
+ i32.shr_u $push20=, $pop165, $pop164
+ i32.store8 $discard=, sH+4($pop168):p2align=2, $pop20
+ i32.const $push163=, 0
+ i32.const $push162=, 1103515245
+ i32.mul $push21=, $2, $pop162
+ i32.const $push161=, 12345
+ i32.add $push22=, $pop21, $pop161
+ tee_local $push160=, $2=, $pop22
+ i32.const $push159=, 16
+ i32.shr_u $push23=, $pop160, $pop159
+ i32.store8 $discard=, sH+5($pop163), $pop23
+ i32.const $push158=, 0
+ i32.const $push157=, 1103515245
+ i32.mul $push24=, $2, $pop157
+ i32.const $push156=, 12345
+ i32.add $push25=, $pop24, $pop156
+ tee_local $push155=, $2=, $pop25
+ i32.const $push154=, 16
+ i32.shr_u $push26=, $pop155, $pop154
+ i32.store8 $discard=, sH+6($pop158):p2align=1, $pop26
+ i32.const $push153=, 0
+ i32.const $push152=, 1103515245
+ i32.mul $push27=, $2, $pop152
+ i32.const $push151=, 12345
+ i32.add $push28=, $pop27, $pop151
+ tee_local $push150=, $2=, $pop28
+ i32.const $push149=, 16
+ i32.shr_u $push29=, $pop150, $pop149
+ i32.store8 $discard=, sH+7($pop153), $pop29
+ i32.const $push148=, 0
+ i32.const $push147=, 1103515245
+ i32.mul $push30=, $2, $pop147
+ i32.const $push146=, 12345
+ i32.add $push31=, $pop30, $pop146
+ tee_local $push145=, $2=, $pop31
+ i32.const $push144=, 16
+ i32.shr_u $push32=, $pop145, $pop144
+ i32.store8 $discard=, sH+8($pop148):p2align=3, $pop32
+ i32.const $push143=, 0
+ i32.const $push142=, 1103515245
+ i32.mul $push33=, $2, $pop142
+ i32.const $push141=, 12345
+ i32.add $push34=, $pop33, $pop141
+ tee_local $push140=, $2=, $pop34
+ i32.const $push139=, 16
+ i32.shr_u $push35=, $pop140, $pop139
+ i32.store8 $discard=, sH+9($pop143), $pop35
+ i32.const $push138=, 0
+ i32.const $push137=, 1103515245
+ i32.mul $push36=, $2, $pop137
+ i32.const $push136=, 12345
+ i32.add $push37=, $pop36, $pop136
+ tee_local $push135=, $2=, $pop37
+ i32.const $push134=, 16
+ i32.shr_u $push38=, $pop135, $pop134
+ i32.store8 $discard=, sH+10($pop138):p2align=1, $pop38
+ i32.const $push133=, 0
+ i32.const $push132=, 1103515245
+ i32.mul $push39=, $2, $pop132
+ i32.const $push131=, 12345
+ i32.add $push40=, $pop39, $pop131
+ tee_local $push130=, $2=, $pop40
+ i32.const $push129=, 16
+ i32.shr_u $push41=, $pop130, $pop129
+ i32.store8 $discard=, sH+11($pop133), $pop41
+ i32.const $push128=, 0
+ i32.const $push127=, 1103515245
+ i32.mul $push42=, $2, $pop127
+ i32.const $push126=, 12345
+ i32.add $push43=, $pop42, $pop126
+ tee_local $push125=, $2=, $pop43
+ i32.const $push124=, 16
+ i32.shr_u $push44=, $pop125, $pop124
+ i32.store8 $discard=, sH+12($pop128):p2align=2, $pop44
+ i32.const $push123=, 0
+ i32.const $push122=, 1103515245
+ i32.mul $push45=, $2, $pop122
+ i32.const $push121=, 12345
+ i32.add $push46=, $pop45, $pop121
+ tee_local $push120=, $2=, $pop46
+ i32.const $push119=, 16
+ i32.shr_u $push47=, $pop120, $pop119
+ i32.store8 $discard=, sH+13($pop123), $pop47
+ i32.const $push118=, 0
+ i32.const $push117=, 1103515245
+ i32.mul $push48=, $2, $pop117
+ i32.const $push116=, 12345
+ i32.add $push49=, $pop48, $pop116
+ tee_local $push115=, $2=, $pop49
+ i32.const $push114=, 16
+ i32.shr_u $push50=, $pop115, $pop114
+ i32.store8 $discard=, sH+14($pop118):p2align=1, $pop50
+ i32.const $push113=, 0
+ i32.const $push112=, 1103515245
+ i32.mul $push51=, $2, $pop112
+ i32.const $push111=, 12345
+ i32.add $push52=, $pop51, $pop111
+ tee_local $push110=, $2=, $pop52
+ i32.const $push109=, 16
+ i32.shr_u $push53=, $pop110, $pop109
+ i32.store8 $discard=, sH+15($pop113), $pop53
+ block
+ i32.const $push108=, 0
+ i32.const $push107=, 1103515245
+ i32.mul $push54=, $2, $pop107
+ i32.const $push106=, 12345
+ i32.add $push55=, $pop54, $pop106
+ tee_local $push105=, $2=, $pop55
+ i32.const $push104=, 1103515245
+ i32.mul $push57=, $pop105, $pop104
+ i32.const $push103=, 12345
+ i32.add $push1=, $pop57, $pop103
+ i32.store $push58=, myrnd.s($pop108), $pop1
+ tee_local $push102=, $1=, $pop58
+ i32.const $push101=, 16
+ i32.shr_u $push59=, $pop102, $pop101
+ tee_local $push100=, $0=, $pop59
+ i32.const $push99=, 16
+ i32.shr_u $push56=, $2, $pop99
+ tee_local $push98=, $2=, $pop56
+ i32.add $push67=, $pop100, $pop98
+ i32.const $push68=, 511
+ i32.and $push69=, $pop67, $pop68
+ i32.const $push97=, 23
+ i32.shl $push64=, $0, $pop97
+ i32.const $push96=, 0
+ i32.const $push95=, 23
+ i32.shl $push60=, $2, $pop95
+ i32.const $push94=, 0
+ i32.load $push0=, sH($pop94):p2align=3
+ tee_local $push93=, $2=, $pop0
+ i32.const $push92=, 8388607
+ i32.and $push61=, $pop93, $pop92
+ tee_local $push91=, $0=, $pop61
+ i32.or $push62=, $pop60, $pop91
+ i32.store $push63=, sH($pop96):p2align=3, $pop62
+ i32.add $push65=, $pop64, $pop63
+ i32.const $push90=, 23
+ i32.shr_u $push66=, $pop65, $pop90
+ i32.ne $push70=, $pop69, $pop66
+ br_if $pop70, 0 # 0: down to label8
+# BB#1: # %if.end76
+ block
+ i32.const $push202=, 0
+ i32.const $push201=, 0
+ i32.const $push71=, -2139243339
+ i32.mul $push72=, $1, $pop71
+ i32.const $push73=, -1492899873
+ i32.add $push74=, $pop72, $pop73
+ tee_local $push200=, $1=, $pop74
+ i32.const $push199=, 1103515245
+ i32.mul $push75=, $pop200, $pop199
+ i32.const $push198=, 12345
+ i32.add $push76=, $pop75, $pop198
+ i32.store $push77=, myrnd.s($pop201), $pop76
+ i32.const $push197=, 16
+ i32.shr_u $push3=, $pop77, $pop197
+ tee_local $push196=, $3=, $pop3
+ i32.const $push195=, 23
+ i32.shl $push80=, $pop196, $pop195
+ i32.const $push194=, 16
+ i32.shr_u $push2=, $1, $pop194
+ tee_local $push193=, $1=, $pop2
+ i32.const $push192=, 23
+ i32.shl $push78=, $pop193, $pop192
+ i32.or $push79=, $pop78, $0
+ i32.add $push4=, $pop80, $pop79
+ i32.store $push81=, sH($pop202):p2align=3, $pop4
+ tee_local $push191=, $0=, $pop81
+ i32.xor $push82=, $pop191, $2
+ i32.const $push190=, 8388607
+ i32.and $push83=, $pop82, $pop190
+ br_if $pop83, 0 # 0: down to label9
+# BB#2: # %lor.lhs.false109
+ i32.add $push86=, $3, $1
+ i32.const $push87=, 511
+ i32.and $push88=, $pop86, $pop87
+ i32.const $push84=, 23
+ i32.shr_u $push85=, $0, $pop84
+ i32.ne $push89=, $pop88, $pop85
+ br_if $pop89, 0 # 0: down to label9
+# BB#3: # %if.end115
+ return
+.LBB48_4: # %if.then114
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB48_5: # %if.then
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end48:
+ .size testH, .Lfunc_end48-testH
+
+ .section .text.retmeI,"ax",@progbits
+ .hidden retmeI
+ .globl retmeI
+ .type retmeI,@function
+retmeI: # @retmeI
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end49:
+ .size retmeI, .Lfunc_end49-retmeI
+
+ .section .text.fn1I,"ax",@progbits
+ .hidden fn1I
+ .globl fn1I
+ .type fn1I,@function
+fn1I: # @fn1I
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sI($pop0):p2align=3
+ i32.const $push2=, 7
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 511
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end50:
+ .size fn1I, .Lfunc_end50-fn1I
+
+ .section .text.fn2I,"ax",@progbits
+ .hidden fn2I
+ .globl fn2I
+ .type fn2I,@function
+fn2I: # @fn2I
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sI($pop0):p2align=3
+ i32.const $push2=, 7
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 511
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end51:
+ .size fn2I, .Lfunc_end51-fn2I
+
+ .section .text.retitI,"ax",@progbits
+ .hidden retitI
+ .globl retitI
+ .type retitI,@function
+retitI: # @retitI
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sI($pop0):p2align=3
+ i32.const $push2=, 7
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end52:
+ .size retitI, .Lfunc_end52-retitI
+
+ .section .text.fn3I,"ax",@progbits
+ .hidden fn3I
+ .globl fn3I
+ .type fn3I,@function
+fn3I: # @fn3I
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load16_u $push1=, sI($pop14):p2align=3
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 7
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push12=, $0=, $pop4
+ i32.const $push11=, 7
+ i32.shl $push5=, $pop12, $pop11
+ i32.const $push6=, 127
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store16 $discard=, sI($pop0):p2align=3, $pop8
+ i32.const $push9=, 511
+ i32.and $push10=, $0, $pop9
+ return $pop10
+ .endfunc
+.Lfunc_end53:
+ .size fn3I, .Lfunc_end53-fn3I
+
+ .section .text.testI,"ax",@progbits
+ .hidden testI
+ .globl testI
+ .type testI,@function
+testI: # @testI
+ .local i32, i32
+# BB#0: # %if.end136
+ i32.const $push0=, 0
+ i32.const $push152=, 0
+ i32.load $push1=, myrnd.s($pop152)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push151=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop151, $pop6
+ i32.store8 $discard=, sI($pop0):p2align=3, $pop7
+ i32.const $push150=, 0
+ i32.const $push149=, 1103515245
+ i32.mul $push8=, $1, $pop149
+ i32.const $push148=, 12345
+ i32.add $push9=, $pop8, $pop148
+ tee_local $push147=, $1=, $pop9
+ i32.const $push146=, 16
+ i32.shr_u $push10=, $pop147, $pop146
+ i32.store8 $discard=, sI+1($pop150), $pop10
+ i32.const $push145=, 0
+ i32.const $push144=, 1103515245
+ i32.mul $push11=, $1, $pop144
+ i32.const $push143=, 12345
+ i32.add $push12=, $pop11, $pop143
+ tee_local $push142=, $1=, $pop12
+ i32.const $push141=, 16
+ i32.shr_u $push13=, $pop142, $pop141
+ i32.store8 $discard=, sI+2($pop145):p2align=1, $pop13
+ i32.const $push140=, 0
+ i32.const $push139=, 1103515245
+ i32.mul $push14=, $1, $pop139
+ i32.const $push138=, 12345
+ i32.add $push15=, $pop14, $pop138
+ tee_local $push137=, $1=, $pop15
+ i32.const $push136=, 16
+ i32.shr_u $push16=, $pop137, $pop136
+ i32.store8 $discard=, sI+3($pop140), $pop16
+ i32.const $push135=, 0
+ i32.const $push134=, 1103515245
+ i32.mul $push17=, $1, $pop134
+ i32.const $push133=, 12345
+ i32.add $push18=, $pop17, $pop133
+ tee_local $push132=, $1=, $pop18
+ i32.const $push131=, 16
+ i32.shr_u $push19=, $pop132, $pop131
+ i32.store8 $discard=, sI+4($pop135):p2align=2, $pop19
+ i32.const $push130=, 0
+ i32.const $push129=, 1103515245
+ i32.mul $push20=, $1, $pop129
+ i32.const $push128=, 12345
+ i32.add $push21=, $pop20, $pop128
+ tee_local $push127=, $1=, $pop21
+ i32.const $push126=, 16
+ i32.shr_u $push22=, $pop127, $pop126
+ i32.store8 $discard=, sI+5($pop130), $pop22
+ i32.const $push125=, 0
+ i32.const $push124=, 1103515245
+ i32.mul $push23=, $1, $pop124
+ i32.const $push123=, 12345
+ i32.add $push24=, $pop23, $pop123
+ tee_local $push122=, $1=, $pop24
+ i32.const $push121=, 16
+ i32.shr_u $push25=, $pop122, $pop121
+ i32.store8 $discard=, sI+6($pop125):p2align=1, $pop25
+ i32.const $push120=, 0
+ i32.const $push119=, 1103515245
+ i32.mul $push26=, $1, $pop119
+ i32.const $push118=, 12345
+ i32.add $push27=, $pop26, $pop118
+ tee_local $push117=, $1=, $pop27
+ i32.const $push116=, 16
+ i32.shr_u $push28=, $pop117, $pop116
+ i32.store8 $discard=, sI+7($pop120), $pop28
+ i32.const $push115=, 0
+ i32.const $push114=, 1103515245
+ i32.mul $push29=, $1, $pop114
+ i32.const $push113=, 12345
+ i32.add $push30=, $pop29, $pop113
+ tee_local $push112=, $1=, $pop30
+ i32.const $push111=, 16
+ i32.shr_u $push31=, $pop112, $pop111
+ i32.store8 $discard=, sI+8($pop115):p2align=3, $pop31
+ i32.const $push110=, 0
+ i32.const $push109=, 1103515245
+ i32.mul $push32=, $1, $pop109
+ i32.const $push108=, 12345
+ i32.add $push33=, $pop32, $pop108
+ tee_local $push107=, $1=, $pop33
+ i32.const $push106=, 16
+ i32.shr_u $push34=, $pop107, $pop106
+ i32.store8 $discard=, sI+9($pop110), $pop34
+ i32.const $push105=, 0
+ i32.const $push104=, 1103515245
+ i32.mul $push35=, $1, $pop104
+ i32.const $push103=, 12345
+ i32.add $push36=, $pop35, $pop103
+ tee_local $push102=, $1=, $pop36
+ i32.const $push101=, 16
+ i32.shr_u $push37=, $pop102, $pop101
+ i32.store8 $discard=, sI+10($pop105):p2align=1, $pop37
+ i32.const $push100=, 0
+ i32.const $push99=, 1103515245
+ i32.mul $push38=, $1, $pop99
+ i32.const $push98=, 12345
+ i32.add $push39=, $pop38, $pop98
+ tee_local $push97=, $1=, $pop39
+ i32.const $push96=, 16
+ i32.shr_u $push40=, $pop97, $pop96
+ i32.store8 $discard=, sI+11($pop100), $pop40
+ i32.const $push95=, 0
+ i32.const $push94=, 1103515245
+ i32.mul $push41=, $1, $pop94
+ i32.const $push93=, 12345
+ i32.add $push42=, $pop41, $pop93
+ tee_local $push92=, $1=, $pop42
+ i32.const $push91=, 16
+ i32.shr_u $push43=, $pop92, $pop91
+ i32.store8 $discard=, sI+12($pop95):p2align=2, $pop43
+ i32.const $push90=, 0
+ i32.const $push89=, 1103515245
+ i32.mul $push44=, $1, $pop89
+ i32.const $push88=, 12345
+ i32.add $push45=, $pop44, $pop88
+ tee_local $push87=, $1=, $pop45
+ i32.const $push86=, 16
+ i32.shr_u $push46=, $pop87, $pop86
+ i32.store8 $discard=, sI+13($pop90), $pop46
+ i32.const $push85=, 0
+ i32.const $push84=, 1103515245
+ i32.mul $push47=, $1, $pop84
+ i32.const $push83=, 12345
+ i32.add $push48=, $pop47, $pop83
+ tee_local $push82=, $1=, $pop48
+ i32.const $push81=, 16
+ i32.shr_u $push49=, $pop82, $pop81
+ i32.store8 $discard=, sI+14($pop85):p2align=1, $pop49
+ i32.const $push80=, 0
+ i32.const $push79=, 1103515245
+ i32.mul $push50=, $1, $pop79
+ i32.const $push78=, 12345
+ i32.add $push51=, $pop50, $pop78
+ tee_local $push77=, $1=, $pop51
+ i32.const $push76=, 16
+ i32.shr_u $push52=, $pop77, $pop76
+ i32.store8 $discard=, sI+15($pop80), $pop52
+ i32.const $push75=, 0
+ i32.load16_u $0=, sI($pop75):p2align=3
+ i32.const $push74=, 0
+ i32.const $push73=, 0
+ i32.const $push53=, -341751747
+ i32.mul $push54=, $1, $pop53
+ i32.const $push55=, 229283573
+ i32.add $push56=, $pop54, $pop55
+ tee_local $push72=, $1=, $pop56
+ i32.const $push71=, 1103515245
+ i32.mul $push58=, $pop72, $pop71
+ i32.const $push70=, 12345
+ i32.add $push59=, $pop58, $pop70
+ i32.store $push60=, myrnd.s($pop73), $pop59
+ i32.const $push69=, 16
+ i32.shr_u $push61=, $pop60, $pop69
+ i32.const $push68=, 16
+ i32.shr_u $push57=, $1, $pop68
+ i32.add $push64=, $pop61, $pop57
+ i32.const $push65=, 7
+ i32.shl $push66=, $pop64, $pop65
+ i32.const $push62=, 127
+ i32.and $push63=, $0, $pop62
+ i32.or $push67=, $pop66, $pop63
+ i32.store16 $discard=, sI($pop74):p2align=3, $pop67
+ return
+ .endfunc
+.Lfunc_end54:
+ .size testI, .Lfunc_end54-testI
+
+ .section .text.retmeJ,"ax",@progbits
+ .hidden retmeJ
+ .globl retmeJ
+ .type retmeJ,@function
+retmeJ: # @retmeJ
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($1):p2align=1
+ i32.store $discard=, 0($0):p2align=1, $pop0
+ return
+ .endfunc
+.Lfunc_end55:
+ .size retmeJ, .Lfunc_end55-retmeJ
+
+ .section .text.fn1J,"ax",@progbits
+ .hidden fn1J
+ .globl fn1J
+ .type fn1J,@function
+fn1J: # @fn1J
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sJ($pop0)
+ i32.const $push2=, 9
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 127
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end56:
+ .size fn1J, .Lfunc_end56-fn1J
+
+ .section .text.fn2J,"ax",@progbits
+ .hidden fn2J
+ .globl fn2J
+ .type fn2J,@function
+fn2J: # @fn2J
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sJ($pop0):p2align=2
+ i32.const $push2=, 9
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 127
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end57:
+ .size fn2J, .Lfunc_end57-fn2J
+
+ .section .text.retitJ,"ax",@progbits
+ .hidden retitJ
+ .globl retitJ
+ .type retitJ,@function
+retitJ: # @retitJ
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sJ($pop0):p2align=2
+ i32.const $push2=, 9
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end58:
+ .size retitJ, .Lfunc_end58-retitJ
+
+ .section .text.fn3J,"ax",@progbits
+ .hidden fn3J
+ .globl fn3J
+ .type fn3J,@function
+fn3J: # @fn3J
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load16_u $push1=, sJ($pop14):p2align=2
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 9
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push12=, $0=, $pop4
+ i32.const $push11=, 9
+ i32.shl $push5=, $pop12, $pop11
+ i32.const $push6=, 511
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store16 $discard=, sJ($pop0):p2align=2, $pop8
+ i32.const $push9=, 127
+ i32.and $push10=, $0, $pop9
+ return $pop10
+ .endfunc
+.Lfunc_end59:
+ .size fn3J, .Lfunc_end59-fn3J
+
+ .section .text.testJ,"ax",@progbits
+ .hidden testJ
+ .globl testJ
+ .type testJ,@function
+testJ: # @testJ
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push80=, 0
+ i32.const $push79=, 0
+ i32.load $push1=, myrnd.s($pop79)
+ i32.const $push78=, 1103515245
+ i32.mul $push2=, $pop1, $pop78
+ i32.const $push77=, 12345
+ i32.add $push3=, $pop2, $pop77
+ tee_local $push76=, $0=, $pop3
+ i32.const $push75=, 16
+ i32.shr_u $push4=, $pop76, $pop75
+ i32.store8 $discard=, sJ($pop80):p2align=2, $pop4
+ i32.const $push74=, 0
+ i32.const $push73=, 1103515245
+ i32.mul $push5=, $0, $pop73
+ i32.const $push72=, 12345
+ i32.add $push6=, $pop5, $pop72
+ tee_local $push71=, $0=, $pop6
+ i32.const $push70=, 16
+ i32.shr_u $push7=, $pop71, $pop70
+ i32.store8 $discard=, sJ+1($pop74), $pop7
+ i32.const $push69=, 0
+ i32.const $push68=, 1103515245
+ i32.mul $push8=, $0, $pop68
+ i32.const $push67=, 12345
+ i32.add $push9=, $pop8, $pop67
+ tee_local $push66=, $0=, $pop9
+ i32.const $push65=, 16
+ i32.shr_u $push10=, $pop66, $pop65
+ i32.store8 $discard=, sJ+2($pop69):p2align=1, $pop10
+ i32.const $push64=, 0
+ i32.const $push63=, 1103515245
+ i32.mul $push11=, $0, $pop63
+ i32.const $push62=, 12345
+ i32.add $push12=, $pop11, $pop62
+ tee_local $push61=, $0=, $pop12
+ i32.const $push60=, 16
+ i32.shr_u $push13=, $pop61, $pop60
+ i32.store8 $discard=, sJ+3($pop64), $pop13
+ i32.const $push59=, 0
+ i32.const $push58=, 1103515245
+ i32.mul $push15=, $0, $pop58
+ i32.const $push57=, 12345
+ i32.add $push16=, $pop15, $pop57
+ tee_local $push56=, $3=, $pop16
+ i32.const $push55=, 16
+ i32.shr_u $push17=, $pop56, $pop55
+ tee_local $push54=, $2=, $pop17
+ i32.const $push53=, 9
+ i32.shl $push21=, $pop54, $pop53
+ i32.const $push52=, 0
+ i32.load16_u $push14=, sJ($pop52):p2align=2
+ i32.const $push51=, 511
+ i32.and $push22=, $pop14, $pop51
+ i32.or $push23=, $pop21, $pop22
+ i32.store16 $discard=, sJ($pop59):p2align=2, $pop23
+ i32.const $push50=, 0
+ i32.load $0=, sJ($pop50)
+ block
+ i32.const $push49=, 0
+ i32.const $push48=, 1103515245
+ i32.mul $push18=, $3, $pop48
+ i32.const $push47=, 12345
+ i32.add $push0=, $pop18, $pop47
+ i32.store $push19=, myrnd.s($pop49), $pop0
+ tee_local $push46=, $1=, $pop19
+ i32.const $push45=, 16
+ i32.shr_u $push20=, $pop46, $pop45
+ tee_local $push44=, $3=, $pop20
+ i32.add $push26=, $pop44, $2
+ i32.const $push43=, 9
+ i32.shr_u $push24=, $0, $pop43
+ i32.add $push25=, $pop24, $3
+ i32.xor $push27=, $pop26, $pop25
+ i32.const $push28=, 127
+ i32.and $push29=, $pop27, $pop28
+ br_if $pop29, 0 # 0: down to label10
+# BB#1: # %if.end142
+ i32.const $push89=, 0
+ i32.const $push88=, 0
+ i32.const $push30=, -2139243339
+ i32.mul $push31=, $1, $pop30
+ i32.const $push32=, -1492899873
+ i32.add $push33=, $pop31, $pop32
+ tee_local $push87=, $3=, $pop33
+ i32.const $push86=, 1103515245
+ i32.mul $push35=, $pop87, $pop86
+ i32.const $push85=, 12345
+ i32.add $push36=, $pop35, $pop85
+ i32.store $push37=, myrnd.s($pop88), $pop36
+ i32.const $push84=, 16
+ i32.shr_u $push38=, $pop37, $pop84
+ i32.const $push83=, 16
+ i32.shr_u $push34=, $3, $pop83
+ i32.add $push40=, $pop38, $pop34
+ i32.const $push82=, 9
+ i32.shl $push41=, $pop40, $pop82
+ i32.const $push81=, 511
+ i32.and $push39=, $0, $pop81
+ i32.or $push42=, $pop41, $pop39
+ i32.store16 $discard=, sJ($pop89):p2align=2, $pop42
+ return
+.LBB60_2: # %if.then
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end60:
+ .size testJ, .Lfunc_end60-testJ
+
+ .section .text.retmeK,"ax",@progbits
+ .hidden retmeK
+ .globl retmeK
+ .type retmeK,@function
+retmeK: # @retmeK
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($1)
+ i32.store $discard=, 0($0), $pop0
+ return
+ .endfunc
+.Lfunc_end61:
+ .size retmeK, .Lfunc_end61-retmeK
+
+ .section .text.fn1K,"ax",@progbits
+ .hidden fn1K
+ .globl fn1K
+ .type fn1K,@function
+fn1K: # @fn1K
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sK($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end62:
+ .size fn1K, .Lfunc_end62-fn1K
+
+ .section .text.fn2K,"ax",@progbits
+ .hidden fn2K
+ .globl fn2K
+ .type fn2K,@function
+fn2K: # @fn2K
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sK($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end63:
+ .size fn2K, .Lfunc_end63-fn2K
+
+ .section .text.retitK,"ax",@progbits
+ .hidden retitK
+ .globl retitK
+ .type retitK,@function
+retitK: # @retitK
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sK($pop0)
+ i32.const $push2=, 63
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end64:
+ .size retitK, .Lfunc_end64-retitK
+
+ .section .text.fn3K,"ax",@progbits
+ .hidden fn3K
+ .globl fn3K
+ .type fn3K,@function
+fn3K: # @fn3K
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sK($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sK($pop0), $pop7
+ return $0
+ .endfunc
+.Lfunc_end65:
+ .size fn3K, .Lfunc_end65-fn3K
+
+ .section .text.testK,"ax",@progbits
+ .hidden testK
+ .globl testK
+ .type testK,@function
+testK: # @testK
+ .local i32, i32
+# BB#0: # %if.end129
+ i32.const $push0=, 0
+ i32.const $push56=, 0
+ i32.load $push1=, myrnd.s($pop56)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push55=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop55, $pop6
+ i32.store8 $discard=, sK($pop0):p2align=2, $pop7
+ i32.const $push54=, 0
+ i32.const $push53=, 1103515245
+ i32.mul $push8=, $1, $pop53
+ i32.const $push52=, 12345
+ i32.add $push9=, $pop8, $pop52
+ tee_local $push51=, $1=, $pop9
+ i32.const $push50=, 16
+ i32.shr_u $push10=, $pop51, $pop50
+ i32.store8 $discard=, sK+1($pop54), $pop10
+ i32.const $push49=, 0
+ i32.const $push48=, 1103515245
+ i32.mul $push11=, $1, $pop48
+ i32.const $push47=, 12345
+ i32.add $push12=, $pop11, $pop47
+ tee_local $push46=, $1=, $pop12
+ i32.const $push45=, 16
+ i32.shr_u $push13=, $pop46, $pop45
+ i32.store8 $discard=, sK+2($pop49):p2align=1, $pop13
+ i32.const $push44=, 0
+ i32.const $push43=, 1103515245
+ i32.mul $push14=, $1, $pop43
+ i32.const $push42=, 12345
+ i32.add $push15=, $pop14, $pop42
+ tee_local $push41=, $1=, $pop15
+ i32.const $push40=, 16
+ i32.shr_u $push16=, $pop41, $pop40
+ i32.store8 $discard=, sK+3($pop44), $pop16
+ i32.const $push39=, 0
+ i32.load $0=, sK($pop39)
+ i32.const $push38=, 0
+ i32.const $push37=, 0
+ i32.const $push19=, -341751747
+ i32.mul $push20=, $1, $pop19
+ i32.const $push21=, 229283573
+ i32.add $push22=, $pop20, $pop21
+ tee_local $push36=, $1=, $pop22
+ i32.const $push35=, 1103515245
+ i32.mul $push24=, $pop36, $pop35
+ i32.const $push34=, 12345
+ i32.add $push25=, $pop24, $pop34
+ i32.store $push26=, myrnd.s($pop37), $pop25
+ i32.const $push33=, 16
+ i32.shr_u $push27=, $pop26, $pop33
+ i32.const $push32=, 16
+ i32.shr_u $push23=, $1, $pop32
+ i32.add $push28=, $pop27, $pop23
+ i32.const $push29=, 63
+ i32.and $push30=, $pop28, $pop29
+ i32.const $push17=, -64
+ i32.and $push18=, $0, $pop17
+ i32.or $push31=, $pop30, $pop18
+ i32.store $discard=, sK($pop38), $pop31
+ return
+ .endfunc
+.Lfunc_end66:
+ .size testK, .Lfunc_end66-testK
+
+ .section .text.retmeL,"ax",@progbits
+ .hidden retmeL
+ .globl retmeL
+ .type retmeL,@function
+retmeL: # @retmeL
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1):p2align=2
+ i64.store $discard=, 0($0):p2align=2, $pop0
+ return
+ .endfunc
+.Lfunc_end67:
+ .size retmeL, .Lfunc_end67-retmeL
+
+ .section .text.fn1L,"ax",@progbits
+ .hidden fn1L
+ .globl fn1L
+ .type fn1L,@function
+fn1L: # @fn1L
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sL($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end68:
+ .size fn1L, .Lfunc_end68-fn1L
+
+ .section .text.fn2L,"ax",@progbits
+ .hidden fn2L
+ .globl fn2L
+ .type fn2L,@function
+fn2L: # @fn2L
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sL($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end69:
+ .size fn2L, .Lfunc_end69-fn2L
+
+ .section .text.retitL,"ax",@progbits
+ .hidden retitL
+ .globl retitL
+ .type retitL,@function
+retitL: # @retitL
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sL($pop0):p2align=3
+ i32.const $push2=, 63
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end70:
+ .size retitL, .Lfunc_end70-retitL
+
+ .section .text.fn3L,"ax",@progbits
+ .hidden fn3L
+ .globl fn3L
+ .type fn3L,@function
+fn3L: # @fn3L
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sL($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sL($pop0):p2align=3, $pop7
+ return $0
+ .endfunc
+.Lfunc_end71:
+ .size fn3L, .Lfunc_end71-fn3L
+
+ .section .text.testL,"ax",@progbits
+ .hidden testL
+ .globl testL
+ .type testL,@function
+testL: # @testL
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push110=, 0
+ i32.const $push109=, 0
+ i32.load $push2=, myrnd.s($pop109)
+ i32.const $push108=, 1103515245
+ i32.mul $push3=, $pop2, $pop108
+ i32.const $push107=, 12345
+ i32.add $push4=, $pop3, $pop107
+ tee_local $push106=, $3=, $pop4
+ i32.const $push105=, 16
+ i32.shr_u $push5=, $pop106, $pop105
+ i32.store8 $discard=, sL($pop110):p2align=3, $pop5
+ i32.const $push104=, 0
+ i32.const $push103=, 1103515245
+ i32.mul $push6=, $3, $pop103
+ i32.const $push102=, 12345
+ i32.add $push7=, $pop6, $pop102
+ tee_local $push101=, $3=, $pop7
+ i32.const $push100=, 16
+ i32.shr_u $push8=, $pop101, $pop100
+ i32.store8 $discard=, sL+1($pop104), $pop8
+ i32.const $push99=, 0
+ i32.const $push98=, 1103515245
+ i32.mul $push9=, $3, $pop98
+ i32.const $push97=, 12345
+ i32.add $push10=, $pop9, $pop97
+ tee_local $push96=, $3=, $pop10
+ i32.const $push95=, 16
+ i32.shr_u $push11=, $pop96, $pop95
+ i32.store8 $discard=, sL+2($pop99):p2align=1, $pop11
+ i32.const $push94=, 0
+ i32.const $push93=, 1103515245
+ i32.mul $push12=, $3, $pop93
+ i32.const $push92=, 12345
+ i32.add $push13=, $pop12, $pop92
+ tee_local $push91=, $3=, $pop13
+ i32.const $push90=, 16
+ i32.shr_u $push14=, $pop91, $pop90
+ i32.store8 $discard=, sL+3($pop94), $pop14
+ i32.const $push89=, 0
+ i32.const $push88=, 1103515245
+ i32.mul $push15=, $3, $pop88
+ i32.const $push87=, 12345
+ i32.add $push16=, $pop15, $pop87
+ tee_local $push86=, $3=, $pop16
+ i32.const $push85=, 16
+ i32.shr_u $push17=, $pop86, $pop85
+ i32.store8 $discard=, sL+4($pop89):p2align=2, $pop17
+ i32.const $push84=, 0
+ i32.const $push83=, 1103515245
+ i32.mul $push18=, $3, $pop83
+ i32.const $push82=, 12345
+ i32.add $push19=, $pop18, $pop82
+ tee_local $push81=, $3=, $pop19
+ i32.const $push80=, 16
+ i32.shr_u $push20=, $pop81, $pop80
+ i32.store8 $discard=, sL+5($pop84), $pop20
+ i32.const $push79=, 0
+ i32.const $push78=, 1103515245
+ i32.mul $push21=, $3, $pop78
+ i32.const $push77=, 12345
+ i32.add $push22=, $pop21, $pop77
+ tee_local $push76=, $3=, $pop22
+ i32.const $push75=, 16
+ i32.shr_u $push23=, $pop76, $pop75
+ i32.store8 $discard=, sL+6($pop79):p2align=1, $pop23
+ i32.const $push74=, 0
+ i32.const $push73=, 1103515245
+ i32.mul $push24=, $3, $pop73
+ i32.const $push72=, 12345
+ i32.add $push25=, $pop24, $pop72
+ tee_local $push71=, $3=, $pop25
+ i32.const $push70=, 16
+ i32.shr_u $push26=, $pop71, $pop70
+ i32.store8 $discard=, sL+7($pop74), $pop26
+ i32.const $push69=, 0
+ i32.load $0=, sL($pop69):p2align=3
+ block
+ i32.const $push68=, 0
+ i32.const $push67=, 1103515245
+ i32.mul $push27=, $3, $pop67
+ i32.const $push66=, 12345
+ i32.add $push28=, $pop27, $pop66
+ tee_local $push65=, $3=, $pop28
+ i32.const $push64=, 1103515245
+ i32.mul $push30=, $pop65, $pop64
+ i32.const $push63=, 12345
+ i32.add $push0=, $pop30, $pop63
+ i32.store $push31=, myrnd.s($pop68), $pop0
+ tee_local $push62=, $2=, $pop31
+ i32.const $push61=, 16
+ i32.shr_u $push32=, $pop62, $pop61
+ tee_local $push60=, $1=, $pop32
+ i32.const $push59=, 16
+ i32.shr_u $push29=, $3, $pop59
+ tee_local $push58=, $3=, $pop29
+ i32.add $push37=, $pop60, $pop58
+ i32.const $push57=, 0
+ i32.const $push56=, 63
+ i32.and $push33=, $3, $pop56
+ i32.const $push55=, -64
+ i32.and $push34=, $0, $pop55
+ i32.or $push1=, $pop33, $pop34
+ i32.store $push35=, sL($pop57):p2align=3, $pop1
+ tee_local $push54=, $3=, $pop35
+ i32.add $push36=, $pop54, $1
+ i32.xor $push38=, $pop37, $pop36
+ i32.const $push53=, 63
+ i32.and $push39=, $pop38, $pop53
+ br_if $pop39, 0 # 0: down to label11
+# BB#1: # %if.end75
+ i32.const $push119=, 0
+ i32.const $push118=, 0
+ i32.const $push41=, -2139243339
+ i32.mul $push42=, $2, $pop41
+ i32.const $push43=, -1492899873
+ i32.add $push44=, $pop42, $pop43
+ tee_local $push117=, $0=, $pop44
+ i32.const $push116=, 1103515245
+ i32.mul $push46=, $pop117, $pop116
+ i32.const $push115=, 12345
+ i32.add $push47=, $pop46, $pop115
+ i32.store $push48=, myrnd.s($pop118), $pop47
+ i32.const $push114=, 16
+ i32.shr_u $push49=, $pop48, $pop114
+ i32.const $push113=, 16
+ i32.shr_u $push45=, $0, $pop113
+ i32.add $push50=, $pop49, $pop45
+ i32.const $push112=, 63
+ i32.and $push51=, $pop50, $pop112
+ i32.const $push111=, -64
+ i32.and $push40=, $3, $pop111
+ i32.or $push52=, $pop51, $pop40
+ i32.store $discard=, sL($pop119):p2align=3, $pop52
+ return
+.LBB72_2: # %if.then
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end72:
+ .size testL, .Lfunc_end72-testL
+
+ .section .text.retmeM,"ax",@progbits
+ .hidden retmeM
+ .globl retmeM
+ .type retmeM,@function
+retmeM: # @retmeM
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1):p2align=2
+ i64.store $discard=, 0($0):p2align=2, $pop0
+ return
+ .endfunc
+.Lfunc_end73:
+ .size retmeM, .Lfunc_end73-retmeM
+
+ .section .text.fn1M,"ax",@progbits
+ .hidden fn1M
+ .globl fn1M
+ .type fn1M,@function
+fn1M: # @fn1M
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sM+4($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end74:
+ .size fn1M, .Lfunc_end74-fn1M
+
+ .section .text.fn2M,"ax",@progbits
+ .hidden fn2M
+ .globl fn2M
+ .type fn2M,@function
+fn2M: # @fn2M
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sM+4($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end75:
+ .size fn2M, .Lfunc_end75-fn2M
+
+ .section .text.retitM,"ax",@progbits
+ .hidden retitM
+ .globl retitM
+ .type retitM,@function
+retitM: # @retitM
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sM+4($pop0)
+ i32.const $push2=, 63
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end76:
+ .size retitM, .Lfunc_end76-retitM
+
+ .section .text.fn3M,"ax",@progbits
+ .hidden fn3M
+ .globl fn3M
+ .type fn3M,@function
+fn3M: # @fn3M
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sM+4($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sM+4($pop0), $pop7
+ return $0
+ .endfunc
+.Lfunc_end77:
+ .size fn3M, .Lfunc_end77-fn3M
+
+ .section .text.testM,"ax",@progbits
+ .hidden testM
+ .globl testM
+ .type testM,@function
+testM: # @testM
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push107=, 0
+ i32.const $push106=, 0
+ i32.load $push2=, myrnd.s($pop106)
+ i32.const $push105=, 1103515245
+ i32.mul $push3=, $pop2, $pop105
+ i32.const $push104=, 12345
+ i32.add $push4=, $pop3, $pop104
+ tee_local $push103=, $1=, $pop4
+ i32.const $push102=, 16
+ i32.shr_u $push5=, $pop103, $pop102
+ i32.store8 $discard=, sM($pop107):p2align=3, $pop5
+ i32.const $push101=, 0
+ i32.const $push100=, 1103515245
+ i32.mul $push6=, $1, $pop100
+ i32.const $push99=, 12345
+ i32.add $push7=, $pop6, $pop99
+ tee_local $push98=, $1=, $pop7
+ i32.const $push97=, 16
+ i32.shr_u $push8=, $pop98, $pop97
+ i32.store8 $discard=, sM+1($pop101), $pop8
+ i32.const $push96=, 0
+ i32.const $push95=, 1103515245
+ i32.mul $push9=, $1, $pop95
+ i32.const $push94=, 12345
+ i32.add $push10=, $pop9, $pop94
+ tee_local $push93=, $1=, $pop10
+ i32.const $push92=, 16
+ i32.shr_u $push11=, $pop93, $pop92
+ i32.store8 $discard=, sM+2($pop96):p2align=1, $pop11
+ i32.const $push91=, 0
+ i32.const $push90=, 1103515245
+ i32.mul $push12=, $1, $pop90
+ i32.const $push89=, 12345
+ i32.add $push13=, $pop12, $pop89
+ tee_local $push88=, $1=, $pop13
+ i32.const $push87=, 1103515245
+ i32.mul $push15=, $pop88, $pop87
+ i32.const $push86=, 12345
+ i32.add $push16=, $pop15, $pop86
+ tee_local $push85=, $3=, $pop16
+ i32.const $push84=, 16
+ i32.shr_u $push17=, $pop85, $pop84
+ i32.store8 $discard=, sM+4($pop91):p2align=2, $pop17
+ i32.const $push83=, 0
+ i32.const $push82=, 1103515245
+ i32.mul $push18=, $3, $pop82
+ i32.const $push81=, 12345
+ i32.add $push19=, $pop18, $pop81
+ tee_local $push80=, $3=, $pop19
+ i32.const $push79=, 16
+ i32.shr_u $push20=, $pop80, $pop79
+ i32.store8 $discard=, sM+5($pop83), $pop20
+ i32.const $push78=, 0
+ i32.const $push77=, 1103515245
+ i32.mul $push21=, $3, $pop77
+ i32.const $push76=, 12345
+ i32.add $push22=, $pop21, $pop76
+ tee_local $push75=, $3=, $pop22
+ i32.const $push74=, 16
+ i32.shr_u $push23=, $pop75, $pop74
+ i32.store8 $discard=, sM+6($pop78):p2align=1, $pop23
+ i32.const $push73=, 0
+ i32.const $push72=, 1103515245
+ i32.mul $push24=, $3, $pop72
+ i32.const $push71=, 12345
+ i32.add $push25=, $pop24, $pop71
+ tee_local $push70=, $3=, $pop25
+ i32.const $push69=, 16
+ i32.shr_u $push26=, $pop70, $pop69
+ i32.store8 $discard=, sM+7($pop73), $pop26
+ i32.const $push68=, 0
+ i32.load $0=, sM+4($pop68)
+ i32.const $push67=, 0
+ i32.const $push66=, 16
+ i32.shr_u $push14=, $1, $pop66
+ i32.store8 $discard=, sM+3($pop67), $pop14
+ i32.const $push65=, 0
+ i32.const $push64=, 1103515245
+ i32.mul $push27=, $3, $pop64
+ i32.const $push63=, 12345
+ i32.add $push28=, $pop27, $pop63
+ tee_local $push62=, $3=, $pop28
+ i32.const $push61=, 1103515245
+ i32.mul $push30=, $pop62, $pop61
+ i32.const $push60=, 12345
+ i32.add $push0=, $pop30, $pop60
+ i32.store $1=, myrnd.s($pop65), $pop0
+ block
+ i32.const $push59=, 0
+ i32.const $push58=, 16
+ i32.shr_u $push29=, $3, $pop58
+ tee_local $push57=, $3=, $pop29
+ i32.const $push56=, 63
+ i32.and $push32=, $pop57, $pop56
+ i32.const $push33=, -64
+ i32.and $push1=, $0, $pop33
+ tee_local $push55=, $2=, $pop1
+ i32.or $push34=, $pop32, $pop55
+ i32.store $push35=, sM+4($pop59), $pop34
+ i32.const $push54=, 16
+ i32.shr_u $push31=, $1, $pop54
+ tee_local $push53=, $0=, $pop31
+ i32.add $push36=, $pop35, $pop53
+ i32.add $push37=, $0, $3
+ i32.xor $push38=, $pop36, $pop37
+ i32.const $push52=, 63
+ i32.and $push39=, $pop38, $pop52
+ br_if $pop39, 0 # 0: down to label12
+# BB#1: # %if.end79
+ i32.const $push115=, 0
+ i32.const $push114=, 0
+ i32.const $push40=, -2139243339
+ i32.mul $push41=, $1, $pop40
+ i32.const $push42=, -1492899873
+ i32.add $push43=, $pop41, $pop42
+ tee_local $push113=, $1=, $pop43
+ i32.const $push112=, 1103515245
+ i32.mul $push45=, $pop113, $pop112
+ i32.const $push111=, 12345
+ i32.add $push46=, $pop45, $pop111
+ i32.store $push47=, myrnd.s($pop114), $pop46
+ i32.const $push110=, 16
+ i32.shr_u $push48=, $pop47, $pop110
+ i32.const $push109=, 16
+ i32.shr_u $push44=, $1, $pop109
+ i32.add $push49=, $pop48, $pop44
+ i32.const $push108=, 63
+ i32.and $push50=, $pop49, $pop108
+ i32.or $push51=, $pop50, $2
+ i32.store $discard=, sM+4($pop115), $pop51
+ return
+.LBB78_2: # %if.then
+ end_block # label12:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end78:
+ .size testM, .Lfunc_end78-testM
+
+ .section .text.retmeN,"ax",@progbits
+ .hidden retmeN
+ .globl retmeN
+ .type retmeN,@function
+retmeN: # @retmeN
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ return
+ .endfunc
+.Lfunc_end79:
+ .size retmeN, .Lfunc_end79-retmeN
+
+ .section .text.fn1N,"ax",@progbits
+ .hidden fn1N
+ .globl fn1N
+ .type fn1N,@function
+fn1N: # @fn1N
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sN($pop0):p2align=3
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 63
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end80:
+ .size fn1N, .Lfunc_end80-fn1N
+
+ .section .text.fn2N,"ax",@progbits
+ .hidden fn2N
+ .globl fn2N
+ .type fn2N,@function
+fn2N: # @fn2N
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sN($pop0):p2align=3
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 63
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end81:
+ .size fn2N, .Lfunc_end81-fn2N
+
+ .section .text.retitN,"ax",@progbits
+ .hidden retitN
+ .globl retitN
+ .type retitN,@function
+retitN: # @retitN
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sN($pop0):p2align=3
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ return $pop5
+ .endfunc
+.Lfunc_end82:
+ .size retitN, .Lfunc_end82-retitN
+
+ .section .text.fn3N,"ax",@progbits
+ .hidden fn3N
+ .globl fn3N
+ .type fn3N,@function
+fn3N: # @fn3N
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push18=, 0
+ i64.load $push1=, sN($pop18)
+ tee_local $push17=, $1=, $pop1
+ i64.const $push2=, 6
+ i64.shr_u $push3=, $pop17, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ tee_local $push16=, $0=, $pop5
+ i32.const $push6=, 6
+ i32.shl $push7=, $pop16, $pop6
+ i64.extend_u/i32 $push8=, $pop7
+ i64.const $push9=, 4032
+ i64.and $push10=, $pop8, $pop9
+ i64.const $push11=, -4033
+ i64.and $push12=, $1, $pop11
+ i64.or $push13=, $pop10, $pop12
+ i64.store $discard=, sN($pop0), $pop13
+ i32.const $push14=, 63
+ i32.and $push15=, $0, $pop14
+ return $pop15
+ .endfunc
+.Lfunc_end83:
+ .size fn3N, .Lfunc_end83-fn3N
+
+ .section .text.testN,"ax",@progbits
+ .hidden testN
+ .globl testN
+ .type testN,@function
+testN: # @testN
+ .local i32, i32, i64, i64, i64, i32, i32, i32
+# BB#0: # %lor.lhs.false
+ i32.const $push13=, 0
+ i32.const $push179=, 0
+ i32.load $push14=, myrnd.s($pop179)
+ i32.const $push15=, 1103515245
+ i32.mul $push16=, $pop14, $pop15
+ i32.const $push17=, 12345
+ i32.add $push18=, $pop16, $pop17
+ tee_local $push178=, $5=, $pop18
+ i32.const $push177=, 16
+ i32.shr_u $push19=, $pop178, $pop177
+ i32.store8 $discard=, sN($pop13):p2align=3, $pop19
+ i32.const $push176=, 0
+ i32.const $push175=, 1103515245
+ i32.mul $push20=, $5, $pop175
+ i32.const $push174=, 12345
+ i32.add $push21=, $pop20, $pop174
+ tee_local $push173=, $5=, $pop21
+ i32.const $push172=, 16
+ i32.shr_u $push22=, $pop173, $pop172
+ i32.store8 $discard=, sN+1($pop176), $pop22
+ i32.const $push171=, 0
+ i32.const $push170=, 1103515245
+ i32.mul $push23=, $5, $pop170
+ i32.const $push169=, 12345
+ i32.add $push24=, $pop23, $pop169
+ tee_local $push168=, $5=, $pop24
+ i32.const $push167=, 16
+ i32.shr_u $push25=, $pop168, $pop167
+ i32.store8 $discard=, sN+2($pop171):p2align=1, $pop25
+ i32.const $push166=, 0
+ i32.const $push165=, 1103515245
+ i32.mul $push26=, $5, $pop165
+ i32.const $push164=, 12345
+ i32.add $push27=, $pop26, $pop164
+ tee_local $push163=, $5=, $pop27
+ i32.const $push162=, 16
+ i32.shr_u $push28=, $pop163, $pop162
+ i32.store8 $discard=, sN+3($pop166), $pop28
+ i32.const $push161=, 0
+ i32.const $push160=, 1103515245
+ i32.mul $push29=, $5, $pop160
+ i32.const $push159=, 12345
+ i32.add $push30=, $pop29, $pop159
+ tee_local $push158=, $5=, $pop30
+ i32.const $push157=, 16
+ i32.shr_u $push31=, $pop158, $pop157
+ i32.store8 $discard=, sN+4($pop161):p2align=2, $pop31
+ i32.const $push156=, 0
+ i32.const $push155=, 1103515245
+ i32.mul $push32=, $5, $pop155
+ i32.const $push154=, 12345
+ i32.add $push33=, $pop32, $pop154
+ tee_local $push153=, $5=, $pop33
+ i32.const $push152=, 16
+ i32.shr_u $push34=, $pop153, $pop152
+ i32.store8 $discard=, sN+5($pop156), $pop34
+ i32.const $push151=, 0
+ i32.const $push150=, 1103515245
+ i32.mul $push35=, $5, $pop150
+ i32.const $push149=, 12345
+ i32.add $push36=, $pop35, $pop149
+ tee_local $push148=, $5=, $pop36
+ i32.const $push147=, 16
+ i32.shr_u $push37=, $pop148, $pop147
+ i32.store8 $discard=, sN+6($pop151):p2align=1, $pop37
+ i32.const $push146=, 0
+ i32.const $push145=, 1103515245
+ i32.mul $push38=, $5, $pop145
+ i32.const $push144=, 12345
+ i32.add $push39=, $pop38, $pop144
+ tee_local $push143=, $5=, $pop39
+ i32.const $push142=, 16
+ i32.shr_u $push40=, $pop143, $pop142
+ i32.store8 $discard=, sN+7($pop146), $pop40
+ i32.const $push141=, 0
+ i32.const $push140=, 1103515245
+ i32.mul $push44=, $5, $pop140
+ i32.const $push139=, 12345
+ i32.add $push45=, $pop44, $pop139
+ tee_local $push138=, $5=, $pop45
+ i32.const $push137=, 1103515245
+ i32.mul $push46=, $pop138, $pop137
+ i32.const $push136=, 12345
+ i32.add $push1=, $pop46, $pop136
+ i32.store $1=, myrnd.s($pop141), $pop1
+ block
+ i32.const $push135=, 0
+ i32.const $push47=, 10
+ i32.shr_u $push48=, $5, $pop47
+ i64.extend_u/i32 $push49=, $pop48
+ i64.const $push42=, 4032
+ i64.and $push50=, $pop49, $pop42
+ i32.const $push134=, 0
+ i64.load $push41=, sN($pop134)
+ tee_local $push133=, $4=, $pop41
+ i64.const $push51=, -4033
+ i64.and $push3=, $pop133, $pop51
+ tee_local $push132=, $3=, $pop3
+ i64.or $push4=, $pop50, $pop132
+ i64.store $push52=, sN($pop135), $pop4
+ tee_local $push131=, $2=, $pop52
+ i64.const $push130=, 4032
+ i64.or $push43=, $4, $pop130
+ i64.xor $push7=, $pop131, $pop43
+ tee_local $push129=, $4=, $pop7
+ i64.const $push55=, 34359734272
+ i64.and $push56=, $pop129, $pop55
+ i64.const $push128=, 0
+ i64.ne $push57=, $pop56, $pop128
+ br_if $pop57, 0 # 0: down to label13
+# BB#1: # %lor.lhs.false29
+ i64.const $push61=, 63
+ i64.and $push62=, $4, $pop61
+ i64.const $push180=, 0
+ i64.ne $push63=, $pop62, $pop180
+ br_if $pop63, 0 # 0: down to label13
+# BB#2: # %lor.lhs.false29
+ i64.const $push53=, 6
+ i64.shr_u $push54=, $2, $pop53
+ i32.wrap/i64 $push5=, $pop54
+ tee_local $push183=, $6=, $pop5
+ i32.const $push182=, 16
+ i32.shr_u $push0=, $5, $pop182
+ tee_local $push181=, $5=, $pop0
+ i32.xor $push59=, $pop183, $pop181
+ i32.const $push60=, 63
+ i32.and $push58=, $pop59, $pop60
+ br_if $pop58, 0 # 0: down to label13
+# BB#3: # %lor.lhs.false49
+ i32.const $push186=, 16
+ i32.shr_u $push2=, $1, $pop186
+ tee_local $push185=, $7=, $pop2
+ i32.add $push6=, $6, $pop185
+ i32.add $push64=, $7, $5
+ i32.xor $push65=, $pop6, $pop64
+ i32.const $push184=, 63
+ i32.and $push66=, $pop65, $pop184
+ br_if $pop66, 0 # 0: down to label13
+# BB#4: # %lor.lhs.false69
+ i32.const $push72=, 0
+ i32.const $push67=, 1103515245
+ i32.mul $push68=, $1, $pop67
+ i32.const $push69=, 12345
+ i32.add $push70=, $pop68, $pop69
+ tee_local $push197=, $5=, $pop70
+ i32.const $push196=, 1103515245
+ i32.mul $push71=, $pop197, $pop196
+ i32.const $push195=, 12345
+ i32.add $push9=, $pop71, $pop195
+ i32.store $1=, myrnd.s($pop72), $pop9
+ i32.const $push194=, 0
+ i32.const $push73=, 10
+ i32.shr_u $push74=, $5, $pop73
+ i64.extend_u/i32 $push75=, $pop74
+ i64.const $push76=, 4032
+ i64.and $push77=, $pop75, $pop76
+ i64.or $push78=, $pop77, $3
+ i64.store $push79=, sN($pop194), $pop78
+ tee_local $push193=, $4=, $pop79
+ i64.const $push80=, 6
+ i64.shr_u $push81=, $pop193, $pop80
+ i32.wrap/i64 $push11=, $pop81
+ tee_local $push192=, $6=, $pop11
+ i32.const $push191=, 16
+ i32.shr_u $push10=, $1, $pop191
+ tee_local $push190=, $7=, $pop10
+ i32.add $push82=, $pop192, $pop190
+ i32.const $push189=, 63
+ i32.and $push83=, $pop82, $pop189
+ i32.const $push84=, 15
+ i32.rem_u $0=, $pop83, $pop84
+ block
+ i64.xor $push12=, $4, $2
+ tee_local $push188=, $2=, $pop12
+ i64.const $push85=, 34359734272
+ i64.and $push86=, $pop188, $pop85
+ i64.const $push187=, 0
+ i64.ne $push87=, $pop86, $pop187
+ br_if $pop87, 0 # 0: down to label14
+# BB#5: # %lor.lhs.false80
+ i64.const $push91=, 63
+ i64.and $push92=, $2, $pop91
+ i64.const $push198=, 0
+ i64.ne $push93=, $pop92, $pop198
+ br_if $pop93, 0 # 0: down to label14
+# BB#6: # %lor.lhs.false80
+ i32.const $push200=, 16
+ i32.shr_u $push8=, $5, $pop200
+ tee_local $push199=, $5=, $pop8
+ i32.xor $push89=, $6, $pop199
+ i32.const $push90=, 63
+ i32.and $push88=, $pop89, $pop90
+ br_if $pop88, 0 # 0: down to label14
+# BB#7: # %lor.lhs.false100
+ i32.add $push94=, $7, $5
+ i32.const $push201=, 63
+ i32.and $push95=, $pop94, $pop201
+ i32.const $push96=, 15
+ i32.rem_u $push97=, $pop95, $pop96
+ i32.ne $push98=, $pop97, $0
+ br_if $pop98, 0 # 0: down to label14
+# BB#8: # %lor.lhs.false125
+ i32.const $push107=, 0
+ i32.const $push99=, 1103515245
+ i32.mul $push100=, $1, $pop99
+ i32.const $push101=, 12345
+ i32.add $push102=, $pop100, $pop101
+ tee_local $push210=, $5=, $pop102
+ i32.const $push110=, 10
+ i32.shr_u $push111=, $pop210, $pop110
+ i64.extend_u/i32 $push112=, $pop111
+ i64.const $push113=, 4032
+ i64.and $push114=, $pop112, $pop113
+ i64.or $push115=, $pop114, $3
+ i64.const $push116=, 6
+ i64.shr_u $push117=, $pop115, $pop116
+ i32.wrap/i64 $push118=, $pop117
+ i32.const $push209=, 0
+ i32.const $push208=, 1103515245
+ i32.mul $push105=, $5, $pop208
+ i32.const $push207=, 12345
+ i32.add $push106=, $pop105, $pop207
+ i32.store $push108=, myrnd.s($pop209), $pop106
+ i32.const $push103=, 16
+ i32.shr_u $push109=, $pop108, $pop103
+ tee_local $push206=, $1=, $pop109
+ i32.add $push119=, $pop118, $pop206
+ tee_local $push205=, $6=, $pop119
+ i32.const $push120=, 6
+ i32.shl $push121=, $pop205, $pop120
+ i64.extend_u/i32 $push122=, $pop121
+ i64.const $push204=, 4032
+ i64.and $push123=, $pop122, $pop204
+ i64.or $push124=, $pop123, $3
+ i64.store $discard=, sN($pop107), $pop124
+ block
+ i32.const $push203=, 16
+ i32.shr_u $push104=, $5, $pop203
+ i32.add $push125=, $1, $pop104
+ i32.xor $push126=, $pop125, $6
+ i32.const $push202=, 63
+ i32.and $push127=, $pop126, $pop202
+ br_if $pop127, 0 # 0: down to label15
+# BB#9: # %if.end158
+ return
+.LBB84_10: # %if.then157
+ end_block # label15:
+ call abort@FUNCTION
+ unreachable
+.LBB84_11: # %if.then106
+ end_block # label14:
+ call abort@FUNCTION
+ unreachable
+.LBB84_12: # %if.then
+ end_block # label13:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end84:
+ .size testN, .Lfunc_end84-testN
+
+ .section .text.retmeO,"ax",@progbits
+ .hidden retmeO
+ .globl retmeO
+ .type retmeO,@function
+retmeO: # @retmeO
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end85:
+ .size retmeO, .Lfunc_end85-retmeO
+
+ .section .text.fn1O,"ax",@progbits
+ .hidden fn1O
+ .globl fn1O
+ .type fn1O,@function
+fn1O: # @fn1O
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sO+8($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end86:
+ .size fn1O, .Lfunc_end86-fn1O
+
+ .section .text.fn2O,"ax",@progbits
+ .hidden fn2O
+ .globl fn2O
+ .type fn2O,@function
+fn2O: # @fn2O
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sO+8($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end87:
+ .size fn2O, .Lfunc_end87-fn2O
+
+ .section .text.retitO,"ax",@progbits
+ .hidden retitO
+ .globl retitO
+ .type retitO,@function
+retitO: # @retitO
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sO+8($pop0):p2align=3
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end88:
+ .size retitO, .Lfunc_end88-retitO
+
+ .section .text.fn3O,"ax",@progbits
+ .hidden fn3O
+ .globl fn3O
+ .type fn3O,@function
+fn3O: # @fn3O
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i64.load $push1=, sO+8($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.wrap/i64 $push2=, $pop13
+ i32.add $push3=, $pop2, $0
+ tee_local $push12=, $0=, $pop3
+ i64.extend_u/i32 $push4=, $pop12
+ i64.const $push5=, 4095
+ i64.and $push6=, $pop4, $pop5
+ i64.const $push7=, -4096
+ i64.and $push8=, $1, $pop7
+ i64.or $push9=, $pop6, $pop8
+ i64.store $discard=, sO+8($pop0), $pop9
+ i32.const $push10=, 4095
+ i32.and $push11=, $0, $pop10
+ return $pop11
+ .endfunc
+.Lfunc_end89:
+ .size fn3O, .Lfunc_end89-fn3O
+
+ .section .text.testO,"ax",@progbits
+ .hidden testO
+ .globl testO
+ .type testO,@function
+testO: # @testO
+ .local i64, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push6=, 0
+ i32.const $push213=, 0
+ i32.load $push7=, myrnd.s($pop213)
+ i32.const $push8=, 1103515245
+ i32.mul $push9=, $pop7, $pop8
+ i32.const $push10=, 12345
+ i32.add $push11=, $pop9, $pop10
+ tee_local $push212=, $1=, $pop11
+ i32.const $push211=, 16
+ i32.shr_u $push12=, $pop212, $pop211
+ i32.store8 $discard=, sO($pop6):p2align=3, $pop12
+ i32.const $push210=, 0
+ i32.const $push209=, 1103515245
+ i32.mul $push13=, $1, $pop209
+ i32.const $push208=, 12345
+ i32.add $push14=, $pop13, $pop208
+ tee_local $push207=, $1=, $pop14
+ i32.const $push206=, 16
+ i32.shr_u $push15=, $pop207, $pop206
+ i32.store8 $discard=, sO+1($pop210), $pop15
+ i32.const $push205=, 0
+ i32.const $push204=, 1103515245
+ i32.mul $push16=, $1, $pop204
+ i32.const $push203=, 12345
+ i32.add $push17=, $pop16, $pop203
+ tee_local $push202=, $1=, $pop17
+ i32.const $push201=, 16
+ i32.shr_u $push18=, $pop202, $pop201
+ i32.store8 $discard=, sO+2($pop205):p2align=1, $pop18
+ i32.const $push200=, 0
+ i32.const $push199=, 1103515245
+ i32.mul $push19=, $1, $pop199
+ i32.const $push198=, 12345
+ i32.add $push20=, $pop19, $pop198
+ tee_local $push197=, $1=, $pop20
+ i32.const $push196=, 16
+ i32.shr_u $push21=, $pop197, $pop196
+ i32.store8 $discard=, sO+3($pop200), $pop21
+ i32.const $push195=, 0
+ i32.const $push194=, 1103515245
+ i32.mul $push22=, $1, $pop194
+ i32.const $push193=, 12345
+ i32.add $push23=, $pop22, $pop193
+ tee_local $push192=, $1=, $pop23
+ i32.const $push191=, 16
+ i32.shr_u $push24=, $pop192, $pop191
+ i32.store8 $discard=, sO+4($pop195):p2align=2, $pop24
+ i32.const $push190=, 0
+ i32.const $push189=, 1103515245
+ i32.mul $push25=, $1, $pop189
+ i32.const $push188=, 12345
+ i32.add $push26=, $pop25, $pop188
+ tee_local $push187=, $1=, $pop26
+ i32.const $push186=, 16
+ i32.shr_u $push27=, $pop187, $pop186
+ i32.store8 $discard=, sO+5($pop190), $pop27
+ i32.const $push185=, 0
+ i32.const $push184=, 1103515245
+ i32.mul $push28=, $1, $pop184
+ i32.const $push183=, 12345
+ i32.add $push29=, $pop28, $pop183
+ tee_local $push182=, $1=, $pop29
+ i32.const $push181=, 16
+ i32.shr_u $push30=, $pop182, $pop181
+ i32.store8 $discard=, sO+6($pop185):p2align=1, $pop30
+ i32.const $push180=, 0
+ i32.const $push179=, 1103515245
+ i32.mul $push31=, $1, $pop179
+ i32.const $push178=, 12345
+ i32.add $push32=, $pop31, $pop178
+ tee_local $push177=, $1=, $pop32
+ i32.const $push176=, 16
+ i32.shr_u $push33=, $pop177, $pop176
+ i32.store8 $discard=, sO+7($pop180), $pop33
+ i32.const $push175=, 0
+ i32.const $push174=, 1103515245
+ i32.mul $push34=, $1, $pop174
+ i32.const $push173=, 12345
+ i32.add $push35=, $pop34, $pop173
+ tee_local $push172=, $1=, $pop35
+ i32.const $push171=, 16
+ i32.shr_u $push36=, $pop172, $pop171
+ i32.store8 $discard=, sO+8($pop175):p2align=3, $pop36
+ i32.const $push170=, 0
+ i32.const $push169=, 1103515245
+ i32.mul $push37=, $1, $pop169
+ i32.const $push168=, 12345
+ i32.add $push38=, $pop37, $pop168
+ tee_local $push167=, $1=, $pop38
+ i32.const $push166=, 16
+ i32.shr_u $push39=, $pop167, $pop166
+ i32.store8 $discard=, sO+9($pop170), $pop39
+ i32.const $push165=, 0
+ i32.const $push164=, 1103515245
+ i32.mul $push40=, $1, $pop164
+ i32.const $push163=, 12345
+ i32.add $push41=, $pop40, $pop163
+ tee_local $push162=, $1=, $pop41
+ i32.const $push161=, 16
+ i32.shr_u $push42=, $pop162, $pop161
+ i32.store8 $discard=, sO+10($pop165):p2align=1, $pop42
+ i32.const $push160=, 0
+ i32.const $push159=, 1103515245
+ i32.mul $push43=, $1, $pop159
+ i32.const $push158=, 12345
+ i32.add $push44=, $pop43, $pop158
+ tee_local $push157=, $1=, $pop44
+ i32.const $push156=, 16
+ i32.shr_u $push45=, $pop157, $pop156
+ i32.store8 $discard=, sO+11($pop160), $pop45
+ i32.const $push155=, 0
+ i32.const $push154=, 1103515245
+ i32.mul $push46=, $1, $pop154
+ i32.const $push153=, 12345
+ i32.add $push47=, $pop46, $pop153
+ tee_local $push152=, $1=, $pop47
+ i32.const $push151=, 16
+ i32.shr_u $push48=, $pop152, $pop151
+ i32.store8 $discard=, sO+12($pop155):p2align=2, $pop48
+ i32.const $push150=, 0
+ i32.const $push149=, 1103515245
+ i32.mul $push49=, $1, $pop149
+ i32.const $push148=, 12345
+ i32.add $push50=, $pop49, $pop148
+ tee_local $push147=, $1=, $pop50
+ i32.const $push146=, 16
+ i32.shr_u $push51=, $pop147, $pop146
+ i32.store8 $discard=, sO+13($pop150), $pop51
+ i32.const $push145=, 0
+ i32.const $push144=, 1103515245
+ i32.mul $push52=, $1, $pop144
+ i32.const $push143=, 12345
+ i32.add $push53=, $pop52, $pop143
+ tee_local $push142=, $1=, $pop53
+ i32.const $push141=, 16
+ i32.shr_u $push54=, $pop142, $pop141
+ i32.store8 $discard=, sO+14($pop145):p2align=1, $pop54
+ i32.const $push140=, 0
+ i32.const $push139=, 1103515245
+ i32.mul $push55=, $1, $pop139
+ i32.const $push138=, 12345
+ i32.add $push56=, $pop55, $pop138
+ tee_local $push137=, $1=, $pop56
+ i32.const $push136=, 16
+ i32.shr_u $push57=, $pop137, $pop136
+ i32.store8 $discard=, sO+15($pop140), $pop57
+ i32.const $push135=, 0
+ i64.load $0=, sO+8($pop135)
+ i32.const $push134=, 1103515245
+ i32.mul $push58=, $1, $pop134
+ i32.const $push133=, 12345
+ i32.add $push59=, $pop58, $pop133
+ tee_local $push132=, $2=, $pop59
+ i32.const $push131=, 16
+ i32.shr_u $push60=, $pop132, $pop131
+ i32.const $push130=, 2047
+ i32.and $1=, $pop60, $pop130
+ i32.const $push129=, 0
+ i32.const $push128=, 1103515245
+ i32.mul $push61=, $2, $pop128
+ i32.const $push127=, 12345
+ i32.add $push0=, $pop61, $pop127
+ i32.store $2=, myrnd.s($pop129), $pop0
+ block
+ i32.const $push126=, 0
+ i64.extend_u/i32 $push64=, $1
+ i64.const $push65=, -4096
+ i64.and $push66=, $0, $pop65
+ i64.or $push67=, $pop64, $pop66
+ i64.store $push68=, sO+8($pop126), $pop67
+ i32.wrap/i64 $push69=, $pop68
+ tee_local $push125=, $3=, $pop69
+ i32.const $push124=, 2047
+ i32.and $push72=, $pop125, $pop124
+ i32.ne $push73=, $1, $pop72
+ br_if $pop73, 0 # 0: down to label16
+# BB#1: # %entry
+ i32.const $push216=, 16
+ i32.shr_u $push62=, $2, $pop216
+ i32.const $push215=, 2047
+ i32.and $push63=, $pop62, $pop215
+ tee_local $push214=, $4=, $pop63
+ i32.add $push4=, $pop214, $1
+ i32.add $push70=, $3, $4
+ i32.const $push71=, 4095
+ i32.and $push5=, $pop70, $pop71
+ i32.ne $push74=, $pop4, $pop5
+ br_if $pop74, 0 # 0: down to label16
+# BB#2: # %if.end
+ i32.const $push75=, 1103515245
+ i32.mul $push76=, $2, $pop75
+ i32.const $push77=, 12345
+ i32.add $push78=, $pop76, $pop77
+ tee_local $push224=, $2=, $pop78
+ i32.const $push223=, 16
+ i32.shr_u $push79=, $pop224, $pop223
+ i32.const $push222=, 2047
+ i32.and $1=, $pop79, $pop222
+ i32.const $push81=, 0
+ i32.const $push221=, 1103515245
+ i32.mul $push80=, $2, $pop221
+ i32.const $push220=, 12345
+ i32.add $push1=, $pop80, $pop220
+ i32.store $2=, myrnd.s($pop81), $pop1
+ block
+ i32.const $push219=, 0
+ i64.extend_u/i32 $push83=, $1
+ i64.const $push84=, -4096
+ i64.and $push85=, $0, $pop84
+ i64.or $push86=, $pop83, $pop85
+ i64.store $push87=, sO+8($pop219), $pop86
+ i32.wrap/i64 $push3=, $pop87
+ tee_local $push218=, $3=, $pop3
+ i32.const $push217=, 2047
+ i32.and $push88=, $pop218, $pop217
+ i32.ne $push89=, $1, $pop88
+ br_if $pop89, 0 # 0: down to label17
+# BB#3: # %lor.lhs.false87
+ i32.const $push229=, 16
+ i32.shr_u $push82=, $2, $pop229
+ i32.const $push228=, 2047
+ i32.and $push2=, $pop82, $pop228
+ tee_local $push227=, $4=, $pop2
+ i32.add $push90=, $3, $pop227
+ i32.const $push226=, 4095
+ i32.and $push91=, $pop90, $pop226
+ i32.const $push92=, 15
+ i32.rem_u $push93=, $pop91, $pop92
+ i32.add $push94=, $4, $1
+ i32.const $push225=, 15
+ i32.rem_u $push95=, $pop94, $pop225
+ i32.ne $push96=, $pop93, $pop95
+ br_if $pop96, 0 # 0: down to label17
+# BB#4: # %lor.lhs.false124
+ i32.const $push107=, 0
+ i32.const $push97=, 1103515245
+ i32.mul $push98=, $2, $pop97
+ i32.const $push99=, 12345
+ i32.add $push100=, $pop98, $pop99
+ tee_local $push240=, $1=, $pop100
+ i32.const $push101=, 16
+ i32.shr_u $push102=, $pop240, $pop101
+ i32.const $push103=, 2047
+ i32.and $push104=, $pop102, $pop103
+ tee_local $push239=, $2=, $pop104
+ i64.extend_u/i32 $push111=, $pop239
+ i64.const $push112=, -4096
+ i64.and $push113=, $0, $pop112
+ tee_local $push238=, $0=, $pop113
+ i64.or $push114=, $pop111, $pop238
+ i32.wrap/i64 $push115=, $pop114
+ i32.const $push237=, 0
+ i32.const $push236=, 1103515245
+ i32.mul $push105=, $1, $pop236
+ i32.const $push235=, 12345
+ i32.add $push106=, $pop105, $pop235
+ i32.store $push108=, myrnd.s($pop237), $pop106
+ i32.const $push234=, 16
+ i32.shr_u $push109=, $pop108, $pop234
+ i32.const $push233=, 2047
+ i32.and $push110=, $pop109, $pop233
+ tee_local $push232=, $1=, $pop110
+ i32.add $push116=, $pop115, $pop232
+ tee_local $push231=, $3=, $pop116
+ i64.extend_u/i32 $push117=, $pop231
+ i64.const $push118=, 4095
+ i64.and $push119=, $pop117, $pop118
+ i64.or $push120=, $pop119, $0
+ i64.store $discard=, sO+8($pop107), $pop120
+ block
+ i32.add $push122=, $1, $2
+ i32.const $push230=, 4095
+ i32.and $push121=, $3, $pop230
+ i32.ne $push123=, $pop122, $pop121
+ br_if $pop123, 0 # 0: down to label18
+# BB#5: # %if.end140
+ return
+.LBB90_6: # %if.then139
+ end_block # label18:
+ call abort@FUNCTION
+ unreachable
+.LBB90_7: # %if.then93
+ end_block # label17:
+ call abort@FUNCTION
+ unreachable
+.LBB90_8: # %if.then
+ end_block # label16:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end90:
+ .size testO, .Lfunc_end90-testO
+
+ .section .text.retmeP,"ax",@progbits
+ .hidden retmeP
+ .globl retmeP
+ .type retmeP,@function
+retmeP: # @retmeP
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end91:
+ .size retmeP, .Lfunc_end91-retmeP
+
+ .section .text.fn1P,"ax",@progbits
+ .hidden fn1P
+ .globl fn1P
+ .type fn1P,@function
+fn1P: # @fn1P
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sP($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end92:
+ .size fn1P, .Lfunc_end92-fn1P
+
+ .section .text.fn2P,"ax",@progbits
+ .hidden fn2P
+ .globl fn2P
+ .type fn2P,@function
+fn2P: # @fn2P
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sP($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end93:
+ .size fn2P, .Lfunc_end93-fn2P
+
+ .section .text.retitP,"ax",@progbits
+ .hidden retitP
+ .globl retitP
+ .type retitP,@function
+retitP: # @retitP
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sP($pop0):p2align=3
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end94:
+ .size retitP, .Lfunc_end94-retitP
+
+ .section .text.fn3P,"ax",@progbits
+ .hidden fn3P
+ .globl fn3P
+ .type fn3P,@function
+fn3P: # @fn3P
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i64.load $push1=, sP($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.wrap/i64 $push2=, $pop13
+ i32.add $push3=, $pop2, $0
+ tee_local $push12=, $0=, $pop3
+ i64.extend_u/i32 $push4=, $pop12
+ i64.const $push5=, 4095
+ i64.and $push6=, $pop4, $pop5
+ i64.const $push7=, -4096
+ i64.and $push8=, $1, $pop7
+ i64.or $push9=, $pop6, $pop8
+ i64.store $discard=, sP($pop0), $pop9
+ i32.const $push10=, 4095
+ i32.and $push11=, $0, $pop10
+ return $pop11
+ .endfunc
+.Lfunc_end95:
+ .size fn3P, .Lfunc_end95-fn3P
+
+ .section .text.testP,"ax",@progbits
+ .hidden testP
+ .globl testP
+ .type testP,@function
+testP: # @testP
+ .local i64, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push6=, 0
+ i32.const $push213=, 0
+ i32.load $push7=, myrnd.s($pop213)
+ i32.const $push8=, 1103515245
+ i32.mul $push9=, $pop7, $pop8
+ i32.const $push10=, 12345
+ i32.add $push11=, $pop9, $pop10
+ tee_local $push212=, $1=, $pop11
+ i32.const $push211=, 16
+ i32.shr_u $push12=, $pop212, $pop211
+ i32.store8 $discard=, sP($pop6):p2align=3, $pop12
+ i32.const $push210=, 0
+ i32.const $push209=, 1103515245
+ i32.mul $push13=, $1, $pop209
+ i32.const $push208=, 12345
+ i32.add $push14=, $pop13, $pop208
+ tee_local $push207=, $1=, $pop14
+ i32.const $push206=, 16
+ i32.shr_u $push15=, $pop207, $pop206
+ i32.store8 $discard=, sP+1($pop210), $pop15
+ i32.const $push205=, 0
+ i32.const $push204=, 1103515245
+ i32.mul $push16=, $1, $pop204
+ i32.const $push203=, 12345
+ i32.add $push17=, $pop16, $pop203
+ tee_local $push202=, $1=, $pop17
+ i32.const $push201=, 16
+ i32.shr_u $push18=, $pop202, $pop201
+ i32.store8 $discard=, sP+2($pop205):p2align=1, $pop18
+ i32.const $push200=, 0
+ i32.const $push199=, 1103515245
+ i32.mul $push19=, $1, $pop199
+ i32.const $push198=, 12345
+ i32.add $push20=, $pop19, $pop198
+ tee_local $push197=, $1=, $pop20
+ i32.const $push196=, 16
+ i32.shr_u $push21=, $pop197, $pop196
+ i32.store8 $discard=, sP+3($pop200), $pop21
+ i32.const $push195=, 0
+ i32.const $push194=, 1103515245
+ i32.mul $push22=, $1, $pop194
+ i32.const $push193=, 12345
+ i32.add $push23=, $pop22, $pop193
+ tee_local $push192=, $1=, $pop23
+ i32.const $push191=, 16
+ i32.shr_u $push24=, $pop192, $pop191
+ i32.store8 $discard=, sP+4($pop195):p2align=2, $pop24
+ i32.const $push190=, 0
+ i32.const $push189=, 1103515245
+ i32.mul $push25=, $1, $pop189
+ i32.const $push188=, 12345
+ i32.add $push26=, $pop25, $pop188
+ tee_local $push187=, $1=, $pop26
+ i32.const $push186=, 16
+ i32.shr_u $push27=, $pop187, $pop186
+ i32.store8 $discard=, sP+5($pop190), $pop27
+ i32.const $push185=, 0
+ i32.const $push184=, 1103515245
+ i32.mul $push28=, $1, $pop184
+ i32.const $push183=, 12345
+ i32.add $push29=, $pop28, $pop183
+ tee_local $push182=, $1=, $pop29
+ i32.const $push181=, 16
+ i32.shr_u $push30=, $pop182, $pop181
+ i32.store8 $discard=, sP+6($pop185):p2align=1, $pop30
+ i32.const $push180=, 0
+ i32.const $push179=, 1103515245
+ i32.mul $push31=, $1, $pop179
+ i32.const $push178=, 12345
+ i32.add $push32=, $pop31, $pop178
+ tee_local $push177=, $1=, $pop32
+ i32.const $push176=, 16
+ i32.shr_u $push33=, $pop177, $pop176
+ i32.store8 $discard=, sP+7($pop180), $pop33
+ i32.const $push175=, 0
+ i32.const $push174=, 1103515245
+ i32.mul $push34=, $1, $pop174
+ i32.const $push173=, 12345
+ i32.add $push35=, $pop34, $pop173
+ tee_local $push172=, $1=, $pop35
+ i32.const $push171=, 16
+ i32.shr_u $push36=, $pop172, $pop171
+ i32.store8 $discard=, sP+8($pop175):p2align=3, $pop36
+ i32.const $push170=, 0
+ i32.const $push169=, 1103515245
+ i32.mul $push37=, $1, $pop169
+ i32.const $push168=, 12345
+ i32.add $push38=, $pop37, $pop168
+ tee_local $push167=, $1=, $pop38
+ i32.const $push166=, 16
+ i32.shr_u $push39=, $pop167, $pop166
+ i32.store8 $discard=, sP+9($pop170), $pop39
+ i32.const $push165=, 0
+ i32.const $push164=, 1103515245
+ i32.mul $push40=, $1, $pop164
+ i32.const $push163=, 12345
+ i32.add $push41=, $pop40, $pop163
+ tee_local $push162=, $1=, $pop41
+ i32.const $push161=, 16
+ i32.shr_u $push42=, $pop162, $pop161
+ i32.store8 $discard=, sP+10($pop165):p2align=1, $pop42
+ i32.const $push160=, 0
+ i32.const $push159=, 1103515245
+ i32.mul $push43=, $1, $pop159
+ i32.const $push158=, 12345
+ i32.add $push44=, $pop43, $pop158
+ tee_local $push157=, $1=, $pop44
+ i32.const $push156=, 16
+ i32.shr_u $push45=, $pop157, $pop156
+ i32.store8 $discard=, sP+11($pop160), $pop45
+ i32.const $push155=, 0
+ i32.const $push154=, 1103515245
+ i32.mul $push46=, $1, $pop154
+ i32.const $push153=, 12345
+ i32.add $push47=, $pop46, $pop153
+ tee_local $push152=, $1=, $pop47
+ i32.const $push151=, 16
+ i32.shr_u $push48=, $pop152, $pop151
+ i32.store8 $discard=, sP+12($pop155):p2align=2, $pop48
+ i32.const $push150=, 0
+ i32.const $push149=, 1103515245
+ i32.mul $push49=, $1, $pop149
+ i32.const $push148=, 12345
+ i32.add $push50=, $pop49, $pop148
+ tee_local $push147=, $1=, $pop50
+ i32.const $push146=, 16
+ i32.shr_u $push51=, $pop147, $pop146
+ i32.store8 $discard=, sP+13($pop150), $pop51
+ i32.const $push145=, 0
+ i32.const $push144=, 1103515245
+ i32.mul $push52=, $1, $pop144
+ i32.const $push143=, 12345
+ i32.add $push53=, $pop52, $pop143
+ tee_local $push142=, $1=, $pop53
+ i32.const $push141=, 16
+ i32.shr_u $push54=, $pop142, $pop141
+ i32.store8 $discard=, sP+14($pop145):p2align=1, $pop54
+ i32.const $push140=, 0
+ i32.const $push139=, 1103515245
+ i32.mul $push55=, $1, $pop139
+ i32.const $push138=, 12345
+ i32.add $push56=, $pop55, $pop138
+ tee_local $push137=, $1=, $pop56
+ i32.const $push136=, 16
+ i32.shr_u $push57=, $pop137, $pop136
+ i32.store8 $discard=, sP+15($pop140), $pop57
+ i32.const $push135=, 0
+ i64.load $0=, sP($pop135)
+ i32.const $push134=, 1103515245
+ i32.mul $push58=, $1, $pop134
+ i32.const $push133=, 12345
+ i32.add $push59=, $pop58, $pop133
+ tee_local $push132=, $2=, $pop59
+ i32.const $push131=, 16
+ i32.shr_u $push60=, $pop132, $pop131
+ i32.const $push130=, 2047
+ i32.and $1=, $pop60, $pop130
+ i32.const $push129=, 0
+ i32.const $push128=, 1103515245
+ i32.mul $push61=, $2, $pop128
+ i32.const $push127=, 12345
+ i32.add $push0=, $pop61, $pop127
+ i32.store $2=, myrnd.s($pop129), $pop0
+ block
+ i32.const $push126=, 0
+ i64.extend_u/i32 $push64=, $1
+ i64.const $push65=, -4096
+ i64.and $push66=, $0, $pop65
+ i64.or $push67=, $pop64, $pop66
+ i64.store $push68=, sP($pop126), $pop67
+ i32.wrap/i64 $push69=, $pop68
+ tee_local $push125=, $3=, $pop69
+ i32.const $push124=, 2047
+ i32.and $push72=, $pop125, $pop124
+ i32.ne $push73=, $1, $pop72
+ br_if $pop73, 0 # 0: down to label19
+# BB#1: # %entry
+ i32.const $push216=, 16
+ i32.shr_u $push62=, $2, $pop216
+ i32.const $push215=, 2047
+ i32.and $push63=, $pop62, $pop215
+ tee_local $push214=, $4=, $pop63
+ i32.add $push4=, $pop214, $1
+ i32.add $push70=, $3, $4
+ i32.const $push71=, 4095
+ i32.and $push5=, $pop70, $pop71
+ i32.ne $push74=, $pop4, $pop5
+ br_if $pop74, 0 # 0: down to label19
+# BB#2: # %if.end
+ i32.const $push75=, 1103515245
+ i32.mul $push76=, $2, $pop75
+ i32.const $push77=, 12345
+ i32.add $push78=, $pop76, $pop77
+ tee_local $push224=, $2=, $pop78
+ i32.const $push223=, 16
+ i32.shr_u $push79=, $pop224, $pop223
+ i32.const $push222=, 2047
+ i32.and $1=, $pop79, $pop222
+ i32.const $push81=, 0
+ i32.const $push221=, 1103515245
+ i32.mul $push80=, $2, $pop221
+ i32.const $push220=, 12345
+ i32.add $push1=, $pop80, $pop220
+ i32.store $2=, myrnd.s($pop81), $pop1
+ block
+ i32.const $push219=, 0
+ i64.extend_u/i32 $push83=, $1
+ i64.const $push84=, -4096
+ i64.and $push85=, $0, $pop84
+ i64.or $push86=, $pop83, $pop85
+ i64.store $push87=, sP($pop219), $pop86
+ i32.wrap/i64 $push3=, $pop87
+ tee_local $push218=, $3=, $pop3
+ i32.const $push217=, 2047
+ i32.and $push88=, $pop218, $pop217
+ i32.ne $push89=, $1, $pop88
+ br_if $pop89, 0 # 0: down to label20
+# BB#3: # %lor.lhs.false83
+ i32.const $push229=, 16
+ i32.shr_u $push82=, $2, $pop229
+ i32.const $push228=, 2047
+ i32.and $push2=, $pop82, $pop228
+ tee_local $push227=, $4=, $pop2
+ i32.add $push90=, $3, $pop227
+ i32.const $push226=, 4095
+ i32.and $push91=, $pop90, $pop226
+ i32.const $push92=, 15
+ i32.rem_u $push93=, $pop91, $pop92
+ i32.add $push94=, $4, $1
+ i32.const $push225=, 15
+ i32.rem_u $push95=, $pop94, $pop225
+ i32.ne $push96=, $pop93, $pop95
+ br_if $pop96, 0 # 0: down to label20
+# BB#4: # %lor.lhs.false118
+ i32.const $push107=, 0
+ i32.const $push97=, 1103515245
+ i32.mul $push98=, $2, $pop97
+ i32.const $push99=, 12345
+ i32.add $push100=, $pop98, $pop99
+ tee_local $push240=, $1=, $pop100
+ i32.const $push101=, 16
+ i32.shr_u $push102=, $pop240, $pop101
+ i32.const $push103=, 2047
+ i32.and $push104=, $pop102, $pop103
+ tee_local $push239=, $2=, $pop104
+ i64.extend_u/i32 $push111=, $pop239
+ i64.const $push112=, -4096
+ i64.and $push113=, $0, $pop112
+ tee_local $push238=, $0=, $pop113
+ i64.or $push114=, $pop111, $pop238
+ i32.wrap/i64 $push115=, $pop114
+ i32.const $push237=, 0
+ i32.const $push236=, 1103515245
+ i32.mul $push105=, $1, $pop236
+ i32.const $push235=, 12345
+ i32.add $push106=, $pop105, $pop235
+ i32.store $push108=, myrnd.s($pop237), $pop106
+ i32.const $push234=, 16
+ i32.shr_u $push109=, $pop108, $pop234
+ i32.const $push233=, 2047
+ i32.and $push110=, $pop109, $pop233
+ tee_local $push232=, $1=, $pop110
+ i32.add $push116=, $pop115, $pop232
+ tee_local $push231=, $3=, $pop116
+ i64.extend_u/i32 $push117=, $pop231
+ i64.const $push118=, 4095
+ i64.and $push119=, $pop117, $pop118
+ i64.or $push120=, $pop119, $0
+ i64.store $discard=, sP($pop107), $pop120
+ block
+ i32.add $push122=, $1, $2
+ i32.const $push230=, 4095
+ i32.and $push121=, $3, $pop230
+ i32.ne $push123=, $pop122, $pop121
+ br_if $pop123, 0 # 0: down to label21
+# BB#5: # %if.end134
+ return
+.LBB96_6: # %if.then133
+ end_block # label21:
+ call abort@FUNCTION
+ unreachable
+.LBB96_7: # %if.then89
+ end_block # label20:
+ call abort@FUNCTION
+ unreachable
+.LBB96_8: # %if.then
+ end_block # label19:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end96:
+ .size testP, .Lfunc_end96-testP
+
+ .section .text.retmeQ,"ax",@progbits
+ .hidden retmeQ
+ .globl retmeQ
+ .type retmeQ,@function
+retmeQ: # @retmeQ
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end97:
+ .size retmeQ, .Lfunc_end97-retmeQ
+
+ .section .text.fn1Q,"ax",@progbits
+ .hidden fn1Q
+ .globl fn1Q
+ .type fn1Q,@function
+fn1Q: # @fn1Q
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sQ($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end98:
+ .size fn1Q, .Lfunc_end98-fn1Q
+
+ .section .text.fn2Q,"ax",@progbits
+ .hidden fn2Q
+ .globl fn2Q
+ .type fn2Q,@function
+fn2Q: # @fn2Q
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sQ($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end99:
+ .size fn2Q, .Lfunc_end99-fn2Q
+
+ .section .text.retitQ,"ax",@progbits
+ .hidden retitQ
+ .globl retitQ
+ .type retitQ,@function
+retitQ: # @retitQ
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sQ($pop0):p2align=3
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end100:
+ .size retitQ, .Lfunc_end100-retitQ
+
+ .section .text.fn3Q,"ax",@progbits
+ .hidden fn3Q
+ .globl fn3Q
+ .type fn3Q,@function
+fn3Q: # @fn3Q
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sQ($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -4096
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sQ($pop0):p2align=3, $pop7
+ return $0
+ .endfunc
+.Lfunc_end101:
+ .size fn3Q, .Lfunc_end101-fn3Q
+
+ .section .text.testQ,"ax",@progbits
+ .hidden testQ
+ .globl testQ
+ .type testQ,@function
+testQ: # @testQ
+ .local i32, i32
+# BB#0: # %if.end75
+ i32.const $push0=, 0
+ i32.const $push154=, 0
+ i32.load $push1=, myrnd.s($pop154)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push153=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop153, $pop6
+ i32.store8 $discard=, sQ($pop0):p2align=3, $pop7
+ i32.const $push152=, 0
+ i32.const $push151=, 1103515245
+ i32.mul $push8=, $1, $pop151
+ i32.const $push150=, 12345
+ i32.add $push9=, $pop8, $pop150
+ tee_local $push149=, $1=, $pop9
+ i32.const $push148=, 16
+ i32.shr_u $push10=, $pop149, $pop148
+ i32.store8 $discard=, sQ+1($pop152), $pop10
+ i32.const $push147=, 0
+ i32.const $push146=, 1103515245
+ i32.mul $push11=, $1, $pop146
+ i32.const $push145=, 12345
+ i32.add $push12=, $pop11, $pop145
+ tee_local $push144=, $1=, $pop12
+ i32.const $push143=, 16
+ i32.shr_u $push13=, $pop144, $pop143
+ i32.store8 $discard=, sQ+2($pop147):p2align=1, $pop13
+ i32.const $push142=, 0
+ i32.const $push141=, 1103515245
+ i32.mul $push14=, $1, $pop141
+ i32.const $push140=, 12345
+ i32.add $push15=, $pop14, $pop140
+ tee_local $push139=, $1=, $pop15
+ i32.const $push138=, 16
+ i32.shr_u $push16=, $pop139, $pop138
+ i32.store8 $discard=, sQ+3($pop142), $pop16
+ i32.const $push137=, 0
+ i32.const $push136=, 1103515245
+ i32.mul $push17=, $1, $pop136
+ i32.const $push135=, 12345
+ i32.add $push18=, $pop17, $pop135
+ tee_local $push134=, $1=, $pop18
+ i32.const $push133=, 16
+ i32.shr_u $push19=, $pop134, $pop133
+ i32.store8 $discard=, sQ+4($pop137):p2align=2, $pop19
+ i32.const $push132=, 0
+ i32.const $push131=, 1103515245
+ i32.mul $push20=, $1, $pop131
+ i32.const $push130=, 12345
+ i32.add $push21=, $pop20, $pop130
+ tee_local $push129=, $1=, $pop21
+ i32.const $push128=, 16
+ i32.shr_u $push22=, $pop129, $pop128
+ i32.store8 $discard=, sQ+5($pop132), $pop22
+ i32.const $push127=, 0
+ i32.const $push126=, 1103515245
+ i32.mul $push23=, $1, $pop126
+ i32.const $push125=, 12345
+ i32.add $push24=, $pop23, $pop125
+ tee_local $push124=, $1=, $pop24
+ i32.const $push123=, 16
+ i32.shr_u $push25=, $pop124, $pop123
+ i32.store8 $discard=, sQ+6($pop127):p2align=1, $pop25
+ i32.const $push122=, 0
+ i32.const $push121=, 1103515245
+ i32.mul $push26=, $1, $pop121
+ i32.const $push120=, 12345
+ i32.add $push27=, $pop26, $pop120
+ tee_local $push119=, $1=, $pop27
+ i32.const $push118=, 16
+ i32.shr_u $push28=, $pop119, $pop118
+ i32.store8 $discard=, sQ+7($pop122), $pop28
+ i32.const $push117=, 0
+ i32.const $push116=, 1103515245
+ i32.mul $push29=, $1, $pop116
+ i32.const $push115=, 12345
+ i32.add $push30=, $pop29, $pop115
+ tee_local $push114=, $1=, $pop30
+ i32.const $push113=, 16
+ i32.shr_u $push31=, $pop114, $pop113
+ i32.store8 $discard=, sQ+8($pop117):p2align=3, $pop31
+ i32.const $push112=, 0
+ i32.const $push111=, 1103515245
+ i32.mul $push32=, $1, $pop111
+ i32.const $push110=, 12345
+ i32.add $push33=, $pop32, $pop110
+ tee_local $push109=, $1=, $pop33
+ i32.const $push108=, 16
+ i32.shr_u $push34=, $pop109, $pop108
+ i32.store8 $discard=, sQ+9($pop112), $pop34
+ i32.const $push107=, 0
+ i32.const $push106=, 1103515245
+ i32.mul $push35=, $1, $pop106
+ i32.const $push105=, 12345
+ i32.add $push36=, $pop35, $pop105
+ tee_local $push104=, $1=, $pop36
+ i32.const $push103=, 16
+ i32.shr_u $push37=, $pop104, $pop103
+ i32.store8 $discard=, sQ+10($pop107):p2align=1, $pop37
+ i32.const $push102=, 0
+ i32.const $push101=, 1103515245
+ i32.mul $push38=, $1, $pop101
+ i32.const $push100=, 12345
+ i32.add $push39=, $pop38, $pop100
+ tee_local $push99=, $1=, $pop39
+ i32.const $push98=, 16
+ i32.shr_u $push40=, $pop99, $pop98
+ i32.store8 $discard=, sQ+11($pop102), $pop40
+ i32.const $push97=, 0
+ i32.const $push96=, 1103515245
+ i32.mul $push41=, $1, $pop96
+ i32.const $push95=, 12345
+ i32.add $push42=, $pop41, $pop95
+ tee_local $push94=, $1=, $pop42
+ i32.const $push93=, 16
+ i32.shr_u $push43=, $pop94, $pop93
+ i32.store8 $discard=, sQ+12($pop97):p2align=2, $pop43
+ i32.const $push92=, 0
+ i32.const $push91=, 1103515245
+ i32.mul $push44=, $1, $pop91
+ i32.const $push90=, 12345
+ i32.add $push45=, $pop44, $pop90
+ tee_local $push89=, $1=, $pop45
+ i32.const $push88=, 16
+ i32.shr_u $push46=, $pop89, $pop88
+ i32.store8 $discard=, sQ+13($pop92), $pop46
+ i32.const $push87=, 0
+ i32.const $push86=, 1103515245
+ i32.mul $push47=, $1, $pop86
+ i32.const $push85=, 12345
+ i32.add $push48=, $pop47, $pop85
+ tee_local $push84=, $1=, $pop48
+ i32.const $push83=, 16
+ i32.shr_u $push49=, $pop84, $pop83
+ i32.store8 $discard=, sQ+14($pop87):p2align=1, $pop49
+ i32.const $push82=, 0
+ i32.load $0=, sQ($pop82):p2align=3
+ i32.const $push81=, 0
+ i32.const $push80=, 1103515245
+ i32.mul $push50=, $1, $pop80
+ i32.const $push79=, 12345
+ i32.add $push51=, $pop50, $pop79
+ tee_local $push78=, $1=, $pop51
+ i32.const $push77=, 16
+ i32.shr_u $push52=, $pop78, $pop77
+ i32.store8 $discard=, sQ+15($pop81), $pop52
+ i32.const $push76=, 0
+ i32.const $push75=, 0
+ i32.const $push55=, -341751747
+ i32.mul $push56=, $1, $pop55
+ i32.const $push57=, 229283573
+ i32.add $push58=, $pop56, $pop57
+ tee_local $push74=, $1=, $pop58
+ i32.const $push73=, 1103515245
+ i32.mul $push62=, $pop74, $pop73
+ i32.const $push72=, 12345
+ i32.add $push63=, $pop62, $pop72
+ i32.store $push64=, myrnd.s($pop75), $pop63
+ i32.const $push71=, 16
+ i32.shr_u $push65=, $pop64, $pop71
+ i32.const $push60=, 2047
+ i32.and $push66=, $pop65, $pop60
+ i32.const $push70=, 16
+ i32.shr_u $push59=, $1, $pop70
+ i32.const $push69=, 2047
+ i32.and $push61=, $pop59, $pop69
+ i32.add $push67=, $pop66, $pop61
+ i32.const $push53=, -4096
+ i32.and $push54=, $0, $pop53
+ i32.or $push68=, $pop67, $pop54
+ i32.store $discard=, sQ($pop76):p2align=3, $pop68
+ return
+ .endfunc
+.Lfunc_end102:
+ .size testQ, .Lfunc_end102-testQ
+
+ .section .text.retmeR,"ax",@progbits
+ .hidden retmeR
+ .globl retmeR
+ .type retmeR,@function
+retmeR: # @retmeR
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end103:
+ .size retmeR, .Lfunc_end103-retmeR
+
+ .section .text.fn1R,"ax",@progbits
+ .hidden fn1R
+ .globl fn1R
+ .type fn1R,@function
+fn1R: # @fn1R
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sR($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end104:
+ .size fn1R, .Lfunc_end104-fn1R
+
+ .section .text.fn2R,"ax",@progbits
+ .hidden fn2R
+ .globl fn2R
+ .type fn2R,@function
+fn2R: # @fn2R
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sR($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end105:
+ .size fn2R, .Lfunc_end105-fn2R
+
+ .section .text.retitR,"ax",@progbits
+ .hidden retitR
+ .globl retitR
+ .type retitR,@function
+retitR: # @retitR
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sR($pop0):p2align=3
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end106:
+ .size retitR, .Lfunc_end106-retitR
+
+ .section .text.fn3R,"ax",@progbits
+ .hidden fn3R
+ .globl fn3R
+ .type fn3R,@function
+fn3R: # @fn3R
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sR($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -4096
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sR($pop0):p2align=3, $pop7
+ return $0
+ .endfunc
+.Lfunc_end107:
+ .size fn3R, .Lfunc_end107-fn3R
+
+ .section .text.testR,"ax",@progbits
+ .hidden testR
+ .globl testR
+ .type testR,@function
+testR: # @testR
+ .local i32, i32
+# BB#0: # %if.end75
+ i32.const $push0=, 0
+ i32.const $push154=, 0
+ i32.load $push1=, myrnd.s($pop154)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push153=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop153, $pop6
+ i32.store8 $discard=, sR($pop0):p2align=3, $pop7
+ i32.const $push152=, 0
+ i32.const $push151=, 1103515245
+ i32.mul $push8=, $1, $pop151
+ i32.const $push150=, 12345
+ i32.add $push9=, $pop8, $pop150
+ tee_local $push149=, $1=, $pop9
+ i32.const $push148=, 16
+ i32.shr_u $push10=, $pop149, $pop148
+ i32.store8 $discard=, sR+1($pop152), $pop10
+ i32.const $push147=, 0
+ i32.const $push146=, 1103515245
+ i32.mul $push11=, $1, $pop146
+ i32.const $push145=, 12345
+ i32.add $push12=, $pop11, $pop145
+ tee_local $push144=, $1=, $pop12
+ i32.const $push143=, 16
+ i32.shr_u $push13=, $pop144, $pop143
+ i32.store8 $discard=, sR+2($pop147):p2align=1, $pop13
+ i32.const $push142=, 0
+ i32.const $push141=, 1103515245
+ i32.mul $push14=, $1, $pop141
+ i32.const $push140=, 12345
+ i32.add $push15=, $pop14, $pop140
+ tee_local $push139=, $1=, $pop15
+ i32.const $push138=, 16
+ i32.shr_u $push16=, $pop139, $pop138
+ i32.store8 $discard=, sR+3($pop142), $pop16
+ i32.const $push137=, 0
+ i32.const $push136=, 1103515245
+ i32.mul $push17=, $1, $pop136
+ i32.const $push135=, 12345
+ i32.add $push18=, $pop17, $pop135
+ tee_local $push134=, $1=, $pop18
+ i32.const $push133=, 16
+ i32.shr_u $push19=, $pop134, $pop133
+ i32.store8 $discard=, sR+4($pop137):p2align=2, $pop19
+ i32.const $push132=, 0
+ i32.const $push131=, 1103515245
+ i32.mul $push20=, $1, $pop131
+ i32.const $push130=, 12345
+ i32.add $push21=, $pop20, $pop130
+ tee_local $push129=, $1=, $pop21
+ i32.const $push128=, 16
+ i32.shr_u $push22=, $pop129, $pop128
+ i32.store8 $discard=, sR+5($pop132), $pop22
+ i32.const $push127=, 0
+ i32.const $push126=, 1103515245
+ i32.mul $push23=, $1, $pop126
+ i32.const $push125=, 12345
+ i32.add $push24=, $pop23, $pop125
+ tee_local $push124=, $1=, $pop24
+ i32.const $push123=, 16
+ i32.shr_u $push25=, $pop124, $pop123
+ i32.store8 $discard=, sR+6($pop127):p2align=1, $pop25
+ i32.const $push122=, 0
+ i32.const $push121=, 1103515245
+ i32.mul $push26=, $1, $pop121
+ i32.const $push120=, 12345
+ i32.add $push27=, $pop26, $pop120
+ tee_local $push119=, $1=, $pop27
+ i32.const $push118=, 16
+ i32.shr_u $push28=, $pop119, $pop118
+ i32.store8 $discard=, sR+7($pop122), $pop28
+ i32.const $push117=, 0
+ i32.const $push116=, 1103515245
+ i32.mul $push29=, $1, $pop116
+ i32.const $push115=, 12345
+ i32.add $push30=, $pop29, $pop115
+ tee_local $push114=, $1=, $pop30
+ i32.const $push113=, 16
+ i32.shr_u $push31=, $pop114, $pop113
+ i32.store8 $discard=, sR+8($pop117):p2align=3, $pop31
+ i32.const $push112=, 0
+ i32.const $push111=, 1103515245
+ i32.mul $push32=, $1, $pop111
+ i32.const $push110=, 12345
+ i32.add $push33=, $pop32, $pop110
+ tee_local $push109=, $1=, $pop33
+ i32.const $push108=, 16
+ i32.shr_u $push34=, $pop109, $pop108
+ i32.store8 $discard=, sR+9($pop112), $pop34
+ i32.const $push107=, 0
+ i32.const $push106=, 1103515245
+ i32.mul $push35=, $1, $pop106
+ i32.const $push105=, 12345
+ i32.add $push36=, $pop35, $pop105
+ tee_local $push104=, $1=, $pop36
+ i32.const $push103=, 16
+ i32.shr_u $push37=, $pop104, $pop103
+ i32.store8 $discard=, sR+10($pop107):p2align=1, $pop37
+ i32.const $push102=, 0
+ i32.const $push101=, 1103515245
+ i32.mul $push38=, $1, $pop101
+ i32.const $push100=, 12345
+ i32.add $push39=, $pop38, $pop100
+ tee_local $push99=, $1=, $pop39
+ i32.const $push98=, 16
+ i32.shr_u $push40=, $pop99, $pop98
+ i32.store8 $discard=, sR+11($pop102), $pop40
+ i32.const $push97=, 0
+ i32.const $push96=, 1103515245
+ i32.mul $push41=, $1, $pop96
+ i32.const $push95=, 12345
+ i32.add $push42=, $pop41, $pop95
+ tee_local $push94=, $1=, $pop42
+ i32.const $push93=, 16
+ i32.shr_u $push43=, $pop94, $pop93
+ i32.store8 $discard=, sR+12($pop97):p2align=2, $pop43
+ i32.const $push92=, 0
+ i32.const $push91=, 1103515245
+ i32.mul $push44=, $1, $pop91
+ i32.const $push90=, 12345
+ i32.add $push45=, $pop44, $pop90
+ tee_local $push89=, $1=, $pop45
+ i32.const $push88=, 16
+ i32.shr_u $push46=, $pop89, $pop88
+ i32.store8 $discard=, sR+13($pop92), $pop46
+ i32.const $push87=, 0
+ i32.const $push86=, 1103515245
+ i32.mul $push47=, $1, $pop86
+ i32.const $push85=, 12345
+ i32.add $push48=, $pop47, $pop85
+ tee_local $push84=, $1=, $pop48
+ i32.const $push83=, 16
+ i32.shr_u $push49=, $pop84, $pop83
+ i32.store8 $discard=, sR+14($pop87):p2align=1, $pop49
+ i32.const $push82=, 0
+ i32.load $0=, sR($pop82):p2align=3
+ i32.const $push81=, 0
+ i32.const $push80=, 1103515245
+ i32.mul $push50=, $1, $pop80
+ i32.const $push79=, 12345
+ i32.add $push51=, $pop50, $pop79
+ tee_local $push78=, $1=, $pop51
+ i32.const $push77=, 16
+ i32.shr_u $push52=, $pop78, $pop77
+ i32.store8 $discard=, sR+15($pop81), $pop52
+ i32.const $push76=, 0
+ i32.const $push75=, 0
+ i32.const $push55=, -341751747
+ i32.mul $push56=, $1, $pop55
+ i32.const $push57=, 229283573
+ i32.add $push58=, $pop56, $pop57
+ tee_local $push74=, $1=, $pop58
+ i32.const $push73=, 1103515245
+ i32.mul $push62=, $pop74, $pop73
+ i32.const $push72=, 12345
+ i32.add $push63=, $pop62, $pop72
+ i32.store $push64=, myrnd.s($pop75), $pop63
+ i32.const $push71=, 16
+ i32.shr_u $push65=, $pop64, $pop71
+ i32.const $push60=, 2047
+ i32.and $push66=, $pop65, $pop60
+ i32.const $push70=, 16
+ i32.shr_u $push59=, $1, $pop70
+ i32.const $push69=, 2047
+ i32.and $push61=, $pop59, $pop69
+ i32.add $push67=, $pop66, $pop61
+ i32.const $push53=, -4096
+ i32.and $push54=, $0, $pop53
+ i32.or $push68=, $pop67, $pop54
+ i32.store $discard=, sR($pop76):p2align=3, $pop68
+ return
+ .endfunc
+.Lfunc_end108:
+ .size testR, .Lfunc_end108-testR
+
+ .section .text.retmeS,"ax",@progbits
+ .hidden retmeS
+ .globl retmeS
+ .type retmeS,@function
+retmeS: # @retmeS
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end109:
+ .size retmeS, .Lfunc_end109-retmeS
+
+ .section .text.fn1S,"ax",@progbits
+ .hidden fn1S
+ .globl fn1S
+ .type fn1S,@function
+fn1S: # @fn1S
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sS($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end110:
+ .size fn1S, .Lfunc_end110-fn1S
+
+ .section .text.fn2S,"ax",@progbits
+ .hidden fn2S
+ .globl fn2S
+ .type fn2S,@function
+fn2S: # @fn2S
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sS($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end111:
+ .size fn2S, .Lfunc_end111-fn2S
+
+ .section .text.retitS,"ax",@progbits
+ .hidden retitS
+ .globl retitS
+ .type retitS,@function
+retitS: # @retitS
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sS($pop0):p2align=3
+ i32.const $push2=, 1
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end112:
+ .size retitS, .Lfunc_end112-retitS
+
+ .section .text.fn3S,"ax",@progbits
+ .hidden fn3S
+ .globl fn3S
+ .type fn3S,@function
+fn3S: # @fn3S
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load16_u $push1=, sS($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop2, $pop5
+ tee_local $push8=, $0=, $pop6
+ i32.const $push3=, 65534
+ i32.and $push4=, $1, $pop3
+ i32.or $push7=, $pop8, $pop4
+ i32.store16 $discard=, sS($pop0):p2align=3, $pop7
+ return $0
+ .endfunc
+.Lfunc_end113:
+ .size fn3S, .Lfunc_end113-fn3S
+
+ .section .text.testS,"ax",@progbits
+ .hidden testS
+ .globl testS
+ .type testS,@function
+testS: # @testS
+ .local i32, i32
+# BB#0: # %if.end90
+ i32.const $push0=, 0
+ i32.const $push153=, 0
+ i32.load $push1=, myrnd.s($pop153)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push152=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop152, $pop6
+ i32.store8 $discard=, sS($pop0):p2align=3, $pop7
+ i32.const $push151=, 0
+ i32.const $push150=, 1103515245
+ i32.mul $push8=, $1, $pop150
+ i32.const $push149=, 12345
+ i32.add $push9=, $pop8, $pop149
+ tee_local $push148=, $1=, $pop9
+ i32.const $push147=, 16
+ i32.shr_u $push10=, $pop148, $pop147
+ i32.store8 $discard=, sS+1($pop151), $pop10
+ i32.const $push146=, 0
+ i32.const $push145=, 1103515245
+ i32.mul $push11=, $1, $pop145
+ i32.const $push144=, 12345
+ i32.add $push12=, $pop11, $pop144
+ tee_local $push143=, $1=, $pop12
+ i32.const $push142=, 16
+ i32.shr_u $push13=, $pop143, $pop142
+ i32.store8 $discard=, sS+2($pop146):p2align=1, $pop13
+ i32.const $push141=, 0
+ i32.const $push140=, 1103515245
+ i32.mul $push14=, $1, $pop140
+ i32.const $push139=, 12345
+ i32.add $push15=, $pop14, $pop139
+ tee_local $push138=, $1=, $pop15
+ i32.const $push137=, 16
+ i32.shr_u $push16=, $pop138, $pop137
+ i32.store8 $discard=, sS+3($pop141), $pop16
+ i32.const $push136=, 0
+ i32.const $push135=, 1103515245
+ i32.mul $push17=, $1, $pop135
+ i32.const $push134=, 12345
+ i32.add $push18=, $pop17, $pop134
+ tee_local $push133=, $1=, $pop18
+ i32.const $push132=, 16
+ i32.shr_u $push19=, $pop133, $pop132
+ i32.store8 $discard=, sS+4($pop136):p2align=2, $pop19
+ i32.const $push131=, 0
+ i32.const $push130=, 1103515245
+ i32.mul $push20=, $1, $pop130
+ i32.const $push129=, 12345
+ i32.add $push21=, $pop20, $pop129
+ tee_local $push128=, $1=, $pop21
+ i32.const $push127=, 16
+ i32.shr_u $push22=, $pop128, $pop127
+ i32.store8 $discard=, sS+5($pop131), $pop22
+ i32.const $push126=, 0
+ i32.const $push125=, 1103515245
+ i32.mul $push23=, $1, $pop125
+ i32.const $push124=, 12345
+ i32.add $push24=, $pop23, $pop124
+ tee_local $push123=, $1=, $pop24
+ i32.const $push122=, 16
+ i32.shr_u $push25=, $pop123, $pop122
+ i32.store8 $discard=, sS+6($pop126):p2align=1, $pop25
+ i32.const $push121=, 0
+ i32.const $push120=, 1103515245
+ i32.mul $push26=, $1, $pop120
+ i32.const $push119=, 12345
+ i32.add $push27=, $pop26, $pop119
+ tee_local $push118=, $1=, $pop27
+ i32.const $push117=, 16
+ i32.shr_u $push28=, $pop118, $pop117
+ i32.store8 $discard=, sS+7($pop121), $pop28
+ i32.const $push116=, 0
+ i32.const $push115=, 1103515245
+ i32.mul $push29=, $1, $pop115
+ i32.const $push114=, 12345
+ i32.add $push30=, $pop29, $pop114
+ tee_local $push113=, $1=, $pop30
+ i32.const $push112=, 16
+ i32.shr_u $push31=, $pop113, $pop112
+ i32.store8 $discard=, sS+8($pop116):p2align=3, $pop31
+ i32.const $push111=, 0
+ i32.const $push110=, 1103515245
+ i32.mul $push32=, $1, $pop110
+ i32.const $push109=, 12345
+ i32.add $push33=, $pop32, $pop109
+ tee_local $push108=, $1=, $pop33
+ i32.const $push107=, 16
+ i32.shr_u $push34=, $pop108, $pop107
+ i32.store8 $discard=, sS+9($pop111), $pop34
+ i32.const $push106=, 0
+ i32.const $push105=, 1103515245
+ i32.mul $push35=, $1, $pop105
+ i32.const $push104=, 12345
+ i32.add $push36=, $pop35, $pop104
+ tee_local $push103=, $1=, $pop36
+ i32.const $push102=, 16
+ i32.shr_u $push37=, $pop103, $pop102
+ i32.store8 $discard=, sS+10($pop106):p2align=1, $pop37
+ i32.const $push101=, 0
+ i32.const $push100=, 1103515245
+ i32.mul $push38=, $1, $pop100
+ i32.const $push99=, 12345
+ i32.add $push39=, $pop38, $pop99
+ tee_local $push98=, $1=, $pop39
+ i32.const $push97=, 16
+ i32.shr_u $push40=, $pop98, $pop97
+ i32.store8 $discard=, sS+11($pop101), $pop40
+ i32.const $push96=, 0
+ i32.const $push95=, 1103515245
+ i32.mul $push41=, $1, $pop95
+ i32.const $push94=, 12345
+ i32.add $push42=, $pop41, $pop94
+ tee_local $push93=, $1=, $pop42
+ i32.const $push92=, 16
+ i32.shr_u $push43=, $pop93, $pop92
+ i32.store8 $discard=, sS+12($pop96):p2align=2, $pop43
+ i32.const $push91=, 0
+ i32.const $push90=, 1103515245
+ i32.mul $push44=, $1, $pop90
+ i32.const $push89=, 12345
+ i32.add $push45=, $pop44, $pop89
+ tee_local $push88=, $1=, $pop45
+ i32.const $push87=, 16
+ i32.shr_u $push46=, $pop88, $pop87
+ i32.store8 $discard=, sS+13($pop91), $pop46
+ i32.const $push86=, 0
+ i32.const $push85=, 1103515245
+ i32.mul $push47=, $1, $pop85
+ i32.const $push84=, 12345
+ i32.add $push48=, $pop47, $pop84
+ tee_local $push83=, $1=, $pop48
+ i32.const $push82=, 16
+ i32.shr_u $push49=, $pop83, $pop82
+ i32.store8 $discard=, sS+14($pop86):p2align=1, $pop49
+ i32.const $push81=, 0
+ i32.load16_u $0=, sS($pop81):p2align=3
+ i32.const $push80=, 0
+ i32.const $push79=, 1103515245
+ i32.mul $push50=, $1, $pop79
+ i32.const $push78=, 12345
+ i32.add $push51=, $pop50, $pop78
+ tee_local $push77=, $1=, $pop51
+ i32.const $push76=, 16
+ i32.shr_u $push52=, $pop77, $pop76
+ i32.store8 $discard=, sS+15($pop80), $pop52
+ i32.const $push75=, 0
+ i32.const $push74=, 0
+ i32.const $push55=, -341751747
+ i32.mul $push56=, $1, $pop55
+ i32.const $push57=, 229283573
+ i32.add $push58=, $pop56, $pop57
+ tee_local $push73=, $1=, $pop58
+ i32.const $push72=, 1103515245
+ i32.mul $push60=, $pop73, $pop72
+ i32.const $push71=, 12345
+ i32.add $push61=, $pop60, $pop71
+ i32.store $push62=, myrnd.s($pop74), $pop61
+ i32.const $push70=, 16
+ i32.shr_u $push63=, $pop62, $pop70
+ i32.const $push69=, 16
+ i32.shr_u $push59=, $1, $pop69
+ i32.add $push64=, $pop63, $pop59
+ i32.const $push65=, 1
+ i32.and $push66=, $pop64, $pop65
+ i32.const $push53=, 65534
+ i32.and $push54=, $0, $pop53
+ i32.or $push67=, $pop66, $pop54
+ i32.store16 $discard=, sS($pop75):p2align=3, $pop67
+ block
+ i32.const $push68=, 1
+ i32.const $push154=, 0
+ i32.eq $push155=, $pop68, $pop154
+ br_if $pop155, 0 # 0: down to label22
+# BB#1: # %if.end134
+ return
+.LBB114_2: # %if.then133
+ end_block # label22:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end114:
+ .size testS, .Lfunc_end114-testS
+
+ .section .text.retmeT,"ax",@progbits
+ .hidden retmeT
+ .globl retmeT
+ .type retmeT,@function
+retmeT: # @retmeT
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($1):p2align=1
+ i32.store $discard=, 0($0):p2align=1, $pop0
+ return
+ .endfunc
+.Lfunc_end115:
+ .size retmeT, .Lfunc_end115-retmeT
+
+ .section .text.fn1T,"ax",@progbits
+ .hidden fn1T
+ .globl fn1T
+ .type fn1T,@function
+fn1T: # @fn1T
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sT($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end116:
+ .size fn1T, .Lfunc_end116-fn1T
+
+ .section .text.fn2T,"ax",@progbits
+ .hidden fn2T
+ .globl fn2T
+ .type fn2T,@function
+fn2T: # @fn2T
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sT($pop0):p2align=2
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end117:
+ .size fn2T, .Lfunc_end117-fn2T
+
+ .section .text.retitT,"ax",@progbits
+ .hidden retitT
+ .globl retitT
+ .type retitT,@function
+retitT: # @retitT
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sT($pop0):p2align=2
+ i32.const $push2=, 1
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end118:
+ .size retitT, .Lfunc_end118-retitT
+
+ .section .text.fn3T,"ax",@progbits
+ .hidden fn3T
+ .globl fn3T
+ .type fn3T,@function
+fn3T: # @fn3T
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load16_u $push1=, sT($pop10):p2align=2
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop2, $pop5
+ tee_local $push8=, $0=, $pop6
+ i32.const $push3=, 65534
+ i32.and $push4=, $1, $pop3
+ i32.or $push7=, $pop8, $pop4
+ i32.store16 $discard=, sT($pop0):p2align=2, $pop7
+ return $0
+ .endfunc
+.Lfunc_end119:
+ .size fn3T, .Lfunc_end119-fn3T
+
+ .section .text.testT,"ax",@progbits
+ .hidden testT
+ .globl testT
+ .type testT,@function
+testT: # @testT
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push78=, 0
+ i32.const $push77=, 0
+ i32.load $push1=, myrnd.s($pop77)
+ i32.const $push76=, 1103515245
+ i32.mul $push2=, $pop1, $pop76
+ i32.const $push75=, 12345
+ i32.add $push3=, $pop2, $pop75
+ tee_local $push74=, $0=, $pop3
+ i32.const $push73=, 16
+ i32.shr_u $push4=, $pop74, $pop73
+ i32.store8 $discard=, sT($pop78):p2align=2, $pop4
+ i32.const $push72=, 0
+ i32.const $push71=, 1103515245
+ i32.mul $push5=, $0, $pop71
+ i32.const $push70=, 12345
+ i32.add $push6=, $pop5, $pop70
+ tee_local $push69=, $0=, $pop6
+ i32.const $push68=, 16
+ i32.shr_u $push7=, $pop69, $pop68
+ i32.store8 $discard=, sT+1($pop72), $pop7
+ i32.const $push67=, 0
+ i32.const $push66=, 1103515245
+ i32.mul $push8=, $0, $pop66
+ i32.const $push65=, 12345
+ i32.add $push9=, $pop8, $pop65
+ tee_local $push64=, $0=, $pop9
+ i32.const $push63=, 16
+ i32.shr_u $push10=, $pop64, $pop63
+ i32.store8 $discard=, sT+2($pop67):p2align=1, $pop10
+ i32.const $push62=, 0
+ i32.const $push61=, 1103515245
+ i32.mul $push11=, $0, $pop61
+ i32.const $push60=, 12345
+ i32.add $push12=, $pop11, $pop60
+ tee_local $push59=, $0=, $pop12
+ i32.const $push58=, 16
+ i32.shr_u $push13=, $pop59, $pop58
+ i32.store8 $discard=, sT+3($pop62), $pop13
+ i32.const $push57=, 0
+ i32.const $push56=, 1103515245
+ i32.mul $push15=, $0, $pop56
+ i32.const $push55=, 12345
+ i32.add $push16=, $pop15, $pop55
+ tee_local $push54=, $3=, $pop16
+ i32.const $push53=, 16
+ i32.shr_u $push17=, $pop54, $pop53
+ tee_local $push52=, $2=, $pop17
+ i32.const $push51=, 1
+ i32.and $push21=, $pop52, $pop51
+ i32.const $push50=, 0
+ i32.load16_u $push14=, sT($pop50):p2align=2
+ i32.const $push49=, 65534
+ i32.and $push22=, $pop14, $pop49
+ i32.or $push23=, $pop21, $pop22
+ i32.store16 $discard=, sT($pop57):p2align=2, $pop23
+ i32.const $push48=, 0
+ i32.load $0=, sT($pop48)
+ block
+ i32.const $push47=, 0
+ i32.const $push46=, 1103515245
+ i32.mul $push18=, $3, $pop46
+ i32.const $push45=, 12345
+ i32.add $push0=, $pop18, $pop45
+ i32.store $push19=, myrnd.s($pop47), $pop0
+ tee_local $push44=, $1=, $pop19
+ i32.const $push43=, 16
+ i32.shr_u $push20=, $pop44, $pop43
+ tee_local $push42=, $3=, $pop20
+ i32.add $push25=, $pop42, $2
+ i32.add $push24=, $3, $0
+ i32.xor $push26=, $pop25, $pop24
+ i32.const $push41=, 1
+ i32.and $push27=, $pop26, $pop41
+ br_if $pop27, 0 # 0: down to label23
+# BB#1: # %if.end94
+ i32.const $push88=, 0
+ i32.const $push87=, 0
+ i32.const $push29=, -2139243339
+ i32.mul $push30=, $1, $pop29
+ i32.const $push31=, -1492899873
+ i32.add $push32=, $pop30, $pop31
+ tee_local $push86=, $3=, $pop32
+ i32.const $push85=, 1103515245
+ i32.mul $push34=, $pop86, $pop85
+ i32.const $push84=, 12345
+ i32.add $push35=, $pop34, $pop84
+ i32.store $push36=, myrnd.s($pop87), $pop35
+ i32.const $push83=, 16
+ i32.shr_u $push37=, $pop36, $pop83
+ i32.const $push82=, 16
+ i32.shr_u $push33=, $3, $pop82
+ i32.add $push38=, $pop37, $pop33
+ i32.const $push81=, 1
+ i32.and $push39=, $pop38, $pop81
+ i32.const $push80=, 65534
+ i32.and $push28=, $0, $pop80
+ i32.or $push40=, $pop39, $pop28
+ i32.store16 $discard=, sT($pop88):p2align=2, $pop40
+ block
+ i32.const $push79=, 1
+ i32.const $push89=, 0
+ i32.eq $push90=, $pop79, $pop89
+ br_if $pop90, 0 # 0: down to label24
+# BB#2: # %if.end140
+ return
+.LBB120_3: # %if.then139
+ end_block # label24:
+ call abort@FUNCTION
+ unreachable
+.LBB120_4: # %if.then
+ end_block # label23:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end120:
+ .size testT, .Lfunc_end120-testT
+
+ .section .text.retmeU,"ax",@progbits
+ .hidden retmeU
+ .globl retmeU
+ .type retmeU,@function
+retmeU: # @retmeU
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end121:
+ .size retmeU, .Lfunc_end121-retmeU
+
+ .section .text.fn1U,"ax",@progbits
+ .hidden fn1U
+ .globl fn1U
+ .type fn1U,@function
+fn1U: # @fn1U
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sU($pop0):p2align=3
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end122:
+ .size fn1U, .Lfunc_end122-fn1U
+
+ .section .text.fn2U,"ax",@progbits
+ .hidden fn2U
+ .globl fn2U
+ .type fn2U,@function
+fn2U: # @fn2U
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sU($pop0):p2align=3
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end123:
+ .size fn2U, .Lfunc_end123-fn2U
+
+ .section .text.retitU,"ax",@progbits
+ .hidden retitU
+ .globl retitU
+ .type retitU,@function
+retitU: # @retitU
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sU($pop0):p2align=3
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ return $pop5
+ .endfunc
+.Lfunc_end124:
+ .size retitU, .Lfunc_end124-retitU
+
+ .section .text.fn3U,"ax",@progbits
+ .hidden fn3U
+ .globl fn3U
+ .type fn3U,@function
+fn3U: # @fn3U
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i32.load16_u $push1=, sU($pop16):p2align=3
+ tee_local $push15=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop15, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push14=, $0=, $pop4
+ i32.const $push13=, 6
+ i32.shl $push5=, $pop14, $pop13
+ i32.const $push6=, 64
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 65471
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store16 $discard=, sU($pop0):p2align=3, $pop10
+ i32.const $push11=, 1
+ i32.and $push12=, $0, $pop11
+ return $pop12
+ .endfunc
+.Lfunc_end125:
+ .size fn3U, .Lfunc_end125-fn3U
+
+ .section .text.testU,"ax",@progbits
+ .hidden testU
+ .globl testU
+ .type testU,@function
+testU: # @testU
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push9=, 0
+ i32.const $push226=, 0
+ i32.load $push10=, myrnd.s($pop226)
+ i32.const $push11=, 1103515245
+ i32.mul $push12=, $pop10, $pop11
+ i32.const $push13=, 12345
+ i32.add $push14=, $pop12, $pop13
+ tee_local $push225=, $2=, $pop14
+ i32.const $push224=, 16
+ i32.shr_u $push15=, $pop225, $pop224
+ i32.store8 $discard=, sU($pop9):p2align=3, $pop15
+ i32.const $push223=, 0
+ i32.const $push222=, 1103515245
+ i32.mul $push16=, $2, $pop222
+ i32.const $push221=, 12345
+ i32.add $push17=, $pop16, $pop221
+ tee_local $push220=, $2=, $pop17
+ i32.const $push219=, 16
+ i32.shr_u $push18=, $pop220, $pop219
+ i32.store8 $discard=, sU+1($pop223), $pop18
+ i32.const $push218=, 0
+ i32.const $push217=, 1103515245
+ i32.mul $push19=, $2, $pop217
+ i32.const $push216=, 12345
+ i32.add $push20=, $pop19, $pop216
+ tee_local $push215=, $2=, $pop20
+ i32.const $push214=, 16
+ i32.shr_u $push21=, $pop215, $pop214
+ i32.store8 $discard=, sU+2($pop218):p2align=1, $pop21
+ i32.const $push213=, 0
+ i32.const $push212=, 1103515245
+ i32.mul $push22=, $2, $pop212
+ i32.const $push211=, 12345
+ i32.add $push23=, $pop22, $pop211
+ tee_local $push210=, $2=, $pop23
+ i32.const $push209=, 16
+ i32.shr_u $push24=, $pop210, $pop209
+ i32.store8 $discard=, sU+3($pop213), $pop24
+ i32.const $push208=, 0
+ i32.const $push207=, 1103515245
+ i32.mul $push25=, $2, $pop207
+ i32.const $push206=, 12345
+ i32.add $push26=, $pop25, $pop206
+ tee_local $push205=, $2=, $pop26
+ i32.const $push204=, 16
+ i32.shr_u $push27=, $pop205, $pop204
+ i32.store8 $discard=, sU+4($pop208):p2align=2, $pop27
+ i32.const $push203=, 0
+ i32.const $push202=, 1103515245
+ i32.mul $push28=, $2, $pop202
+ i32.const $push201=, 12345
+ i32.add $push29=, $pop28, $pop201
+ tee_local $push200=, $2=, $pop29
+ i32.const $push199=, 16
+ i32.shr_u $push30=, $pop200, $pop199
+ i32.store8 $discard=, sU+5($pop203), $pop30
+ i32.const $push198=, 0
+ i32.const $push197=, 1103515245
+ i32.mul $push31=, $2, $pop197
+ i32.const $push196=, 12345
+ i32.add $push32=, $pop31, $pop196
+ tee_local $push195=, $2=, $pop32
+ i32.const $push194=, 16
+ i32.shr_u $push33=, $pop195, $pop194
+ i32.store8 $discard=, sU+6($pop198):p2align=1, $pop33
+ i32.const $push193=, 0
+ i32.const $push192=, 1103515245
+ i32.mul $push34=, $2, $pop192
+ i32.const $push191=, 12345
+ i32.add $push35=, $pop34, $pop191
+ tee_local $push190=, $2=, $pop35
+ i32.const $push189=, 16
+ i32.shr_u $push36=, $pop190, $pop189
+ i32.store8 $discard=, sU+7($pop193), $pop36
+ i32.const $push188=, 0
+ i32.const $push187=, 1103515245
+ i32.mul $push37=, $2, $pop187
+ i32.const $push186=, 12345
+ i32.add $push38=, $pop37, $pop186
+ tee_local $push185=, $2=, $pop38
+ i32.const $push184=, 16
+ i32.shr_u $push39=, $pop185, $pop184
+ i32.store8 $discard=, sU+8($pop188):p2align=3, $pop39
+ i32.const $push183=, 0
+ i32.const $push182=, 1103515245
+ i32.mul $push40=, $2, $pop182
+ i32.const $push181=, 12345
+ i32.add $push41=, $pop40, $pop181
+ tee_local $push180=, $2=, $pop41
+ i32.const $push179=, 16
+ i32.shr_u $push42=, $pop180, $pop179
+ i32.store8 $discard=, sU+9($pop183), $pop42
+ i32.const $push178=, 0
+ i32.const $push177=, 1103515245
+ i32.mul $push43=, $2, $pop177
+ i32.const $push176=, 12345
+ i32.add $push44=, $pop43, $pop176
+ tee_local $push175=, $2=, $pop44
+ i32.const $push174=, 16
+ i32.shr_u $push45=, $pop175, $pop174
+ i32.store8 $discard=, sU+10($pop178):p2align=1, $pop45
+ i32.const $push173=, 0
+ i32.const $push172=, 1103515245
+ i32.mul $push46=, $2, $pop172
+ i32.const $push171=, 12345
+ i32.add $push47=, $pop46, $pop171
+ tee_local $push170=, $2=, $pop47
+ i32.const $push169=, 16
+ i32.shr_u $push48=, $pop170, $pop169
+ i32.store8 $discard=, sU+11($pop173), $pop48
+ i32.const $push168=, 0
+ i32.const $push167=, 1103515245
+ i32.mul $push49=, $2, $pop167
+ i32.const $push166=, 12345
+ i32.add $push50=, $pop49, $pop166
+ tee_local $push165=, $2=, $pop50
+ i32.const $push164=, 16
+ i32.shr_u $push51=, $pop165, $pop164
+ i32.store8 $discard=, sU+12($pop168):p2align=2, $pop51
+ i32.const $push163=, 0
+ i32.const $push162=, 1103515245
+ i32.mul $push52=, $2, $pop162
+ i32.const $push161=, 12345
+ i32.add $push53=, $pop52, $pop161
+ tee_local $push160=, $2=, $pop53
+ i32.const $push159=, 16
+ i32.shr_u $push54=, $pop160, $pop159
+ i32.store8 $discard=, sU+13($pop163), $pop54
+ i32.const $push158=, 0
+ i32.const $push157=, 1103515245
+ i32.mul $push55=, $2, $pop157
+ i32.const $push156=, 12345
+ i32.add $push56=, $pop55, $pop156
+ tee_local $push155=, $2=, $pop56
+ i32.const $push154=, 16
+ i32.shr_u $push57=, $pop155, $pop154
+ i32.store8 $discard=, sU+14($pop158):p2align=1, $pop57
+ i32.const $push153=, 0
+ i32.const $push152=, 1103515245
+ i32.mul $push58=, $2, $pop152
+ i32.const $push151=, 12345
+ i32.add $push59=, $pop58, $pop151
+ tee_local $push150=, $2=, $pop59
+ i32.const $push149=, 16
+ i32.shr_u $push60=, $pop150, $pop149
+ i32.store8 $discard=, sU+15($pop153), $pop60
+ i32.const $push148=, 0
+ i32.load16_u $0=, sU($pop148):p2align=3
+ i32.const $push147=, 0
+ i32.const $push146=, 1103515245
+ i32.mul $push61=, $2, $pop146
+ i32.const $push145=, 12345
+ i32.add $push62=, $pop61, $pop145
+ tee_local $push144=, $2=, $pop62
+ i32.const $push143=, 1103515245
+ i32.mul $push65=, $pop144, $pop143
+ i32.const $push142=, 12345
+ i32.add $push1=, $pop65, $pop142
+ i32.store $1=, myrnd.s($pop147), $pop1
+ i32.const $push141=, 0
+ i32.const $push140=, 16
+ i32.shr_u $push0=, $2, $pop140
+ tee_local $push139=, $4=, $pop0
+ i32.const $push63=, 2047
+ i32.and $push64=, $pop139, $pop63
+ tee_local $push138=, $3=, $pop64
+ i32.const $push66=, 6
+ i32.shl $push67=, $pop138, $pop66
+ i32.const $push68=, 64
+ i32.and $push69=, $pop67, $pop68
+ i32.const $push70=, -65
+ i32.and $push3=, $0, $pop70
+ tee_local $push137=, $2=, $pop3
+ i32.or $push71=, $pop69, $pop137
+ tee_local $push136=, $0=, $pop71
+ i32.store16 $discard=, sU($pop141):p2align=3, $pop136
+ block
+ i32.const $push72=, 65472
+ i32.and $push73=, $0, $pop72
+ i32.const $push135=, 6
+ i32.shr_u $push4=, $pop73, $pop135
+ tee_local $push134=, $0=, $pop4
+ i32.xor $push74=, $pop134, $3
+ i32.const $push133=, 1
+ i32.and $push75=, $pop74, $pop133
+ br_if $pop75, 0 # 0: down to label25
+# BB#1: # %lor.lhs.false41
+ i32.const $push229=, 16
+ i32.shr_u $push2=, $1, $pop229
+ tee_local $push228=, $3=, $pop2
+ i32.add $push76=, $0, $pop228
+ i32.add $push77=, $3, $4
+ i32.xor $push78=, $pop76, $pop77
+ i32.const $push227=, 1
+ i32.and $push79=, $pop78, $pop227
+ br_if $pop79, 0 # 0: down to label25
+# BB#2: # %if.end
+ i32.const $push87=, 0
+ i32.const $push80=, 1103515245
+ i32.mul $push81=, $1, $pop80
+ i32.const $push82=, 12345
+ i32.add $push83=, $pop81, $pop82
+ tee_local $push240=, $0=, $pop83
+ i32.const $push239=, 1103515245
+ i32.mul $push86=, $pop240, $pop239
+ i32.const $push238=, 12345
+ i32.add $push6=, $pop86, $pop238
+ i32.store $1=, myrnd.s($pop87), $pop6
+ i32.const $push237=, 0
+ i32.const $push236=, 16
+ i32.shr_u $push5=, $0, $pop236
+ tee_local $push235=, $4=, $pop5
+ i32.const $push84=, 2047
+ i32.and $push85=, $pop235, $pop84
+ tee_local $push234=, $0=, $pop85
+ i32.const $push88=, 6
+ i32.shl $push89=, $pop234, $pop88
+ i32.const $push90=, 64
+ i32.and $push91=, $pop89, $pop90
+ i32.or $push92=, $pop91, $2
+ tee_local $push233=, $3=, $pop92
+ i32.store16 $discard=, sU($pop237):p2align=3, $pop233
+ block
+ i32.const $push93=, 65472
+ i32.and $push94=, $3, $pop93
+ i32.const $push232=, 6
+ i32.shr_u $push8=, $pop94, $pop232
+ tee_local $push231=, $3=, $pop8
+ i32.xor $push95=, $pop231, $0
+ i32.const $push230=, 1
+ i32.and $push96=, $pop95, $pop230
+ br_if $pop96, 0 # 0: down to label26
+# BB#3: # %lor.lhs.false85
+ i32.const $push245=, 16
+ i32.shr_u $push7=, $1, $pop245
+ tee_local $push244=, $0=, $pop7
+ i32.add $push97=, $3, $pop244
+ i32.const $push243=, 1
+ i32.and $push98=, $pop97, $pop243
+ i32.const $push99=, 15
+ i32.rem_u $push100=, $pop98, $pop99
+ i32.add $push101=, $0, $4
+ i32.const $push242=, 1
+ i32.and $push102=, $pop101, $pop242
+ i32.const $push241=, 15
+ i32.rem_u $push103=, $pop102, $pop241
+ i32.ne $push104=, $pop100, $pop103
+ br_if $pop104, 0 # 0: down to label26
+# BB#4: # %lor.lhs.false130
+ i32.const $push113=, 0
+ i32.const $push105=, 1103515245
+ i32.mul $push106=, $1, $pop105
+ i32.const $push107=, 12345
+ i32.add $push108=, $pop106, $pop107
+ tee_local $push254=, $1=, $pop108
+ i32.const $push116=, 10
+ i32.shr_u $push117=, $pop254, $pop116
+ i32.const $push118=, 64
+ i32.and $push119=, $pop117, $pop118
+ i32.or $push120=, $pop119, $2
+ i32.const $push121=, 65472
+ i32.and $push122=, $pop120, $pop121
+ i32.const $push123=, 6
+ i32.shr_u $push124=, $pop122, $pop123
+ i32.const $push253=, 0
+ i32.const $push252=, 1103515245
+ i32.mul $push111=, $1, $pop252
+ i32.const $push251=, 12345
+ i32.add $push112=, $pop111, $pop251
+ i32.store $push114=, myrnd.s($pop253), $pop112
+ i32.const $push109=, 16
+ i32.shr_u $push115=, $pop114, $pop109
+ tee_local $push250=, $0=, $pop115
+ i32.add $push125=, $pop124, $pop250
+ tee_local $push249=, $3=, $pop125
+ i32.const $push248=, 6
+ i32.shl $push126=, $pop249, $pop248
+ i32.const $push247=, 64
+ i32.and $push127=, $pop126, $pop247
+ i32.or $push128=, $pop127, $2
+ i32.store16 $discard=, sU($pop113):p2align=3, $pop128
+ block
+ i32.const $push246=, 16
+ i32.shr_u $push110=, $1, $pop246
+ i32.add $push129=, $0, $pop110
+ i32.xor $push130=, $pop129, $3
+ i32.const $push131=, 1
+ i32.and $push132=, $pop130, $pop131
+ br_if $pop132, 0 # 0: down to label27
+# BB#5: # %if.end136
+ return
+.LBB126_6: # %if.then135
+ end_block # label27:
+ call abort@FUNCTION
+ unreachable
+.LBB126_7: # %if.then91
+ end_block # label26:
+ call abort@FUNCTION
+ unreachable
+.LBB126_8: # %if.then
+ end_block # label25:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end126:
+ .size testU, .Lfunc_end126-testU
+
+ .section .text.retmeV,"ax",@progbits
+ .hidden retmeV
+ .globl retmeV
+ .type retmeV,@function
+retmeV: # @retmeV
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($1):p2align=1
+ i32.store $discard=, 0($0):p2align=1, $pop0
+ return
+ .endfunc
+.Lfunc_end127:
+ .size retmeV, .Lfunc_end127-retmeV
+
+ .section .text.fn1V,"ax",@progbits
+ .hidden fn1V
+ .globl fn1V
+ .type fn1V,@function
+fn1V: # @fn1V
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sV($pop0)
+ i32.const $push2=, 8
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end128:
+ .size fn1V, .Lfunc_end128-fn1V
+
+ .section .text.fn2V,"ax",@progbits
+ .hidden fn2V
+ .globl fn2V
+ .type fn2V,@function
+fn2V: # @fn2V
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sV+1($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end129:
+ .size fn2V, .Lfunc_end129-fn2V
+
+ .section .text.retitV,"ax",@progbits
+ .hidden retitV
+ .globl retitV
+ .type retitV,@function
+retitV: # @retitV
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sV+1($pop0)
+ i32.const $push2=, 1
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end130:
+ .size retitV, .Lfunc_end130-retitV
+
+ .section .text.fn3V,"ax",@progbits
+ .hidden fn3V
+ .globl fn3V
+ .type fn3V,@function
+fn3V: # @fn3V
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i32.load16_u $push1=, sV($pop16):p2align=2
+ tee_local $push15=, $1=, $pop1
+ i32.const $push2=, 8
+ i32.shr_u $push3=, $pop15, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push14=, $0=, $pop4
+ i32.const $push13=, 8
+ i32.shl $push5=, $pop14, $pop13
+ i32.const $push6=, 256
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 65279
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store16 $discard=, sV($pop0):p2align=2, $pop10
+ i32.const $push11=, 1
+ i32.and $push12=, $0, $pop11
+ return $pop12
+ .endfunc
+.Lfunc_end131:
+ .size fn3V, .Lfunc_end131-fn3V
+
+ .section .text.testV,"ax",@progbits
+ .hidden testV
+ .globl testV
+ .type testV,@function
+testV: # @testV
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push119=, 0
+ i32.const $push118=, 0
+ i32.load $push6=, myrnd.s($pop118)
+ i32.const $push117=, 1103515245
+ i32.mul $push7=, $pop6, $pop117
+ i32.const $push116=, 12345
+ i32.add $push8=, $pop7, $pop116
+ tee_local $push115=, $0=, $pop8
+ i32.const $push114=, 16
+ i32.shr_u $push9=, $pop115, $pop114
+ i32.store8 $discard=, sV($pop119):p2align=2, $pop9
+ i32.const $push113=, 0
+ i32.const $push112=, 1103515245
+ i32.mul $push10=, $0, $pop112
+ i32.const $push111=, 12345
+ i32.add $push11=, $pop10, $pop111
+ tee_local $push110=, $0=, $pop11
+ i32.const $push109=, 16
+ i32.shr_u $push12=, $pop110, $pop109
+ i32.store8 $discard=, sV+1($pop113), $pop12
+ i32.const $push108=, 0
+ i32.const $push107=, 1103515245
+ i32.mul $push13=, $0, $pop107
+ i32.const $push106=, 12345
+ i32.add $push14=, $pop13, $pop106
+ tee_local $push105=, $0=, $pop14
+ i32.const $push104=, 16
+ i32.shr_u $push15=, $pop105, $pop104
+ i32.store8 $discard=, sV+2($pop108):p2align=1, $pop15
+ i32.const $push103=, 0
+ i32.const $push102=, 1103515245
+ i32.mul $push16=, $0, $pop102
+ i32.const $push101=, 12345
+ i32.add $push17=, $pop16, $pop101
+ tee_local $push100=, $0=, $pop17
+ i32.const $push99=, 16
+ i32.shr_u $push18=, $pop100, $pop99
+ i32.store8 $discard=, sV+3($pop103), $pop18
+ i32.const $push98=, 0
+ i32.const $push97=, 1103515245
+ i32.mul $push20=, $0, $pop97
+ i32.const $push96=, 12345
+ i32.add $push21=, $pop20, $pop96
+ tee_local $push95=, $3=, $pop21
+ i32.const $push94=, 8
+ i32.shr_u $push26=, $pop95, $pop94
+ i32.const $push93=, 256
+ i32.and $push27=, $pop26, $pop93
+ i32.const $push92=, 0
+ i32.load16_u $push19=, sV($pop92):p2align=2
+ i32.const $push91=, 65279
+ i32.and $push28=, $pop19, $pop91
+ i32.or $push29=, $pop27, $pop28
+ i32.store16 $discard=, sV($pop98):p2align=2, $pop29
+ i32.const $push90=, 0
+ i32.load $0=, sV($pop90)
+ block
+ i32.const $push89=, 0
+ i32.const $push88=, 1103515245
+ i32.mul $push23=, $3, $pop88
+ i32.const $push87=, 12345
+ i32.add $push0=, $pop23, $pop87
+ i32.store $push24=, myrnd.s($pop89), $pop0
+ tee_local $push86=, $2=, $pop24
+ i32.const $push85=, 16
+ i32.shr_u $push25=, $pop86, $pop85
+ tee_local $push84=, $1=, $pop25
+ i32.const $push83=, 16
+ i32.shr_u $push22=, $3, $pop83
+ i32.add $push32=, $pop84, $pop22
+ i32.const $push82=, 8
+ i32.shr_u $push30=, $0, $pop82
+ i32.add $push31=, $pop30, $1
+ i32.xor $push33=, $pop32, $pop31
+ i32.const $push81=, 1
+ i32.and $push34=, $pop33, $pop81
+ br_if $pop34, 0 # 0: down to label28
+# BB#1: # %if.end
+ i32.const $push135=, 0
+ i32.const $push134=, 1103515245
+ i32.mul $push35=, $2, $pop134
+ i32.const $push133=, 12345
+ i32.add $push36=, $pop35, $pop133
+ tee_local $push132=, $1=, $pop36
+ i32.const $push131=, 1103515245
+ i32.mul $push39=, $pop132, $pop131
+ i32.const $push130=, 12345
+ i32.add $push2=, $pop39, $pop130
+ i32.store $3=, myrnd.s($pop135), $pop2
+ i32.const $push129=, 0
+ i32.const $push128=, 16
+ i32.shr_u $push1=, $1, $pop128
+ tee_local $push127=, $4=, $pop1
+ i32.const $push37=, 2047
+ i32.and $push38=, $pop127, $pop37
+ tee_local $push126=, $1=, $pop38
+ i32.const $push125=, 8
+ i32.shl $push40=, $pop126, $pop125
+ i32.const $push124=, 256
+ i32.and $push41=, $pop40, $pop124
+ i32.const $push42=, -257
+ i32.and $push43=, $0, $pop42
+ i32.or $push44=, $pop41, $pop43
+ tee_local $push123=, $2=, $pop44
+ i32.store16 $discard=, sV($pop129):p2align=2, $pop123
+ block
+ i32.const $push45=, 65280
+ i32.and $push46=, $2, $pop45
+ i32.const $push122=, 8
+ i32.shr_u $push5=, $pop46, $pop122
+ tee_local $push121=, $2=, $pop5
+ i32.xor $push47=, $pop121, $1
+ i32.const $push120=, 1
+ i32.and $push48=, $pop47, $pop120
+ br_if $pop48, 0 # 0: down to label29
+# BB#2: # %lor.lhs.false89
+ i32.const $push140=, 16
+ i32.shr_u $push3=, $3, $pop140
+ tee_local $push139=, $1=, $pop3
+ i32.add $push49=, $2, $pop139
+ i32.const $push138=, 1
+ i32.and $push50=, $pop49, $pop138
+ i32.const $push51=, 15
+ i32.rem_u $push52=, $pop50, $pop51
+ i32.add $push53=, $1, $4
+ i32.const $push137=, 1
+ i32.and $push54=, $pop53, $pop137
+ i32.const $push136=, 15
+ i32.rem_u $push55=, $pop54, $pop136
+ i32.ne $push56=, $pop52, $pop55
+ br_if $pop56, 0 # 0: down to label29
+# BB#3: # %lor.lhs.false136
+ i32.const $push65=, 0
+ i32.const $push57=, 1103515245
+ i32.mul $push58=, $3, $pop57
+ i32.const $push59=, 12345
+ i32.add $push60=, $pop58, $pop59
+ tee_local $push153=, $3=, $pop60
+ i32.const $push68=, 8
+ i32.shr_u $push69=, $pop153, $pop68
+ i32.const $push70=, 256
+ i32.and $push71=, $pop69, $pop70
+ i32.const $push152=, 65279
+ i32.and $push4=, $0, $pop152
+ tee_local $push151=, $0=, $pop4
+ i32.or $push72=, $pop71, $pop151
+ i32.const $push150=, 8
+ i32.shr_u $push73=, $pop72, $pop150
+ i32.const $push149=, 0
+ i32.const $push148=, 1103515245
+ i32.mul $push63=, $3, $pop148
+ i32.const $push147=, 12345
+ i32.add $push64=, $pop63, $pop147
+ i32.store $push66=, myrnd.s($pop149), $pop64
+ i32.const $push61=, 16
+ i32.shr_u $push67=, $pop66, $pop61
+ tee_local $push146=, $1=, $pop67
+ i32.add $push74=, $pop73, $pop146
+ tee_local $push145=, $2=, $pop74
+ i32.const $push144=, 8
+ i32.shl $push75=, $pop145, $pop144
+ i32.const $push143=, 256
+ i32.and $push76=, $pop75, $pop143
+ i32.or $push77=, $pop76, $0
+ i32.store16 $discard=, sV($pop65):p2align=2, $pop77
+ block
+ i32.const $push142=, 16
+ i32.shr_u $push62=, $3, $pop142
+ i32.add $push78=, $1, $pop62
+ i32.xor $push79=, $pop78, $2
+ i32.const $push141=, 1
+ i32.and $push80=, $pop79, $pop141
+ br_if $pop80, 0 # 0: down to label30
+# BB#4: # %if.end142
+ return
+.LBB132_5: # %if.then141
+ end_block # label30:
+ call abort@FUNCTION
+ unreachable
+.LBB132_6: # %if.then95
+ end_block # label29:
+ call abort@FUNCTION
+ unreachable
+.LBB132_7: # %if.then
+ end_block # label28:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end132:
+ .size testV, .Lfunc_end132-testV
+
+ .section .text.retmeW,"ax",@progbits
+ .hidden retmeW
+ .globl retmeW
+ .type retmeW,@function
+retmeW: # @retmeW
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 24
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1):p2align=4
+ i64.store $discard=, 0($0):p2align=4, $pop0
+ i32.const $push13=, 24
+ i32.add $push2=, $0, $pop13
+ i64.store $discard=, 0($pop2), $2
+ i32.const $push8=, 8
+ i32.add $push10=, $1, $pop8
+ i64.load $2=, 0($pop10)
+ i32.const $push4=, 16
+ i32.add $push5=, $0, $pop4
+ i32.const $push12=, 16
+ i32.add $push6=, $1, $pop12
+ i64.load $push7=, 0($pop6):p2align=4
+ i64.store $discard=, 0($pop5):p2align=4, $pop7
+ i32.const $push11=, 8
+ i32.add $push9=, $0, $pop11
+ i64.store $discard=, 0($pop9), $2
+ return
+ .endfunc
+.Lfunc_end133:
+ .size retmeW, .Lfunc_end133-retmeW
+
+ .section .text.fn1W,"ax",@progbits
+ .hidden fn1W
+ .globl fn1W
+ .type fn1W,@function
+fn1W: # @fn1W
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sW+16($pop0):p2align=4
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end134:
+ .size fn1W, .Lfunc_end134-fn1W
+
+ .section .text.fn2W,"ax",@progbits
+ .hidden fn2W
+ .globl fn2W
+ .type fn2W,@function
+fn2W: # @fn2W
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sW+16($pop0):p2align=4
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end135:
+ .size fn2W, .Lfunc_end135-fn2W
+
+ .section .text.retitW,"ax",@progbits
+ .hidden retitW
+ .globl retitW
+ .type retitW,@function
+retitW: # @retitW
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sW+16($pop0):p2align=4
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end136:
+ .size retitW, .Lfunc_end136-retitW
+
+ .section .text.fn3W,"ax",@progbits
+ .hidden fn3W
+ .globl fn3W
+ .type fn3W,@function
+fn3W: # @fn3W
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sW+16($pop10):p2align=4
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -4096
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sW+16($pop0):p2align=4, $pop7
+ return $0
+ .endfunc
+.Lfunc_end137:
+ .size fn3W, .Lfunc_end137-fn3W
+
+ .section .text.testW,"ax",@progbits
+ .hidden testW
+ .globl testW
+ .type testW,@function
+testW: # @testW
+ .local i32, i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $1=, myrnd.s($pop0)
+ i32.const $0=, -32
+.LBB138_1: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label31:
+ i32.const $push43=, 1103515245
+ i32.mul $push1=, $1, $pop43
+ i32.const $push42=, 12345
+ i32.add $1=, $pop1, $pop42
+ i32.const $push41=, 16
+ i32.shr_u $push2=, $1, $pop41
+ i32.store8 $discard=, sW+32($0), $pop2
+ i32.const $push40=, 1
+ i32.add $0=, $0, $pop40
+ br_if $0, 0 # 0: up to label31
+# BB#2: # %for.end
+ end_loop # label32:
+ i32.const $push3=, 0
+ i32.const $push7=, 1103515245
+ i32.mul $push8=, $1, $pop7
+ i32.const $push9=, 12345
+ i32.add $push10=, $pop8, $pop9
+ tee_local $push71=, $1=, $pop10
+ i32.const $push11=, 16
+ i32.shr_u $push12=, $pop71, $pop11
+ i32.const $push13=, 2047
+ i32.and $push14=, $pop12, $pop13
+ i32.const $push70=, 0
+ i32.load $push6=, sW+16($pop70):p2align=4
+ i32.const $push18=, -4096
+ i32.and $push19=, $pop6, $pop18
+ tee_local $push69=, $0=, $pop19
+ i32.or $push20=, $pop14, $pop69
+ i32.store $discard=, sW+16($pop3):p2align=4, $pop20
+ i32.const $push68=, 0
+ i32.const $push67=, 0
+ i32.const $push66=, 1103515245
+ i32.mul $push15=, $1, $pop66
+ i32.const $push65=, 12345
+ i32.add $push16=, $pop15, $pop65
+ i32.store $push17=, myrnd.s($pop67), $pop16
+ i32.const $push64=, 1103515245
+ i32.mul $push21=, $pop17, $pop64
+ i32.const $push63=, 12345
+ i32.add $push22=, $pop21, $pop63
+ tee_local $push62=, $1=, $pop22
+ i32.const $push61=, 16
+ i32.shr_u $push23=, $pop62, $pop61
+ i32.const $push60=, 2047
+ i32.and $push24=, $pop23, $pop60
+ i32.or $push28=, $pop24, $0
+ i32.store $discard=, sW+16($pop68):p2align=4, $pop28
+ i32.const $push59=, 0
+ i32.const $push58=, 0
+ i32.const $push57=, 0
+ i32.const $push56=, 1103515245
+ i32.mul $push25=, $1, $pop56
+ i32.const $push55=, 12345
+ i32.add $push26=, $pop25, $pop55
+ i32.store $push27=, myrnd.s($pop57), $pop26
+ i32.const $push54=, 1103515245
+ i32.mul $push29=, $pop27, $pop54
+ i32.const $push53=, 12345
+ i32.add $push30=, $pop29, $pop53
+ tee_local $push52=, $1=, $pop30
+ i32.const $push51=, 1103515245
+ i32.mul $push33=, $pop52, $pop51
+ i32.const $push50=, 12345
+ i32.add $push34=, $pop33, $pop50
+ i32.store $push35=, myrnd.s($pop58), $pop34
+ i32.const $push49=, 16
+ i32.shr_u $push36=, $pop35, $pop49
+ i32.const $push48=, 2047
+ i32.and $push37=, $pop36, $pop48
+ i32.const $push47=, 16
+ i32.shr_u $push31=, $1, $pop47
+ i32.const $push46=, 2047
+ i32.and $push32=, $pop31, $pop46
+ i32.add $push38=, $pop37, $pop32
+ i32.or $push39=, $pop38, $0
+ i32.store $discard=, sW+16($pop59):p2align=4, $pop39
+ i32.const $push45=, 0
+ i64.const $push4=, 4612055454334320640
+ i64.store $discard=, sW+8($pop45), $pop4
+ i32.const $push44=, 0
+ i64.const $push5=, 0
+ i64.store $discard=, sW($pop44):p2align=4, $pop5
+ return
+ .endfunc
+.Lfunc_end138:
+ .size testW, .Lfunc_end138-testW
+
+ .section .text.retmeX,"ax",@progbits
+ .hidden retmeX
+ .globl retmeX
+ .type retmeX,@function
+retmeX: # @retmeX
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 24
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1):p2align=4
+ i64.store $discard=, 0($0):p2align=4, $pop0
+ i32.const $push13=, 24
+ i32.add $push2=, $0, $pop13
+ i64.store $discard=, 0($pop2), $2
+ i32.const $push8=, 8
+ i32.add $push10=, $1, $pop8
+ i64.load $2=, 0($pop10)
+ i32.const $push4=, 16
+ i32.add $push5=, $0, $pop4
+ i32.const $push12=, 16
+ i32.add $push6=, $1, $pop12
+ i64.load $push7=, 0($pop6):p2align=4
+ i64.store $discard=, 0($pop5):p2align=4, $pop7
+ i32.const $push11=, 8
+ i32.add $push9=, $0, $pop11
+ i64.store $discard=, 0($pop9), $2
+ return
+ .endfunc
+.Lfunc_end139:
+ .size retmeX, .Lfunc_end139-retmeX
+
+ .section .text.fn1X,"ax",@progbits
+ .hidden fn1X
+ .globl fn1X
+ .type fn1X,@function
+fn1X: # @fn1X
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sX($pop0):p2align=4
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end140:
+ .size fn1X, .Lfunc_end140-fn1X
+
+ .section .text.fn2X,"ax",@progbits
+ .hidden fn2X
+ .globl fn2X
+ .type fn2X,@function
+fn2X: # @fn2X
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sX($pop0):p2align=4
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end141:
+ .size fn2X, .Lfunc_end141-fn2X
+
+ .section .text.retitX,"ax",@progbits
+ .hidden retitX
+ .globl retitX
+ .type retitX,@function
+retitX: # @retitX
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sX($pop0):p2align=4
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end142:
+ .size retitX, .Lfunc_end142-retitX
+
+ .section .text.fn3X,"ax",@progbits
+ .hidden fn3X
+ .globl fn3X
+ .type fn3X,@function
+fn3X: # @fn3X
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sX($pop10):p2align=4
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -4096
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sX($pop0):p2align=4, $pop7
+ return $0
+ .endfunc
+.Lfunc_end143:
+ .size fn3X, .Lfunc_end143-fn3X
+
+ .section .text.testX,"ax",@progbits
+ .hidden testX
+ .globl testX
+ .type testX,@function
+testX: # @testX
+ .local i32, i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $1=, myrnd.s($pop0)
+ i32.const $0=, -32
+.LBB144_1: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label33:
+ i32.const $push43=, 1103515245
+ i32.mul $push1=, $1, $pop43
+ i32.const $push42=, 12345
+ i32.add $1=, $pop1, $pop42
+ i32.const $push41=, 16
+ i32.shr_u $push2=, $1, $pop41
+ i32.store8 $discard=, sX+32($0), $pop2
+ i32.const $push40=, 1
+ i32.add $0=, $0, $pop40
+ br_if $0, 0 # 0: up to label33
+# BB#2: # %for.end
+ end_loop # label34:
+ i32.const $push3=, 0
+ i32.const $push7=, 1103515245
+ i32.mul $push8=, $1, $pop7
+ i32.const $push9=, 12345
+ i32.add $push10=, $pop8, $pop9
+ tee_local $push71=, $1=, $pop10
+ i32.const $push11=, 16
+ i32.shr_u $push12=, $pop71, $pop11
+ i32.const $push13=, 2047
+ i32.and $push14=, $pop12, $pop13
+ i32.const $push70=, 0
+ i32.load $push6=, sX($pop70):p2align=4
+ i32.const $push18=, -4096
+ i32.and $push19=, $pop6, $pop18
+ tee_local $push69=, $0=, $pop19
+ i32.or $push20=, $pop14, $pop69
+ i32.store $discard=, sX($pop3):p2align=4, $pop20
+ i32.const $push68=, 0
+ i32.const $push67=, 0
+ i32.const $push66=, 1103515245
+ i32.mul $push15=, $1, $pop66
+ i32.const $push65=, 12345
+ i32.add $push16=, $pop15, $pop65
+ i32.store $push17=, myrnd.s($pop67), $pop16
+ i32.const $push64=, 1103515245
+ i32.mul $push21=, $pop17, $pop64
+ i32.const $push63=, 12345
+ i32.add $push22=, $pop21, $pop63
+ tee_local $push62=, $1=, $pop22
+ i32.const $push61=, 16
+ i32.shr_u $push23=, $pop62, $pop61
+ i32.const $push60=, 2047
+ i32.and $push24=, $pop23, $pop60
+ i32.or $push28=, $pop24, $0
+ i32.store $discard=, sX($pop68):p2align=4, $pop28
+ i32.const $push59=, 0
+ i32.const $push58=, 0
+ i32.const $push57=, 0
+ i32.const $push56=, 1103515245
+ i32.mul $push25=, $1, $pop56
+ i32.const $push55=, 12345
+ i32.add $push26=, $pop25, $pop55
+ i32.store $push27=, myrnd.s($pop57), $pop26
+ i32.const $push54=, 1103515245
+ i32.mul $push29=, $pop27, $pop54
+ i32.const $push53=, 12345
+ i32.add $push30=, $pop29, $pop53
+ tee_local $push52=, $1=, $pop30
+ i32.const $push51=, 1103515245
+ i32.mul $push33=, $pop52, $pop51
+ i32.const $push50=, 12345
+ i32.add $push34=, $pop33, $pop50
+ i32.store $push35=, myrnd.s($pop58), $pop34
+ i32.const $push49=, 16
+ i32.shr_u $push36=, $pop35, $pop49
+ i32.const $push48=, 2047
+ i32.and $push37=, $pop36, $pop48
+ i32.const $push47=, 16
+ i32.shr_u $push31=, $1, $pop47
+ i32.const $push46=, 2047
+ i32.and $push32=, $pop31, $pop46
+ i32.add $push38=, $pop37, $pop32
+ i32.or $push39=, $pop38, $0
+ i32.store $discard=, sX($pop59):p2align=4, $pop39
+ i32.const $push45=, 0
+ i64.const $push4=, 4612055454334320640
+ i64.store $discard=, sX+24($pop45), $pop4
+ i32.const $push44=, 0
+ i64.const $push5=, 0
+ i64.store $discard=, sX+16($pop44):p2align=4, $pop5
+ return
+ .endfunc
+.Lfunc_end144:
+ .size testX, .Lfunc_end144-testX
+
+ .section .text.retmeY,"ax",@progbits
+ .hidden retmeY
+ .globl retmeY
+ .type retmeY,@function
+retmeY: # @retmeY
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 24
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1):p2align=4
+ i64.store $discard=, 0($0):p2align=4, $pop0
+ i32.const $push13=, 24
+ i32.add $push2=, $0, $pop13
+ i64.store $discard=, 0($pop2), $2
+ i32.const $push8=, 8
+ i32.add $push10=, $1, $pop8
+ i64.load $2=, 0($pop10)
+ i32.const $push4=, 16
+ i32.add $push5=, $0, $pop4
+ i32.const $push12=, 16
+ i32.add $push6=, $1, $pop12
+ i64.load $push7=, 0($pop6):p2align=4
+ i64.store $discard=, 0($pop5):p2align=4, $pop7
+ i32.const $push11=, 8
+ i32.add $push9=, $0, $pop11
+ i64.store $discard=, 0($pop9), $2
+ return
+ .endfunc
+.Lfunc_end145:
+ .size retmeY, .Lfunc_end145-retmeY
+
+ .section .text.fn1Y,"ax",@progbits
+ .hidden fn1Y
+ .globl fn1Y
+ .type fn1Y,@function
+fn1Y: # @fn1Y
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sY($pop0):p2align=4
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end146:
+ .size fn1Y, .Lfunc_end146-fn1Y
+
+ .section .text.fn2Y,"ax",@progbits
+ .hidden fn2Y
+ .globl fn2Y
+ .type fn2Y,@function
+fn2Y: # @fn2Y
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sY($pop0):p2align=4
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end147:
+ .size fn2Y, .Lfunc_end147-fn2Y
+
+ .section .text.retitY,"ax",@progbits
+ .hidden retitY
+ .globl retitY
+ .type retitY,@function
+retitY: # @retitY
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sY($pop0):p2align=4
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end148:
+ .size retitY, .Lfunc_end148-retitY
+
+ .section .text.fn3Y,"ax",@progbits
+ .hidden fn3Y
+ .globl fn3Y
+ .type fn3Y,@function
+fn3Y: # @fn3Y
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sY($pop10):p2align=4
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -4096
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sY($pop0):p2align=4, $pop7
+ return $0
+ .endfunc
+.Lfunc_end149:
+ .size fn3Y, .Lfunc_end149-fn3Y
+
+ .section .text.testY,"ax",@progbits
+ .hidden testY
+ .globl testY
+ .type testY,@function
+testY: # @testY
+ .local i32, i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $1=, myrnd.s($pop0)
+ i32.const $0=, -32
+.LBB150_1: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label35:
+ i32.const $push43=, 1103515245
+ i32.mul $push1=, $1, $pop43
+ i32.const $push42=, 12345
+ i32.add $1=, $pop1, $pop42
+ i32.const $push41=, 16
+ i32.shr_u $push2=, $1, $pop41
+ i32.store8 $discard=, sY+32($0), $pop2
+ i32.const $push40=, 1
+ i32.add $0=, $0, $pop40
+ br_if $0, 0 # 0: up to label35
+# BB#2: # %for.end
+ end_loop # label36:
+ i32.const $push3=, 0
+ i32.const $push7=, 1103515245
+ i32.mul $push8=, $1, $pop7
+ i32.const $push9=, 12345
+ i32.add $push10=, $pop8, $pop9
+ tee_local $push71=, $1=, $pop10
+ i32.const $push11=, 16
+ i32.shr_u $push12=, $pop71, $pop11
+ i32.const $push13=, 2047
+ i32.and $push14=, $pop12, $pop13
+ i32.const $push70=, 0
+ i32.load $push6=, sY($pop70):p2align=4
+ i32.const $push18=, -4096
+ i32.and $push19=, $pop6, $pop18
+ tee_local $push69=, $0=, $pop19
+ i32.or $push20=, $pop14, $pop69
+ i32.store $discard=, sY($pop3):p2align=4, $pop20
+ i32.const $push68=, 0
+ i32.const $push67=, 0
+ i32.const $push66=, 1103515245
+ i32.mul $push15=, $1, $pop66
+ i32.const $push65=, 12345
+ i32.add $push16=, $pop15, $pop65
+ i32.store $push17=, myrnd.s($pop67), $pop16
+ i32.const $push64=, 1103515245
+ i32.mul $push21=, $pop17, $pop64
+ i32.const $push63=, 12345
+ i32.add $push22=, $pop21, $pop63
+ tee_local $push62=, $1=, $pop22
+ i32.const $push61=, 16
+ i32.shr_u $push23=, $pop62, $pop61
+ i32.const $push60=, 2047
+ i32.and $push24=, $pop23, $pop60
+ i32.or $push28=, $pop24, $0
+ i32.store $discard=, sY($pop68):p2align=4, $pop28
+ i32.const $push59=, 0
+ i32.const $push58=, 0
+ i32.const $push57=, 0
+ i32.const $push56=, 1103515245
+ i32.mul $push25=, $1, $pop56
+ i32.const $push55=, 12345
+ i32.add $push26=, $pop25, $pop55
+ i32.store $push27=, myrnd.s($pop57), $pop26
+ i32.const $push54=, 1103515245
+ i32.mul $push29=, $pop27, $pop54
+ i32.const $push53=, 12345
+ i32.add $push30=, $pop29, $pop53
+ tee_local $push52=, $1=, $pop30
+ i32.const $push51=, 1103515245
+ i32.mul $push33=, $pop52, $pop51
+ i32.const $push50=, 12345
+ i32.add $push34=, $pop33, $pop50
+ i32.store $push35=, myrnd.s($pop58), $pop34
+ i32.const $push49=, 16
+ i32.shr_u $push36=, $pop35, $pop49
+ i32.const $push48=, 2047
+ i32.and $push37=, $pop36, $pop48
+ i32.const $push47=, 16
+ i32.shr_u $push31=, $1, $pop47
+ i32.const $push46=, 2047
+ i32.and $push32=, $pop31, $pop46
+ i32.add $push38=, $pop37, $pop32
+ i32.or $push39=, $pop38, $0
+ i32.store $discard=, sY($pop59):p2align=4, $pop39
+ i32.const $push45=, 0
+ i64.const $push4=, 4612055454334320640
+ i64.store $discard=, sY+24($pop45), $pop4
+ i32.const $push44=, 0
+ i64.const $push5=, 0
+ i64.store $discard=, sY+16($pop44):p2align=4, $pop5
+ return
+ .endfunc
+.Lfunc_end150:
+ .size testY, .Lfunc_end150-testY
+
+ .section .text.retmeZ,"ax",@progbits
+ .hidden retmeZ
+ .globl retmeZ
+ .type retmeZ,@function
+retmeZ: # @retmeZ
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 24
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3)
+ i64.load $push0=, 0($1):p2align=4
+ i64.store $discard=, 0($0):p2align=4, $pop0
+ i32.const $push13=, 24
+ i32.add $push2=, $0, $pop13
+ i64.store $discard=, 0($pop2), $2
+ i32.const $push8=, 8
+ i32.add $push10=, $1, $pop8
+ i64.load $2=, 0($pop10)
+ i32.const $push4=, 16
+ i32.add $push5=, $0, $pop4
+ i32.const $push12=, 16
+ i32.add $push6=, $1, $pop12
+ i64.load $push7=, 0($pop6):p2align=4
+ i64.store $discard=, 0($pop5):p2align=4, $pop7
+ i32.const $push11=, 8
+ i32.add $push9=, $0, $pop11
+ i64.store $discard=, 0($pop9), $2
+ return
+ .endfunc
+.Lfunc_end151:
+ .size retmeZ, .Lfunc_end151-retmeZ
+
+ .section .text.fn1Z,"ax",@progbits
+ .hidden fn1Z
+ .globl fn1Z
+ .type fn1Z,@function
+fn1Z: # @fn1Z
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sZ+16($pop0):p2align=4
+ i32.const $push2=, 20
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.const $push6=, 20
+ i32.shr_u $push5=, $pop4, $pop6
+ return $pop5
+ .endfunc
+.Lfunc_end152:
+ .size fn1Z, .Lfunc_end152-fn1Z
+
+ .section .text.fn2Z,"ax",@progbits
+ .hidden fn2Z
+ .globl fn2Z
+ .type fn2Z,@function
+fn2Z: # @fn2Z
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sZ+16($pop0):p2align=4
+ i32.const $push2=, 20
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 4095
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end153:
+ .size fn2Z, .Lfunc_end153-fn2Z
+
+ .section .text.retitZ,"ax",@progbits
+ .hidden retitZ
+ .globl retitZ
+ .type retitZ,@function
+retitZ: # @retitZ
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sZ+16($pop0):p2align=4
+ i32.const $push2=, 20
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end154:
+ .size retitZ, .Lfunc_end154-retitZ
+
+ .section .text.fn3Z,"ax",@progbits
+ .hidden fn3Z
+ .globl fn3Z
+ .type fn3Z,@function
+fn3Z: # @fn3Z
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push8=, 0
+ i32.load $push1=, sZ+16($pop8):p2align=4
+ i32.const $push2=, 20
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $push5=, sZ+16($pop0):p2align=4, $pop4
+ i32.const $push7=, 20
+ i32.shr_u $push6=, $pop5, $pop7
+ return $pop6
+ .endfunc
+.Lfunc_end155:
+ .size fn3Z, .Lfunc_end155-fn3Z
+
+ .section .text.testZ,"ax",@progbits
+ .hidden testZ
+ .globl testZ
+ .type testZ,@function
+testZ: # @testZ
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push5=, 0
+ i32.load $2=, myrnd.s($pop5)
+ i32.const $1=, -32
+.LBB156_1: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label37:
+ i32.const $push57=, 1103515245
+ i32.mul $push6=, $2, $pop57
+ i32.const $push56=, 12345
+ i32.add $2=, $pop6, $pop56
+ i32.const $push55=, 16
+ i32.shr_u $push7=, $2, $pop55
+ i32.store8 $discard=, sZ+32($1), $pop7
+ i32.const $push54=, 1
+ i32.add $1=, $1, $pop54
+ br_if $1, 0 # 0: up to label37
+# BB#2: # %for.end
+ end_loop # label38:
+ i32.const $push77=, 0
+ i32.load $0=, sZ+16($pop77):p2align=4
+ i32.const $push76=, 0
+ i32.const $push75=, 1103515245
+ i32.mul $push10=, $2, $pop75
+ i32.const $push74=, 12345
+ i32.add $push11=, $pop10, $pop74
+ tee_local $push73=, $2=, $pop11
+ i32.const $push72=, 1103515245
+ i32.mul $push14=, $pop73, $pop72
+ i32.const $push71=, 12345
+ i32.add $push0=, $pop14, $pop71
+ i32.store $1=, myrnd.s($pop76), $pop0
+ i32.const $push70=, 0
+ i32.const $push69=, 16
+ i32.shr_u $push12=, $2, $pop69
+ i32.const $push68=, 2047
+ i32.and $push13=, $pop12, $pop68
+ tee_local $push67=, $4=, $pop13
+ i32.const $push66=, 20
+ i32.shl $push17=, $pop67, $pop66
+ i32.const $push18=, 1048575
+ i32.and $push19=, $0, $pop18
+ tee_local $push65=, $2=, $pop19
+ i32.or $push20=, $pop17, $pop65
+ i32.store $0=, sZ+16($pop70):p2align=4, $pop20
+ i32.const $push64=, 0
+ i64.const $push8=, 4612055454334320640
+ i64.store $discard=, sZ+8($pop64), $pop8
+ i32.const $push63=, 0
+ i64.const $push9=, 0
+ i64.store $discard=, sZ($pop63):p2align=4, $pop9
+ block
+ i32.const $push62=, 16
+ i32.shr_u $push15=, $1, $pop62
+ i32.const $push61=, 2047
+ i32.and $push16=, $pop15, $pop61
+ tee_local $push60=, $3=, $pop16
+ i32.add $push24=, $pop60, $4
+ i32.const $push59=, 20
+ i32.shl $push21=, $3, $pop59
+ i32.add $push22=, $0, $pop21
+ i32.const $push58=, 20
+ i32.shr_u $push23=, $pop22, $pop58
+ i32.ne $push25=, $pop24, $pop23
+ br_if $pop25, 0 # 0: down to label39
+# BB#3: # %if.end80
+ block
+ i32.const $push95=, 0
+ i32.const $push94=, 0
+ i32.const $push93=, 1103515245
+ i32.mul $push26=, $1, $pop93
+ i32.const $push92=, 12345
+ i32.add $push27=, $pop26, $pop92
+ tee_local $push91=, $1=, $pop27
+ i32.const $push33=, -1029531031
+ i32.mul $push34=, $pop91, $pop33
+ i32.const $push35=, -740551042
+ i32.add $push36=, $pop34, $pop35
+ tee_local $push90=, $0=, $pop36
+ i32.const $push89=, 1103515245
+ i32.mul $push38=, $pop90, $pop89
+ i32.const $push88=, 12345
+ i32.add $push39=, $pop38, $pop88
+ i32.store $push40=, myrnd.s($pop94), $pop39
+ i32.const $push87=, 16
+ i32.shr_u $push41=, $pop40, $pop87
+ i32.const $push86=, 2047
+ i32.and $push2=, $pop41, $pop86
+ tee_local $push85=, $4=, $pop2
+ i32.const $push84=, 20
+ i32.shl $push44=, $pop85, $pop84
+ i32.const $push83=, 16
+ i32.shr_u $push37=, $0, $pop83
+ i32.const $push82=, 2047
+ i32.and $push1=, $pop37, $pop82
+ tee_local $push81=, $0=, $pop1
+ i32.const $push80=, 20
+ i32.shl $push42=, $pop81, $pop80
+ i32.or $push43=, $pop42, $2
+ i32.add $push3=, $pop44, $pop43
+ i32.store $push45=, sZ+16($pop95):p2align=4, $pop3
+ tee_local $push79=, $3=, $pop45
+ i32.const $push28=, 4
+ i32.shl $push29=, $1, $pop28
+ i32.const $push30=, 2146435072
+ i32.and $push31=, $pop29, $pop30
+ i32.or $push32=, $pop31, $2
+ i32.xor $push4=, $pop79, $pop32
+ tee_local $push78=, $1=, $pop4
+ i32.const $push46=, 1040384
+ i32.and $push47=, $pop78, $pop46
+ br_if $pop47, 0 # 0: down to label40
+# BB#4: # %lor.lhs.false98
+ i32.add $push52=, $4, $0
+ i32.const $push49=, 20
+ i32.shr_u $push50=, $3, $pop49
+ i32.ne $push53=, $pop52, $pop50
+ br_if $pop53, 0 # 0: down to label40
+# BB#5: # %lor.lhs.false98
+ i32.const $push51=, 8191
+ i32.and $push48=, $1, $pop51
+ br_if $pop48, 0 # 0: down to label40
+# BB#6: # %if.end121
+ return
+.LBB156_7: # %if.then120
+ end_block # label40:
+ call abort@FUNCTION
+ unreachable
+.LBB156_8: # %if.then
+ end_block # label39:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end156:
+ .size testZ, .Lfunc_end156-testZ
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ call testA@FUNCTION
+ call testB@FUNCTION
+ call testC@FUNCTION
+ call testD@FUNCTION
+ call testE@FUNCTION
+ call testF@FUNCTION
+ call testG@FUNCTION
+ call testH@FUNCTION
+ call testI@FUNCTION
+ call testJ@FUNCTION
+ call testK@FUNCTION
+ call testL@FUNCTION
+ call testM@FUNCTION
+ call testN@FUNCTION
+ call testO@FUNCTION
+ call testP@FUNCTION
+ call testQ@FUNCTION
+ call testR@FUNCTION
+ call testS@FUNCTION
+ call testT@FUNCTION
+ call testU@FUNCTION
+ call testV@FUNCTION
+ call testW@FUNCTION
+ call testX@FUNCTION
+ call testY@FUNCTION
+ call testZ@FUNCTION
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end157:
+ .size main, .Lfunc_end157-main
+
+ .type myrnd.s,@object # @myrnd.s
+ .section .data.myrnd.s,"aw",@progbits
+ .p2align 2
+myrnd.s:
+ .int32 1388815473 # 0x52c7a471
+ .size myrnd.s, 4
+
+ .hidden sA # @sA
+ .type sA,@object
+ .section .bss.sA,"aw",@nobits
+ .globl sA
+ .p2align 2
+sA:
+ .skip 4
+ .size sA, 4
+
+ .hidden sB # @sB
+ .type sB,@object
+ .section .bss.sB,"aw",@nobits
+ .globl sB
+ .p2align 3
+sB:
+ .skip 8
+ .size sB, 8
+
+ .hidden sC # @sC
+ .type sC,@object
+ .section .bss.sC,"aw",@nobits
+ .globl sC
+ .p2align 3
+sC:
+ .skip 8
+ .size sC, 8
+
+ .hidden sD # @sD
+ .type sD,@object
+ .section .bss.sD,"aw",@nobits
+ .globl sD
+ .p2align 3
+sD:
+ .skip 8
+ .size sD, 8
+
+ .hidden sE # @sE
+ .type sE,@object
+ .section .bss.sE,"aw",@nobits
+ .globl sE
+ .p2align 3
+sE:
+ .skip 16
+ .size sE, 16
+
+ .hidden sF # @sF
+ .type sF,@object
+ .section .bss.sF,"aw",@nobits
+ .globl sF
+ .p2align 3
+sF:
+ .skip 16
+ .size sF, 16
+
+ .hidden sG # @sG
+ .type sG,@object
+ .section .bss.sG,"aw",@nobits
+ .globl sG
+ .p2align 3
+sG:
+ .skip 16
+ .size sG, 16
+
+ .hidden sH # @sH
+ .type sH,@object
+ .section .bss.sH,"aw",@nobits
+ .globl sH
+ .p2align 3
+sH:
+ .skip 16
+ .size sH, 16
+
+ .hidden sI # @sI
+ .type sI,@object
+ .section .bss.sI,"aw",@nobits
+ .globl sI
+ .p2align 3
+sI:
+ .skip 16
+ .size sI, 16
+
+ .hidden sJ # @sJ
+ .type sJ,@object
+ .section .bss.sJ,"aw",@nobits
+ .globl sJ
+ .p2align 2
+sJ:
+ .skip 4
+ .size sJ, 4
+
+ .hidden sK # @sK
+ .type sK,@object
+ .section .bss.sK,"aw",@nobits
+ .globl sK
+ .p2align 2
+sK:
+ .skip 4
+ .size sK, 4
+
+ .hidden sL # @sL
+ .type sL,@object
+ .section .bss.sL,"aw",@nobits
+ .globl sL
+ .p2align 3
+sL:
+ .skip 8
+ .size sL, 8
+
+ .hidden sM # @sM
+ .type sM,@object
+ .section .bss.sM,"aw",@nobits
+ .globl sM
+ .p2align 3
+sM:
+ .skip 8
+ .size sM, 8
+
+ .hidden sN # @sN
+ .type sN,@object
+ .section .bss.sN,"aw",@nobits
+ .globl sN
+ .p2align 3
+sN:
+ .skip 8
+ .size sN, 8
+
+ .hidden sO # @sO
+ .type sO,@object
+ .section .bss.sO,"aw",@nobits
+ .globl sO
+ .p2align 3
+sO:
+ .skip 16
+ .size sO, 16
+
+ .hidden sP # @sP
+ .type sP,@object
+ .section .bss.sP,"aw",@nobits
+ .globl sP
+ .p2align 3
+sP:
+ .skip 16
+ .size sP, 16
+
+ .hidden sQ # @sQ
+ .type sQ,@object
+ .section .bss.sQ,"aw",@nobits
+ .globl sQ
+ .p2align 3
+sQ:
+ .skip 16
+ .size sQ, 16
+
+ .hidden sR # @sR
+ .type sR,@object
+ .section .bss.sR,"aw",@nobits
+ .globl sR
+ .p2align 3
+sR:
+ .skip 16
+ .size sR, 16
+
+ .hidden sS # @sS
+ .type sS,@object
+ .section .bss.sS,"aw",@nobits
+ .globl sS
+ .p2align 3
+sS:
+ .skip 16
+ .size sS, 16
+
+ .hidden sT # @sT
+ .type sT,@object
+ .section .bss.sT,"aw",@nobits
+ .globl sT
+ .p2align 2
+sT:
+ .skip 4
+ .size sT, 4
+
+ .hidden sU # @sU
+ .type sU,@object
+ .section .bss.sU,"aw",@nobits
+ .globl sU
+ .p2align 3
+sU:
+ .skip 16
+ .size sU, 16
+
+ .hidden sV # @sV
+ .type sV,@object
+ .section .bss.sV,"aw",@nobits
+ .globl sV
+ .p2align 2
+sV:
+ .skip 4
+ .size sV, 4
+
+ .hidden sW # @sW
+ .type sW,@object
+ .section .bss.sW,"aw",@nobits
+ .globl sW
+ .p2align 4
+sW:
+ .skip 32
+ .size sW, 32
+
+ .hidden sX # @sX
+ .type sX,@object
+ .section .bss.sX,"aw",@nobits
+ .globl sX
+ .p2align 4
+sX:
+ .skip 32
+ .size sX, 32
+
+ .hidden sY # @sY
+ .type sY,@object
+ .section .bss.sY,"aw",@nobits
+ .globl sY
+ .p2align 4
+sY:
+ .skip 32
+ .size sY, 32
+
+ .hidden sZ # @sZ
+ .type sZ,@object
+ .section .bss.sZ,"aw",@nobits
+ .globl sZ
+ .p2align 4
+sZ:
+ .skip 32
+ .size sZ, 32
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20040709-2.c.s b/test/torture-s/20040709-2.c.s
new file mode 100644
index 000000000..105b04d9c
--- /dev/null
+++ b/test/torture-s/20040709-2.c.s
@@ -0,0 +1,6976 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20040709-2.c"
+ .section .text.myrnd,"ax",@progbits
+ .hidden myrnd
+ .globl myrnd
+ .type myrnd,@function
+myrnd: # @myrnd
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, myrnd.s($pop11)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ i32.store $push6=, myrnd.s($pop0), $pop5
+ i32.const $push7=, 16
+ i32.shr_u $push8=, $pop6, $pop7
+ i32.const $push9=, 2047
+ i32.and $push10=, $pop8, $pop9
+ return $pop10
+ .endfunc
+.Lfunc_end0:
+ .size myrnd, .Lfunc_end0-myrnd
+
+ .section .text.retmeA,"ax",@progbits
+ .hidden retmeA
+ .globl retmeA
+ .type retmeA,@function
+retmeA: # @retmeA
+ .param i32, i32
+# BB#0: # %entry
+ i32.load16_u $push0=, 0($1):p2align=0
+ i32.store16 $discard=, 0($0), $pop0
+ return
+ .endfunc
+.Lfunc_end1:
+ .size retmeA, .Lfunc_end1-retmeA
+
+ .section .text.fn1A,"ax",@progbits
+ .hidden fn1A
+ .globl fn1A
+ .type fn1A,@function
+fn1A: # @fn1A
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sA($pop0)
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 2047
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end2:
+ .size fn1A, .Lfunc_end2-fn1A
+
+ .section .text.fn2A,"ax",@progbits
+ .hidden fn2A
+ .globl fn2A
+ .type fn2A,@function
+fn2A: # @fn2A
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sA($pop0)
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 2047
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end3:
+ .size fn2A, .Lfunc_end3-fn2A
+
+ .section .text.retitA,"ax",@progbits
+ .hidden retitA
+ .globl retitA
+ .type retitA,@function
+retitA: # @retitA
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sA($pop0)
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end4:
+ .size retitA, .Lfunc_end4-retitA
+
+ .section .text.fn3A,"ax",@progbits
+ .hidden fn3A
+ .globl fn3A
+ .type fn3A,@function
+fn3A: # @fn3A
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load16_u $push1=, sA($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push12=, $0=, $pop4
+ i32.const $push11=, 5
+ i32.shl $push5=, $pop12, $pop11
+ i32.const $push6=, 31
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store16 $discard=, sA($pop0), $pop8
+ i32.const $push9=, 2047
+ i32.and $push10=, $0, $pop9
+ return $pop10
+ .endfunc
+.Lfunc_end5:
+ .size fn3A, .Lfunc_end5-fn3A
+
+ .section .text.testA,"ax",@progbits
+ .hidden testA
+ .globl testA
+ .type testA,@function
+testA: # @testA
+ .local i32, i32
+# BB#0: # %if.end106
+ i32.const $push0=, 0
+ i32.const $push40=, 0
+ i32.load $push1=, myrnd.s($pop40)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push39=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop39, $pop6
+ i32.store8 $discard=, sA($pop0):p2align=1, $pop7
+ i32.const $push38=, 0
+ i32.const $push37=, 1103515245
+ i32.mul $push8=, $1, $pop37
+ i32.const $push36=, 12345
+ i32.add $push9=, $pop8, $pop36
+ tee_local $push35=, $1=, $pop9
+ i32.const $push34=, 16
+ i32.shr_u $push10=, $pop35, $pop34
+ i32.store8 $discard=, sA+1($pop38), $pop10
+ i32.const $push33=, 0
+ i32.load16_u $0=, sA($pop33)
+ i32.const $push32=, 0
+ i32.const $push31=, 0
+ i32.const $push11=, -341751747
+ i32.mul $push12=, $1, $pop11
+ i32.const $push13=, 229283573
+ i32.add $push14=, $pop12, $pop13
+ tee_local $push30=, $1=, $pop14
+ i32.const $push29=, 1103515245
+ i32.mul $push16=, $pop30, $pop29
+ i32.const $push28=, 12345
+ i32.add $push17=, $pop16, $pop28
+ i32.store $push18=, myrnd.s($pop31), $pop17
+ i32.const $push27=, 16
+ i32.shr_u $push19=, $pop18, $pop27
+ i32.const $push26=, 16
+ i32.shr_u $push15=, $1, $pop26
+ i32.add $push22=, $pop19, $pop15
+ i32.const $push23=, 5
+ i32.shl $push24=, $pop22, $pop23
+ i32.const $push20=, 31
+ i32.and $push21=, $0, $pop20
+ i32.or $push25=, $pop24, $pop21
+ i32.store16 $discard=, sA($pop32), $pop25
+ return
+ .endfunc
+.Lfunc_end6:
+ .size testA, .Lfunc_end6-testA
+
+ .section .text.retmeB,"ax",@progbits
+ .hidden retmeB
+ .globl retmeB
+ .type retmeB,@function
+retmeB: # @retmeB
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push1=, 4
+ i32.add $push3=, $1, $pop1
+ i32.load16_u $2=, 0($pop3):p2align=0
+ i32.load $push0=, 0($1):p2align=0
+ i32.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 4
+ i32.add $push2=, $0, $pop4
+ i32.store16 $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end7:
+ .size retmeB, .Lfunc_end7-retmeB
+
+ .section .text.fn1B,"ax",@progbits
+ .hidden fn1B
+ .globl fn1B
+ .type fn1B,@function
+fn1B: # @fn1B
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sB($pop0)
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 2047
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end8:
+ .size fn1B, .Lfunc_end8-fn1B
+
+ .section .text.fn2B,"ax",@progbits
+ .hidden fn2B
+ .globl fn2B
+ .type fn2B,@function
+fn2B: # @fn2B
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sB($pop0)
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 2047
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end9:
+ .size fn2B, .Lfunc_end9-fn2B
+
+ .section .text.retitB,"ax",@progbits
+ .hidden retitB
+ .globl retitB
+ .type retitB,@function
+retitB: # @retitB
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sB($pop0)
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end10:
+ .size retitB, .Lfunc_end10-retitB
+
+ .section .text.fn3B,"ax",@progbits
+ .hidden fn3B
+ .globl fn3B
+ .type fn3B,@function
+fn3B: # @fn3B
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load16_u $push1=, sB($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push12=, $0=, $pop4
+ i32.const $push11=, 5
+ i32.shl $push5=, $pop12, $pop11
+ i32.const $push6=, 31
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store16 $discard=, sB($pop0), $pop8
+ i32.const $push9=, 2047
+ i32.and $push10=, $0, $pop9
+ return $pop10
+ .endfunc
+.Lfunc_end11:
+ .size fn3B, .Lfunc_end11-fn3B
+
+ .section .text.testB,"ax",@progbits
+ .hidden testB
+ .globl testB
+ .type testB,@function
+testB: # @testB
+ .local i32, i32
+# BB#0: # %if.end136
+ i32.const $push0=, 0
+ i32.const $push72=, 0
+ i32.load $push1=, myrnd.s($pop72)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push71=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop71, $pop6
+ i32.store8 $discard=, sB($pop0):p2align=1, $pop7
+ i32.const $push70=, 0
+ i32.const $push69=, 1103515245
+ i32.mul $push8=, $1, $pop69
+ i32.const $push68=, 12345
+ i32.add $push9=, $pop8, $pop68
+ tee_local $push67=, $1=, $pop9
+ i32.const $push66=, 16
+ i32.shr_u $push10=, $pop67, $pop66
+ i32.store8 $discard=, sB+1($pop70), $pop10
+ i32.const $push65=, 0
+ i32.const $push64=, 1103515245
+ i32.mul $push11=, $1, $pop64
+ i32.const $push63=, 12345
+ i32.add $push12=, $pop11, $pop63
+ tee_local $push62=, $1=, $pop12
+ i32.const $push61=, 16
+ i32.shr_u $push13=, $pop62, $pop61
+ i32.store8 $discard=, sB+2($pop65):p2align=1, $pop13
+ i32.const $push60=, 0
+ i32.const $push59=, 1103515245
+ i32.mul $push14=, $1, $pop59
+ i32.const $push58=, 12345
+ i32.add $push15=, $pop14, $pop58
+ tee_local $push57=, $1=, $pop15
+ i32.const $push56=, 16
+ i32.shr_u $push16=, $pop57, $pop56
+ i32.store8 $discard=, sB+3($pop60), $pop16
+ i32.const $push55=, 0
+ i32.const $push54=, 1103515245
+ i32.mul $push17=, $1, $pop54
+ i32.const $push53=, 12345
+ i32.add $push18=, $pop17, $pop53
+ tee_local $push52=, $1=, $pop18
+ i32.const $push51=, 16
+ i32.shr_u $push19=, $pop52, $pop51
+ i32.store8 $discard=, sB+4($pop55):p2align=1, $pop19
+ i32.const $push50=, 0
+ i32.const $push49=, 1103515245
+ i32.mul $push20=, $1, $pop49
+ i32.const $push48=, 12345
+ i32.add $push21=, $pop20, $pop48
+ tee_local $push47=, $1=, $pop21
+ i32.const $push46=, 16
+ i32.shr_u $push22=, $pop47, $pop46
+ i32.store8 $discard=, sB+5($pop50), $pop22
+ i32.const $push45=, 0
+ i32.load16_u $0=, sB($pop45)
+ i32.const $push44=, 0
+ i32.const $push43=, 0
+ i32.const $push23=, -341751747
+ i32.mul $push24=, $1, $pop23
+ i32.const $push25=, 229283573
+ i32.add $push26=, $pop24, $pop25
+ tee_local $push42=, $1=, $pop26
+ i32.const $push41=, 1103515245
+ i32.mul $push28=, $pop42, $pop41
+ i32.const $push40=, 12345
+ i32.add $push29=, $pop28, $pop40
+ i32.store $push30=, myrnd.s($pop43), $pop29
+ i32.const $push39=, 16
+ i32.shr_u $push31=, $pop30, $pop39
+ i32.const $push38=, 16
+ i32.shr_u $push27=, $1, $pop38
+ i32.add $push34=, $pop31, $pop27
+ i32.const $push35=, 5
+ i32.shl $push36=, $pop34, $pop35
+ i32.const $push32=, 31
+ i32.and $push33=, $0, $pop32
+ i32.or $push37=, $pop36, $pop33
+ i32.store16 $discard=, sB($pop44), $pop37
+ return
+ .endfunc
+.Lfunc_end12:
+ .size testB, .Lfunc_end12-testB
+
+ .section .text.retmeC,"ax",@progbits
+ .hidden retmeC
+ .globl retmeC
+ .type retmeC,@function
+retmeC: # @retmeC
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push1=, 4
+ i32.add $push3=, $1, $pop1
+ i32.load16_u $2=, 0($pop3):p2align=0
+ i32.load $push0=, 0($1):p2align=0
+ i32.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 4
+ i32.add $push2=, $0, $pop4
+ i32.store16 $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end13:
+ .size retmeC, .Lfunc_end13-retmeC
+
+ .section .text.fn1C,"ax",@progbits
+ .hidden fn1C
+ .globl fn1C
+ .type fn1C,@function
+fn1C: # @fn1C
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sC+4($pop0):p2align=2
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 2047
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end14:
+ .size fn1C, .Lfunc_end14-fn1C
+
+ .section .text.fn2C,"ax",@progbits
+ .hidden fn2C
+ .globl fn2C
+ .type fn2C,@function
+fn2C: # @fn2C
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sC+4($pop0):p2align=2
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 2047
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end15:
+ .size fn2C, .Lfunc_end15-fn2C
+
+ .section .text.retitC,"ax",@progbits
+ .hidden retitC
+ .globl retitC
+ .type retitC,@function
+retitC: # @retitC
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sC+4($pop0):p2align=2
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end16:
+ .size retitC, .Lfunc_end16-retitC
+
+ .section .text.fn3C,"ax",@progbits
+ .hidden fn3C
+ .globl fn3C
+ .type fn3C,@function
+fn3C: # @fn3C
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load16_u $push1=, sC+4($pop14):p2align=2
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 5
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push12=, $0=, $pop4
+ i32.const $push11=, 5
+ i32.shl $push5=, $pop12, $pop11
+ i32.const $push6=, 31
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store16 $discard=, sC+4($pop0):p2align=2, $pop8
+ i32.const $push9=, 2047
+ i32.and $push10=, $0, $pop9
+ return $pop10
+ .endfunc
+.Lfunc_end17:
+ .size fn3C, .Lfunc_end17-fn3C
+
+ .section .text.testC,"ax",@progbits
+ .hidden testC
+ .globl testC
+ .type testC,@function
+testC: # @testC
+ .local i32, i32
+# BB#0: # %if.end142
+ i32.const $push0=, 0
+ i32.const $push72=, 0
+ i32.load $push1=, myrnd.s($pop72)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push71=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop71, $pop6
+ i32.store8 $discard=, sC($pop0):p2align=2, $pop7
+ i32.const $push70=, 0
+ i32.const $push69=, 1103515245
+ i32.mul $push8=, $1, $pop69
+ i32.const $push68=, 12345
+ i32.add $push9=, $pop8, $pop68
+ tee_local $push67=, $1=, $pop9
+ i32.const $push66=, 16
+ i32.shr_u $push10=, $pop67, $pop66
+ i32.store8 $discard=, sC+1($pop70), $pop10
+ i32.const $push65=, 0
+ i32.const $push64=, 1103515245
+ i32.mul $push11=, $1, $pop64
+ i32.const $push63=, 12345
+ i32.add $push12=, $pop11, $pop63
+ tee_local $push62=, $1=, $pop12
+ i32.const $push61=, 16
+ i32.shr_u $push13=, $pop62, $pop61
+ i32.store8 $discard=, sC+2($pop65):p2align=1, $pop13
+ i32.const $push60=, 0
+ i32.const $push59=, 1103515245
+ i32.mul $push14=, $1, $pop59
+ i32.const $push58=, 12345
+ i32.add $push15=, $pop14, $pop58
+ tee_local $push57=, $1=, $pop15
+ i32.const $push56=, 16
+ i32.shr_u $push16=, $pop57, $pop56
+ i32.store8 $discard=, sC+3($pop60), $pop16
+ i32.const $push55=, 0
+ i32.const $push54=, 1103515245
+ i32.mul $push17=, $1, $pop54
+ i32.const $push53=, 12345
+ i32.add $push18=, $pop17, $pop53
+ tee_local $push52=, $1=, $pop18
+ i32.const $push51=, 16
+ i32.shr_u $push19=, $pop52, $pop51
+ i32.store8 $discard=, sC+4($pop55):p2align=2, $pop19
+ i32.const $push50=, 0
+ i32.const $push49=, 1103515245
+ i32.mul $push20=, $1, $pop49
+ i32.const $push48=, 12345
+ i32.add $push21=, $pop20, $pop48
+ tee_local $push47=, $1=, $pop21
+ i32.const $push46=, 16
+ i32.shr_u $push22=, $pop47, $pop46
+ i32.store8 $discard=, sC+5($pop50), $pop22
+ i32.const $push45=, 0
+ i32.load16_u $0=, sC+4($pop45):p2align=2
+ i32.const $push44=, 0
+ i32.const $push43=, 0
+ i32.const $push23=, -341751747
+ i32.mul $push24=, $1, $pop23
+ i32.const $push25=, 229283573
+ i32.add $push26=, $pop24, $pop25
+ tee_local $push42=, $1=, $pop26
+ i32.const $push41=, 1103515245
+ i32.mul $push28=, $pop42, $pop41
+ i32.const $push40=, 12345
+ i32.add $push29=, $pop28, $pop40
+ i32.store $push30=, myrnd.s($pop43), $pop29
+ i32.const $push39=, 16
+ i32.shr_u $push31=, $pop30, $pop39
+ i32.const $push38=, 16
+ i32.shr_u $push27=, $1, $pop38
+ i32.add $push34=, $pop31, $pop27
+ i32.const $push35=, 5
+ i32.shl $push36=, $pop34, $pop35
+ i32.const $push32=, 31
+ i32.and $push33=, $0, $pop32
+ i32.or $push37=, $pop36, $pop33
+ i32.store16 $discard=, sC+4($pop44):p2align=2, $pop37
+ return
+ .endfunc
+.Lfunc_end18:
+ .size testC, .Lfunc_end18-testC
+
+ .section .text.retmeD,"ax",@progbits
+ .hidden retmeD
+ .globl retmeD
+ .type retmeD,@function
+retmeD: # @retmeD
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0), $pop0
+ return
+ .endfunc
+.Lfunc_end19:
+ .size retmeD, .Lfunc_end19-retmeD
+
+ .section .text.fn1D,"ax",@progbits
+ .hidden fn1D
+ .globl fn1D
+ .type fn1D,@function
+fn1D: # @fn1D
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sD($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ return $pop7
+ .endfunc
+.Lfunc_end20:
+ .size fn1D, .Lfunc_end20-fn1D
+
+ .section .text.fn2D,"ax",@progbits
+ .hidden fn2D
+ .globl fn2D
+ .type fn2D,@function
+fn2D: # @fn2D
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sD($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 15
+ i32.rem_u $push9=, $pop7, $pop8
+ return $pop9
+ .endfunc
+.Lfunc_end21:
+ .size fn2D, .Lfunc_end21-fn2D
+
+ .section .text.retitD,"ax",@progbits
+ .hidden retitD
+ .globl retitD
+ .type retitD,@function
+retitD: # @retitD
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sD($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end22:
+ .size retitD, .Lfunc_end22-retitD
+
+ .section .text.fn3D,"ax",@progbits
+ .hidden fn3D
+ .globl fn3D
+ .type fn3D,@function
+fn3D: # @fn3D
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i64.load $push1=, sD($pop16)
+ tee_local $push15=, $1=, $pop1
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop15, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ tee_local $push14=, $0=, $pop5
+ i64.extend_u/i32 $push6=, $pop14
+ i64.const $push13=, 35
+ i64.shl $push7=, $pop6, $pop13
+ i64.const $push8=, 34359738367
+ i64.and $push9=, $1, $pop8
+ i64.or $push10=, $pop7, $pop9
+ i64.store $discard=, sD($pop0), $pop10
+ i32.const $push11=, 536870911
+ i32.and $push12=, $0, $pop11
+ return $pop12
+ .endfunc
+.Lfunc_end23:
+ .size fn3D, .Lfunc_end23-fn3D
+
+ .section .text.testD,"ax",@progbits
+ .hidden testD
+ .globl testD
+ .type testD,@function
+testD: # @testD
+ .local i32
+# BB#0: # %if.end158
+ i32.const $push0=, 0
+ i32.const $push94=, 0
+ i32.load $push1=, myrnd.s($pop94)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push93=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop93, $pop6
+ i32.store8 $discard=, sD($pop0):p2align=3, $pop7
+ i32.const $push92=, 0
+ i32.const $push91=, 1103515245
+ i32.mul $push8=, $0, $pop91
+ i32.const $push90=, 12345
+ i32.add $push9=, $pop8, $pop90
+ tee_local $push89=, $0=, $pop9
+ i32.const $push88=, 16
+ i32.shr_u $push10=, $pop89, $pop88
+ i32.store8 $discard=, sD+1($pop92), $pop10
+ i32.const $push87=, 0
+ i32.const $push86=, 1103515245
+ i32.mul $push11=, $0, $pop86
+ i32.const $push85=, 12345
+ i32.add $push12=, $pop11, $pop85
+ tee_local $push84=, $0=, $pop12
+ i32.const $push83=, 16
+ i32.shr_u $push13=, $pop84, $pop83
+ i32.store8 $discard=, sD+2($pop87):p2align=1, $pop13
+ i32.const $push82=, 0
+ i32.const $push81=, 1103515245
+ i32.mul $push14=, $0, $pop81
+ i32.const $push80=, 12345
+ i32.add $push15=, $pop14, $pop80
+ tee_local $push79=, $0=, $pop15
+ i32.const $push78=, 16
+ i32.shr_u $push16=, $pop79, $pop78
+ i32.store8 $discard=, sD+3($pop82), $pop16
+ i32.const $push77=, 0
+ i32.const $push76=, 1103515245
+ i32.mul $push17=, $0, $pop76
+ i32.const $push75=, 12345
+ i32.add $push18=, $pop17, $pop75
+ tee_local $push74=, $0=, $pop18
+ i32.const $push73=, 16
+ i32.shr_u $push19=, $pop74, $pop73
+ i32.store8 $discard=, sD+4($pop77):p2align=2, $pop19
+ i32.const $push72=, 0
+ i32.const $push71=, 1103515245
+ i32.mul $push20=, $0, $pop71
+ i32.const $push70=, 12345
+ i32.add $push21=, $pop20, $pop70
+ tee_local $push69=, $0=, $pop21
+ i32.const $push68=, 16
+ i32.shr_u $push22=, $pop69, $pop68
+ i32.store8 $discard=, sD+5($pop72), $pop22
+ i32.const $push67=, 0
+ i32.const $push66=, 1103515245
+ i32.mul $push23=, $0, $pop66
+ i32.const $push65=, 12345
+ i32.add $push24=, $pop23, $pop65
+ tee_local $push64=, $0=, $pop24
+ i32.const $push63=, 16
+ i32.shr_u $push25=, $pop64, $pop63
+ i32.store8 $discard=, sD+6($pop67):p2align=1, $pop25
+ i32.const $push62=, 0
+ i32.const $push61=, 1103515245
+ i32.mul $push26=, $0, $pop61
+ i32.const $push60=, 12345
+ i32.add $push27=, $pop26, $pop60
+ tee_local $push59=, $0=, $pop27
+ i32.const $push58=, 16
+ i32.shr_u $push28=, $pop59, $pop58
+ i32.store8 $discard=, sD+7($pop62), $pop28
+ i32.const $push57=, 0
+ i32.const $push56=, 0
+ i32.const $push30=, -341751747
+ i32.mul $push31=, $0, $pop30
+ i32.const $push32=, 229283573
+ i32.add $push33=, $pop31, $pop32
+ tee_local $push55=, $0=, $pop33
+ i32.const $push54=, 1103515245
+ i32.mul $push37=, $pop55, $pop54
+ i32.const $push53=, 12345
+ i32.add $push38=, $pop37, $pop53
+ i32.store $push39=, myrnd.s($pop56), $pop38
+ i32.const $push52=, 16
+ i32.shr_u $push40=, $pop39, $pop52
+ i32.const $push35=, 2047
+ i32.and $push41=, $pop40, $pop35
+ i32.const $push51=, 16
+ i32.shr_u $push34=, $0, $pop51
+ i32.const $push50=, 2047
+ i32.and $push36=, $pop34, $pop50
+ i32.add $push44=, $pop41, $pop36
+ i64.extend_u/i32 $push45=, $pop44
+ i64.const $push46=, 35
+ i64.shl $push47=, $pop45, $pop46
+ i32.const $push49=, 0
+ i64.load $push29=, sD($pop49)
+ i64.const $push42=, 34359738367
+ i64.and $push43=, $pop29, $pop42
+ i64.or $push48=, $pop47, $pop43
+ i64.store $discard=, sD($pop57), $pop48
+ return
+ .endfunc
+.Lfunc_end24:
+ .size testD, .Lfunc_end24-testD
+
+ .section .text.retmeE,"ax",@progbits
+ .hidden retmeE
+ .globl retmeE
+ .type retmeE,@function
+retmeE: # @retmeE
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end25:
+ .size retmeE, .Lfunc_end25-retmeE
+
+ .section .text.fn1E,"ax",@progbits
+ .hidden fn1E
+ .globl fn1E
+ .type fn1E,@function
+fn1E: # @fn1E
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sE+8($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ return $pop7
+ .endfunc
+.Lfunc_end26:
+ .size fn1E, .Lfunc_end26-fn1E
+
+ .section .text.fn2E,"ax",@progbits
+ .hidden fn2E
+ .globl fn2E
+ .type fn2E,@function
+fn2E: # @fn2E
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sE+8($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 15
+ i32.rem_u $push9=, $pop7, $pop8
+ return $pop9
+ .endfunc
+.Lfunc_end27:
+ .size fn2E, .Lfunc_end27-fn2E
+
+ .section .text.retitE,"ax",@progbits
+ .hidden retitE
+ .globl retitE
+ .type retitE,@function
+retitE: # @retitE
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sE+8($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end28:
+ .size retitE, .Lfunc_end28-retitE
+
+ .section .text.fn3E,"ax",@progbits
+ .hidden fn3E
+ .globl fn3E
+ .type fn3E,@function
+fn3E: # @fn3E
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i64.load $push1=, sE+8($pop16)
+ tee_local $push15=, $1=, $pop1
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop15, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ tee_local $push14=, $0=, $pop5
+ i64.extend_u/i32 $push6=, $pop14
+ i64.const $push13=, 35
+ i64.shl $push7=, $pop6, $pop13
+ i64.const $push8=, 34359738367
+ i64.and $push9=, $1, $pop8
+ i64.or $push10=, $pop7, $pop9
+ i64.store $discard=, sE+8($pop0), $pop10
+ i32.const $push11=, 536870911
+ i32.and $push12=, $0, $pop11
+ return $pop12
+ .endfunc
+.Lfunc_end29:
+ .size fn3E, .Lfunc_end29-fn3E
+
+ .section .text.testE,"ax",@progbits
+ .hidden testE
+ .globl testE
+ .type testE,@function
+testE: # @testE
+ .local i32
+# BB#0: # %if.end142
+ i32.const $push0=, 0
+ i32.const $push158=, 0
+ i32.load $push1=, myrnd.s($pop158)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push157=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop157, $pop6
+ i32.store8 $discard=, sE($pop0):p2align=3, $pop7
+ i32.const $push156=, 0
+ i32.const $push155=, 1103515245
+ i32.mul $push8=, $0, $pop155
+ i32.const $push154=, 12345
+ i32.add $push9=, $pop8, $pop154
+ tee_local $push153=, $0=, $pop9
+ i32.const $push152=, 16
+ i32.shr_u $push10=, $pop153, $pop152
+ i32.store8 $discard=, sE+1($pop156), $pop10
+ i32.const $push151=, 0
+ i32.const $push150=, 1103515245
+ i32.mul $push11=, $0, $pop150
+ i32.const $push149=, 12345
+ i32.add $push12=, $pop11, $pop149
+ tee_local $push148=, $0=, $pop12
+ i32.const $push147=, 16
+ i32.shr_u $push13=, $pop148, $pop147
+ i32.store8 $discard=, sE+2($pop151):p2align=1, $pop13
+ i32.const $push146=, 0
+ i32.const $push145=, 1103515245
+ i32.mul $push14=, $0, $pop145
+ i32.const $push144=, 12345
+ i32.add $push15=, $pop14, $pop144
+ tee_local $push143=, $0=, $pop15
+ i32.const $push142=, 16
+ i32.shr_u $push16=, $pop143, $pop142
+ i32.store8 $discard=, sE+3($pop146), $pop16
+ i32.const $push141=, 0
+ i32.const $push140=, 1103515245
+ i32.mul $push17=, $0, $pop140
+ i32.const $push139=, 12345
+ i32.add $push18=, $pop17, $pop139
+ tee_local $push138=, $0=, $pop18
+ i32.const $push137=, 16
+ i32.shr_u $push19=, $pop138, $pop137
+ i32.store8 $discard=, sE+4($pop141):p2align=2, $pop19
+ i32.const $push136=, 0
+ i32.const $push135=, 1103515245
+ i32.mul $push20=, $0, $pop135
+ i32.const $push134=, 12345
+ i32.add $push21=, $pop20, $pop134
+ tee_local $push133=, $0=, $pop21
+ i32.const $push132=, 16
+ i32.shr_u $push22=, $pop133, $pop132
+ i32.store8 $discard=, sE+5($pop136), $pop22
+ i32.const $push131=, 0
+ i32.const $push130=, 1103515245
+ i32.mul $push23=, $0, $pop130
+ i32.const $push129=, 12345
+ i32.add $push24=, $pop23, $pop129
+ tee_local $push128=, $0=, $pop24
+ i32.const $push127=, 16
+ i32.shr_u $push25=, $pop128, $pop127
+ i32.store8 $discard=, sE+6($pop131):p2align=1, $pop25
+ i32.const $push126=, 0
+ i32.const $push125=, 1103515245
+ i32.mul $push26=, $0, $pop125
+ i32.const $push124=, 12345
+ i32.add $push27=, $pop26, $pop124
+ tee_local $push123=, $0=, $pop27
+ i32.const $push122=, 16
+ i32.shr_u $push28=, $pop123, $pop122
+ i32.store8 $discard=, sE+7($pop126), $pop28
+ i32.const $push121=, 0
+ i32.const $push120=, 1103515245
+ i32.mul $push29=, $0, $pop120
+ i32.const $push119=, 12345
+ i32.add $push30=, $pop29, $pop119
+ tee_local $push118=, $0=, $pop30
+ i32.const $push117=, 16
+ i32.shr_u $push31=, $pop118, $pop117
+ i32.store8 $discard=, sE+8($pop121):p2align=3, $pop31
+ i32.const $push116=, 0
+ i32.const $push115=, 1103515245
+ i32.mul $push32=, $0, $pop115
+ i32.const $push114=, 12345
+ i32.add $push33=, $pop32, $pop114
+ tee_local $push113=, $0=, $pop33
+ i32.const $push112=, 16
+ i32.shr_u $push34=, $pop113, $pop112
+ i32.store8 $discard=, sE+9($pop116), $pop34
+ i32.const $push111=, 0
+ i32.const $push110=, 1103515245
+ i32.mul $push35=, $0, $pop110
+ i32.const $push109=, 12345
+ i32.add $push36=, $pop35, $pop109
+ tee_local $push108=, $0=, $pop36
+ i32.const $push107=, 16
+ i32.shr_u $push37=, $pop108, $pop107
+ i32.store8 $discard=, sE+10($pop111):p2align=1, $pop37
+ i32.const $push106=, 0
+ i32.const $push105=, 1103515245
+ i32.mul $push38=, $0, $pop105
+ i32.const $push104=, 12345
+ i32.add $push39=, $pop38, $pop104
+ tee_local $push103=, $0=, $pop39
+ i32.const $push102=, 16
+ i32.shr_u $push40=, $pop103, $pop102
+ i32.store8 $discard=, sE+11($pop106), $pop40
+ i32.const $push101=, 0
+ i32.const $push100=, 1103515245
+ i32.mul $push41=, $0, $pop100
+ i32.const $push99=, 12345
+ i32.add $push42=, $pop41, $pop99
+ tee_local $push98=, $0=, $pop42
+ i32.const $push97=, 16
+ i32.shr_u $push43=, $pop98, $pop97
+ i32.store8 $discard=, sE+12($pop101):p2align=2, $pop43
+ i32.const $push96=, 0
+ i32.const $push95=, 1103515245
+ i32.mul $push44=, $0, $pop95
+ i32.const $push94=, 12345
+ i32.add $push45=, $pop44, $pop94
+ tee_local $push93=, $0=, $pop45
+ i32.const $push92=, 16
+ i32.shr_u $push46=, $pop93, $pop92
+ i32.store8 $discard=, sE+13($pop96), $pop46
+ i32.const $push91=, 0
+ i32.const $push90=, 1103515245
+ i32.mul $push47=, $0, $pop90
+ i32.const $push89=, 12345
+ i32.add $push48=, $pop47, $pop89
+ tee_local $push88=, $0=, $pop48
+ i32.const $push87=, 16
+ i32.shr_u $push49=, $pop88, $pop87
+ i32.store8 $discard=, sE+14($pop91):p2align=1, $pop49
+ i32.const $push86=, 0
+ i32.const $push85=, 1103515245
+ i32.mul $push50=, $0, $pop85
+ i32.const $push84=, 12345
+ i32.add $push51=, $pop50, $pop84
+ tee_local $push83=, $0=, $pop51
+ i32.const $push82=, 16
+ i32.shr_u $push52=, $pop83, $pop82
+ i32.store8 $discard=, sE+15($pop86), $pop52
+ i32.const $push81=, 0
+ i32.const $push80=, 0
+ i32.const $push54=, -341751747
+ i32.mul $push55=, $0, $pop54
+ i32.const $push56=, 229283573
+ i32.add $push57=, $pop55, $pop56
+ tee_local $push79=, $0=, $pop57
+ i32.const $push78=, 1103515245
+ i32.mul $push61=, $pop79, $pop78
+ i32.const $push77=, 12345
+ i32.add $push62=, $pop61, $pop77
+ i32.store $push63=, myrnd.s($pop80), $pop62
+ i32.const $push76=, 16
+ i32.shr_u $push64=, $pop63, $pop76
+ i32.const $push59=, 2047
+ i32.and $push65=, $pop64, $pop59
+ i32.const $push75=, 16
+ i32.shr_u $push58=, $0, $pop75
+ i32.const $push74=, 2047
+ i32.and $push60=, $pop58, $pop74
+ i32.add $push68=, $pop65, $pop60
+ i64.extend_u/i32 $push69=, $pop68
+ i64.const $push70=, 35
+ i64.shl $push71=, $pop69, $pop70
+ i32.const $push73=, 0
+ i64.load $push53=, sE+8($pop73)
+ i64.const $push66=, 34359738367
+ i64.and $push67=, $pop53, $pop66
+ i64.or $push72=, $pop71, $pop67
+ i64.store $discard=, sE+8($pop81), $pop72
+ return
+ .endfunc
+.Lfunc_end30:
+ .size testE, .Lfunc_end30-testE
+
+ .section .text.retmeF,"ax",@progbits
+ .hidden retmeF
+ .globl retmeF
+ .type retmeF,@function
+retmeF: # @retmeF
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end31:
+ .size retmeF, .Lfunc_end31-retmeF
+
+ .section .text.fn1F,"ax",@progbits
+ .hidden fn1F
+ .globl fn1F
+ .type fn1F,@function
+fn1F: # @fn1F
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sF($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ return $pop7
+ .endfunc
+.Lfunc_end32:
+ .size fn1F, .Lfunc_end32-fn1F
+
+ .section .text.fn2F,"ax",@progbits
+ .hidden fn2F
+ .globl fn2F
+ .type fn2F,@function
+fn2F: # @fn2F
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sF($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ i32.const $push6=, 536870911
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 15
+ i32.rem_u $push9=, $pop7, $pop8
+ return $pop9
+ .endfunc
+.Lfunc_end33:
+ .size fn2F, .Lfunc_end33-fn2F
+
+ .section .text.retitF,"ax",@progbits
+ .hidden retitF
+ .globl retitF
+ .type retitF,@function
+retitF: # @retitF
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $push1=, sF($pop0)
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop1, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end34:
+ .size retitF, .Lfunc_end34-retitF
+
+ .section .text.fn3F,"ax",@progbits
+ .hidden fn3F
+ .globl fn3F
+ .type fn3F,@function
+fn3F: # @fn3F
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i64.load $push1=, sF($pop16)
+ tee_local $push15=, $1=, $pop1
+ i64.const $push2=, 35
+ i64.shr_u $push3=, $pop15, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ tee_local $push14=, $0=, $pop5
+ i64.extend_u/i32 $push6=, $pop14
+ i64.const $push13=, 35
+ i64.shl $push7=, $pop6, $pop13
+ i64.const $push8=, 34359738367
+ i64.and $push9=, $1, $pop8
+ i64.or $push10=, $pop7, $pop9
+ i64.store $discard=, sF($pop0), $pop10
+ i32.const $push11=, 536870911
+ i32.and $push12=, $0, $pop11
+ return $pop12
+ .endfunc
+.Lfunc_end35:
+ .size fn3F, .Lfunc_end35-fn3F
+
+ .section .text.testF,"ax",@progbits
+ .hidden testF
+ .globl testF
+ .type testF,@function
+testF: # @testF
+ .local i32
+# BB#0: # %if.end136
+ i32.const $push0=, 0
+ i32.const $push158=, 0
+ i32.load $push1=, myrnd.s($pop158)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push157=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop157, $pop6
+ i32.store8 $discard=, sF($pop0):p2align=3, $pop7
+ i32.const $push156=, 0
+ i32.const $push155=, 1103515245
+ i32.mul $push8=, $0, $pop155
+ i32.const $push154=, 12345
+ i32.add $push9=, $pop8, $pop154
+ tee_local $push153=, $0=, $pop9
+ i32.const $push152=, 16
+ i32.shr_u $push10=, $pop153, $pop152
+ i32.store8 $discard=, sF+1($pop156), $pop10
+ i32.const $push151=, 0
+ i32.const $push150=, 1103515245
+ i32.mul $push11=, $0, $pop150
+ i32.const $push149=, 12345
+ i32.add $push12=, $pop11, $pop149
+ tee_local $push148=, $0=, $pop12
+ i32.const $push147=, 16
+ i32.shr_u $push13=, $pop148, $pop147
+ i32.store8 $discard=, sF+2($pop151):p2align=1, $pop13
+ i32.const $push146=, 0
+ i32.const $push145=, 1103515245
+ i32.mul $push14=, $0, $pop145
+ i32.const $push144=, 12345
+ i32.add $push15=, $pop14, $pop144
+ tee_local $push143=, $0=, $pop15
+ i32.const $push142=, 16
+ i32.shr_u $push16=, $pop143, $pop142
+ i32.store8 $discard=, sF+3($pop146), $pop16
+ i32.const $push141=, 0
+ i32.const $push140=, 1103515245
+ i32.mul $push17=, $0, $pop140
+ i32.const $push139=, 12345
+ i32.add $push18=, $pop17, $pop139
+ tee_local $push138=, $0=, $pop18
+ i32.const $push137=, 16
+ i32.shr_u $push19=, $pop138, $pop137
+ i32.store8 $discard=, sF+4($pop141):p2align=2, $pop19
+ i32.const $push136=, 0
+ i32.const $push135=, 1103515245
+ i32.mul $push20=, $0, $pop135
+ i32.const $push134=, 12345
+ i32.add $push21=, $pop20, $pop134
+ tee_local $push133=, $0=, $pop21
+ i32.const $push132=, 16
+ i32.shr_u $push22=, $pop133, $pop132
+ i32.store8 $discard=, sF+5($pop136), $pop22
+ i32.const $push131=, 0
+ i32.const $push130=, 1103515245
+ i32.mul $push23=, $0, $pop130
+ i32.const $push129=, 12345
+ i32.add $push24=, $pop23, $pop129
+ tee_local $push128=, $0=, $pop24
+ i32.const $push127=, 16
+ i32.shr_u $push25=, $pop128, $pop127
+ i32.store8 $discard=, sF+6($pop131):p2align=1, $pop25
+ i32.const $push126=, 0
+ i32.const $push125=, 1103515245
+ i32.mul $push26=, $0, $pop125
+ i32.const $push124=, 12345
+ i32.add $push27=, $pop26, $pop124
+ tee_local $push123=, $0=, $pop27
+ i32.const $push122=, 16
+ i32.shr_u $push28=, $pop123, $pop122
+ i32.store8 $discard=, sF+7($pop126), $pop28
+ i32.const $push121=, 0
+ i32.const $push120=, 1103515245
+ i32.mul $push29=, $0, $pop120
+ i32.const $push119=, 12345
+ i32.add $push30=, $pop29, $pop119
+ tee_local $push118=, $0=, $pop30
+ i32.const $push117=, 16
+ i32.shr_u $push31=, $pop118, $pop117
+ i32.store8 $discard=, sF+8($pop121):p2align=3, $pop31
+ i32.const $push116=, 0
+ i32.const $push115=, 1103515245
+ i32.mul $push32=, $0, $pop115
+ i32.const $push114=, 12345
+ i32.add $push33=, $pop32, $pop114
+ tee_local $push113=, $0=, $pop33
+ i32.const $push112=, 16
+ i32.shr_u $push34=, $pop113, $pop112
+ i32.store8 $discard=, sF+9($pop116), $pop34
+ i32.const $push111=, 0
+ i32.const $push110=, 1103515245
+ i32.mul $push35=, $0, $pop110
+ i32.const $push109=, 12345
+ i32.add $push36=, $pop35, $pop109
+ tee_local $push108=, $0=, $pop36
+ i32.const $push107=, 16
+ i32.shr_u $push37=, $pop108, $pop107
+ i32.store8 $discard=, sF+10($pop111):p2align=1, $pop37
+ i32.const $push106=, 0
+ i32.const $push105=, 1103515245
+ i32.mul $push38=, $0, $pop105
+ i32.const $push104=, 12345
+ i32.add $push39=, $pop38, $pop104
+ tee_local $push103=, $0=, $pop39
+ i32.const $push102=, 16
+ i32.shr_u $push40=, $pop103, $pop102
+ i32.store8 $discard=, sF+11($pop106), $pop40
+ i32.const $push101=, 0
+ i32.const $push100=, 1103515245
+ i32.mul $push41=, $0, $pop100
+ i32.const $push99=, 12345
+ i32.add $push42=, $pop41, $pop99
+ tee_local $push98=, $0=, $pop42
+ i32.const $push97=, 16
+ i32.shr_u $push43=, $pop98, $pop97
+ i32.store8 $discard=, sF+12($pop101):p2align=2, $pop43
+ i32.const $push96=, 0
+ i32.const $push95=, 1103515245
+ i32.mul $push44=, $0, $pop95
+ i32.const $push94=, 12345
+ i32.add $push45=, $pop44, $pop94
+ tee_local $push93=, $0=, $pop45
+ i32.const $push92=, 16
+ i32.shr_u $push46=, $pop93, $pop92
+ i32.store8 $discard=, sF+13($pop96), $pop46
+ i32.const $push91=, 0
+ i32.const $push90=, 1103515245
+ i32.mul $push47=, $0, $pop90
+ i32.const $push89=, 12345
+ i32.add $push48=, $pop47, $pop89
+ tee_local $push88=, $0=, $pop48
+ i32.const $push87=, 16
+ i32.shr_u $push49=, $pop88, $pop87
+ i32.store8 $discard=, sF+14($pop91):p2align=1, $pop49
+ i32.const $push86=, 0
+ i32.const $push85=, 1103515245
+ i32.mul $push50=, $0, $pop85
+ i32.const $push84=, 12345
+ i32.add $push51=, $pop50, $pop84
+ tee_local $push83=, $0=, $pop51
+ i32.const $push82=, 16
+ i32.shr_u $push52=, $pop83, $pop82
+ i32.store8 $discard=, sF+15($pop86), $pop52
+ i32.const $push81=, 0
+ i32.const $push80=, 0
+ i32.const $push54=, -341751747
+ i32.mul $push55=, $0, $pop54
+ i32.const $push56=, 229283573
+ i32.add $push57=, $pop55, $pop56
+ tee_local $push79=, $0=, $pop57
+ i32.const $push78=, 1103515245
+ i32.mul $push61=, $pop79, $pop78
+ i32.const $push77=, 12345
+ i32.add $push62=, $pop61, $pop77
+ i32.store $push63=, myrnd.s($pop80), $pop62
+ i32.const $push76=, 16
+ i32.shr_u $push64=, $pop63, $pop76
+ i32.const $push59=, 2047
+ i32.and $push65=, $pop64, $pop59
+ i32.const $push75=, 16
+ i32.shr_u $push58=, $0, $pop75
+ i32.const $push74=, 2047
+ i32.and $push60=, $pop58, $pop74
+ i32.add $push68=, $pop65, $pop60
+ i64.extend_u/i32 $push69=, $pop68
+ i64.const $push70=, 35
+ i64.shl $push71=, $pop69, $pop70
+ i32.const $push73=, 0
+ i64.load $push53=, sF($pop73)
+ i64.const $push66=, 34359738367
+ i64.and $push67=, $pop53, $pop66
+ i64.or $push72=, $pop71, $pop67
+ i64.store $discard=, sF($pop81), $pop72
+ return
+ .endfunc
+.Lfunc_end36:
+ .size testF, .Lfunc_end36-testF
+
+ .section .text.retmeG,"ax",@progbits
+ .hidden retmeG
+ .globl retmeG
+ .type retmeG,@function
+retmeG: # @retmeG
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i32.load8_u $2=, 0($pop3)
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i32.store8 $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end37:
+ .size retmeG, .Lfunc_end37-retmeG
+
+ .section .text.fn1G,"ax",@progbits
+ .hidden fn1G
+ .globl fn1G
+ .type fn1G,@function
+fn1G: # @fn1G
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sG($pop0)
+ i32.const $push2=, 2
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 63
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end38:
+ .size fn1G, .Lfunc_end38-fn1G
+
+ .section .text.fn2G,"ax",@progbits
+ .hidden fn2G
+ .globl fn2G
+ .type fn2G,@function
+fn2G: # @fn2G
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sG($pop0)
+ i32.const $push2=, 2
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 63
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end39:
+ .size fn2G, .Lfunc_end39-fn2G
+
+ .section .text.retitG,"ax",@progbits
+ .hidden retitG
+ .globl retitG
+ .type retitG,@function
+retitG: # @retitG
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sG($pop0)
+ i32.const $push2=, 2
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end40:
+ .size retitG, .Lfunc_end40-retitG
+
+ .section .text.fn3G,"ax",@progbits
+ .hidden fn3G
+ .globl fn3G
+ .type fn3G,@function
+fn3G: # @fn3G
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load8_u $push1=, sG($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 2
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push12=, $0=, $pop4
+ i32.const $push11=, 2
+ i32.shl $push5=, $pop12, $pop11
+ i32.const $push6=, 3
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store8 $discard=, sG($pop0), $pop8
+ i32.const $push9=, 63
+ i32.and $push10=, $0, $pop9
+ return $pop10
+ .endfunc
+.Lfunc_end41:
+ .size fn3G, .Lfunc_end41-fn3G
+
+ .section .text.testG,"ax",@progbits
+ .hidden testG
+ .globl testG
+ .type testG,@function
+testG: # @testG
+ .local i32, i32
+# BB#0: # %if.end155
+ i32.const $push0=, 0
+ i32.const $push94=, 0
+ i32.load $push1=, myrnd.s($pop94)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push93=, $1=, $pop5
+ i32.const $push92=, 1103515245
+ i32.mul $push8=, $pop93, $pop92
+ i32.const $push91=, 12345
+ i32.add $push9=, $pop8, $pop91
+ tee_local $push90=, $0=, $pop9
+ i32.const $push6=, 16
+ i32.shr_u $push10=, $pop90, $pop6
+ i32.store8 $discard=, sG+1($pop0), $pop10
+ i32.const $push89=, 0
+ i32.const $push88=, 1103515245
+ i32.mul $push11=, $0, $pop88
+ i32.const $push87=, 12345
+ i32.add $push12=, $pop11, $pop87
+ tee_local $push86=, $0=, $pop12
+ i32.const $push85=, 16
+ i32.shr_u $push13=, $pop86, $pop85
+ i32.store8 $discard=, sG+2($pop89), $pop13
+ i32.const $push84=, 0
+ i32.const $push83=, 1103515245
+ i32.mul $push14=, $0, $pop83
+ i32.const $push82=, 12345
+ i32.add $push15=, $pop14, $pop82
+ tee_local $push81=, $0=, $pop15
+ i32.const $push80=, 16
+ i32.shr_u $push16=, $pop81, $pop80
+ i32.store8 $discard=, sG+3($pop84), $pop16
+ i32.const $push79=, 0
+ i32.const $push78=, 1103515245
+ i32.mul $push17=, $0, $pop78
+ i32.const $push77=, 12345
+ i32.add $push18=, $pop17, $pop77
+ tee_local $push76=, $0=, $pop18
+ i32.const $push75=, 16
+ i32.shr_u $push19=, $pop76, $pop75
+ i32.store8 $discard=, sG+4($pop79), $pop19
+ i32.const $push74=, 0
+ i32.const $push73=, 1103515245
+ i32.mul $push20=, $0, $pop73
+ i32.const $push72=, 12345
+ i32.add $push21=, $pop20, $pop72
+ tee_local $push71=, $0=, $pop21
+ i32.const $push70=, 16
+ i32.shr_u $push22=, $pop71, $pop70
+ i32.store8 $discard=, sG+5($pop74), $pop22
+ i32.const $push69=, 0
+ i32.const $push68=, 1103515245
+ i32.mul $push23=, $0, $pop68
+ i32.const $push67=, 12345
+ i32.add $push24=, $pop23, $pop67
+ tee_local $push66=, $0=, $pop24
+ i32.const $push65=, 16
+ i32.shr_u $push25=, $pop66, $pop65
+ i32.store8 $discard=, sG+6($pop69), $pop25
+ i32.const $push64=, 0
+ i32.const $push63=, 1103515245
+ i32.mul $push26=, $0, $pop63
+ i32.const $push62=, 12345
+ i32.add $push27=, $pop26, $pop62
+ tee_local $push61=, $0=, $pop27
+ i32.const $push60=, 16
+ i32.shr_u $push28=, $pop61, $pop60
+ i32.store8 $discard=, sG+7($pop64), $pop28
+ i32.const $push59=, 0
+ i32.const $push58=, 1103515245
+ i32.mul $push29=, $0, $pop58
+ i32.const $push57=, 12345
+ i32.add $push30=, $pop29, $pop57
+ tee_local $push56=, $0=, $pop30
+ i32.const $push55=, 16
+ i32.shr_u $push31=, $pop56, $pop55
+ i32.store8 $discard=, sG+8($pop59), $pop31
+ i32.const $push54=, 0
+ i32.const $push53=, 0
+ i32.const $push32=, -341751747
+ i32.mul $push33=, $0, $pop32
+ i32.const $push34=, 229283573
+ i32.add $push35=, $pop33, $pop34
+ tee_local $push52=, $0=, $pop35
+ i32.const $push51=, 1103515245
+ i32.mul $push37=, $pop52, $pop51
+ i32.const $push50=, 12345
+ i32.add $push38=, $pop37, $pop50
+ i32.store $push39=, myrnd.s($pop53), $pop38
+ i32.const $push49=, 16
+ i32.shr_u $push40=, $pop39, $pop49
+ i32.const $push48=, 16
+ i32.shr_u $push36=, $0, $pop48
+ i32.add $push43=, $pop40, $pop36
+ i32.const $push44=, 2
+ i32.shl $push45=, $pop43, $pop44
+ i32.const $push47=, 16
+ i32.shr_u $push7=, $1, $pop47
+ i32.const $push41=, 3
+ i32.and $push42=, $pop7, $pop41
+ i32.or $push46=, $pop45, $pop42
+ i32.store8 $discard=, sG($pop54), $pop46
+ return
+ .endfunc
+.Lfunc_end42:
+ .size testG, .Lfunc_end42-testG
+
+ .section .text.retmeH,"ax",@progbits
+ .hidden retmeH
+ .globl retmeH
+ .type retmeH,@function
+retmeH: # @retmeH
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i32.load16_u $2=, 0($pop3):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i32.store16 $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end43:
+ .size retmeH, .Lfunc_end43-retmeH
+
+ .section .text.fn1H,"ax",@progbits
+ .hidden fn1H
+ .globl fn1H
+ .type fn1H,@function
+fn1H: # @fn1H
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sH+1($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 255
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end44:
+ .size fn1H, .Lfunc_end44-fn1H
+
+ .section .text.fn2H,"ax",@progbits
+ .hidden fn2H
+ .globl fn2H
+ .type fn2H,@function
+fn2H: # @fn2H
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sH+1($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 255
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end45:
+ .size fn2H, .Lfunc_end45-fn2H
+
+ .section .text.retitH,"ax",@progbits
+ .hidden retitH
+ .globl retitH
+ .type retitH,@function
+retitH: # @retitH
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sH+1($pop0)
+ return $pop1
+ .endfunc
+.Lfunc_end46:
+ .size retitH, .Lfunc_end46-retitH
+
+ .section .text.fn3H,"ax",@progbits
+ .hidden fn3H
+ .globl fn3H
+ .type fn3H,@function
+fn3H: # @fn3H
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load8_u $push1=, sH+1($pop6)
+ i32.add $push2=, $pop1, $0
+ i32.store8 $push3=, sH+1($pop0), $pop2
+ i32.const $push4=, 255
+ i32.and $push5=, $pop3, $pop4
+ return $pop5
+ .endfunc
+.Lfunc_end47:
+ .size fn3H, .Lfunc_end47-fn3H
+
+ .section .text.testH,"ax",@progbits
+ .hidden testH
+ .globl testH
+ .type testH,@function
+testH: # @testH
+ .local i32
+# BB#0: # %if.end136
+ i32.const $push0=, 0
+ i32.const $push103=, 0
+ i32.load $push1=, myrnd.s($pop103)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push102=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop102, $pop6
+ i32.store8 $discard=, sH($pop0):p2align=1, $pop7
+ i32.const $push101=, 0
+ i32.const $push100=, 1103515245
+ i32.mul $push8=, $0, $pop100
+ i32.const $push99=, 12345
+ i32.add $push9=, $pop8, $pop99
+ tee_local $push98=, $0=, $pop9
+ i32.const $push97=, 16
+ i32.shr_u $push10=, $pop98, $pop97
+ i32.store8 $discard=, sH+1($pop101), $pop10
+ i32.const $push96=, 0
+ i32.const $push95=, 1103515245
+ i32.mul $push11=, $0, $pop95
+ i32.const $push94=, 12345
+ i32.add $push12=, $pop11, $pop94
+ tee_local $push93=, $0=, $pop12
+ i32.const $push92=, 16
+ i32.shr_u $push13=, $pop93, $pop92
+ i32.store8 $discard=, sH+2($pop96):p2align=1, $pop13
+ i32.const $push91=, 0
+ i32.const $push90=, 1103515245
+ i32.mul $push14=, $0, $pop90
+ i32.const $push89=, 12345
+ i32.add $push15=, $pop14, $pop89
+ tee_local $push88=, $0=, $pop15
+ i32.const $push87=, 16
+ i32.shr_u $push16=, $pop88, $pop87
+ i32.store8 $discard=, sH+3($pop91), $pop16
+ i32.const $push86=, 0
+ i32.const $push85=, 1103515245
+ i32.mul $push17=, $0, $pop85
+ i32.const $push84=, 12345
+ i32.add $push18=, $pop17, $pop84
+ tee_local $push83=, $0=, $pop18
+ i32.const $push82=, 16
+ i32.shr_u $push19=, $pop83, $pop82
+ i32.store8 $discard=, sH+4($pop86):p2align=1, $pop19
+ i32.const $push81=, 0
+ i32.const $push80=, 1103515245
+ i32.mul $push20=, $0, $pop80
+ i32.const $push79=, 12345
+ i32.add $push21=, $pop20, $pop79
+ tee_local $push78=, $0=, $pop21
+ i32.const $push77=, 16
+ i32.shr_u $push22=, $pop78, $pop77
+ i32.store8 $discard=, sH+5($pop81), $pop22
+ i32.const $push76=, 0
+ i32.const $push75=, 1103515245
+ i32.mul $push23=, $0, $pop75
+ i32.const $push74=, 12345
+ i32.add $push24=, $pop23, $pop74
+ tee_local $push73=, $0=, $pop24
+ i32.const $push72=, 16
+ i32.shr_u $push25=, $pop73, $pop72
+ i32.store8 $discard=, sH+6($pop76):p2align=1, $pop25
+ i32.const $push71=, 0
+ i32.const $push70=, 1103515245
+ i32.mul $push26=, $0, $pop70
+ i32.const $push69=, 12345
+ i32.add $push27=, $pop26, $pop69
+ tee_local $push68=, $0=, $pop27
+ i32.const $push67=, 16
+ i32.shr_u $push28=, $pop68, $pop67
+ i32.store8 $discard=, sH+7($pop71), $pop28
+ i32.const $push66=, 0
+ i32.const $push65=, 1103515245
+ i32.mul $push29=, $0, $pop65
+ i32.const $push64=, 12345
+ i32.add $push30=, $pop29, $pop64
+ tee_local $push63=, $0=, $pop30
+ i32.const $push62=, 16
+ i32.shr_u $push31=, $pop63, $pop62
+ i32.store8 $discard=, sH+8($pop66):p2align=1, $pop31
+ i32.const $push61=, 0
+ i32.const $push60=, 1103515245
+ i32.mul $push32=, $0, $pop60
+ i32.const $push59=, 12345
+ i32.add $push33=, $pop32, $pop59
+ tee_local $push58=, $0=, $pop33
+ i32.const $push57=, 16
+ i32.shr_u $push34=, $pop58, $pop57
+ i32.store8 $discard=, sH+9($pop61), $pop34
+ i32.const $push56=, 0
+ i32.const $push55=, 0
+ i32.const $push36=, -341751747
+ i32.mul $push37=, $0, $pop36
+ i32.const $push38=, 229283573
+ i32.add $push39=, $pop37, $pop38
+ tee_local $push54=, $0=, $pop39
+ i32.const $push53=, 1103515245
+ i32.mul $push41=, $pop54, $pop53
+ i32.const $push52=, 12345
+ i32.add $push42=, $pop41, $pop52
+ i32.store $push43=, myrnd.s($pop55), $pop42
+ i32.const $push51=, 16
+ i32.shr_u $push44=, $pop43, $pop51
+ i32.const $push50=, 16
+ i32.shr_u $push40=, $0, $pop50
+ i32.add $push45=, $pop44, $pop40
+ i32.const $push46=, 8
+ i32.shl $push47=, $pop45, $pop46
+ i32.const $push49=, 0
+ i32.load8_u $push35=, sH($pop49):p2align=1
+ i32.or $push48=, $pop47, $pop35
+ i32.store16 $discard=, sH($pop56), $pop48
+ return
+ .endfunc
+.Lfunc_end48:
+ .size testH, .Lfunc_end48-testH
+
+ .section .text.retmeI,"ax",@progbits
+ .hidden retmeI
+ .globl retmeI
+ .type retmeI,@function
+retmeI: # @retmeI
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i32.load8_u $2=, 0($pop3)
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i32.store8 $discard=, 0($pop2), $2
+ return
+ .endfunc
+.Lfunc_end49:
+ .size retmeI, .Lfunc_end49-retmeI
+
+ .section .text.fn1I,"ax",@progbits
+ .hidden fn1I
+ .globl fn1I
+ .type fn1I,@function
+fn1I: # @fn1I
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sI($pop0)
+ i32.const $push2=, 7
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end50:
+ .size fn1I, .Lfunc_end50-fn1I
+
+ .section .text.fn2I,"ax",@progbits
+ .hidden fn2I
+ .globl fn2I
+ .type fn2I,@function
+fn2I: # @fn2I
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sI($pop0)
+ i32.const $push2=, 7
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end51:
+ .size fn2I, .Lfunc_end51-fn2I
+
+ .section .text.retitI,"ax",@progbits
+ .hidden retitI
+ .globl retitI
+ .type retitI,@function
+retitI: # @retitI
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sI($pop0)
+ i32.const $push2=, 7
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end52:
+ .size retitI, .Lfunc_end52-retitI
+
+ .section .text.fn3I,"ax",@progbits
+ .hidden fn3I
+ .globl fn3I
+ .type fn3I,@function
+fn3I: # @fn3I
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load8_u $push1=, sI($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 7
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push12=, $0=, $pop4
+ i32.const $push11=, 7
+ i32.shl $push5=, $pop12, $pop11
+ i32.const $push6=, 127
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store8 $discard=, sI($pop0), $pop8
+ i32.const $push9=, 1
+ i32.and $push10=, $0, $pop9
+ return $pop10
+ .endfunc
+.Lfunc_end53:
+ .size fn3I, .Lfunc_end53-fn3I
+
+ .section .text.testI,"ax",@progbits
+ .hidden testI
+ .globl testI
+ .type testI,@function
+testI: # @testI
+ .local i32, i32
+# BB#0: # %if.end155
+ i32.const $push0=, 0
+ i32.const $push94=, 0
+ i32.load $push1=, myrnd.s($pop94)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push93=, $1=, $pop5
+ i32.const $push92=, 1103515245
+ i32.mul $push8=, $pop93, $pop92
+ i32.const $push91=, 12345
+ i32.add $push9=, $pop8, $pop91
+ tee_local $push90=, $0=, $pop9
+ i32.const $push6=, 16
+ i32.shr_u $push10=, $pop90, $pop6
+ i32.store8 $discard=, sI+1($pop0), $pop10
+ i32.const $push89=, 0
+ i32.const $push88=, 1103515245
+ i32.mul $push11=, $0, $pop88
+ i32.const $push87=, 12345
+ i32.add $push12=, $pop11, $pop87
+ tee_local $push86=, $0=, $pop12
+ i32.const $push85=, 16
+ i32.shr_u $push13=, $pop86, $pop85
+ i32.store8 $discard=, sI+2($pop89), $pop13
+ i32.const $push84=, 0
+ i32.const $push83=, 1103515245
+ i32.mul $push14=, $0, $pop83
+ i32.const $push82=, 12345
+ i32.add $push15=, $pop14, $pop82
+ tee_local $push81=, $0=, $pop15
+ i32.const $push80=, 16
+ i32.shr_u $push16=, $pop81, $pop80
+ i32.store8 $discard=, sI+3($pop84), $pop16
+ i32.const $push79=, 0
+ i32.const $push78=, 1103515245
+ i32.mul $push17=, $0, $pop78
+ i32.const $push77=, 12345
+ i32.add $push18=, $pop17, $pop77
+ tee_local $push76=, $0=, $pop18
+ i32.const $push75=, 16
+ i32.shr_u $push19=, $pop76, $pop75
+ i32.store8 $discard=, sI+4($pop79), $pop19
+ i32.const $push74=, 0
+ i32.const $push73=, 1103515245
+ i32.mul $push20=, $0, $pop73
+ i32.const $push72=, 12345
+ i32.add $push21=, $pop20, $pop72
+ tee_local $push71=, $0=, $pop21
+ i32.const $push70=, 16
+ i32.shr_u $push22=, $pop71, $pop70
+ i32.store8 $discard=, sI+5($pop74), $pop22
+ i32.const $push69=, 0
+ i32.const $push68=, 1103515245
+ i32.mul $push23=, $0, $pop68
+ i32.const $push67=, 12345
+ i32.add $push24=, $pop23, $pop67
+ tee_local $push66=, $0=, $pop24
+ i32.const $push65=, 16
+ i32.shr_u $push25=, $pop66, $pop65
+ i32.store8 $discard=, sI+6($pop69), $pop25
+ i32.const $push64=, 0
+ i32.const $push63=, 1103515245
+ i32.mul $push26=, $0, $pop63
+ i32.const $push62=, 12345
+ i32.add $push27=, $pop26, $pop62
+ tee_local $push61=, $0=, $pop27
+ i32.const $push60=, 16
+ i32.shr_u $push28=, $pop61, $pop60
+ i32.store8 $discard=, sI+7($pop64), $pop28
+ i32.const $push59=, 0
+ i32.const $push58=, 1103515245
+ i32.mul $push29=, $0, $pop58
+ i32.const $push57=, 12345
+ i32.add $push30=, $pop29, $pop57
+ tee_local $push56=, $0=, $pop30
+ i32.const $push55=, 16
+ i32.shr_u $push31=, $pop56, $pop55
+ i32.store8 $discard=, sI+8($pop59), $pop31
+ i32.const $push54=, 0
+ i32.const $push53=, 0
+ i32.const $push32=, -341751747
+ i32.mul $push33=, $0, $pop32
+ i32.const $push34=, 229283573
+ i32.add $push35=, $pop33, $pop34
+ tee_local $push52=, $0=, $pop35
+ i32.const $push51=, 1103515245
+ i32.mul $push37=, $pop52, $pop51
+ i32.const $push50=, 12345
+ i32.add $push38=, $pop37, $pop50
+ i32.store $push39=, myrnd.s($pop53), $pop38
+ i32.const $push49=, 16
+ i32.shr_u $push40=, $pop39, $pop49
+ i32.const $push48=, 16
+ i32.shr_u $push36=, $0, $pop48
+ i32.add $push43=, $pop40, $pop36
+ i32.const $push44=, 7
+ i32.shl $push45=, $pop43, $pop44
+ i32.const $push47=, 16
+ i32.shr_u $push7=, $1, $pop47
+ i32.const $push41=, 127
+ i32.and $push42=, $pop7, $pop41
+ i32.or $push46=, $pop45, $pop42
+ i32.store8 $discard=, sI($pop54), $pop46
+ return
+ .endfunc
+.Lfunc_end54:
+ .size testI, .Lfunc_end54-testI
+
+ .section .text.retmeJ,"ax",@progbits
+ .hidden retmeJ
+ .globl retmeJ
+ .type retmeJ,@function
+retmeJ: # @retmeJ
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($1):p2align=0
+ i32.store $discard=, 0($0):p2align=1, $pop0
+ return
+ .endfunc
+.Lfunc_end55:
+ .size retmeJ, .Lfunc_end55-retmeJ
+
+ .section .text.fn1J,"ax",@progbits
+ .hidden fn1J
+ .globl fn1J
+ .type fn1J,@function
+fn1J: # @fn1J
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sJ($pop0)
+ i32.const $push2=, 9
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 127
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end56:
+ .size fn1J, .Lfunc_end56-fn1J
+
+ .section .text.fn2J,"ax",@progbits
+ .hidden fn2J
+ .globl fn2J
+ .type fn2J,@function
+fn2J: # @fn2J
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sJ($pop0):p2align=2
+ i32.const $push2=, 9
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 127
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end57:
+ .size fn2J, .Lfunc_end57-fn2J
+
+ .section .text.retitJ,"ax",@progbits
+ .hidden retitJ
+ .globl retitJ
+ .type retitJ,@function
+retitJ: # @retitJ
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sJ($pop0):p2align=2
+ i32.const $push2=, 9
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end58:
+ .size retitJ, .Lfunc_end58-retitJ
+
+ .section .text.fn3J,"ax",@progbits
+ .hidden fn3J
+ .globl fn3J
+ .type fn3J,@function
+fn3J: # @fn3J
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load16_u $push1=, sJ($pop14):p2align=2
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 9
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push12=, $0=, $pop4
+ i32.const $push11=, 9
+ i32.shl $push5=, $pop12, $pop11
+ i32.const $push6=, 511
+ i32.and $push7=, $1, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store16 $discard=, sJ($pop0):p2align=2, $pop8
+ i32.const $push9=, 127
+ i32.and $push10=, $0, $pop9
+ return $pop10
+ .endfunc
+.Lfunc_end59:
+ .size fn3J, .Lfunc_end59-fn3J
+
+ .section .text.testJ,"ax",@progbits
+ .hidden testJ
+ .globl testJ
+ .type testJ,@function
+testJ: # @testJ
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push80=, 0
+ i32.const $push79=, 0
+ i32.load $push1=, myrnd.s($pop79)
+ i32.const $push78=, 1103515245
+ i32.mul $push2=, $pop1, $pop78
+ i32.const $push77=, 12345
+ i32.add $push3=, $pop2, $pop77
+ tee_local $push76=, $0=, $pop3
+ i32.const $push75=, 16
+ i32.shr_u $push4=, $pop76, $pop75
+ i32.store8 $discard=, sJ($pop80):p2align=2, $pop4
+ i32.const $push74=, 0
+ i32.const $push73=, 1103515245
+ i32.mul $push5=, $0, $pop73
+ i32.const $push72=, 12345
+ i32.add $push6=, $pop5, $pop72
+ tee_local $push71=, $0=, $pop6
+ i32.const $push70=, 16
+ i32.shr_u $push7=, $pop71, $pop70
+ i32.store8 $discard=, sJ+1($pop74), $pop7
+ i32.const $push69=, 0
+ i32.const $push68=, 1103515245
+ i32.mul $push8=, $0, $pop68
+ i32.const $push67=, 12345
+ i32.add $push9=, $pop8, $pop67
+ tee_local $push66=, $0=, $pop9
+ i32.const $push65=, 16
+ i32.shr_u $push10=, $pop66, $pop65
+ i32.store8 $discard=, sJ+2($pop69):p2align=1, $pop10
+ i32.const $push64=, 0
+ i32.const $push63=, 1103515245
+ i32.mul $push11=, $0, $pop63
+ i32.const $push62=, 12345
+ i32.add $push12=, $pop11, $pop62
+ tee_local $push61=, $0=, $pop12
+ i32.const $push60=, 16
+ i32.shr_u $push13=, $pop61, $pop60
+ i32.store8 $discard=, sJ+3($pop64), $pop13
+ i32.const $push59=, 0
+ i32.const $push58=, 1103515245
+ i32.mul $push15=, $0, $pop58
+ i32.const $push57=, 12345
+ i32.add $push16=, $pop15, $pop57
+ tee_local $push56=, $3=, $pop16
+ i32.const $push55=, 16
+ i32.shr_u $push17=, $pop56, $pop55
+ tee_local $push54=, $2=, $pop17
+ i32.const $push53=, 9
+ i32.shl $push21=, $pop54, $pop53
+ i32.const $push52=, 0
+ i32.load16_u $push14=, sJ($pop52):p2align=2
+ i32.const $push51=, 511
+ i32.and $push22=, $pop14, $pop51
+ i32.or $push23=, $pop21, $pop22
+ i32.store16 $discard=, sJ($pop59):p2align=2, $pop23
+ i32.const $push50=, 0
+ i32.load $0=, sJ($pop50)
+ block
+ i32.const $push49=, 0
+ i32.const $push48=, 1103515245
+ i32.mul $push18=, $3, $pop48
+ i32.const $push47=, 12345
+ i32.add $push0=, $pop18, $pop47
+ i32.store $push19=, myrnd.s($pop49), $pop0
+ tee_local $push46=, $1=, $pop19
+ i32.const $push45=, 16
+ i32.shr_u $push20=, $pop46, $pop45
+ tee_local $push44=, $3=, $pop20
+ i32.add $push26=, $pop44, $2
+ i32.const $push43=, 9
+ i32.shr_u $push24=, $0, $pop43
+ i32.add $push25=, $pop24, $3
+ i32.xor $push27=, $pop26, $pop25
+ i32.const $push28=, 127
+ i32.and $push29=, $pop27, $pop28
+ br_if $pop29, 0 # 0: down to label0
+# BB#1: # %if.end142
+ i32.const $push89=, 0
+ i32.const $push88=, 0
+ i32.const $push30=, -2139243339
+ i32.mul $push31=, $1, $pop30
+ i32.const $push32=, -1492899873
+ i32.add $push33=, $pop31, $pop32
+ tee_local $push87=, $3=, $pop33
+ i32.const $push86=, 1103515245
+ i32.mul $push35=, $pop87, $pop86
+ i32.const $push85=, 12345
+ i32.add $push36=, $pop35, $pop85
+ i32.store $push37=, myrnd.s($pop88), $pop36
+ i32.const $push84=, 16
+ i32.shr_u $push38=, $pop37, $pop84
+ i32.const $push83=, 16
+ i32.shr_u $push34=, $3, $pop83
+ i32.add $push40=, $pop38, $pop34
+ i32.const $push82=, 9
+ i32.shl $push41=, $pop40, $pop82
+ i32.const $push81=, 511
+ i32.and $push39=, $0, $pop81
+ i32.or $push42=, $pop41, $pop39
+ i32.store16 $discard=, sJ($pop89):p2align=2, $pop42
+ return
+.LBB60_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end60:
+ .size testJ, .Lfunc_end60-testJ
+
+ .section .text.retmeK,"ax",@progbits
+ .hidden retmeK
+ .globl retmeK
+ .type retmeK,@function
+retmeK: # @retmeK
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($1):p2align=0
+ i32.store $discard=, 0($0), $pop0
+ return
+ .endfunc
+.Lfunc_end61:
+ .size retmeK, .Lfunc_end61-retmeK
+
+ .section .text.fn1K,"ax",@progbits
+ .hidden fn1K
+ .globl fn1K
+ .type fn1K,@function
+fn1K: # @fn1K
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sK($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end62:
+ .size fn1K, .Lfunc_end62-fn1K
+
+ .section .text.fn2K,"ax",@progbits
+ .hidden fn2K
+ .globl fn2K
+ .type fn2K,@function
+fn2K: # @fn2K
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sK($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end63:
+ .size fn2K, .Lfunc_end63-fn2K
+
+ .section .text.retitK,"ax",@progbits
+ .hidden retitK
+ .globl retitK
+ .type retitK,@function
+retitK: # @retitK
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sK($pop0)
+ i32.const $push2=, 63
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end64:
+ .size retitK, .Lfunc_end64-retitK
+
+ .section .text.fn3K,"ax",@progbits
+ .hidden fn3K
+ .globl fn3K
+ .type fn3K,@function
+fn3K: # @fn3K
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sK($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sK($pop0), $pop7
+ return $0
+ .endfunc
+.Lfunc_end65:
+ .size fn3K, .Lfunc_end65-fn3K
+
+ .section .text.testK,"ax",@progbits
+ .hidden testK
+ .globl testK
+ .type testK,@function
+testK: # @testK
+ .local i32, i32
+# BB#0: # %if.end129
+ i32.const $push0=, 0
+ i32.const $push56=, 0
+ i32.load $push1=, myrnd.s($pop56)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push55=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop55, $pop6
+ i32.store8 $discard=, sK($pop0):p2align=2, $pop7
+ i32.const $push54=, 0
+ i32.const $push53=, 1103515245
+ i32.mul $push8=, $1, $pop53
+ i32.const $push52=, 12345
+ i32.add $push9=, $pop8, $pop52
+ tee_local $push51=, $1=, $pop9
+ i32.const $push50=, 16
+ i32.shr_u $push10=, $pop51, $pop50
+ i32.store8 $discard=, sK+1($pop54), $pop10
+ i32.const $push49=, 0
+ i32.const $push48=, 1103515245
+ i32.mul $push11=, $1, $pop48
+ i32.const $push47=, 12345
+ i32.add $push12=, $pop11, $pop47
+ tee_local $push46=, $1=, $pop12
+ i32.const $push45=, 16
+ i32.shr_u $push13=, $pop46, $pop45
+ i32.store8 $discard=, sK+2($pop49):p2align=1, $pop13
+ i32.const $push44=, 0
+ i32.const $push43=, 1103515245
+ i32.mul $push14=, $1, $pop43
+ i32.const $push42=, 12345
+ i32.add $push15=, $pop14, $pop42
+ tee_local $push41=, $1=, $pop15
+ i32.const $push40=, 16
+ i32.shr_u $push16=, $pop41, $pop40
+ i32.store8 $discard=, sK+3($pop44), $pop16
+ i32.const $push39=, 0
+ i32.load $0=, sK($pop39)
+ i32.const $push38=, 0
+ i32.const $push37=, 0
+ i32.const $push19=, -341751747
+ i32.mul $push20=, $1, $pop19
+ i32.const $push21=, 229283573
+ i32.add $push22=, $pop20, $pop21
+ tee_local $push36=, $1=, $pop22
+ i32.const $push35=, 1103515245
+ i32.mul $push24=, $pop36, $pop35
+ i32.const $push34=, 12345
+ i32.add $push25=, $pop24, $pop34
+ i32.store $push26=, myrnd.s($pop37), $pop25
+ i32.const $push33=, 16
+ i32.shr_u $push27=, $pop26, $pop33
+ i32.const $push32=, 16
+ i32.shr_u $push23=, $1, $pop32
+ i32.add $push28=, $pop27, $pop23
+ i32.const $push29=, 63
+ i32.and $push30=, $pop28, $pop29
+ i32.const $push17=, -64
+ i32.and $push18=, $0, $pop17
+ i32.or $push31=, $pop30, $pop18
+ i32.store $discard=, sK($pop38), $pop31
+ return
+ .endfunc
+.Lfunc_end66:
+ .size testK, .Lfunc_end66-testK
+
+ .section .text.retmeL,"ax",@progbits
+ .hidden retmeL
+ .globl retmeL
+ .type retmeL,@function
+retmeL: # @retmeL
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=2, $pop0
+ return
+ .endfunc
+.Lfunc_end67:
+ .size retmeL, .Lfunc_end67-retmeL
+
+ .section .text.fn1L,"ax",@progbits
+ .hidden fn1L
+ .globl fn1L
+ .type fn1L,@function
+fn1L: # @fn1L
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sL($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end68:
+ .size fn1L, .Lfunc_end68-fn1L
+
+ .section .text.fn2L,"ax",@progbits
+ .hidden fn2L
+ .globl fn2L
+ .type fn2L,@function
+fn2L: # @fn2L
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sL($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end69:
+ .size fn2L, .Lfunc_end69-fn2L
+
+ .section .text.retitL,"ax",@progbits
+ .hidden retitL
+ .globl retitL
+ .type retitL,@function
+retitL: # @retitL
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sL($pop0):p2align=3
+ i32.const $push2=, 63
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end70:
+ .size retitL, .Lfunc_end70-retitL
+
+ .section .text.fn3L,"ax",@progbits
+ .hidden fn3L
+ .globl fn3L
+ .type fn3L,@function
+fn3L: # @fn3L
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sL($pop10):p2align=3
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sL($pop0):p2align=3, $pop7
+ return $0
+ .endfunc
+.Lfunc_end71:
+ .size fn3L, .Lfunc_end71-fn3L
+
+ .section .text.testL,"ax",@progbits
+ .hidden testL
+ .globl testL
+ .type testL,@function
+testL: # @testL
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push110=, 0
+ i32.const $push109=, 0
+ i32.load $push2=, myrnd.s($pop109)
+ i32.const $push108=, 1103515245
+ i32.mul $push3=, $pop2, $pop108
+ i32.const $push107=, 12345
+ i32.add $push4=, $pop3, $pop107
+ tee_local $push106=, $3=, $pop4
+ i32.const $push105=, 16
+ i32.shr_u $push5=, $pop106, $pop105
+ i32.store8 $discard=, sL($pop110):p2align=3, $pop5
+ i32.const $push104=, 0
+ i32.const $push103=, 1103515245
+ i32.mul $push6=, $3, $pop103
+ i32.const $push102=, 12345
+ i32.add $push7=, $pop6, $pop102
+ tee_local $push101=, $3=, $pop7
+ i32.const $push100=, 16
+ i32.shr_u $push8=, $pop101, $pop100
+ i32.store8 $discard=, sL+1($pop104), $pop8
+ i32.const $push99=, 0
+ i32.const $push98=, 1103515245
+ i32.mul $push9=, $3, $pop98
+ i32.const $push97=, 12345
+ i32.add $push10=, $pop9, $pop97
+ tee_local $push96=, $3=, $pop10
+ i32.const $push95=, 16
+ i32.shr_u $push11=, $pop96, $pop95
+ i32.store8 $discard=, sL+2($pop99):p2align=1, $pop11
+ i32.const $push94=, 0
+ i32.const $push93=, 1103515245
+ i32.mul $push12=, $3, $pop93
+ i32.const $push92=, 12345
+ i32.add $push13=, $pop12, $pop92
+ tee_local $push91=, $3=, $pop13
+ i32.const $push90=, 16
+ i32.shr_u $push14=, $pop91, $pop90
+ i32.store8 $discard=, sL+3($pop94), $pop14
+ i32.const $push89=, 0
+ i32.const $push88=, 1103515245
+ i32.mul $push15=, $3, $pop88
+ i32.const $push87=, 12345
+ i32.add $push16=, $pop15, $pop87
+ tee_local $push86=, $3=, $pop16
+ i32.const $push85=, 16
+ i32.shr_u $push17=, $pop86, $pop85
+ i32.store8 $discard=, sL+4($pop89):p2align=2, $pop17
+ i32.const $push84=, 0
+ i32.const $push83=, 1103515245
+ i32.mul $push18=, $3, $pop83
+ i32.const $push82=, 12345
+ i32.add $push19=, $pop18, $pop82
+ tee_local $push81=, $3=, $pop19
+ i32.const $push80=, 16
+ i32.shr_u $push20=, $pop81, $pop80
+ i32.store8 $discard=, sL+5($pop84), $pop20
+ i32.const $push79=, 0
+ i32.const $push78=, 1103515245
+ i32.mul $push21=, $3, $pop78
+ i32.const $push77=, 12345
+ i32.add $push22=, $pop21, $pop77
+ tee_local $push76=, $3=, $pop22
+ i32.const $push75=, 16
+ i32.shr_u $push23=, $pop76, $pop75
+ i32.store8 $discard=, sL+6($pop79):p2align=1, $pop23
+ i32.const $push74=, 0
+ i32.const $push73=, 1103515245
+ i32.mul $push24=, $3, $pop73
+ i32.const $push72=, 12345
+ i32.add $push25=, $pop24, $pop72
+ tee_local $push71=, $3=, $pop25
+ i32.const $push70=, 16
+ i32.shr_u $push26=, $pop71, $pop70
+ i32.store8 $discard=, sL+7($pop74), $pop26
+ i32.const $push69=, 0
+ i32.load $0=, sL($pop69):p2align=3
+ block
+ i32.const $push68=, 0
+ i32.const $push67=, 1103515245
+ i32.mul $push27=, $3, $pop67
+ i32.const $push66=, 12345
+ i32.add $push28=, $pop27, $pop66
+ tee_local $push65=, $3=, $pop28
+ i32.const $push64=, 1103515245
+ i32.mul $push30=, $pop65, $pop64
+ i32.const $push63=, 12345
+ i32.add $push0=, $pop30, $pop63
+ i32.store $push31=, myrnd.s($pop68), $pop0
+ tee_local $push62=, $2=, $pop31
+ i32.const $push61=, 16
+ i32.shr_u $push32=, $pop62, $pop61
+ tee_local $push60=, $1=, $pop32
+ i32.const $push59=, 16
+ i32.shr_u $push29=, $3, $pop59
+ tee_local $push58=, $3=, $pop29
+ i32.add $push37=, $pop60, $pop58
+ i32.const $push57=, 0
+ i32.const $push56=, 63
+ i32.and $push33=, $3, $pop56
+ i32.const $push55=, -64
+ i32.and $push34=, $0, $pop55
+ i32.or $push1=, $pop33, $pop34
+ i32.store $push35=, sL($pop57):p2align=3, $pop1
+ tee_local $push54=, $3=, $pop35
+ i32.add $push36=, $pop54, $1
+ i32.xor $push38=, $pop37, $pop36
+ i32.const $push53=, 63
+ i32.and $push39=, $pop38, $pop53
+ br_if $pop39, 0 # 0: down to label1
+# BB#1: # %if.end75
+ i32.const $push119=, 0
+ i32.const $push118=, 0
+ i32.const $push41=, -2139243339
+ i32.mul $push42=, $2, $pop41
+ i32.const $push43=, -1492899873
+ i32.add $push44=, $pop42, $pop43
+ tee_local $push117=, $0=, $pop44
+ i32.const $push116=, 1103515245
+ i32.mul $push46=, $pop117, $pop116
+ i32.const $push115=, 12345
+ i32.add $push47=, $pop46, $pop115
+ i32.store $push48=, myrnd.s($pop118), $pop47
+ i32.const $push114=, 16
+ i32.shr_u $push49=, $pop48, $pop114
+ i32.const $push113=, 16
+ i32.shr_u $push45=, $0, $pop113
+ i32.add $push50=, $pop49, $pop45
+ i32.const $push112=, 63
+ i32.and $push51=, $pop50, $pop112
+ i32.const $push111=, -64
+ i32.and $push40=, $3, $pop111
+ i32.or $push52=, $pop51, $pop40
+ i32.store $discard=, sL($pop119):p2align=3, $pop52
+ return
+.LBB72_2: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end72:
+ .size testL, .Lfunc_end72-testL
+
+ .section .text.retmeM,"ax",@progbits
+ .hidden retmeM
+ .globl retmeM
+ .type retmeM,@function
+retmeM: # @retmeM
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=2, $pop0
+ return
+ .endfunc
+.Lfunc_end73:
+ .size retmeM, .Lfunc_end73-retmeM
+
+ .section .text.fn1M,"ax",@progbits
+ .hidden fn1M
+ .globl fn1M
+ .type fn1M,@function
+fn1M: # @fn1M
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sM+4($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end74:
+ .size fn1M, .Lfunc_end74-fn1M
+
+ .section .text.fn2M,"ax",@progbits
+ .hidden fn2M
+ .globl fn2M
+ .type fn2M,@function
+fn2M: # @fn2M
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sM+4($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end75:
+ .size fn2M, .Lfunc_end75-fn2M
+
+ .section .text.retitM,"ax",@progbits
+ .hidden retitM
+ .globl retitM
+ .type retitM,@function
+retitM: # @retitM
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sM+4($pop0)
+ i32.const $push2=, 63
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end76:
+ .size retitM, .Lfunc_end76-retitM
+
+ .section .text.fn3M,"ax",@progbits
+ .hidden fn3M
+ .globl fn3M
+ .type fn3M,@function
+fn3M: # @fn3M
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sM+4($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -64
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sM+4($pop0), $pop7
+ return $0
+ .endfunc
+.Lfunc_end77:
+ .size fn3M, .Lfunc_end77-fn3M
+
+ .section .text.testM,"ax",@progbits
+ .hidden testM
+ .globl testM
+ .type testM,@function
+testM: # @testM
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push107=, 0
+ i32.const $push106=, 0
+ i32.load $push2=, myrnd.s($pop106)
+ i32.const $push105=, 1103515245
+ i32.mul $push3=, $pop2, $pop105
+ i32.const $push104=, 12345
+ i32.add $push4=, $pop3, $pop104
+ tee_local $push103=, $1=, $pop4
+ i32.const $push102=, 16
+ i32.shr_u $push5=, $pop103, $pop102
+ i32.store8 $discard=, sM($pop107):p2align=3, $pop5
+ i32.const $push101=, 0
+ i32.const $push100=, 1103515245
+ i32.mul $push6=, $1, $pop100
+ i32.const $push99=, 12345
+ i32.add $push7=, $pop6, $pop99
+ tee_local $push98=, $1=, $pop7
+ i32.const $push97=, 16
+ i32.shr_u $push8=, $pop98, $pop97
+ i32.store8 $discard=, sM+1($pop101), $pop8
+ i32.const $push96=, 0
+ i32.const $push95=, 1103515245
+ i32.mul $push9=, $1, $pop95
+ i32.const $push94=, 12345
+ i32.add $push10=, $pop9, $pop94
+ tee_local $push93=, $1=, $pop10
+ i32.const $push92=, 16
+ i32.shr_u $push11=, $pop93, $pop92
+ i32.store8 $discard=, sM+2($pop96):p2align=1, $pop11
+ i32.const $push91=, 0
+ i32.const $push90=, 1103515245
+ i32.mul $push12=, $1, $pop90
+ i32.const $push89=, 12345
+ i32.add $push13=, $pop12, $pop89
+ tee_local $push88=, $1=, $pop13
+ i32.const $push87=, 1103515245
+ i32.mul $push15=, $pop88, $pop87
+ i32.const $push86=, 12345
+ i32.add $push16=, $pop15, $pop86
+ tee_local $push85=, $3=, $pop16
+ i32.const $push84=, 16
+ i32.shr_u $push17=, $pop85, $pop84
+ i32.store8 $discard=, sM+4($pop91):p2align=2, $pop17
+ i32.const $push83=, 0
+ i32.const $push82=, 1103515245
+ i32.mul $push18=, $3, $pop82
+ i32.const $push81=, 12345
+ i32.add $push19=, $pop18, $pop81
+ tee_local $push80=, $3=, $pop19
+ i32.const $push79=, 16
+ i32.shr_u $push20=, $pop80, $pop79
+ i32.store8 $discard=, sM+5($pop83), $pop20
+ i32.const $push78=, 0
+ i32.const $push77=, 1103515245
+ i32.mul $push21=, $3, $pop77
+ i32.const $push76=, 12345
+ i32.add $push22=, $pop21, $pop76
+ tee_local $push75=, $3=, $pop22
+ i32.const $push74=, 16
+ i32.shr_u $push23=, $pop75, $pop74
+ i32.store8 $discard=, sM+6($pop78):p2align=1, $pop23
+ i32.const $push73=, 0
+ i32.const $push72=, 1103515245
+ i32.mul $push24=, $3, $pop72
+ i32.const $push71=, 12345
+ i32.add $push25=, $pop24, $pop71
+ tee_local $push70=, $3=, $pop25
+ i32.const $push69=, 16
+ i32.shr_u $push26=, $pop70, $pop69
+ i32.store8 $discard=, sM+7($pop73), $pop26
+ i32.const $push68=, 0
+ i32.load $0=, sM+4($pop68)
+ i32.const $push67=, 0
+ i32.const $push66=, 16
+ i32.shr_u $push14=, $1, $pop66
+ i32.store8 $discard=, sM+3($pop67), $pop14
+ i32.const $push65=, 0
+ i32.const $push64=, 1103515245
+ i32.mul $push27=, $3, $pop64
+ i32.const $push63=, 12345
+ i32.add $push28=, $pop27, $pop63
+ tee_local $push62=, $3=, $pop28
+ i32.const $push61=, 1103515245
+ i32.mul $push30=, $pop62, $pop61
+ i32.const $push60=, 12345
+ i32.add $push0=, $pop30, $pop60
+ i32.store $1=, myrnd.s($pop65), $pop0
+ block
+ i32.const $push59=, 0
+ i32.const $push58=, 16
+ i32.shr_u $push29=, $3, $pop58
+ tee_local $push57=, $3=, $pop29
+ i32.const $push56=, 63
+ i32.and $push32=, $pop57, $pop56
+ i32.const $push33=, -64
+ i32.and $push1=, $0, $pop33
+ tee_local $push55=, $2=, $pop1
+ i32.or $push34=, $pop32, $pop55
+ i32.store $push35=, sM+4($pop59), $pop34
+ i32.const $push54=, 16
+ i32.shr_u $push31=, $1, $pop54
+ tee_local $push53=, $0=, $pop31
+ i32.add $push36=, $pop35, $pop53
+ i32.add $push37=, $0, $3
+ i32.xor $push38=, $pop36, $pop37
+ i32.const $push52=, 63
+ i32.and $push39=, $pop38, $pop52
+ br_if $pop39, 0 # 0: down to label2
+# BB#1: # %if.end107
+ i32.const $push115=, 0
+ i32.const $push114=, 0
+ i32.const $push40=, -2139243339
+ i32.mul $push41=, $1, $pop40
+ i32.const $push42=, -1492899873
+ i32.add $push43=, $pop41, $pop42
+ tee_local $push113=, $1=, $pop43
+ i32.const $push112=, 1103515245
+ i32.mul $push45=, $pop113, $pop112
+ i32.const $push111=, 12345
+ i32.add $push46=, $pop45, $pop111
+ i32.store $push47=, myrnd.s($pop114), $pop46
+ i32.const $push110=, 16
+ i32.shr_u $push48=, $pop47, $pop110
+ i32.const $push109=, 16
+ i32.shr_u $push44=, $1, $pop109
+ i32.add $push49=, $pop48, $pop44
+ i32.const $push108=, 63
+ i32.and $push50=, $pop49, $pop108
+ i32.or $push51=, $pop50, $2
+ i32.store $discard=, sM+4($pop115), $pop51
+ return
+.LBB78_2: # %if.then
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end78:
+ .size testM, .Lfunc_end78-testM
+
+ .section .text.retmeN,"ax",@progbits
+ .hidden retmeN
+ .globl retmeN
+ .type retmeN,@function
+retmeN: # @retmeN
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0), $pop0
+ return
+ .endfunc
+.Lfunc_end79:
+ .size retmeN, .Lfunc_end79-retmeN
+
+ .section .text.fn1N,"ax",@progbits
+ .hidden fn1N
+ .globl fn1N
+ .type fn1N,@function
+fn1N: # @fn1N
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sN($pop0):p2align=3
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 63
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end80:
+ .size fn1N, .Lfunc_end80-fn1N
+
+ .section .text.fn2N,"ax",@progbits
+ .hidden fn2N
+ .globl fn2N
+ .type fn2N,@function
+fn2N: # @fn2N
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sN($pop0):p2align=3
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 63
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end81:
+ .size fn2N, .Lfunc_end81-fn2N
+
+ .section .text.retitN,"ax",@progbits
+ .hidden retitN
+ .globl retitN
+ .type retitN,@function
+retitN: # @retitN
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sN($pop0):p2align=3
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.const $push4=, 63
+ i32.and $push5=, $pop3, $pop4
+ return $pop5
+ .endfunc
+.Lfunc_end82:
+ .size retitN, .Lfunc_end82-retitN
+
+ .section .text.fn3N,"ax",@progbits
+ .hidden fn3N
+ .globl fn3N
+ .type fn3N,@function
+fn3N: # @fn3N
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push18=, 0
+ i64.load $push1=, sN($pop18)
+ tee_local $push17=, $1=, $pop1
+ i64.const $push2=, 6
+ i64.shr_u $push3=, $pop17, $pop2
+ i32.wrap/i64 $push4=, $pop3
+ i32.add $push5=, $pop4, $0
+ tee_local $push16=, $0=, $pop5
+ i32.const $push6=, 6
+ i32.shl $push7=, $pop16, $pop6
+ i64.extend_u/i32 $push8=, $pop7
+ i64.const $push9=, 4032
+ i64.and $push10=, $pop8, $pop9
+ i64.const $push11=, -4033
+ i64.and $push12=, $1, $pop11
+ i64.or $push13=, $pop10, $pop12
+ i64.store $discard=, sN($pop0), $pop13
+ i32.const $push14=, 63
+ i32.and $push15=, $0, $pop14
+ return $pop15
+ .endfunc
+.Lfunc_end83:
+ .size fn3N, .Lfunc_end83-fn3N
+
+ .section .text.testN,"ax",@progbits
+ .hidden testN
+ .globl testN
+ .type testN,@function
+testN: # @testN
+ .local i32, i32, i64, i64, i64, i32, i32, i32
+# BB#0: # %lor.lhs.false
+ i32.const $push13=, 0
+ i32.const $push179=, 0
+ i32.load $push14=, myrnd.s($pop179)
+ i32.const $push15=, 1103515245
+ i32.mul $push16=, $pop14, $pop15
+ i32.const $push17=, 12345
+ i32.add $push18=, $pop16, $pop17
+ tee_local $push178=, $5=, $pop18
+ i32.const $push177=, 16
+ i32.shr_u $push19=, $pop178, $pop177
+ i32.store8 $discard=, sN($pop13):p2align=3, $pop19
+ i32.const $push176=, 0
+ i32.const $push175=, 1103515245
+ i32.mul $push20=, $5, $pop175
+ i32.const $push174=, 12345
+ i32.add $push21=, $pop20, $pop174
+ tee_local $push173=, $5=, $pop21
+ i32.const $push172=, 16
+ i32.shr_u $push22=, $pop173, $pop172
+ i32.store8 $discard=, sN+1($pop176), $pop22
+ i32.const $push171=, 0
+ i32.const $push170=, 1103515245
+ i32.mul $push23=, $5, $pop170
+ i32.const $push169=, 12345
+ i32.add $push24=, $pop23, $pop169
+ tee_local $push168=, $5=, $pop24
+ i32.const $push167=, 16
+ i32.shr_u $push25=, $pop168, $pop167
+ i32.store8 $discard=, sN+2($pop171):p2align=1, $pop25
+ i32.const $push166=, 0
+ i32.const $push165=, 1103515245
+ i32.mul $push26=, $5, $pop165
+ i32.const $push164=, 12345
+ i32.add $push27=, $pop26, $pop164
+ tee_local $push163=, $5=, $pop27
+ i32.const $push162=, 16
+ i32.shr_u $push28=, $pop163, $pop162
+ i32.store8 $discard=, sN+3($pop166), $pop28
+ i32.const $push161=, 0
+ i32.const $push160=, 1103515245
+ i32.mul $push29=, $5, $pop160
+ i32.const $push159=, 12345
+ i32.add $push30=, $pop29, $pop159
+ tee_local $push158=, $5=, $pop30
+ i32.const $push157=, 16
+ i32.shr_u $push31=, $pop158, $pop157
+ i32.store8 $discard=, sN+4($pop161):p2align=2, $pop31
+ i32.const $push156=, 0
+ i32.const $push155=, 1103515245
+ i32.mul $push32=, $5, $pop155
+ i32.const $push154=, 12345
+ i32.add $push33=, $pop32, $pop154
+ tee_local $push153=, $5=, $pop33
+ i32.const $push152=, 16
+ i32.shr_u $push34=, $pop153, $pop152
+ i32.store8 $discard=, sN+5($pop156), $pop34
+ i32.const $push151=, 0
+ i32.const $push150=, 1103515245
+ i32.mul $push35=, $5, $pop150
+ i32.const $push149=, 12345
+ i32.add $push36=, $pop35, $pop149
+ tee_local $push148=, $5=, $pop36
+ i32.const $push147=, 16
+ i32.shr_u $push37=, $pop148, $pop147
+ i32.store8 $discard=, sN+6($pop151):p2align=1, $pop37
+ i32.const $push146=, 0
+ i32.const $push145=, 1103515245
+ i32.mul $push38=, $5, $pop145
+ i32.const $push144=, 12345
+ i32.add $push39=, $pop38, $pop144
+ tee_local $push143=, $5=, $pop39
+ i32.const $push142=, 16
+ i32.shr_u $push40=, $pop143, $pop142
+ i32.store8 $discard=, sN+7($pop146), $pop40
+ i32.const $push141=, 0
+ i32.const $push140=, 1103515245
+ i32.mul $push44=, $5, $pop140
+ i32.const $push139=, 12345
+ i32.add $push45=, $pop44, $pop139
+ tee_local $push138=, $5=, $pop45
+ i32.const $push137=, 1103515245
+ i32.mul $push46=, $pop138, $pop137
+ i32.const $push136=, 12345
+ i32.add $push1=, $pop46, $pop136
+ i32.store $1=, myrnd.s($pop141), $pop1
+ block
+ i32.const $push135=, 0
+ i32.const $push47=, 10
+ i32.shr_u $push48=, $5, $pop47
+ i64.extend_u/i32 $push49=, $pop48
+ i64.const $push42=, 4032
+ i64.and $push50=, $pop49, $pop42
+ i32.const $push134=, 0
+ i64.load $push41=, sN($pop134)
+ tee_local $push133=, $4=, $pop41
+ i64.const $push51=, -4033
+ i64.and $push3=, $pop133, $pop51
+ tee_local $push132=, $3=, $pop3
+ i64.or $push4=, $pop50, $pop132
+ i64.store $push52=, sN($pop135), $pop4
+ tee_local $push131=, $2=, $pop52
+ i64.const $push130=, 4032
+ i64.or $push43=, $4, $pop130
+ i64.xor $push7=, $pop131, $pop43
+ tee_local $push129=, $4=, $pop7
+ i64.const $push55=, 34359734272
+ i64.and $push56=, $pop129, $pop55
+ i64.const $push128=, 0
+ i64.ne $push57=, $pop56, $pop128
+ br_if $pop57, 0 # 0: down to label3
+# BB#1: # %lor.lhs.false29
+ i64.const $push61=, 63
+ i64.and $push62=, $4, $pop61
+ i64.const $push180=, 0
+ i64.ne $push63=, $pop62, $pop180
+ br_if $pop63, 0 # 0: down to label3
+# BB#2: # %lor.lhs.false29
+ i64.const $push53=, 6
+ i64.shr_u $push54=, $2, $pop53
+ i32.wrap/i64 $push5=, $pop54
+ tee_local $push183=, $6=, $pop5
+ i32.const $push182=, 16
+ i32.shr_u $push0=, $5, $pop182
+ tee_local $push181=, $5=, $pop0
+ i32.xor $push59=, $pop183, $pop181
+ i32.const $push60=, 63
+ i32.and $push58=, $pop59, $pop60
+ br_if $pop58, 0 # 0: down to label3
+# BB#3: # %lor.lhs.false49
+ i32.const $push186=, 16
+ i32.shr_u $push2=, $1, $pop186
+ tee_local $push185=, $7=, $pop2
+ i32.add $push6=, $6, $pop185
+ i32.add $push64=, $7, $5
+ i32.xor $push65=, $pop6, $pop64
+ i32.const $push184=, 63
+ i32.and $push66=, $pop65, $pop184
+ br_if $pop66, 0 # 0: down to label3
+# BB#4: # %lor.lhs.false69
+ i32.const $push72=, 0
+ i32.const $push67=, 1103515245
+ i32.mul $push68=, $1, $pop67
+ i32.const $push69=, 12345
+ i32.add $push70=, $pop68, $pop69
+ tee_local $push197=, $5=, $pop70
+ i32.const $push196=, 1103515245
+ i32.mul $push71=, $pop197, $pop196
+ i32.const $push195=, 12345
+ i32.add $push9=, $pop71, $pop195
+ i32.store $1=, myrnd.s($pop72), $pop9
+ i32.const $push194=, 0
+ i32.const $push73=, 10
+ i32.shr_u $push74=, $5, $pop73
+ i64.extend_u/i32 $push75=, $pop74
+ i64.const $push76=, 4032
+ i64.and $push77=, $pop75, $pop76
+ i64.or $push78=, $pop77, $3
+ i64.store $push79=, sN($pop194), $pop78
+ tee_local $push193=, $4=, $pop79
+ i64.const $push80=, 6
+ i64.shr_u $push81=, $pop193, $pop80
+ i32.wrap/i64 $push11=, $pop81
+ tee_local $push192=, $6=, $pop11
+ i32.const $push191=, 16
+ i32.shr_u $push10=, $1, $pop191
+ tee_local $push190=, $7=, $pop10
+ i32.add $push82=, $pop192, $pop190
+ i32.const $push189=, 63
+ i32.and $push83=, $pop82, $pop189
+ i32.const $push84=, 15
+ i32.rem_u $0=, $pop83, $pop84
+ block
+ i64.xor $push12=, $4, $2
+ tee_local $push188=, $2=, $pop12
+ i64.const $push85=, 34359734272
+ i64.and $push86=, $pop188, $pop85
+ i64.const $push187=, 0
+ i64.ne $push87=, $pop86, $pop187
+ br_if $pop87, 0 # 0: down to label4
+# BB#5: # %lor.lhs.false80
+ i64.const $push91=, 63
+ i64.and $push92=, $2, $pop91
+ i64.const $push198=, 0
+ i64.ne $push93=, $pop92, $pop198
+ br_if $pop93, 0 # 0: down to label4
+# BB#6: # %lor.lhs.false80
+ i32.const $push200=, 16
+ i32.shr_u $push8=, $5, $pop200
+ tee_local $push199=, $5=, $pop8
+ i32.xor $push89=, $6, $pop199
+ i32.const $push90=, 63
+ i32.and $push88=, $pop89, $pop90
+ br_if $pop88, 0 # 0: down to label4
+# BB#7: # %lor.lhs.false100
+ i32.add $push94=, $7, $5
+ i32.const $push201=, 63
+ i32.and $push95=, $pop94, $pop201
+ i32.const $push96=, 15
+ i32.rem_u $push97=, $pop95, $pop96
+ i32.ne $push98=, $pop97, $0
+ br_if $pop98, 0 # 0: down to label4
+# BB#8: # %lor.lhs.false125
+ i32.const $push107=, 0
+ i32.const $push99=, 1103515245
+ i32.mul $push100=, $1, $pop99
+ i32.const $push101=, 12345
+ i32.add $push102=, $pop100, $pop101
+ tee_local $push210=, $5=, $pop102
+ i32.const $push110=, 10
+ i32.shr_u $push111=, $pop210, $pop110
+ i64.extend_u/i32 $push112=, $pop111
+ i64.const $push113=, 4032
+ i64.and $push114=, $pop112, $pop113
+ i64.or $push115=, $pop114, $3
+ i64.const $push116=, 6
+ i64.shr_u $push117=, $pop115, $pop116
+ i32.wrap/i64 $push118=, $pop117
+ i32.const $push209=, 0
+ i32.const $push208=, 1103515245
+ i32.mul $push105=, $5, $pop208
+ i32.const $push207=, 12345
+ i32.add $push106=, $pop105, $pop207
+ i32.store $push108=, myrnd.s($pop209), $pop106
+ i32.const $push103=, 16
+ i32.shr_u $push109=, $pop108, $pop103
+ tee_local $push206=, $1=, $pop109
+ i32.add $push119=, $pop118, $pop206
+ tee_local $push205=, $6=, $pop119
+ i32.const $push120=, 6
+ i32.shl $push121=, $pop205, $pop120
+ i64.extend_u/i32 $push122=, $pop121
+ i64.const $push204=, 4032
+ i64.and $push123=, $pop122, $pop204
+ i64.or $push124=, $pop123, $3
+ i64.store $discard=, sN($pop107), $pop124
+ block
+ i32.const $push203=, 16
+ i32.shr_u $push104=, $5, $pop203
+ i32.add $push125=, $1, $pop104
+ i32.xor $push126=, $pop125, $6
+ i32.const $push202=, 63
+ i32.and $push127=, $pop126, $pop202
+ br_if $pop127, 0 # 0: down to label5
+# BB#9: # %if.end158
+ return
+.LBB84_10: # %if.then157
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB84_11: # %if.then106
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB84_12: # %if.then
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end84:
+ .size testN, .Lfunc_end84-testN
+
+ .section .text.retmeO,"ax",@progbits
+ .hidden retmeO
+ .globl retmeO
+ .type retmeO,@function
+retmeO: # @retmeO
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end85:
+ .size retmeO, .Lfunc_end85-retmeO
+
+ .section .text.fn1O,"ax",@progbits
+ .hidden fn1O
+ .globl fn1O
+ .type fn1O,@function
+fn1O: # @fn1O
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sO+8($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end86:
+ .size fn1O, .Lfunc_end86-fn1O
+
+ .section .text.fn2O,"ax",@progbits
+ .hidden fn2O
+ .globl fn2O
+ .type fn2O,@function
+fn2O: # @fn2O
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sO+8($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end87:
+ .size fn2O, .Lfunc_end87-fn2O
+
+ .section .text.retitO,"ax",@progbits
+ .hidden retitO
+ .globl retitO
+ .type retitO,@function
+retitO: # @retitO
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sO+8($pop0):p2align=3
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end88:
+ .size retitO, .Lfunc_end88-retitO
+
+ .section .text.fn3O,"ax",@progbits
+ .hidden fn3O
+ .globl fn3O
+ .type fn3O,@function
+fn3O: # @fn3O
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i64.load $push1=, sO+8($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.wrap/i64 $push2=, $pop13
+ i32.add $push3=, $pop2, $0
+ tee_local $push12=, $0=, $pop3
+ i64.extend_u/i32 $push4=, $pop12
+ i64.const $push5=, 4095
+ i64.and $push6=, $pop4, $pop5
+ i64.const $push7=, -4096
+ i64.and $push8=, $1, $pop7
+ i64.or $push9=, $pop6, $pop8
+ i64.store $discard=, sO+8($pop0), $pop9
+ i32.const $push10=, 4095
+ i32.and $push11=, $0, $pop10
+ return $pop11
+ .endfunc
+.Lfunc_end89:
+ .size fn3O, .Lfunc_end89-fn3O
+
+ .section .text.testO,"ax",@progbits
+ .hidden testO
+ .globl testO
+ .type testO,@function
+testO: # @testO
+ .local i64, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push6=, 0
+ i32.const $push213=, 0
+ i32.load $push7=, myrnd.s($pop213)
+ i32.const $push8=, 1103515245
+ i32.mul $push9=, $pop7, $pop8
+ i32.const $push10=, 12345
+ i32.add $push11=, $pop9, $pop10
+ tee_local $push212=, $1=, $pop11
+ i32.const $push211=, 16
+ i32.shr_u $push12=, $pop212, $pop211
+ i32.store8 $discard=, sO($pop6):p2align=3, $pop12
+ i32.const $push210=, 0
+ i32.const $push209=, 1103515245
+ i32.mul $push13=, $1, $pop209
+ i32.const $push208=, 12345
+ i32.add $push14=, $pop13, $pop208
+ tee_local $push207=, $1=, $pop14
+ i32.const $push206=, 16
+ i32.shr_u $push15=, $pop207, $pop206
+ i32.store8 $discard=, sO+1($pop210), $pop15
+ i32.const $push205=, 0
+ i32.const $push204=, 1103515245
+ i32.mul $push16=, $1, $pop204
+ i32.const $push203=, 12345
+ i32.add $push17=, $pop16, $pop203
+ tee_local $push202=, $1=, $pop17
+ i32.const $push201=, 16
+ i32.shr_u $push18=, $pop202, $pop201
+ i32.store8 $discard=, sO+2($pop205):p2align=1, $pop18
+ i32.const $push200=, 0
+ i32.const $push199=, 1103515245
+ i32.mul $push19=, $1, $pop199
+ i32.const $push198=, 12345
+ i32.add $push20=, $pop19, $pop198
+ tee_local $push197=, $1=, $pop20
+ i32.const $push196=, 16
+ i32.shr_u $push21=, $pop197, $pop196
+ i32.store8 $discard=, sO+3($pop200), $pop21
+ i32.const $push195=, 0
+ i32.const $push194=, 1103515245
+ i32.mul $push22=, $1, $pop194
+ i32.const $push193=, 12345
+ i32.add $push23=, $pop22, $pop193
+ tee_local $push192=, $1=, $pop23
+ i32.const $push191=, 16
+ i32.shr_u $push24=, $pop192, $pop191
+ i32.store8 $discard=, sO+4($pop195):p2align=2, $pop24
+ i32.const $push190=, 0
+ i32.const $push189=, 1103515245
+ i32.mul $push25=, $1, $pop189
+ i32.const $push188=, 12345
+ i32.add $push26=, $pop25, $pop188
+ tee_local $push187=, $1=, $pop26
+ i32.const $push186=, 16
+ i32.shr_u $push27=, $pop187, $pop186
+ i32.store8 $discard=, sO+5($pop190), $pop27
+ i32.const $push185=, 0
+ i32.const $push184=, 1103515245
+ i32.mul $push28=, $1, $pop184
+ i32.const $push183=, 12345
+ i32.add $push29=, $pop28, $pop183
+ tee_local $push182=, $1=, $pop29
+ i32.const $push181=, 16
+ i32.shr_u $push30=, $pop182, $pop181
+ i32.store8 $discard=, sO+6($pop185):p2align=1, $pop30
+ i32.const $push180=, 0
+ i32.const $push179=, 1103515245
+ i32.mul $push31=, $1, $pop179
+ i32.const $push178=, 12345
+ i32.add $push32=, $pop31, $pop178
+ tee_local $push177=, $1=, $pop32
+ i32.const $push176=, 16
+ i32.shr_u $push33=, $pop177, $pop176
+ i32.store8 $discard=, sO+7($pop180), $pop33
+ i32.const $push175=, 0
+ i32.const $push174=, 1103515245
+ i32.mul $push34=, $1, $pop174
+ i32.const $push173=, 12345
+ i32.add $push35=, $pop34, $pop173
+ tee_local $push172=, $1=, $pop35
+ i32.const $push171=, 16
+ i32.shr_u $push36=, $pop172, $pop171
+ i32.store8 $discard=, sO+8($pop175):p2align=3, $pop36
+ i32.const $push170=, 0
+ i32.const $push169=, 1103515245
+ i32.mul $push37=, $1, $pop169
+ i32.const $push168=, 12345
+ i32.add $push38=, $pop37, $pop168
+ tee_local $push167=, $1=, $pop38
+ i32.const $push166=, 16
+ i32.shr_u $push39=, $pop167, $pop166
+ i32.store8 $discard=, sO+9($pop170), $pop39
+ i32.const $push165=, 0
+ i32.const $push164=, 1103515245
+ i32.mul $push40=, $1, $pop164
+ i32.const $push163=, 12345
+ i32.add $push41=, $pop40, $pop163
+ tee_local $push162=, $1=, $pop41
+ i32.const $push161=, 16
+ i32.shr_u $push42=, $pop162, $pop161
+ i32.store8 $discard=, sO+10($pop165):p2align=1, $pop42
+ i32.const $push160=, 0
+ i32.const $push159=, 1103515245
+ i32.mul $push43=, $1, $pop159
+ i32.const $push158=, 12345
+ i32.add $push44=, $pop43, $pop158
+ tee_local $push157=, $1=, $pop44
+ i32.const $push156=, 16
+ i32.shr_u $push45=, $pop157, $pop156
+ i32.store8 $discard=, sO+11($pop160), $pop45
+ i32.const $push155=, 0
+ i32.const $push154=, 1103515245
+ i32.mul $push46=, $1, $pop154
+ i32.const $push153=, 12345
+ i32.add $push47=, $pop46, $pop153
+ tee_local $push152=, $1=, $pop47
+ i32.const $push151=, 16
+ i32.shr_u $push48=, $pop152, $pop151
+ i32.store8 $discard=, sO+12($pop155):p2align=2, $pop48
+ i32.const $push150=, 0
+ i32.const $push149=, 1103515245
+ i32.mul $push49=, $1, $pop149
+ i32.const $push148=, 12345
+ i32.add $push50=, $pop49, $pop148
+ tee_local $push147=, $1=, $pop50
+ i32.const $push146=, 16
+ i32.shr_u $push51=, $pop147, $pop146
+ i32.store8 $discard=, sO+13($pop150), $pop51
+ i32.const $push145=, 0
+ i32.const $push144=, 1103515245
+ i32.mul $push52=, $1, $pop144
+ i32.const $push143=, 12345
+ i32.add $push53=, $pop52, $pop143
+ tee_local $push142=, $1=, $pop53
+ i32.const $push141=, 16
+ i32.shr_u $push54=, $pop142, $pop141
+ i32.store8 $discard=, sO+14($pop145):p2align=1, $pop54
+ i32.const $push140=, 0
+ i32.const $push139=, 1103515245
+ i32.mul $push55=, $1, $pop139
+ i32.const $push138=, 12345
+ i32.add $push56=, $pop55, $pop138
+ tee_local $push137=, $1=, $pop56
+ i32.const $push136=, 16
+ i32.shr_u $push57=, $pop137, $pop136
+ i32.store8 $discard=, sO+15($pop140), $pop57
+ i32.const $push135=, 0
+ i64.load $0=, sO+8($pop135)
+ i32.const $push134=, 1103515245
+ i32.mul $push58=, $1, $pop134
+ i32.const $push133=, 12345
+ i32.add $push59=, $pop58, $pop133
+ tee_local $push132=, $2=, $pop59
+ i32.const $push131=, 16
+ i32.shr_u $push60=, $pop132, $pop131
+ i32.const $push130=, 2047
+ i32.and $1=, $pop60, $pop130
+ i32.const $push129=, 0
+ i32.const $push128=, 1103515245
+ i32.mul $push61=, $2, $pop128
+ i32.const $push127=, 12345
+ i32.add $push0=, $pop61, $pop127
+ i32.store $2=, myrnd.s($pop129), $pop0
+ block
+ i32.const $push126=, 0
+ i64.extend_u/i32 $push64=, $1
+ i64.const $push65=, -4096
+ i64.and $push66=, $0, $pop65
+ i64.or $push67=, $pop64, $pop66
+ i64.store $push68=, sO+8($pop126), $pop67
+ i32.wrap/i64 $push69=, $pop68
+ tee_local $push125=, $3=, $pop69
+ i32.const $push124=, 2047
+ i32.and $push72=, $pop125, $pop124
+ i32.ne $push73=, $1, $pop72
+ br_if $pop73, 0 # 0: down to label6
+# BB#1: # %entry
+ i32.const $push216=, 16
+ i32.shr_u $push62=, $2, $pop216
+ i32.const $push215=, 2047
+ i32.and $push63=, $pop62, $pop215
+ tee_local $push214=, $4=, $pop63
+ i32.add $push4=, $pop214, $1
+ i32.add $push70=, $3, $4
+ i32.const $push71=, 4095
+ i32.and $push5=, $pop70, $pop71
+ i32.ne $push74=, $pop4, $pop5
+ br_if $pop74, 0 # 0: down to label6
+# BB#2: # %if.end
+ i32.const $push75=, 1103515245
+ i32.mul $push76=, $2, $pop75
+ i32.const $push77=, 12345
+ i32.add $push78=, $pop76, $pop77
+ tee_local $push224=, $2=, $pop78
+ i32.const $push223=, 16
+ i32.shr_u $push79=, $pop224, $pop223
+ i32.const $push222=, 2047
+ i32.and $1=, $pop79, $pop222
+ i32.const $push81=, 0
+ i32.const $push221=, 1103515245
+ i32.mul $push80=, $2, $pop221
+ i32.const $push220=, 12345
+ i32.add $push1=, $pop80, $pop220
+ i32.store $2=, myrnd.s($pop81), $pop1
+ block
+ i32.const $push219=, 0
+ i64.extend_u/i32 $push83=, $1
+ i64.const $push84=, -4096
+ i64.and $push85=, $0, $pop84
+ i64.or $push86=, $pop83, $pop85
+ i64.store $push87=, sO+8($pop219), $pop86
+ i32.wrap/i64 $push3=, $pop87
+ tee_local $push218=, $3=, $pop3
+ i32.const $push217=, 2047
+ i32.and $push88=, $pop218, $pop217
+ i32.ne $push89=, $1, $pop88
+ br_if $pop89, 0 # 0: down to label7
+# BB#3: # %lor.lhs.false87
+ i32.const $push229=, 16
+ i32.shr_u $push82=, $2, $pop229
+ i32.const $push228=, 2047
+ i32.and $push2=, $pop82, $pop228
+ tee_local $push227=, $4=, $pop2
+ i32.add $push90=, $3, $pop227
+ i32.const $push226=, 4095
+ i32.and $push91=, $pop90, $pop226
+ i32.const $push92=, 15
+ i32.rem_u $push93=, $pop91, $pop92
+ i32.add $push94=, $4, $1
+ i32.const $push225=, 15
+ i32.rem_u $push95=, $pop94, $pop225
+ i32.ne $push96=, $pop93, $pop95
+ br_if $pop96, 0 # 0: down to label7
+# BB#4: # %lor.lhs.false124
+ i32.const $push107=, 0
+ i32.const $push97=, 1103515245
+ i32.mul $push98=, $2, $pop97
+ i32.const $push99=, 12345
+ i32.add $push100=, $pop98, $pop99
+ tee_local $push240=, $1=, $pop100
+ i32.const $push101=, 16
+ i32.shr_u $push102=, $pop240, $pop101
+ i32.const $push103=, 2047
+ i32.and $push104=, $pop102, $pop103
+ tee_local $push239=, $2=, $pop104
+ i64.extend_u/i32 $push111=, $pop239
+ i64.const $push112=, -4096
+ i64.and $push113=, $0, $pop112
+ tee_local $push238=, $0=, $pop113
+ i64.or $push114=, $pop111, $pop238
+ i32.wrap/i64 $push115=, $pop114
+ i32.const $push237=, 0
+ i32.const $push236=, 1103515245
+ i32.mul $push105=, $1, $pop236
+ i32.const $push235=, 12345
+ i32.add $push106=, $pop105, $pop235
+ i32.store $push108=, myrnd.s($pop237), $pop106
+ i32.const $push234=, 16
+ i32.shr_u $push109=, $pop108, $pop234
+ i32.const $push233=, 2047
+ i32.and $push110=, $pop109, $pop233
+ tee_local $push232=, $1=, $pop110
+ i32.add $push116=, $pop115, $pop232
+ tee_local $push231=, $3=, $pop116
+ i64.extend_u/i32 $push117=, $pop231
+ i64.const $push118=, 4095
+ i64.and $push119=, $pop117, $pop118
+ i64.or $push120=, $pop119, $0
+ i64.store $discard=, sO+8($pop107), $pop120
+ block
+ i32.add $push122=, $1, $2
+ i32.const $push230=, 4095
+ i32.and $push121=, $3, $pop230
+ i32.ne $push123=, $pop122, $pop121
+ br_if $pop123, 0 # 0: down to label8
+# BB#5: # %if.end140
+ return
+.LBB90_6: # %if.then139
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB90_7: # %if.then93
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB90_8: # %if.then
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end90:
+ .size testO, .Lfunc_end90-testO
+
+ .section .text.retmeP,"ax",@progbits
+ .hidden retmeP
+ .globl retmeP
+ .type retmeP,@function
+retmeP: # @retmeP
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i64.load $2=, 0($pop3):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i64.store $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end91:
+ .size retmeP, .Lfunc_end91-retmeP
+
+ .section .text.fn1P,"ax",@progbits
+ .hidden fn1P
+ .globl fn1P
+ .type fn1P,@function
+fn1P: # @fn1P
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sP($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end92:
+ .size fn1P, .Lfunc_end92-fn1P
+
+ .section .text.fn2P,"ax",@progbits
+ .hidden fn2P
+ .globl fn2P
+ .type fn2P,@function
+fn2P: # @fn2P
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sP($pop0):p2align=3
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end93:
+ .size fn2P, .Lfunc_end93-fn2P
+
+ .section .text.retitP,"ax",@progbits
+ .hidden retitP
+ .globl retitP
+ .type retitP,@function
+retitP: # @retitP
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sP($pop0):p2align=3
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end94:
+ .size retitP, .Lfunc_end94-retitP
+
+ .section .text.fn3P,"ax",@progbits
+ .hidden fn3P
+ .globl fn3P
+ .type fn3P,@function
+fn3P: # @fn3P
+ .param i32
+ .result i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i64.load $push1=, sP($pop14)
+ tee_local $push13=, $1=, $pop1
+ i32.wrap/i64 $push2=, $pop13
+ i32.add $push3=, $pop2, $0
+ tee_local $push12=, $0=, $pop3
+ i64.extend_u/i32 $push4=, $pop12
+ i64.const $push5=, 4095
+ i64.and $push6=, $pop4, $pop5
+ i64.const $push7=, -4096
+ i64.and $push8=, $1, $pop7
+ i64.or $push9=, $pop6, $pop8
+ i64.store $discard=, sP($pop0), $pop9
+ i32.const $push10=, 4095
+ i32.and $push11=, $0, $pop10
+ return $pop11
+ .endfunc
+.Lfunc_end95:
+ .size fn3P, .Lfunc_end95-fn3P
+
+ .section .text.testP,"ax",@progbits
+ .hidden testP
+ .globl testP
+ .type testP,@function
+testP: # @testP
+ .local i64, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push6=, 0
+ i32.const $push213=, 0
+ i32.load $push7=, myrnd.s($pop213)
+ i32.const $push8=, 1103515245
+ i32.mul $push9=, $pop7, $pop8
+ i32.const $push10=, 12345
+ i32.add $push11=, $pop9, $pop10
+ tee_local $push212=, $1=, $pop11
+ i32.const $push211=, 16
+ i32.shr_u $push12=, $pop212, $pop211
+ i32.store8 $discard=, sP($pop6):p2align=3, $pop12
+ i32.const $push210=, 0
+ i32.const $push209=, 1103515245
+ i32.mul $push13=, $1, $pop209
+ i32.const $push208=, 12345
+ i32.add $push14=, $pop13, $pop208
+ tee_local $push207=, $1=, $pop14
+ i32.const $push206=, 16
+ i32.shr_u $push15=, $pop207, $pop206
+ i32.store8 $discard=, sP+1($pop210), $pop15
+ i32.const $push205=, 0
+ i32.const $push204=, 1103515245
+ i32.mul $push16=, $1, $pop204
+ i32.const $push203=, 12345
+ i32.add $push17=, $pop16, $pop203
+ tee_local $push202=, $1=, $pop17
+ i32.const $push201=, 16
+ i32.shr_u $push18=, $pop202, $pop201
+ i32.store8 $discard=, sP+2($pop205):p2align=1, $pop18
+ i32.const $push200=, 0
+ i32.const $push199=, 1103515245
+ i32.mul $push19=, $1, $pop199
+ i32.const $push198=, 12345
+ i32.add $push20=, $pop19, $pop198
+ tee_local $push197=, $1=, $pop20
+ i32.const $push196=, 16
+ i32.shr_u $push21=, $pop197, $pop196
+ i32.store8 $discard=, sP+3($pop200), $pop21
+ i32.const $push195=, 0
+ i32.const $push194=, 1103515245
+ i32.mul $push22=, $1, $pop194
+ i32.const $push193=, 12345
+ i32.add $push23=, $pop22, $pop193
+ tee_local $push192=, $1=, $pop23
+ i32.const $push191=, 16
+ i32.shr_u $push24=, $pop192, $pop191
+ i32.store8 $discard=, sP+4($pop195):p2align=2, $pop24
+ i32.const $push190=, 0
+ i32.const $push189=, 1103515245
+ i32.mul $push25=, $1, $pop189
+ i32.const $push188=, 12345
+ i32.add $push26=, $pop25, $pop188
+ tee_local $push187=, $1=, $pop26
+ i32.const $push186=, 16
+ i32.shr_u $push27=, $pop187, $pop186
+ i32.store8 $discard=, sP+5($pop190), $pop27
+ i32.const $push185=, 0
+ i32.const $push184=, 1103515245
+ i32.mul $push28=, $1, $pop184
+ i32.const $push183=, 12345
+ i32.add $push29=, $pop28, $pop183
+ tee_local $push182=, $1=, $pop29
+ i32.const $push181=, 16
+ i32.shr_u $push30=, $pop182, $pop181
+ i32.store8 $discard=, sP+6($pop185):p2align=1, $pop30
+ i32.const $push180=, 0
+ i32.const $push179=, 1103515245
+ i32.mul $push31=, $1, $pop179
+ i32.const $push178=, 12345
+ i32.add $push32=, $pop31, $pop178
+ tee_local $push177=, $1=, $pop32
+ i32.const $push176=, 16
+ i32.shr_u $push33=, $pop177, $pop176
+ i32.store8 $discard=, sP+7($pop180), $pop33
+ i32.const $push175=, 0
+ i32.const $push174=, 1103515245
+ i32.mul $push34=, $1, $pop174
+ i32.const $push173=, 12345
+ i32.add $push35=, $pop34, $pop173
+ tee_local $push172=, $1=, $pop35
+ i32.const $push171=, 16
+ i32.shr_u $push36=, $pop172, $pop171
+ i32.store8 $discard=, sP+8($pop175):p2align=3, $pop36
+ i32.const $push170=, 0
+ i32.const $push169=, 1103515245
+ i32.mul $push37=, $1, $pop169
+ i32.const $push168=, 12345
+ i32.add $push38=, $pop37, $pop168
+ tee_local $push167=, $1=, $pop38
+ i32.const $push166=, 16
+ i32.shr_u $push39=, $pop167, $pop166
+ i32.store8 $discard=, sP+9($pop170), $pop39
+ i32.const $push165=, 0
+ i32.const $push164=, 1103515245
+ i32.mul $push40=, $1, $pop164
+ i32.const $push163=, 12345
+ i32.add $push41=, $pop40, $pop163
+ tee_local $push162=, $1=, $pop41
+ i32.const $push161=, 16
+ i32.shr_u $push42=, $pop162, $pop161
+ i32.store8 $discard=, sP+10($pop165):p2align=1, $pop42
+ i32.const $push160=, 0
+ i32.const $push159=, 1103515245
+ i32.mul $push43=, $1, $pop159
+ i32.const $push158=, 12345
+ i32.add $push44=, $pop43, $pop158
+ tee_local $push157=, $1=, $pop44
+ i32.const $push156=, 16
+ i32.shr_u $push45=, $pop157, $pop156
+ i32.store8 $discard=, sP+11($pop160), $pop45
+ i32.const $push155=, 0
+ i32.const $push154=, 1103515245
+ i32.mul $push46=, $1, $pop154
+ i32.const $push153=, 12345
+ i32.add $push47=, $pop46, $pop153
+ tee_local $push152=, $1=, $pop47
+ i32.const $push151=, 16
+ i32.shr_u $push48=, $pop152, $pop151
+ i32.store8 $discard=, sP+12($pop155):p2align=2, $pop48
+ i32.const $push150=, 0
+ i32.const $push149=, 1103515245
+ i32.mul $push49=, $1, $pop149
+ i32.const $push148=, 12345
+ i32.add $push50=, $pop49, $pop148
+ tee_local $push147=, $1=, $pop50
+ i32.const $push146=, 16
+ i32.shr_u $push51=, $pop147, $pop146
+ i32.store8 $discard=, sP+13($pop150), $pop51
+ i32.const $push145=, 0
+ i32.const $push144=, 1103515245
+ i32.mul $push52=, $1, $pop144
+ i32.const $push143=, 12345
+ i32.add $push53=, $pop52, $pop143
+ tee_local $push142=, $1=, $pop53
+ i32.const $push141=, 16
+ i32.shr_u $push54=, $pop142, $pop141
+ i32.store8 $discard=, sP+14($pop145):p2align=1, $pop54
+ i32.const $push140=, 0
+ i32.const $push139=, 1103515245
+ i32.mul $push55=, $1, $pop139
+ i32.const $push138=, 12345
+ i32.add $push56=, $pop55, $pop138
+ tee_local $push137=, $1=, $pop56
+ i32.const $push136=, 16
+ i32.shr_u $push57=, $pop137, $pop136
+ i32.store8 $discard=, sP+15($pop140), $pop57
+ i32.const $push135=, 0
+ i64.load $0=, sP($pop135)
+ i32.const $push134=, 1103515245
+ i32.mul $push58=, $1, $pop134
+ i32.const $push133=, 12345
+ i32.add $push59=, $pop58, $pop133
+ tee_local $push132=, $2=, $pop59
+ i32.const $push131=, 16
+ i32.shr_u $push60=, $pop132, $pop131
+ i32.const $push130=, 2047
+ i32.and $1=, $pop60, $pop130
+ i32.const $push129=, 0
+ i32.const $push128=, 1103515245
+ i32.mul $push61=, $2, $pop128
+ i32.const $push127=, 12345
+ i32.add $push0=, $pop61, $pop127
+ i32.store $2=, myrnd.s($pop129), $pop0
+ block
+ i32.const $push126=, 0
+ i64.extend_u/i32 $push64=, $1
+ i64.const $push65=, -4096
+ i64.and $push66=, $0, $pop65
+ i64.or $push67=, $pop64, $pop66
+ i64.store $push68=, sP($pop126), $pop67
+ i32.wrap/i64 $push69=, $pop68
+ tee_local $push125=, $3=, $pop69
+ i32.const $push124=, 2047
+ i32.and $push72=, $pop125, $pop124
+ i32.ne $push73=, $1, $pop72
+ br_if $pop73, 0 # 0: down to label9
+# BB#1: # %entry
+ i32.const $push216=, 16
+ i32.shr_u $push62=, $2, $pop216
+ i32.const $push215=, 2047
+ i32.and $push63=, $pop62, $pop215
+ tee_local $push214=, $4=, $pop63
+ i32.add $push4=, $pop214, $1
+ i32.add $push70=, $3, $4
+ i32.const $push71=, 4095
+ i32.and $push5=, $pop70, $pop71
+ i32.ne $push74=, $pop4, $pop5
+ br_if $pop74, 0 # 0: down to label9
+# BB#2: # %if.end
+ i32.const $push75=, 1103515245
+ i32.mul $push76=, $2, $pop75
+ i32.const $push77=, 12345
+ i32.add $push78=, $pop76, $pop77
+ tee_local $push224=, $2=, $pop78
+ i32.const $push223=, 16
+ i32.shr_u $push79=, $pop224, $pop223
+ i32.const $push222=, 2047
+ i32.and $1=, $pop79, $pop222
+ i32.const $push81=, 0
+ i32.const $push221=, 1103515245
+ i32.mul $push80=, $2, $pop221
+ i32.const $push220=, 12345
+ i32.add $push1=, $pop80, $pop220
+ i32.store $2=, myrnd.s($pop81), $pop1
+ block
+ i32.const $push219=, 0
+ i64.extend_u/i32 $push83=, $1
+ i64.const $push84=, -4096
+ i64.and $push85=, $0, $pop84
+ i64.or $push86=, $pop83, $pop85
+ i64.store $push87=, sP($pop219), $pop86
+ i32.wrap/i64 $push3=, $pop87
+ tee_local $push218=, $3=, $pop3
+ i32.const $push217=, 2047
+ i32.and $push88=, $pop218, $pop217
+ i32.ne $push89=, $1, $pop88
+ br_if $pop89, 0 # 0: down to label10
+# BB#3: # %lor.lhs.false83
+ i32.const $push229=, 16
+ i32.shr_u $push82=, $2, $pop229
+ i32.const $push228=, 2047
+ i32.and $push2=, $pop82, $pop228
+ tee_local $push227=, $4=, $pop2
+ i32.add $push90=, $3, $pop227
+ i32.const $push226=, 4095
+ i32.and $push91=, $pop90, $pop226
+ i32.const $push92=, 15
+ i32.rem_u $push93=, $pop91, $pop92
+ i32.add $push94=, $4, $1
+ i32.const $push225=, 15
+ i32.rem_u $push95=, $pop94, $pop225
+ i32.ne $push96=, $pop93, $pop95
+ br_if $pop96, 0 # 0: down to label10
+# BB#4: # %lor.lhs.false118
+ i32.const $push107=, 0
+ i32.const $push97=, 1103515245
+ i32.mul $push98=, $2, $pop97
+ i32.const $push99=, 12345
+ i32.add $push100=, $pop98, $pop99
+ tee_local $push240=, $1=, $pop100
+ i32.const $push101=, 16
+ i32.shr_u $push102=, $pop240, $pop101
+ i32.const $push103=, 2047
+ i32.and $push104=, $pop102, $pop103
+ tee_local $push239=, $2=, $pop104
+ i64.extend_u/i32 $push111=, $pop239
+ i64.const $push112=, -4096
+ i64.and $push113=, $0, $pop112
+ tee_local $push238=, $0=, $pop113
+ i64.or $push114=, $pop111, $pop238
+ i32.wrap/i64 $push115=, $pop114
+ i32.const $push237=, 0
+ i32.const $push236=, 1103515245
+ i32.mul $push105=, $1, $pop236
+ i32.const $push235=, 12345
+ i32.add $push106=, $pop105, $pop235
+ i32.store $push108=, myrnd.s($pop237), $pop106
+ i32.const $push234=, 16
+ i32.shr_u $push109=, $pop108, $pop234
+ i32.const $push233=, 2047
+ i32.and $push110=, $pop109, $pop233
+ tee_local $push232=, $1=, $pop110
+ i32.add $push116=, $pop115, $pop232
+ tee_local $push231=, $3=, $pop116
+ i64.extend_u/i32 $push117=, $pop231
+ i64.const $push118=, 4095
+ i64.and $push119=, $pop117, $pop118
+ i64.or $push120=, $pop119, $0
+ i64.store $discard=, sP($pop107), $pop120
+ block
+ i32.add $push122=, $1, $2
+ i32.const $push230=, 4095
+ i32.and $push121=, $3, $pop230
+ i32.ne $push123=, $pop122, $pop121
+ br_if $pop123, 0 # 0: down to label11
+# BB#5: # %if.end134
+ return
+.LBB96_6: # %if.then133
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+.LBB96_7: # %if.then89
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB96_8: # %if.then
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end96:
+ .size testP, .Lfunc_end96-testP
+
+ .section .text.retmeQ,"ax",@progbits
+ .hidden retmeQ
+ .globl retmeQ
+ .type retmeQ,@function
+retmeQ: # @retmeQ
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i32.load16_u $2=, 0($pop3):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i32.store16 $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end97:
+ .size retmeQ, .Lfunc_end97-retmeQ
+
+ .section .text.fn1Q,"ax",@progbits
+ .hidden fn1Q
+ .globl fn1Q
+ .type fn1Q,@function
+fn1Q: # @fn1Q
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sQ($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end98:
+ .size fn1Q, .Lfunc_end98-fn1Q
+
+ .section .text.fn2Q,"ax",@progbits
+ .hidden fn2Q
+ .globl fn2Q
+ .type fn2Q,@function
+fn2Q: # @fn2Q
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sQ($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end99:
+ .size fn2Q, .Lfunc_end99-fn2Q
+
+ .section .text.retitQ,"ax",@progbits
+ .hidden retitQ
+ .globl retitQ
+ .type retitQ,@function
+retitQ: # @retitQ
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sQ($pop0)
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end100:
+ .size retitQ, .Lfunc_end100-retitQ
+
+ .section .text.fn3Q,"ax",@progbits
+ .hidden fn3Q
+ .globl fn3Q
+ .type fn3Q,@function
+fn3Q: # @fn3Q
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load16_u $push1=, sQ($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push5=, 4095
+ i32.and $push6=, $pop2, $pop5
+ tee_local $push8=, $0=, $pop6
+ i32.const $push3=, 61440
+ i32.and $push4=, $1, $pop3
+ i32.or $push7=, $pop8, $pop4
+ i32.store16 $discard=, sQ($pop0), $pop7
+ return $0
+ .endfunc
+.Lfunc_end101:
+ .size fn3Q, .Lfunc_end101-fn3Q
+
+ .section .text.testQ,"ax",@progbits
+ .hidden testQ
+ .globl testQ
+ .type testQ,@function
+testQ: # @testQ
+ .local i32
+# BB#0: # %if.end90
+ i32.const $push0=, 0
+ i32.const $push107=, 0
+ i32.load $push1=, myrnd.s($pop107)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push106=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop106, $pop6
+ i32.store8 $discard=, sQ($pop0):p2align=1, $pop7
+ i32.const $push105=, 0
+ i32.const $push104=, 1103515245
+ i32.mul $push8=, $0, $pop104
+ i32.const $push103=, 12345
+ i32.add $push9=, $pop8, $pop103
+ tee_local $push102=, $0=, $pop9
+ i32.const $push101=, 16
+ i32.shr_u $push10=, $pop102, $pop101
+ i32.store8 $discard=, sQ+1($pop105), $pop10
+ i32.const $push100=, 0
+ i32.const $push99=, 1103515245
+ i32.mul $push11=, $0, $pop99
+ i32.const $push98=, 12345
+ i32.add $push12=, $pop11, $pop98
+ tee_local $push97=, $0=, $pop12
+ i32.const $push96=, 16
+ i32.shr_u $push13=, $pop97, $pop96
+ i32.store8 $discard=, sQ+2($pop100):p2align=1, $pop13
+ i32.const $push95=, 0
+ i32.const $push94=, 1103515245
+ i32.mul $push14=, $0, $pop94
+ i32.const $push93=, 12345
+ i32.add $push15=, $pop14, $pop93
+ tee_local $push92=, $0=, $pop15
+ i32.const $push91=, 16
+ i32.shr_u $push16=, $pop92, $pop91
+ i32.store8 $discard=, sQ+3($pop95), $pop16
+ i32.const $push90=, 0
+ i32.const $push89=, 1103515245
+ i32.mul $push17=, $0, $pop89
+ i32.const $push88=, 12345
+ i32.add $push18=, $pop17, $pop88
+ tee_local $push87=, $0=, $pop18
+ i32.const $push86=, 16
+ i32.shr_u $push19=, $pop87, $pop86
+ i32.store8 $discard=, sQ+4($pop90):p2align=1, $pop19
+ i32.const $push85=, 0
+ i32.const $push84=, 1103515245
+ i32.mul $push20=, $0, $pop84
+ i32.const $push83=, 12345
+ i32.add $push21=, $pop20, $pop83
+ tee_local $push82=, $0=, $pop21
+ i32.const $push81=, 16
+ i32.shr_u $push22=, $pop82, $pop81
+ i32.store8 $discard=, sQ+5($pop85), $pop22
+ i32.const $push80=, 0
+ i32.const $push79=, 1103515245
+ i32.mul $push23=, $0, $pop79
+ i32.const $push78=, 12345
+ i32.add $push24=, $pop23, $pop78
+ tee_local $push77=, $0=, $pop24
+ i32.const $push76=, 16
+ i32.shr_u $push25=, $pop77, $pop76
+ i32.store8 $discard=, sQ+6($pop80):p2align=1, $pop25
+ i32.const $push75=, 0
+ i32.const $push74=, 1103515245
+ i32.mul $push26=, $0, $pop74
+ i32.const $push73=, 12345
+ i32.add $push27=, $pop26, $pop73
+ tee_local $push72=, $0=, $pop27
+ i32.const $push71=, 16
+ i32.shr_u $push28=, $pop72, $pop71
+ i32.store8 $discard=, sQ+7($pop75), $pop28
+ i32.const $push70=, 0
+ i32.const $push69=, 1103515245
+ i32.mul $push29=, $0, $pop69
+ i32.const $push68=, 12345
+ i32.add $push30=, $pop29, $pop68
+ tee_local $push67=, $0=, $pop30
+ i32.const $push66=, 16
+ i32.shr_u $push31=, $pop67, $pop66
+ i32.store8 $discard=, sQ+8($pop70):p2align=1, $pop31
+ i32.const $push65=, 0
+ i32.const $push64=, 1103515245
+ i32.mul $push32=, $0, $pop64
+ i32.const $push63=, 12345
+ i32.add $push33=, $pop32, $pop63
+ tee_local $push62=, $0=, $pop33
+ i32.const $push61=, 16
+ i32.shr_u $push34=, $pop62, $pop61
+ i32.store8 $discard=, sQ+9($pop65), $pop34
+ i32.const $push60=, 0
+ i32.const $push59=, 0
+ i32.const $push36=, -341751747
+ i32.mul $push37=, $0, $pop36
+ i32.const $push38=, 229283573
+ i32.add $push39=, $pop37, $pop38
+ tee_local $push58=, $0=, $pop39
+ i32.const $push57=, 1103515245
+ i32.mul $push43=, $pop58, $pop57
+ i32.const $push56=, 12345
+ i32.add $push44=, $pop43, $pop56
+ i32.store $push45=, myrnd.s($pop59), $pop44
+ i32.const $push55=, 16
+ i32.shr_u $push46=, $pop45, $pop55
+ i32.const $push41=, 2047
+ i32.and $push47=, $pop46, $pop41
+ i32.const $push54=, 16
+ i32.shr_u $push40=, $0, $pop54
+ i32.const $push53=, 2047
+ i32.and $push42=, $pop40, $pop53
+ i32.add $push50=, $pop47, $pop42
+ i32.const $push52=, 0
+ i32.load16_u $push35=, sQ($pop52)
+ i32.const $push48=, 61440
+ i32.and $push49=, $pop35, $pop48
+ i32.or $push51=, $pop50, $pop49
+ i32.store16 $discard=, sQ($pop60), $pop51
+ return
+ .endfunc
+.Lfunc_end102:
+ .size testQ, .Lfunc_end102-testQ
+
+ .section .text.retmeR,"ax",@progbits
+ .hidden retmeR
+ .globl retmeR
+ .type retmeR,@function
+retmeR: # @retmeR
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i32.load16_u $2=, 0($pop3):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i32.store16 $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end103:
+ .size retmeR, .Lfunc_end103-retmeR
+
+ .section .text.fn1R,"ax",@progbits
+ .hidden fn1R
+ .globl fn1R
+ .type fn1R,@function
+fn1R: # @fn1R
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sR($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 3
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end104:
+ .size fn1R, .Lfunc_end104-fn1R
+
+ .section .text.fn2R,"ax",@progbits
+ .hidden fn2R
+ .globl fn2R
+ .type fn2R,@function
+fn2R: # @fn2R
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sR($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 3
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end105:
+ .size fn2R, .Lfunc_end105-fn2R
+
+ .section .text.retitR,"ax",@progbits
+ .hidden retitR
+ .globl retitR
+ .type retitR,@function
+retitR: # @retitR
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sR($pop0)
+ i32.const $push2=, 3
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end106:
+ .size retitR, .Lfunc_end106-retitR
+
+ .section .text.fn3R,"ax",@progbits
+ .hidden fn3R
+ .globl fn3R
+ .type fn3R,@function
+fn3R: # @fn3R
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load16_u $push1=, sR($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push5=, 3
+ i32.and $push6=, $pop2, $pop5
+ tee_local $push8=, $0=, $pop6
+ i32.const $push3=, 65532
+ i32.and $push4=, $1, $pop3
+ i32.or $push7=, $pop8, $pop4
+ i32.store16 $discard=, sR($pop0), $pop7
+ return $0
+ .endfunc
+.Lfunc_end107:
+ .size fn3R, .Lfunc_end107-fn3R
+
+ .section .text.testR,"ax",@progbits
+ .hidden testR
+ .globl testR
+ .type testR,@function
+testR: # @testR
+ .local i32, i32
+# BB#0: # %if.end90
+ i32.const $push0=, 0
+ i32.const $push105=, 0
+ i32.load $push1=, myrnd.s($pop105)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push104=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop104, $pop6
+ i32.store8 $discard=, sR($pop0):p2align=1, $pop7
+ i32.const $push103=, 0
+ i32.const $push102=, 1103515245
+ i32.mul $push8=, $1, $pop102
+ i32.const $push101=, 12345
+ i32.add $push9=, $pop8, $pop101
+ tee_local $push100=, $1=, $pop9
+ i32.const $push99=, 16
+ i32.shr_u $push10=, $pop100, $pop99
+ i32.store8 $discard=, sR+1($pop103), $pop10
+ i32.const $push98=, 0
+ i32.const $push97=, 1103515245
+ i32.mul $push11=, $1, $pop97
+ i32.const $push96=, 12345
+ i32.add $push12=, $pop11, $pop96
+ tee_local $push95=, $1=, $pop12
+ i32.const $push94=, 16
+ i32.shr_u $push13=, $pop95, $pop94
+ i32.store8 $discard=, sR+2($pop98):p2align=1, $pop13
+ i32.const $push93=, 0
+ i32.const $push92=, 1103515245
+ i32.mul $push14=, $1, $pop92
+ i32.const $push91=, 12345
+ i32.add $push15=, $pop14, $pop91
+ tee_local $push90=, $1=, $pop15
+ i32.const $push89=, 16
+ i32.shr_u $push16=, $pop90, $pop89
+ i32.store8 $discard=, sR+3($pop93), $pop16
+ i32.const $push88=, 0
+ i32.const $push87=, 1103515245
+ i32.mul $push17=, $1, $pop87
+ i32.const $push86=, 12345
+ i32.add $push18=, $pop17, $pop86
+ tee_local $push85=, $1=, $pop18
+ i32.const $push84=, 16
+ i32.shr_u $push19=, $pop85, $pop84
+ i32.store8 $discard=, sR+4($pop88):p2align=1, $pop19
+ i32.const $push83=, 0
+ i32.const $push82=, 1103515245
+ i32.mul $push20=, $1, $pop82
+ i32.const $push81=, 12345
+ i32.add $push21=, $pop20, $pop81
+ tee_local $push80=, $1=, $pop21
+ i32.const $push79=, 16
+ i32.shr_u $push22=, $pop80, $pop79
+ i32.store8 $discard=, sR+5($pop83), $pop22
+ i32.const $push78=, 0
+ i32.const $push77=, 1103515245
+ i32.mul $push23=, $1, $pop77
+ i32.const $push76=, 12345
+ i32.add $push24=, $pop23, $pop76
+ tee_local $push75=, $1=, $pop24
+ i32.const $push74=, 16
+ i32.shr_u $push25=, $pop75, $pop74
+ i32.store8 $discard=, sR+6($pop78):p2align=1, $pop25
+ i32.const $push73=, 0
+ i32.const $push72=, 1103515245
+ i32.mul $push26=, $1, $pop72
+ i32.const $push71=, 12345
+ i32.add $push27=, $pop26, $pop71
+ tee_local $push70=, $1=, $pop27
+ i32.const $push69=, 16
+ i32.shr_u $push28=, $pop70, $pop69
+ i32.store8 $discard=, sR+7($pop73), $pop28
+ i32.const $push68=, 0
+ i32.const $push67=, 1103515245
+ i32.mul $push29=, $1, $pop67
+ i32.const $push66=, 12345
+ i32.add $push30=, $pop29, $pop66
+ tee_local $push65=, $1=, $pop30
+ i32.const $push64=, 16
+ i32.shr_u $push31=, $pop65, $pop64
+ i32.store8 $discard=, sR+8($pop68):p2align=1, $pop31
+ i32.const $push63=, 0
+ i32.load16_u $0=, sR($pop63)
+ i32.const $push62=, 0
+ i32.const $push61=, 1103515245
+ i32.mul $push32=, $1, $pop61
+ i32.const $push60=, 12345
+ i32.add $push33=, $pop32, $pop60
+ tee_local $push59=, $1=, $pop33
+ i32.const $push58=, 16
+ i32.shr_u $push34=, $pop59, $pop58
+ i32.store8 $discard=, sR+9($pop62), $pop34
+ i32.const $push57=, 0
+ i32.const $push56=, 0
+ i32.const $push37=, -341751747
+ i32.mul $push38=, $1, $pop37
+ i32.const $push39=, 229283573
+ i32.add $push40=, $pop38, $pop39
+ tee_local $push55=, $1=, $pop40
+ i32.const $push54=, 1103515245
+ i32.mul $push42=, $pop55, $pop54
+ i32.const $push53=, 12345
+ i32.add $push43=, $pop42, $pop53
+ i32.store $push44=, myrnd.s($pop56), $pop43
+ i32.const $push52=, 16
+ i32.shr_u $push45=, $pop44, $pop52
+ i32.const $push51=, 16
+ i32.shr_u $push41=, $1, $pop51
+ i32.add $push46=, $pop45, $pop41
+ i32.const $push47=, 3
+ i32.and $push48=, $pop46, $pop47
+ i32.const $push35=, 65532
+ i32.and $push36=, $0, $pop35
+ i32.or $push49=, $pop48, $pop36
+ i32.store16 $discard=, sR($pop57), $pop49
+ block
+ i32.const $push50=, 1
+ i32.const $push106=, 0
+ i32.eq $push107=, $pop50, $pop106
+ br_if $pop107, 0 # 0: down to label12
+# BB#1: # %if.end134
+ return
+.LBB108_2: # %if.then133
+ end_block # label12:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end108:
+ .size testR, .Lfunc_end108-testR
+
+ .section .text.retmeS,"ax",@progbits
+ .hidden retmeS
+ .globl retmeS
+ .type retmeS,@function
+retmeS: # @retmeS
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i32.load16_u $2=, 0($pop3):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i32.store16 $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end109:
+ .size retmeS, .Lfunc_end109-retmeS
+
+ .section .text.fn1S,"ax",@progbits
+ .hidden fn1S
+ .globl fn1S
+ .type fn1S,@function
+fn1S: # @fn1S
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sS($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end110:
+ .size fn1S, .Lfunc_end110-fn1S
+
+ .section .text.fn2S,"ax",@progbits
+ .hidden fn2S
+ .globl fn2S
+ .type fn2S,@function
+fn2S: # @fn2S
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sS($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end111:
+ .size fn2S, .Lfunc_end111-fn2S
+
+ .section .text.retitS,"ax",@progbits
+ .hidden retitS
+ .globl retitS
+ .type retitS,@function
+retitS: # @retitS
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sS($pop0)
+ i32.const $push2=, 1
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end112:
+ .size retitS, .Lfunc_end112-retitS
+
+ .section .text.fn3S,"ax",@progbits
+ .hidden fn3S
+ .globl fn3S
+ .type fn3S,@function
+fn3S: # @fn3S
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load16_u $push1=, sS($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop2, $pop5
+ tee_local $push8=, $0=, $pop6
+ i32.const $push3=, 65534
+ i32.and $push4=, $1, $pop3
+ i32.or $push7=, $pop8, $pop4
+ i32.store16 $discard=, sS($pop0), $pop7
+ return $0
+ .endfunc
+.Lfunc_end113:
+ .size fn3S, .Lfunc_end113-fn3S
+
+ .section .text.testS,"ax",@progbits
+ .hidden testS
+ .globl testS
+ .type testS,@function
+testS: # @testS
+ .local i32, i32
+# BB#0: # %if.end90
+ i32.const $push0=, 0
+ i32.const $push105=, 0
+ i32.load $push1=, myrnd.s($pop105)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push104=, $1=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop104, $pop6
+ i32.store8 $discard=, sS($pop0):p2align=1, $pop7
+ i32.const $push103=, 0
+ i32.const $push102=, 1103515245
+ i32.mul $push8=, $1, $pop102
+ i32.const $push101=, 12345
+ i32.add $push9=, $pop8, $pop101
+ tee_local $push100=, $1=, $pop9
+ i32.const $push99=, 16
+ i32.shr_u $push10=, $pop100, $pop99
+ i32.store8 $discard=, sS+1($pop103), $pop10
+ i32.const $push98=, 0
+ i32.const $push97=, 1103515245
+ i32.mul $push11=, $1, $pop97
+ i32.const $push96=, 12345
+ i32.add $push12=, $pop11, $pop96
+ tee_local $push95=, $1=, $pop12
+ i32.const $push94=, 16
+ i32.shr_u $push13=, $pop95, $pop94
+ i32.store8 $discard=, sS+2($pop98):p2align=1, $pop13
+ i32.const $push93=, 0
+ i32.const $push92=, 1103515245
+ i32.mul $push14=, $1, $pop92
+ i32.const $push91=, 12345
+ i32.add $push15=, $pop14, $pop91
+ tee_local $push90=, $1=, $pop15
+ i32.const $push89=, 16
+ i32.shr_u $push16=, $pop90, $pop89
+ i32.store8 $discard=, sS+3($pop93), $pop16
+ i32.const $push88=, 0
+ i32.const $push87=, 1103515245
+ i32.mul $push17=, $1, $pop87
+ i32.const $push86=, 12345
+ i32.add $push18=, $pop17, $pop86
+ tee_local $push85=, $1=, $pop18
+ i32.const $push84=, 16
+ i32.shr_u $push19=, $pop85, $pop84
+ i32.store8 $discard=, sS+4($pop88):p2align=1, $pop19
+ i32.const $push83=, 0
+ i32.const $push82=, 1103515245
+ i32.mul $push20=, $1, $pop82
+ i32.const $push81=, 12345
+ i32.add $push21=, $pop20, $pop81
+ tee_local $push80=, $1=, $pop21
+ i32.const $push79=, 16
+ i32.shr_u $push22=, $pop80, $pop79
+ i32.store8 $discard=, sS+5($pop83), $pop22
+ i32.const $push78=, 0
+ i32.const $push77=, 1103515245
+ i32.mul $push23=, $1, $pop77
+ i32.const $push76=, 12345
+ i32.add $push24=, $pop23, $pop76
+ tee_local $push75=, $1=, $pop24
+ i32.const $push74=, 16
+ i32.shr_u $push25=, $pop75, $pop74
+ i32.store8 $discard=, sS+6($pop78):p2align=1, $pop25
+ i32.const $push73=, 0
+ i32.const $push72=, 1103515245
+ i32.mul $push26=, $1, $pop72
+ i32.const $push71=, 12345
+ i32.add $push27=, $pop26, $pop71
+ tee_local $push70=, $1=, $pop27
+ i32.const $push69=, 16
+ i32.shr_u $push28=, $pop70, $pop69
+ i32.store8 $discard=, sS+7($pop73), $pop28
+ i32.const $push68=, 0
+ i32.const $push67=, 1103515245
+ i32.mul $push29=, $1, $pop67
+ i32.const $push66=, 12345
+ i32.add $push30=, $pop29, $pop66
+ tee_local $push65=, $1=, $pop30
+ i32.const $push64=, 16
+ i32.shr_u $push31=, $pop65, $pop64
+ i32.store8 $discard=, sS+8($pop68):p2align=1, $pop31
+ i32.const $push63=, 0
+ i32.load16_u $0=, sS($pop63)
+ i32.const $push62=, 0
+ i32.const $push61=, 1103515245
+ i32.mul $push32=, $1, $pop61
+ i32.const $push60=, 12345
+ i32.add $push33=, $pop32, $pop60
+ tee_local $push59=, $1=, $pop33
+ i32.const $push58=, 16
+ i32.shr_u $push34=, $pop59, $pop58
+ i32.store8 $discard=, sS+9($pop62), $pop34
+ i32.const $push57=, 0
+ i32.const $push56=, 0
+ i32.const $push37=, -341751747
+ i32.mul $push38=, $1, $pop37
+ i32.const $push39=, 229283573
+ i32.add $push40=, $pop38, $pop39
+ tee_local $push55=, $1=, $pop40
+ i32.const $push54=, 1103515245
+ i32.mul $push42=, $pop55, $pop54
+ i32.const $push53=, 12345
+ i32.add $push43=, $pop42, $pop53
+ i32.store $push44=, myrnd.s($pop56), $pop43
+ i32.const $push52=, 16
+ i32.shr_u $push45=, $pop44, $pop52
+ i32.const $push51=, 16
+ i32.shr_u $push41=, $1, $pop51
+ i32.add $push46=, $pop45, $pop41
+ i32.const $push47=, 1
+ i32.and $push48=, $pop46, $pop47
+ i32.const $push35=, 65534
+ i32.and $push36=, $0, $pop35
+ i32.or $push49=, $pop48, $pop36
+ i32.store16 $discard=, sS($pop57), $pop49
+ block
+ i32.const $push50=, 1
+ i32.const $push106=, 0
+ i32.eq $push107=, $pop50, $pop106
+ br_if $pop107, 0 # 0: down to label13
+# BB#1: # %if.end134
+ return
+.LBB114_2: # %if.then133
+ end_block # label13:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end114:
+ .size testS, .Lfunc_end114-testS
+
+ .section .text.retmeT,"ax",@progbits
+ .hidden retmeT
+ .globl retmeT
+ .type retmeT,@function
+retmeT: # @retmeT
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($1):p2align=0
+ i32.store $discard=, 0($0):p2align=1, $pop0
+ return
+ .endfunc
+.Lfunc_end115:
+ .size retmeT, .Lfunc_end115-retmeT
+
+ .section .text.fn1T,"ax",@progbits
+ .hidden fn1T
+ .globl fn1T
+ .type fn1T,@function
+fn1T: # @fn1T
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sT($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end116:
+ .size fn1T, .Lfunc_end116-fn1T
+
+ .section .text.fn2T,"ax",@progbits
+ .hidden fn2T
+ .globl fn2T
+ .type fn2T,@function
+fn2T: # @fn2T
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sT($pop0):p2align=2
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end117:
+ .size fn2T, .Lfunc_end117-fn2T
+
+ .section .text.retitT,"ax",@progbits
+ .hidden retitT
+ .globl retitT
+ .type retitT,@function
+retitT: # @retitT
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sT($pop0):p2align=2
+ i32.const $push2=, 1
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end118:
+ .size retitT, .Lfunc_end118-retitT
+
+ .section .text.fn3T,"ax",@progbits
+ .hidden fn3T
+ .globl fn3T
+ .type fn3T,@function
+fn3T: # @fn3T
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load16_u $push1=, sT($pop10):p2align=2
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop2, $pop5
+ tee_local $push8=, $0=, $pop6
+ i32.const $push3=, 65534
+ i32.and $push4=, $1, $pop3
+ i32.or $push7=, $pop8, $pop4
+ i32.store16 $discard=, sT($pop0):p2align=2, $pop7
+ return $0
+ .endfunc
+.Lfunc_end119:
+ .size fn3T, .Lfunc_end119-fn3T
+
+ .section .text.testT,"ax",@progbits
+ .hidden testT
+ .globl testT
+ .type testT,@function
+testT: # @testT
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push78=, 0
+ i32.const $push77=, 0
+ i32.load $push1=, myrnd.s($pop77)
+ i32.const $push76=, 1103515245
+ i32.mul $push2=, $pop1, $pop76
+ i32.const $push75=, 12345
+ i32.add $push3=, $pop2, $pop75
+ tee_local $push74=, $0=, $pop3
+ i32.const $push73=, 16
+ i32.shr_u $push4=, $pop74, $pop73
+ i32.store8 $discard=, sT($pop78):p2align=2, $pop4
+ i32.const $push72=, 0
+ i32.const $push71=, 1103515245
+ i32.mul $push5=, $0, $pop71
+ i32.const $push70=, 12345
+ i32.add $push6=, $pop5, $pop70
+ tee_local $push69=, $0=, $pop6
+ i32.const $push68=, 16
+ i32.shr_u $push7=, $pop69, $pop68
+ i32.store8 $discard=, sT+1($pop72), $pop7
+ i32.const $push67=, 0
+ i32.const $push66=, 1103515245
+ i32.mul $push8=, $0, $pop66
+ i32.const $push65=, 12345
+ i32.add $push9=, $pop8, $pop65
+ tee_local $push64=, $0=, $pop9
+ i32.const $push63=, 16
+ i32.shr_u $push10=, $pop64, $pop63
+ i32.store8 $discard=, sT+2($pop67):p2align=1, $pop10
+ i32.const $push62=, 0
+ i32.const $push61=, 1103515245
+ i32.mul $push11=, $0, $pop61
+ i32.const $push60=, 12345
+ i32.add $push12=, $pop11, $pop60
+ tee_local $push59=, $0=, $pop12
+ i32.const $push58=, 16
+ i32.shr_u $push13=, $pop59, $pop58
+ i32.store8 $discard=, sT+3($pop62), $pop13
+ i32.const $push57=, 0
+ i32.const $push56=, 1103515245
+ i32.mul $push15=, $0, $pop56
+ i32.const $push55=, 12345
+ i32.add $push16=, $pop15, $pop55
+ tee_local $push54=, $3=, $pop16
+ i32.const $push53=, 16
+ i32.shr_u $push17=, $pop54, $pop53
+ tee_local $push52=, $2=, $pop17
+ i32.const $push51=, 1
+ i32.and $push21=, $pop52, $pop51
+ i32.const $push50=, 0
+ i32.load16_u $push14=, sT($pop50):p2align=2
+ i32.const $push49=, 65534
+ i32.and $push22=, $pop14, $pop49
+ i32.or $push23=, $pop21, $pop22
+ i32.store16 $discard=, sT($pop57):p2align=2, $pop23
+ i32.const $push48=, 0
+ i32.load $0=, sT($pop48)
+ block
+ i32.const $push47=, 0
+ i32.const $push46=, 1103515245
+ i32.mul $push18=, $3, $pop46
+ i32.const $push45=, 12345
+ i32.add $push0=, $pop18, $pop45
+ i32.store $push19=, myrnd.s($pop47), $pop0
+ tee_local $push44=, $1=, $pop19
+ i32.const $push43=, 16
+ i32.shr_u $push20=, $pop44, $pop43
+ tee_local $push42=, $3=, $pop20
+ i32.add $push25=, $pop42, $2
+ i32.add $push24=, $3, $0
+ i32.xor $push26=, $pop25, $pop24
+ i32.const $push41=, 1
+ i32.and $push27=, $pop26, $pop41
+ br_if $pop27, 0 # 0: down to label14
+# BB#1: # %if.end94
+ i32.const $push88=, 0
+ i32.const $push87=, 0
+ i32.const $push29=, -2139243339
+ i32.mul $push30=, $1, $pop29
+ i32.const $push31=, -1492899873
+ i32.add $push32=, $pop30, $pop31
+ tee_local $push86=, $3=, $pop32
+ i32.const $push85=, 1103515245
+ i32.mul $push34=, $pop86, $pop85
+ i32.const $push84=, 12345
+ i32.add $push35=, $pop34, $pop84
+ i32.store $push36=, myrnd.s($pop87), $pop35
+ i32.const $push83=, 16
+ i32.shr_u $push37=, $pop36, $pop83
+ i32.const $push82=, 16
+ i32.shr_u $push33=, $3, $pop82
+ i32.add $push38=, $pop37, $pop33
+ i32.const $push81=, 1
+ i32.and $push39=, $pop38, $pop81
+ i32.const $push80=, 65534
+ i32.and $push28=, $0, $pop80
+ i32.or $push40=, $pop39, $pop28
+ i32.store16 $discard=, sT($pop88):p2align=2, $pop40
+ block
+ i32.const $push79=, 1
+ i32.const $push89=, 0
+ i32.eq $push90=, $pop79, $pop89
+ br_if $pop90, 0 # 0: down to label15
+# BB#2: # %if.end140
+ return
+.LBB120_3: # %if.then139
+ end_block # label15:
+ call abort@FUNCTION
+ unreachable
+.LBB120_4: # %if.then
+ end_block # label14:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end120:
+ .size testT, .Lfunc_end120-testT
+
+ .section .text.retmeU,"ax",@progbits
+ .hidden retmeU
+ .globl retmeU
+ .type retmeU,@function
+retmeU: # @retmeU
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push1=, 8
+ i32.add $push3=, $1, $pop1
+ i32.load16_u $2=, 0($pop3):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i32.store16 $discard=, 0($pop2):p2align=0, $2
+ return
+ .endfunc
+.Lfunc_end121:
+ .size retmeU, .Lfunc_end121-retmeU
+
+ .section .text.fn1U,"ax",@progbits
+ .hidden fn1U
+ .globl fn1U
+ .type fn1U,@function
+fn1U: # @fn1U
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sU($pop0)
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end122:
+ .size fn1U, .Lfunc_end122-fn1U
+
+ .section .text.fn2U,"ax",@progbits
+ .hidden fn2U
+ .globl fn2U
+ .type fn2U,@function
+fn2U: # @fn2U
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sU($pop0)
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end123:
+ .size fn2U, .Lfunc_end123-fn2U
+
+ .section .text.retitU,"ax",@progbits
+ .hidden retitU
+ .globl retitU
+ .type retitU,@function
+retitU: # @retitU
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load16_u $push1=, sU($pop0)
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.const $push4=, 1
+ i32.and $push5=, $pop3, $pop4
+ return $pop5
+ .endfunc
+.Lfunc_end124:
+ .size retitU, .Lfunc_end124-retitU
+
+ .section .text.fn3U,"ax",@progbits
+ .hidden fn3U
+ .globl fn3U
+ .type fn3U,@function
+fn3U: # @fn3U
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i32.load16_u $push1=, sU($pop16)
+ tee_local $push15=, $1=, $pop1
+ i32.const $push2=, 6
+ i32.shr_u $push3=, $pop15, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push14=, $0=, $pop4
+ i32.const $push13=, 6
+ i32.shl $push5=, $pop14, $pop13
+ i32.const $push6=, 64
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 65471
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store16 $discard=, sU($pop0), $pop10
+ i32.const $push11=, 1
+ i32.and $push12=, $0, $pop11
+ return $pop12
+ .endfunc
+.Lfunc_end125:
+ .size fn3U, .Lfunc_end125-fn3U
+
+ .section .text.testU,"ax",@progbits
+ .hidden testU
+ .globl testU
+ .type testU,@function
+testU: # @testU
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push9=, 0
+ i32.const $push178=, 0
+ i32.load $push10=, myrnd.s($pop178)
+ i32.const $push11=, 1103515245
+ i32.mul $push12=, $pop10, $pop11
+ i32.const $push13=, 12345
+ i32.add $push14=, $pop12, $pop13
+ tee_local $push177=, $2=, $pop14
+ i32.const $push176=, 16
+ i32.shr_u $push15=, $pop177, $pop176
+ i32.store8 $discard=, sU($pop9):p2align=1, $pop15
+ i32.const $push175=, 0
+ i32.const $push174=, 1103515245
+ i32.mul $push16=, $2, $pop174
+ i32.const $push173=, 12345
+ i32.add $push17=, $pop16, $pop173
+ tee_local $push172=, $2=, $pop17
+ i32.const $push171=, 16
+ i32.shr_u $push18=, $pop172, $pop171
+ i32.store8 $discard=, sU+1($pop175), $pop18
+ i32.const $push170=, 0
+ i32.const $push169=, 1103515245
+ i32.mul $push19=, $2, $pop169
+ i32.const $push168=, 12345
+ i32.add $push20=, $pop19, $pop168
+ tee_local $push167=, $2=, $pop20
+ i32.const $push166=, 16
+ i32.shr_u $push21=, $pop167, $pop166
+ i32.store8 $discard=, sU+2($pop170):p2align=1, $pop21
+ i32.const $push165=, 0
+ i32.const $push164=, 1103515245
+ i32.mul $push22=, $2, $pop164
+ i32.const $push163=, 12345
+ i32.add $push23=, $pop22, $pop163
+ tee_local $push162=, $2=, $pop23
+ i32.const $push161=, 16
+ i32.shr_u $push24=, $pop162, $pop161
+ i32.store8 $discard=, sU+3($pop165), $pop24
+ i32.const $push160=, 0
+ i32.const $push159=, 1103515245
+ i32.mul $push25=, $2, $pop159
+ i32.const $push158=, 12345
+ i32.add $push26=, $pop25, $pop158
+ tee_local $push157=, $2=, $pop26
+ i32.const $push156=, 16
+ i32.shr_u $push27=, $pop157, $pop156
+ i32.store8 $discard=, sU+4($pop160):p2align=1, $pop27
+ i32.const $push155=, 0
+ i32.const $push154=, 1103515245
+ i32.mul $push28=, $2, $pop154
+ i32.const $push153=, 12345
+ i32.add $push29=, $pop28, $pop153
+ tee_local $push152=, $2=, $pop29
+ i32.const $push151=, 16
+ i32.shr_u $push30=, $pop152, $pop151
+ i32.store8 $discard=, sU+5($pop155), $pop30
+ i32.const $push150=, 0
+ i32.const $push149=, 1103515245
+ i32.mul $push31=, $2, $pop149
+ i32.const $push148=, 12345
+ i32.add $push32=, $pop31, $pop148
+ tee_local $push147=, $2=, $pop32
+ i32.const $push146=, 16
+ i32.shr_u $push33=, $pop147, $pop146
+ i32.store8 $discard=, sU+6($pop150):p2align=1, $pop33
+ i32.const $push145=, 0
+ i32.const $push144=, 1103515245
+ i32.mul $push34=, $2, $pop144
+ i32.const $push143=, 12345
+ i32.add $push35=, $pop34, $pop143
+ tee_local $push142=, $2=, $pop35
+ i32.const $push141=, 16
+ i32.shr_u $push36=, $pop142, $pop141
+ i32.store8 $discard=, sU+7($pop145), $pop36
+ i32.const $push140=, 0
+ i32.const $push139=, 1103515245
+ i32.mul $push37=, $2, $pop139
+ i32.const $push138=, 12345
+ i32.add $push38=, $pop37, $pop138
+ tee_local $push137=, $2=, $pop38
+ i32.const $push136=, 16
+ i32.shr_u $push39=, $pop137, $pop136
+ i32.store8 $discard=, sU+8($pop140):p2align=1, $pop39
+ i32.const $push135=, 0
+ i32.const $push134=, 1103515245
+ i32.mul $push40=, $2, $pop134
+ i32.const $push133=, 12345
+ i32.add $push41=, $pop40, $pop133
+ tee_local $push132=, $2=, $pop41
+ i32.const $push131=, 16
+ i32.shr_u $push42=, $pop132, $pop131
+ i32.store8 $discard=, sU+9($pop135), $pop42
+ i32.const $push130=, 0
+ i32.load16_u $0=, sU($pop130)
+ i32.const $push129=, 0
+ i32.const $push128=, 1103515245
+ i32.mul $push43=, $2, $pop128
+ i32.const $push127=, 12345
+ i32.add $push44=, $pop43, $pop127
+ tee_local $push126=, $2=, $pop44
+ i32.const $push125=, 1103515245
+ i32.mul $push47=, $pop126, $pop125
+ i32.const $push124=, 12345
+ i32.add $push1=, $pop47, $pop124
+ i32.store $1=, myrnd.s($pop129), $pop1
+ i32.const $push123=, 0
+ i32.const $push122=, 16
+ i32.shr_u $push0=, $2, $pop122
+ tee_local $push121=, $4=, $pop0
+ i32.const $push45=, 2047
+ i32.and $push46=, $pop121, $pop45
+ tee_local $push120=, $3=, $pop46
+ i32.const $push48=, 6
+ i32.shl $push49=, $pop120, $pop48
+ i32.const $push50=, 64
+ i32.and $push51=, $pop49, $pop50
+ i32.const $push52=, -65
+ i32.and $push3=, $0, $pop52
+ tee_local $push119=, $2=, $pop3
+ i32.or $push53=, $pop51, $pop119
+ tee_local $push118=, $0=, $pop53
+ i32.store16 $discard=, sU($pop123), $pop118
+ block
+ i32.const $push54=, 65472
+ i32.and $push55=, $0, $pop54
+ i32.const $push117=, 6
+ i32.shr_u $push4=, $pop55, $pop117
+ tee_local $push116=, $0=, $pop4
+ i32.xor $push56=, $pop116, $3
+ i32.const $push115=, 1
+ i32.and $push57=, $pop56, $pop115
+ br_if $pop57, 0 # 0: down to label16
+# BB#1: # %lor.lhs.false41
+ i32.const $push181=, 16
+ i32.shr_u $push2=, $1, $pop181
+ tee_local $push180=, $3=, $pop2
+ i32.add $push58=, $0, $pop180
+ i32.add $push59=, $3, $4
+ i32.xor $push60=, $pop58, $pop59
+ i32.const $push179=, 1
+ i32.and $push61=, $pop60, $pop179
+ br_if $pop61, 0 # 0: down to label16
+# BB#2: # %if.end
+ i32.const $push69=, 0
+ i32.const $push62=, 1103515245
+ i32.mul $push63=, $1, $pop62
+ i32.const $push64=, 12345
+ i32.add $push65=, $pop63, $pop64
+ tee_local $push192=, $0=, $pop65
+ i32.const $push191=, 1103515245
+ i32.mul $push68=, $pop192, $pop191
+ i32.const $push190=, 12345
+ i32.add $push6=, $pop68, $pop190
+ i32.store $1=, myrnd.s($pop69), $pop6
+ i32.const $push189=, 0
+ i32.const $push188=, 16
+ i32.shr_u $push5=, $0, $pop188
+ tee_local $push187=, $4=, $pop5
+ i32.const $push66=, 2047
+ i32.and $push67=, $pop187, $pop66
+ tee_local $push186=, $0=, $pop67
+ i32.const $push70=, 6
+ i32.shl $push71=, $pop186, $pop70
+ i32.const $push72=, 64
+ i32.and $push73=, $pop71, $pop72
+ i32.or $push74=, $pop73, $2
+ tee_local $push185=, $3=, $pop74
+ i32.store16 $discard=, sU($pop189), $pop185
+ block
+ i32.const $push75=, 65472
+ i32.and $push76=, $3, $pop75
+ i32.const $push184=, 6
+ i32.shr_u $push8=, $pop76, $pop184
+ tee_local $push183=, $3=, $pop8
+ i32.xor $push77=, $pop183, $0
+ i32.const $push182=, 1
+ i32.and $push78=, $pop77, $pop182
+ br_if $pop78, 0 # 0: down to label17
+# BB#3: # %lor.lhs.false85
+ i32.const $push197=, 16
+ i32.shr_u $push7=, $1, $pop197
+ tee_local $push196=, $0=, $pop7
+ i32.add $push79=, $3, $pop196
+ i32.const $push195=, 1
+ i32.and $push80=, $pop79, $pop195
+ i32.const $push81=, 15
+ i32.rem_u $push82=, $pop80, $pop81
+ i32.add $push83=, $0, $4
+ i32.const $push194=, 1
+ i32.and $push84=, $pop83, $pop194
+ i32.const $push193=, 15
+ i32.rem_u $push85=, $pop84, $pop193
+ i32.ne $push86=, $pop82, $pop85
+ br_if $pop86, 0 # 0: down to label17
+# BB#4: # %lor.lhs.false130
+ i32.const $push95=, 0
+ i32.const $push87=, 1103515245
+ i32.mul $push88=, $1, $pop87
+ i32.const $push89=, 12345
+ i32.add $push90=, $pop88, $pop89
+ tee_local $push206=, $1=, $pop90
+ i32.const $push98=, 10
+ i32.shr_u $push99=, $pop206, $pop98
+ i32.const $push100=, 64
+ i32.and $push101=, $pop99, $pop100
+ i32.or $push102=, $pop101, $2
+ i32.const $push103=, 65472
+ i32.and $push104=, $pop102, $pop103
+ i32.const $push105=, 6
+ i32.shr_u $push106=, $pop104, $pop105
+ i32.const $push205=, 0
+ i32.const $push204=, 1103515245
+ i32.mul $push93=, $1, $pop204
+ i32.const $push203=, 12345
+ i32.add $push94=, $pop93, $pop203
+ i32.store $push96=, myrnd.s($pop205), $pop94
+ i32.const $push91=, 16
+ i32.shr_u $push97=, $pop96, $pop91
+ tee_local $push202=, $0=, $pop97
+ i32.add $push107=, $pop106, $pop202
+ tee_local $push201=, $3=, $pop107
+ i32.const $push200=, 6
+ i32.shl $push108=, $pop201, $pop200
+ i32.const $push199=, 64
+ i32.and $push109=, $pop108, $pop199
+ i32.or $push110=, $pop109, $2
+ i32.store16 $discard=, sU($pop95), $pop110
+ block
+ i32.const $push198=, 16
+ i32.shr_u $push92=, $1, $pop198
+ i32.add $push111=, $0, $pop92
+ i32.xor $push112=, $pop111, $3
+ i32.const $push113=, 1
+ i32.and $push114=, $pop112, $pop113
+ br_if $pop114, 0 # 0: down to label18
+# BB#5: # %if.end136
+ return
+.LBB126_6: # %if.then135
+ end_block # label18:
+ call abort@FUNCTION
+ unreachable
+.LBB126_7: # %if.then91
+ end_block # label17:
+ call abort@FUNCTION
+ unreachable
+.LBB126_8: # %if.then
+ end_block # label16:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end126:
+ .size testU, .Lfunc_end126-testU
+
+ .section .text.retmeV,"ax",@progbits
+ .hidden retmeV
+ .globl retmeV
+ .type retmeV,@function
+retmeV: # @retmeV
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($1):p2align=0
+ i32.store $discard=, 0($0):p2align=1, $pop0
+ return
+ .endfunc
+.Lfunc_end127:
+ .size retmeV, .Lfunc_end127-retmeV
+
+ .section .text.fn1V,"ax",@progbits
+ .hidden fn1V
+ .globl fn1V
+ .type fn1V,@function
+fn1V: # @fn1V
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sV($pop0)
+ i32.const $push2=, 8
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 1
+ i32.and $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end128:
+ .size fn1V, .Lfunc_end128-fn1V
+
+ .section .text.fn2V,"ax",@progbits
+ .hidden fn2V
+ .globl fn2V
+ .type fn2V,@function
+fn2V: # @fn2V
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sV+1($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end129:
+ .size fn2V, .Lfunc_end129-fn2V
+
+ .section .text.retitV,"ax",@progbits
+ .hidden retitV
+ .globl retitV
+ .type retitV,@function
+retitV: # @retitV
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load8_u $push1=, sV+1($pop0)
+ i32.const $push2=, 1
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end130:
+ .size retitV, .Lfunc_end130-retitV
+
+ .section .text.fn3V,"ax",@progbits
+ .hidden fn3V
+ .globl fn3V
+ .type fn3V,@function
+fn3V: # @fn3V
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i32.load16_u $push1=, sV($pop16):p2align=2
+ tee_local $push15=, $1=, $pop1
+ i32.const $push2=, 8
+ i32.shr_u $push3=, $pop15, $pop2
+ i32.add $push4=, $pop3, $0
+ tee_local $push14=, $0=, $pop4
+ i32.const $push13=, 8
+ i32.shl $push5=, $pop14, $pop13
+ i32.const $push6=, 256
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 65279
+ i32.and $push9=, $1, $pop8
+ i32.or $push10=, $pop7, $pop9
+ i32.store16 $discard=, sV($pop0):p2align=2, $pop10
+ i32.const $push11=, 1
+ i32.and $push12=, $0, $pop11
+ return $pop12
+ .endfunc
+.Lfunc_end131:
+ .size fn3V, .Lfunc_end131-fn3V
+
+ .section .text.testV,"ax",@progbits
+ .hidden testV
+ .globl testV
+ .type testV,@function
+testV: # @testV
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push119=, 0
+ i32.const $push118=, 0
+ i32.load $push6=, myrnd.s($pop118)
+ i32.const $push117=, 1103515245
+ i32.mul $push7=, $pop6, $pop117
+ i32.const $push116=, 12345
+ i32.add $push8=, $pop7, $pop116
+ tee_local $push115=, $0=, $pop8
+ i32.const $push114=, 16
+ i32.shr_u $push9=, $pop115, $pop114
+ i32.store8 $discard=, sV($pop119):p2align=2, $pop9
+ i32.const $push113=, 0
+ i32.const $push112=, 1103515245
+ i32.mul $push10=, $0, $pop112
+ i32.const $push111=, 12345
+ i32.add $push11=, $pop10, $pop111
+ tee_local $push110=, $0=, $pop11
+ i32.const $push109=, 16
+ i32.shr_u $push12=, $pop110, $pop109
+ i32.store8 $discard=, sV+1($pop113), $pop12
+ i32.const $push108=, 0
+ i32.const $push107=, 1103515245
+ i32.mul $push13=, $0, $pop107
+ i32.const $push106=, 12345
+ i32.add $push14=, $pop13, $pop106
+ tee_local $push105=, $0=, $pop14
+ i32.const $push104=, 16
+ i32.shr_u $push15=, $pop105, $pop104
+ i32.store8 $discard=, sV+2($pop108):p2align=1, $pop15
+ i32.const $push103=, 0
+ i32.const $push102=, 1103515245
+ i32.mul $push16=, $0, $pop102
+ i32.const $push101=, 12345
+ i32.add $push17=, $pop16, $pop101
+ tee_local $push100=, $0=, $pop17
+ i32.const $push99=, 16
+ i32.shr_u $push18=, $pop100, $pop99
+ i32.store8 $discard=, sV+3($pop103), $pop18
+ i32.const $push98=, 0
+ i32.const $push97=, 1103515245
+ i32.mul $push20=, $0, $pop97
+ i32.const $push96=, 12345
+ i32.add $push21=, $pop20, $pop96
+ tee_local $push95=, $3=, $pop21
+ i32.const $push94=, 8
+ i32.shr_u $push26=, $pop95, $pop94
+ i32.const $push93=, 256
+ i32.and $push27=, $pop26, $pop93
+ i32.const $push92=, 0
+ i32.load16_u $push19=, sV($pop92):p2align=2
+ i32.const $push91=, 65279
+ i32.and $push28=, $pop19, $pop91
+ i32.or $push29=, $pop27, $pop28
+ i32.store16 $discard=, sV($pop98):p2align=2, $pop29
+ i32.const $push90=, 0
+ i32.load $0=, sV($pop90)
+ block
+ i32.const $push89=, 0
+ i32.const $push88=, 1103515245
+ i32.mul $push23=, $3, $pop88
+ i32.const $push87=, 12345
+ i32.add $push0=, $pop23, $pop87
+ i32.store $push24=, myrnd.s($pop89), $pop0
+ tee_local $push86=, $2=, $pop24
+ i32.const $push85=, 16
+ i32.shr_u $push25=, $pop86, $pop85
+ tee_local $push84=, $1=, $pop25
+ i32.const $push83=, 16
+ i32.shr_u $push22=, $3, $pop83
+ i32.add $push32=, $pop84, $pop22
+ i32.const $push82=, 8
+ i32.shr_u $push30=, $0, $pop82
+ i32.add $push31=, $pop30, $1
+ i32.xor $push33=, $pop32, $pop31
+ i32.const $push81=, 1
+ i32.and $push34=, $pop33, $pop81
+ br_if $pop34, 0 # 0: down to label19
+# BB#1: # %if.end
+ i32.const $push135=, 0
+ i32.const $push134=, 1103515245
+ i32.mul $push35=, $2, $pop134
+ i32.const $push133=, 12345
+ i32.add $push36=, $pop35, $pop133
+ tee_local $push132=, $1=, $pop36
+ i32.const $push131=, 1103515245
+ i32.mul $push39=, $pop132, $pop131
+ i32.const $push130=, 12345
+ i32.add $push2=, $pop39, $pop130
+ i32.store $3=, myrnd.s($pop135), $pop2
+ i32.const $push129=, 0
+ i32.const $push128=, 16
+ i32.shr_u $push1=, $1, $pop128
+ tee_local $push127=, $4=, $pop1
+ i32.const $push37=, 2047
+ i32.and $push38=, $pop127, $pop37
+ tee_local $push126=, $1=, $pop38
+ i32.const $push125=, 8
+ i32.shl $push40=, $pop126, $pop125
+ i32.const $push124=, 256
+ i32.and $push41=, $pop40, $pop124
+ i32.const $push42=, -257
+ i32.and $push43=, $0, $pop42
+ i32.or $push44=, $pop41, $pop43
+ tee_local $push123=, $2=, $pop44
+ i32.store16 $discard=, sV($pop129):p2align=2, $pop123
+ block
+ i32.const $push45=, 65280
+ i32.and $push46=, $2, $pop45
+ i32.const $push122=, 8
+ i32.shr_u $push5=, $pop46, $pop122
+ tee_local $push121=, $2=, $pop5
+ i32.xor $push47=, $pop121, $1
+ i32.const $push120=, 1
+ i32.and $push48=, $pop47, $pop120
+ br_if $pop48, 0 # 0: down to label20
+# BB#2: # %lor.lhs.false89
+ i32.const $push140=, 16
+ i32.shr_u $push3=, $3, $pop140
+ tee_local $push139=, $1=, $pop3
+ i32.add $push49=, $2, $pop139
+ i32.const $push138=, 1
+ i32.and $push50=, $pop49, $pop138
+ i32.const $push51=, 15
+ i32.rem_u $push52=, $pop50, $pop51
+ i32.add $push53=, $1, $4
+ i32.const $push137=, 1
+ i32.and $push54=, $pop53, $pop137
+ i32.const $push136=, 15
+ i32.rem_u $push55=, $pop54, $pop136
+ i32.ne $push56=, $pop52, $pop55
+ br_if $pop56, 0 # 0: down to label20
+# BB#3: # %lor.lhs.false136
+ i32.const $push65=, 0
+ i32.const $push57=, 1103515245
+ i32.mul $push58=, $3, $pop57
+ i32.const $push59=, 12345
+ i32.add $push60=, $pop58, $pop59
+ tee_local $push153=, $3=, $pop60
+ i32.const $push68=, 8
+ i32.shr_u $push69=, $pop153, $pop68
+ i32.const $push70=, 256
+ i32.and $push71=, $pop69, $pop70
+ i32.const $push152=, 65279
+ i32.and $push4=, $0, $pop152
+ tee_local $push151=, $0=, $pop4
+ i32.or $push72=, $pop71, $pop151
+ i32.const $push150=, 8
+ i32.shr_u $push73=, $pop72, $pop150
+ i32.const $push149=, 0
+ i32.const $push148=, 1103515245
+ i32.mul $push63=, $3, $pop148
+ i32.const $push147=, 12345
+ i32.add $push64=, $pop63, $pop147
+ i32.store $push66=, myrnd.s($pop149), $pop64
+ i32.const $push61=, 16
+ i32.shr_u $push67=, $pop66, $pop61
+ tee_local $push146=, $1=, $pop67
+ i32.add $push74=, $pop73, $pop146
+ tee_local $push145=, $2=, $pop74
+ i32.const $push144=, 8
+ i32.shl $push75=, $pop145, $pop144
+ i32.const $push143=, 256
+ i32.and $push76=, $pop75, $pop143
+ i32.or $push77=, $pop76, $0
+ i32.store16 $discard=, sV($pop65):p2align=2, $pop77
+ block
+ i32.const $push142=, 16
+ i32.shr_u $push62=, $3, $pop142
+ i32.add $push78=, $1, $pop62
+ i32.xor $push79=, $pop78, $2
+ i32.const $push141=, 1
+ i32.and $push80=, $pop79, $pop141
+ br_if $pop80, 0 # 0: down to label21
+# BB#4: # %if.end142
+ return
+.LBB132_5: # %if.then141
+ end_block # label21:
+ call abort@FUNCTION
+ unreachable
+.LBB132_6: # %if.then95
+ end_block # label20:
+ call abort@FUNCTION
+ unreachable
+.LBB132_7: # %if.then
+ end_block # label19:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end132:
+ .size testV, .Lfunc_end132-testV
+
+ .section .text.retmeW,"ax",@progbits
+ .hidden retmeW
+ .globl retmeW
+ .type retmeW,@function
+retmeW: # @retmeW
+ .param i32, i32
+ .local i32, i64
+# BB#0: # %entry
+ i32.const $push1=, 16
+ i32.add $push3=, $1, $pop1
+ i32.load $2=, 0($pop3):p2align=0
+ i32.const $push4=, 8
+ i32.add $push6=, $1, $pop4
+ i64.load $3=, 0($pop6):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push8=, 16
+ i32.add $push2=, $0, $pop8
+ i32.store $discard=, 0($pop2):p2align=0, $2
+ i32.const $push7=, 8
+ i32.add $push5=, $0, $pop7
+ i64.store $discard=, 0($pop5):p2align=0, $3
+ return
+ .endfunc
+.Lfunc_end133:
+ .size retmeW, .Lfunc_end133-retmeW
+
+ .section .text.fn1W,"ax",@progbits
+ .hidden fn1W
+ .globl fn1W
+ .type fn1W,@function
+fn1W: # @fn1W
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sW+16($pop0):p2align=4
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end134:
+ .size fn1W, .Lfunc_end134-fn1W
+
+ .section .text.fn2W,"ax",@progbits
+ .hidden fn2W
+ .globl fn2W
+ .type fn2W,@function
+fn2W: # @fn2W
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sW+16($pop0):p2align=4
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end135:
+ .size fn2W, .Lfunc_end135-fn2W
+
+ .section .text.retitW,"ax",@progbits
+ .hidden retitW
+ .globl retitW
+ .type retitW,@function
+retitW: # @retitW
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sW+16($pop0):p2align=4
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end136:
+ .size retitW, .Lfunc_end136-retitW
+
+ .section .text.fn3W,"ax",@progbits
+ .hidden fn3W
+ .globl fn3W
+ .type fn3W,@function
+fn3W: # @fn3W
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sW+16($pop10):p2align=4
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -4096
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sW+16($pop0):p2align=4, $pop7
+ return $0
+ .endfunc
+.Lfunc_end137:
+ .size fn3W, .Lfunc_end137-fn3W
+
+ .section .text.testW,"ax",@progbits
+ .hidden testW
+ .globl testW
+ .type testW,@function
+testW: # @testW
+ .local i32, i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push98=, 0
+ i32.load $push1=, myrnd.s($pop98)
+ i32.const $push2=, 1670464429
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 2121308585
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push97=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop97, $pop6
+ i32.store8 $discard=, sW+16($pop0):p2align=4, $pop7
+ i32.const $push96=, 0
+ i32.const $push8=, 1103515245
+ i32.mul $push9=, $0, $pop8
+ i32.const $push10=, 12345
+ i32.add $push11=, $pop9, $pop10
+ tee_local $push95=, $0=, $pop11
+ i32.const $push94=, 16
+ i32.shr_u $push12=, $pop95, $pop94
+ i32.store8 $discard=, sW+17($pop96), $pop12
+ i32.const $push93=, 0
+ i32.const $push92=, 1103515245
+ i32.mul $push13=, $0, $pop92
+ i32.const $push91=, 12345
+ i32.add $push14=, $pop13, $pop91
+ tee_local $push90=, $0=, $pop14
+ i32.const $push89=, 16
+ i32.shr_u $push15=, $pop90, $pop89
+ i32.store8 $discard=, sW+18($pop93):p2align=1, $pop15
+ i32.const $push88=, 0
+ i32.const $push87=, 1103515245
+ i32.mul $push16=, $0, $pop87
+ i32.const $push86=, 12345
+ i32.add $push17=, $pop16, $pop86
+ tee_local $push85=, $0=, $pop17
+ i32.const $push84=, 16
+ i32.shr_u $push18=, $pop85, $pop84
+ i32.store8 $discard=, sW+19($pop88), $pop18
+ i32.const $push83=, 0
+ i32.const $push82=, 1103515245
+ i32.mul $push22=, $0, $pop82
+ i32.const $push81=, 12345
+ i32.add $push23=, $pop22, $pop81
+ tee_local $push80=, $1=, $pop23
+ i32.const $push79=, 16
+ i32.shr_u $push24=, $pop80, $pop79
+ i32.const $push25=, 2047
+ i32.and $push26=, $pop24, $pop25
+ i32.const $push78=, 0
+ i32.load $push21=, sW+16($pop78):p2align=4
+ i32.const $push30=, -4096
+ i32.and $push31=, $pop21, $pop30
+ tee_local $push77=, $0=, $pop31
+ i32.or $push32=, $pop26, $pop77
+ i32.store $discard=, sW+16($pop83):p2align=4, $pop32
+ i32.const $push76=, 0
+ i32.const $push75=, 0
+ i32.const $push74=, 1103515245
+ i32.mul $push27=, $1, $pop74
+ i32.const $push73=, 12345
+ i32.add $push28=, $pop27, $pop73
+ i32.store $push29=, myrnd.s($pop75), $pop28
+ i32.const $push72=, 1103515245
+ i32.mul $push33=, $pop29, $pop72
+ i32.const $push71=, 12345
+ i32.add $push34=, $pop33, $pop71
+ tee_local $push70=, $1=, $pop34
+ i32.const $push69=, 16
+ i32.shr_u $push35=, $pop70, $pop69
+ i32.const $push68=, 2047
+ i32.and $push36=, $pop35, $pop68
+ i32.or $push40=, $pop36, $0
+ i32.store $discard=, sW+16($pop76):p2align=4, $pop40
+ i32.const $push67=, 0
+ i32.const $push66=, 0
+ i32.const $push65=, 0
+ i32.const $push64=, 1103515245
+ i32.mul $push37=, $1, $pop64
+ i32.const $push63=, 12345
+ i32.add $push38=, $pop37, $pop63
+ i32.store $push39=, myrnd.s($pop65), $pop38
+ i32.const $push62=, 1103515245
+ i32.mul $push41=, $pop39, $pop62
+ i32.const $push61=, 12345
+ i32.add $push42=, $pop41, $pop61
+ tee_local $push60=, $1=, $pop42
+ i32.const $push59=, 1103515245
+ i32.mul $push45=, $pop60, $pop59
+ i32.const $push58=, 12345
+ i32.add $push46=, $pop45, $pop58
+ i32.store $push47=, myrnd.s($pop66), $pop46
+ i32.const $push57=, 16
+ i32.shr_u $push48=, $pop47, $pop57
+ i32.const $push56=, 2047
+ i32.and $push49=, $pop48, $pop56
+ i32.const $push55=, 16
+ i32.shr_u $push43=, $1, $pop55
+ i32.const $push54=, 2047
+ i32.and $push44=, $pop43, $pop54
+ i32.add $push50=, $pop49, $pop44
+ i32.or $push51=, $pop50, $0
+ i32.store $discard=, sW+16($pop67):p2align=4, $pop51
+ i32.const $push53=, 0
+ i64.const $push19=, 4612055454334320640
+ i64.store $discard=, sW+8($pop53), $pop19
+ i32.const $push52=, 0
+ i64.const $push20=, 0
+ i64.store $discard=, sW($pop52):p2align=4, $pop20
+ return
+ .endfunc
+.Lfunc_end138:
+ .size testW, .Lfunc_end138-testW
+
+ .section .text.retmeX,"ax",@progbits
+ .hidden retmeX
+ .globl retmeX
+ .type retmeX,@function
+retmeX: # @retmeX
+ .param i32, i32
+ .local i32, i64
+# BB#0: # %entry
+ i32.const $push1=, 16
+ i32.add $push3=, $1, $pop1
+ i32.load $2=, 0($pop3):p2align=0
+ i32.const $push4=, 8
+ i32.add $push6=, $1, $pop4
+ i64.load $3=, 0($pop6):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push8=, 16
+ i32.add $push2=, $0, $pop8
+ i32.store $discard=, 0($pop2):p2align=0, $2
+ i32.const $push7=, 8
+ i32.add $push5=, $0, $pop7
+ i64.store $discard=, 0($pop5):p2align=0, $3
+ return
+ .endfunc
+.Lfunc_end139:
+ .size retmeX, .Lfunc_end139-retmeX
+
+ .section .text.fn1X,"ax",@progbits
+ .hidden fn1X
+ .globl fn1X
+ .type fn1X,@function
+fn1X: # @fn1X
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sX($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end140:
+ .size fn1X, .Lfunc_end140-fn1X
+
+ .section .text.fn2X,"ax",@progbits
+ .hidden fn2X
+ .globl fn2X
+ .type fn2X,@function
+fn2X: # @fn2X
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sX($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end141:
+ .size fn2X, .Lfunc_end141-fn2X
+
+ .section .text.retitX,"ax",@progbits
+ .hidden retitX
+ .globl retitX
+ .type retitX,@function
+retitX: # @retitX
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sX($pop0)
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end142:
+ .size retitX, .Lfunc_end142-retitX
+
+ .section .text.fn3X,"ax",@progbits
+ .hidden fn3X
+ .globl fn3X
+ .type fn3X,@function
+fn3X: # @fn3X
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sX($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -4096
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sX($pop0), $pop7
+ return $0
+ .endfunc
+.Lfunc_end143:
+ .size fn3X, .Lfunc_end143-fn3X
+
+ .section .text.testX,"ax",@progbits
+ .hidden testX
+ .globl testX
+ .type testX,@function
+testX: # @testX
+ .local i32, i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push98=, 0
+ i32.load $push1=, myrnd.s($pop98)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push97=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop97, $pop6
+ i32.store8 $discard=, sX($pop0):p2align=2, $pop7
+ i32.const $push96=, 0
+ i32.const $push95=, 1103515245
+ i32.mul $push8=, $0, $pop95
+ i32.const $push94=, 12345
+ i32.add $push9=, $pop8, $pop94
+ tee_local $push93=, $0=, $pop9
+ i32.const $push92=, 16
+ i32.shr_u $push10=, $pop93, $pop92
+ i32.store8 $discard=, sX+1($pop96), $pop10
+ i32.const $push91=, 0
+ i32.const $push90=, 1103515245
+ i32.mul $push11=, $0, $pop90
+ i32.const $push89=, 12345
+ i32.add $push12=, $pop11, $pop89
+ tee_local $push88=, $0=, $pop12
+ i32.const $push87=, 16
+ i32.shr_u $push13=, $pop88, $pop87
+ i32.store8 $discard=, sX+2($pop91):p2align=1, $pop13
+ i32.const $push86=, 0
+ i32.const $push85=, 1103515245
+ i32.mul $push14=, $0, $pop85
+ i32.const $push84=, 12345
+ i32.add $push15=, $pop14, $pop84
+ tee_local $push83=, $0=, $pop15
+ i32.const $push82=, 16
+ i32.shr_u $push16=, $pop83, $pop82
+ i32.store8 $discard=, sX+3($pop86), $pop16
+ i32.const $push81=, 0
+ i32.const $push20=, 1670464429
+ i32.mul $push21=, $0, $pop20
+ i32.const $push22=, 2121308585
+ i32.add $push23=, $pop21, $pop22
+ tee_local $push80=, $1=, $pop23
+ i32.const $push79=, 16
+ i32.shr_u $push24=, $pop80, $pop79
+ i32.const $push25=, 2047
+ i32.and $push26=, $pop24, $pop25
+ i32.const $push78=, 0
+ i32.load $push19=, sX($pop78)
+ i32.const $push30=, -4096
+ i32.and $push31=, $pop19, $pop30
+ tee_local $push77=, $0=, $pop31
+ i32.or $push32=, $pop26, $pop77
+ i32.store $discard=, sX($pop81), $pop32
+ i32.const $push76=, 0
+ i32.const $push75=, 0
+ i32.const $push74=, 1103515245
+ i32.mul $push27=, $1, $pop74
+ i32.const $push73=, 12345
+ i32.add $push28=, $pop27, $pop73
+ i32.store $push29=, myrnd.s($pop75), $pop28
+ i32.const $push72=, 1103515245
+ i32.mul $push33=, $pop29, $pop72
+ i32.const $push71=, 12345
+ i32.add $push34=, $pop33, $pop71
+ tee_local $push70=, $1=, $pop34
+ i32.const $push69=, 16
+ i32.shr_u $push35=, $pop70, $pop69
+ i32.const $push68=, 2047
+ i32.and $push36=, $pop35, $pop68
+ i32.or $push40=, $pop36, $0
+ i32.store $discard=, sX($pop76), $pop40
+ i32.const $push67=, 0
+ i32.const $push66=, 0
+ i32.const $push65=, 0
+ i32.const $push64=, 1103515245
+ i32.mul $push37=, $1, $pop64
+ i32.const $push63=, 12345
+ i32.add $push38=, $pop37, $pop63
+ i32.store $push39=, myrnd.s($pop65), $pop38
+ i32.const $push62=, 1103515245
+ i32.mul $push41=, $pop39, $pop62
+ i32.const $push61=, 12345
+ i32.add $push42=, $pop41, $pop61
+ tee_local $push60=, $1=, $pop42
+ i32.const $push59=, 1103515245
+ i32.mul $push45=, $pop60, $pop59
+ i32.const $push58=, 12345
+ i32.add $push46=, $pop45, $pop58
+ i32.store $push47=, myrnd.s($pop66), $pop46
+ i32.const $push57=, 16
+ i32.shr_u $push48=, $pop47, $pop57
+ i32.const $push56=, 2047
+ i32.and $push49=, $pop48, $pop56
+ i32.const $push55=, 16
+ i32.shr_u $push43=, $1, $pop55
+ i32.const $push54=, 2047
+ i32.and $push44=, $pop43, $pop54
+ i32.add $push50=, $pop49, $pop44
+ i32.or $push51=, $pop50, $0
+ i32.store $discard=, sX($pop67), $pop51
+ i32.const $push53=, 0
+ i64.const $push17=, 4612055454334320640
+ i64.store $discard=, sX+12($pop53):p2align=2, $pop17
+ i32.const $push52=, 0
+ i64.const $push18=, 0
+ i64.store $discard=, sX+4($pop52):p2align=2, $pop18
+ return
+ .endfunc
+.Lfunc_end144:
+ .size testX, .Lfunc_end144-testX
+
+ .section .text.retmeY,"ax",@progbits
+ .hidden retmeY
+ .globl retmeY
+ .type retmeY,@function
+retmeY: # @retmeY
+ .param i32, i32
+ .local i32, i64
+# BB#0: # %entry
+ i32.const $push1=, 16
+ i32.add $push3=, $1, $pop1
+ i32.load $2=, 0($pop3):p2align=0
+ i32.const $push4=, 8
+ i32.add $push6=, $1, $pop4
+ i64.load $3=, 0($pop6):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push8=, 16
+ i32.add $push2=, $0, $pop8
+ i32.store $discard=, 0($pop2):p2align=0, $2
+ i32.const $push7=, 8
+ i32.add $push5=, $0, $pop7
+ i64.store $discard=, 0($pop5):p2align=0, $3
+ return
+ .endfunc
+.Lfunc_end145:
+ .size retmeY, .Lfunc_end145-retmeY
+
+ .section .text.fn1Y,"ax",@progbits
+ .hidden fn1Y
+ .globl fn1Y
+ .type fn1Y,@function
+fn1Y: # @fn1Y
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sY($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end146:
+ .size fn1Y, .Lfunc_end146-fn1Y
+
+ .section .text.fn2Y,"ax",@progbits
+ .hidden fn2Y
+ .globl fn2Y
+ .type fn2Y,@function
+fn2Y: # @fn2Y
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sY($pop0)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push5=, 15
+ i32.rem_u $push6=, $pop4, $pop5
+ return $pop6
+ .endfunc
+.Lfunc_end147:
+ .size fn2Y, .Lfunc_end147-fn2Y
+
+ .section .text.retitY,"ax",@progbits
+ .hidden retitY
+ .globl retitY
+ .type retitY,@function
+retitY: # @retitY
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sY($pop0)
+ i32.const $push2=, 4095
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end148:
+ .size retitY, .Lfunc_end148-retitY
+
+ .section .text.fn3Y,"ax",@progbits
+ .hidden fn3Y
+ .globl fn3Y
+ .type fn3Y,@function
+fn3Y: # @fn3Y
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, sY($pop10)
+ tee_local $push9=, $1=, $pop1
+ i32.add $push2=, $pop9, $0
+ i32.const $push3=, 4095
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push5=, -4096
+ i32.and $push6=, $1, $pop5
+ i32.or $push7=, $pop8, $pop6
+ i32.store $discard=, sY($pop0), $pop7
+ return $0
+ .endfunc
+.Lfunc_end149:
+ .size fn3Y, .Lfunc_end149-fn3Y
+
+ .section .text.testY,"ax",@progbits
+ .hidden testY
+ .globl testY
+ .type testY,@function
+testY: # @testY
+ .local i32, i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push98=, 0
+ i32.load $push1=, myrnd.s($pop98)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ tee_local $push97=, $0=, $pop5
+ i32.const $push6=, 16
+ i32.shr_u $push7=, $pop97, $pop6
+ i32.store8 $discard=, sY($pop0):p2align=2, $pop7
+ i32.const $push96=, 0
+ i32.const $push95=, 1103515245
+ i32.mul $push8=, $0, $pop95
+ i32.const $push94=, 12345
+ i32.add $push9=, $pop8, $pop94
+ tee_local $push93=, $0=, $pop9
+ i32.const $push92=, 16
+ i32.shr_u $push10=, $pop93, $pop92
+ i32.store8 $discard=, sY+1($pop96), $pop10
+ i32.const $push91=, 0
+ i32.const $push90=, 1103515245
+ i32.mul $push11=, $0, $pop90
+ i32.const $push89=, 12345
+ i32.add $push12=, $pop11, $pop89
+ tee_local $push88=, $0=, $pop12
+ i32.const $push87=, 16
+ i32.shr_u $push13=, $pop88, $pop87
+ i32.store8 $discard=, sY+2($pop91):p2align=1, $pop13
+ i32.const $push86=, 0
+ i32.const $push85=, 1103515245
+ i32.mul $push14=, $0, $pop85
+ i32.const $push84=, 12345
+ i32.add $push15=, $pop14, $pop84
+ tee_local $push83=, $0=, $pop15
+ i32.const $push82=, 16
+ i32.shr_u $push16=, $pop83, $pop82
+ i32.store8 $discard=, sY+3($pop86), $pop16
+ i32.const $push81=, 0
+ i32.const $push20=, 1670464429
+ i32.mul $push21=, $0, $pop20
+ i32.const $push22=, 2121308585
+ i32.add $push23=, $pop21, $pop22
+ tee_local $push80=, $1=, $pop23
+ i32.const $push79=, 16
+ i32.shr_u $push24=, $pop80, $pop79
+ i32.const $push25=, 2047
+ i32.and $push26=, $pop24, $pop25
+ i32.const $push78=, 0
+ i32.load $push19=, sY($pop78)
+ i32.const $push30=, -4096
+ i32.and $push31=, $pop19, $pop30
+ tee_local $push77=, $0=, $pop31
+ i32.or $push32=, $pop26, $pop77
+ i32.store $discard=, sY($pop81), $pop32
+ i32.const $push76=, 0
+ i32.const $push75=, 0
+ i32.const $push74=, 1103515245
+ i32.mul $push27=, $1, $pop74
+ i32.const $push73=, 12345
+ i32.add $push28=, $pop27, $pop73
+ i32.store $push29=, myrnd.s($pop75), $pop28
+ i32.const $push72=, 1103515245
+ i32.mul $push33=, $pop29, $pop72
+ i32.const $push71=, 12345
+ i32.add $push34=, $pop33, $pop71
+ tee_local $push70=, $1=, $pop34
+ i32.const $push69=, 16
+ i32.shr_u $push35=, $pop70, $pop69
+ i32.const $push68=, 2047
+ i32.and $push36=, $pop35, $pop68
+ i32.or $push40=, $pop36, $0
+ i32.store $discard=, sY($pop76), $pop40
+ i32.const $push67=, 0
+ i32.const $push66=, 0
+ i32.const $push65=, 0
+ i32.const $push64=, 1103515245
+ i32.mul $push37=, $1, $pop64
+ i32.const $push63=, 12345
+ i32.add $push38=, $pop37, $pop63
+ i32.store $push39=, myrnd.s($pop65), $pop38
+ i32.const $push62=, 1103515245
+ i32.mul $push41=, $pop39, $pop62
+ i32.const $push61=, 12345
+ i32.add $push42=, $pop41, $pop61
+ tee_local $push60=, $1=, $pop42
+ i32.const $push59=, 1103515245
+ i32.mul $push45=, $pop60, $pop59
+ i32.const $push58=, 12345
+ i32.add $push46=, $pop45, $pop58
+ i32.store $push47=, myrnd.s($pop66), $pop46
+ i32.const $push57=, 16
+ i32.shr_u $push48=, $pop47, $pop57
+ i32.const $push56=, 2047
+ i32.and $push49=, $pop48, $pop56
+ i32.const $push55=, 16
+ i32.shr_u $push43=, $1, $pop55
+ i32.const $push54=, 2047
+ i32.and $push44=, $pop43, $pop54
+ i32.add $push50=, $pop49, $pop44
+ i32.or $push51=, $pop50, $0
+ i32.store $discard=, sY($pop67), $pop51
+ i32.const $push53=, 0
+ i64.const $push17=, 4612055454334320640
+ i64.store $discard=, sY+12($pop53):p2align=2, $pop17
+ i32.const $push52=, 0
+ i64.const $push18=, 0
+ i64.store $discard=, sY+4($pop52):p2align=2, $pop18
+ return
+ .endfunc
+.Lfunc_end150:
+ .size testY, .Lfunc_end150-testY
+
+ .section .text.retmeZ,"ax",@progbits
+ .hidden retmeZ
+ .globl retmeZ
+ .type retmeZ,@function
+retmeZ: # @retmeZ
+ .param i32, i32
+ .local i32, i64
+# BB#0: # %entry
+ i32.const $push1=, 16
+ i32.add $push3=, $1, $pop1
+ i32.load $2=, 0($pop3):p2align=0
+ i32.const $push4=, 8
+ i32.add $push6=, $1, $pop4
+ i64.load $3=, 0($pop6):p2align=0
+ i64.load $push0=, 0($1):p2align=0
+ i64.store $discard=, 0($0):p2align=0, $pop0
+ i32.const $push8=, 16
+ i32.add $push2=, $0, $pop8
+ i32.store $discard=, 0($pop2):p2align=0, $2
+ i32.const $push7=, 8
+ i32.add $push5=, $0, $pop7
+ i64.store $discard=, 0($pop5):p2align=0, $3
+ return
+ .endfunc
+.Lfunc_end151:
+ .size retmeZ, .Lfunc_end151-retmeZ
+
+ .section .text.fn1Z,"ax",@progbits
+ .hidden fn1Z
+ .globl fn1Z
+ .type fn1Z,@function
+fn1Z: # @fn1Z
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sZ+16($pop0):p2align=4
+ i32.const $push2=, 20
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.const $push6=, 20
+ i32.shr_u $push5=, $pop4, $pop6
+ return $pop5
+ .endfunc
+.Lfunc_end152:
+ .size fn1Z, .Lfunc_end152-fn1Z
+
+ .section .text.fn2Z,"ax",@progbits
+ .hidden fn2Z
+ .globl fn2Z
+ .type fn2Z,@function
+fn2Z: # @fn2Z
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sZ+16($pop0):p2align=4
+ i32.const $push2=, 20
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 4095
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 15
+ i32.rem_u $push8=, $pop6, $pop7
+ return $pop8
+ .endfunc
+.Lfunc_end153:
+ .size fn2Z, .Lfunc_end153-fn2Z
+
+ .section .text.retitZ,"ax",@progbits
+ .hidden retitZ
+ .globl retitZ
+ .type retitZ,@function
+retitZ: # @retitZ
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, sZ+16($pop0):p2align=4
+ i32.const $push2=, 20
+ i32.shr_u $push3=, $pop1, $pop2
+ return $pop3
+ .endfunc
+.Lfunc_end154:
+ .size retitZ, .Lfunc_end154-retitZ
+
+ .section .text.fn3Z,"ax",@progbits
+ .hidden fn3Z
+ .globl fn3Z
+ .type fn3Z,@function
+fn3Z: # @fn3Z
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push8=, 0
+ i32.load $push1=, sZ+16($pop8):p2align=4
+ i32.const $push2=, 20
+ i32.shl $push3=, $0, $pop2
+ i32.add $push4=, $pop1, $pop3
+ i32.store $push5=, sZ+16($pop0):p2align=4, $pop4
+ i32.const $push7=, 20
+ i32.shr_u $push6=, $pop5, $pop7
+ return $pop6
+ .endfunc
+.Lfunc_end155:
+ .size fn3Z, .Lfunc_end155-fn3Z
+
+ .section .text.testZ,"ax",@progbits
+ .hidden testZ
+ .globl testZ
+ .type testZ,@function
+testZ: # @testZ
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push104=, 0
+ i32.const $push103=, 0
+ i32.load $push5=, myrnd.s($pop103)
+ i32.const $push6=, 1670464429
+ i32.mul $push7=, $pop5, $pop6
+ i32.const $push8=, 2121308585
+ i32.add $push9=, $pop7, $pop8
+ tee_local $push102=, $0=, $pop9
+ i32.const $push101=, 16
+ i32.shr_u $push10=, $pop102, $pop101
+ i32.store8 $discard=, sZ+16($pop104):p2align=4, $pop10
+ i32.const $push100=, 0
+ i32.const $push99=, 1103515245
+ i32.mul $push11=, $0, $pop99
+ i32.const $push98=, 12345
+ i32.add $push12=, $pop11, $pop98
+ tee_local $push97=, $0=, $pop12
+ i32.const $push96=, 16
+ i32.shr_u $push13=, $pop97, $pop96
+ i32.store8 $discard=, sZ+17($pop100), $pop13
+ i32.const $push95=, 0
+ i32.const $push94=, 1103515245
+ i32.mul $push14=, $0, $pop94
+ i32.const $push93=, 12345
+ i32.add $push15=, $pop14, $pop93
+ tee_local $push92=, $0=, $pop15
+ i32.const $push91=, 16
+ i32.shr_u $push16=, $pop92, $pop91
+ i32.store8 $discard=, sZ+18($pop95):p2align=1, $pop16
+ i32.const $push90=, 0
+ i32.const $push89=, 1103515245
+ i32.mul $push17=, $0, $pop89
+ i32.const $push88=, 12345
+ i32.add $push18=, $pop17, $pop88
+ tee_local $push87=, $0=, $pop18
+ i32.const $push86=, 16
+ i32.shr_u $push19=, $pop87, $pop86
+ i32.store8 $discard=, sZ+19($pop90), $pop19
+ i32.const $push85=, 0
+ i32.load $3=, sZ+16($pop85):p2align=4
+ i32.const $push84=, 0
+ i32.const $push83=, 1103515245
+ i32.mul $push22=, $0, $pop83
+ i32.const $push82=, 12345
+ i32.add $push23=, $pop22, $pop82
+ tee_local $push81=, $4=, $pop23
+ i32.const $push80=, 1103515245
+ i32.mul $push26=, $pop81, $pop80
+ i32.const $push79=, 12345
+ i32.add $push0=, $pop26, $pop79
+ i32.store $0=, myrnd.s($pop84), $pop0
+ i32.const $push78=, 0
+ i32.const $push77=, 16
+ i32.shr_u $push24=, $4, $pop77
+ i32.const $push76=, 2047
+ i32.and $push25=, $pop24, $pop76
+ tee_local $push75=, $4=, $pop25
+ i32.const $push74=, 20
+ i32.shl $push29=, $pop75, $pop74
+ i32.const $push30=, 1048575
+ i32.and $push31=, $3, $pop30
+ tee_local $push73=, $3=, $pop31
+ i32.or $push32=, $pop29, $pop73
+ i32.store $1=, sZ+16($pop78):p2align=4, $pop32
+ i32.const $push72=, 0
+ i64.const $push20=, 4612055454334320640
+ i64.store $discard=, sZ+8($pop72), $pop20
+ i32.const $push71=, 0
+ i64.const $push21=, 0
+ i64.store $discard=, sZ($pop71):p2align=4, $pop21
+ block
+ i32.const $push70=, 16
+ i32.shr_u $push27=, $0, $pop70
+ i32.const $push69=, 2047
+ i32.and $push28=, $pop27, $pop69
+ tee_local $push68=, $2=, $pop28
+ i32.add $push36=, $pop68, $4
+ i32.const $push67=, 20
+ i32.shl $push33=, $2, $pop67
+ i32.add $push34=, $1, $pop33
+ i32.const $push66=, 20
+ i32.shr_u $push35=, $pop34, $pop66
+ i32.ne $push37=, $pop36, $pop35
+ br_if $pop37, 0 # 0: down to label22
+# BB#1: # %if.end80
+ block
+ i32.const $push122=, 0
+ i32.const $push121=, 0
+ i32.const $push120=, 1103515245
+ i32.mul $push38=, $0, $pop120
+ i32.const $push119=, 12345
+ i32.add $push39=, $pop38, $pop119
+ tee_local $push118=, $0=, $pop39
+ i32.const $push45=, -1029531031
+ i32.mul $push46=, $pop118, $pop45
+ i32.const $push47=, -740551042
+ i32.add $push48=, $pop46, $pop47
+ tee_local $push117=, $4=, $pop48
+ i32.const $push116=, 1103515245
+ i32.mul $push50=, $pop117, $pop116
+ i32.const $push115=, 12345
+ i32.add $push51=, $pop50, $pop115
+ i32.store $push52=, myrnd.s($pop121), $pop51
+ i32.const $push114=, 16
+ i32.shr_u $push53=, $pop52, $pop114
+ i32.const $push113=, 2047
+ i32.and $push2=, $pop53, $pop113
+ tee_local $push112=, $1=, $pop2
+ i32.const $push111=, 20
+ i32.shl $push56=, $pop112, $pop111
+ i32.const $push110=, 16
+ i32.shr_u $push49=, $4, $pop110
+ i32.const $push109=, 2047
+ i32.and $push1=, $pop49, $pop109
+ tee_local $push108=, $4=, $pop1
+ i32.const $push107=, 20
+ i32.shl $push54=, $pop108, $pop107
+ i32.or $push55=, $pop54, $3
+ i32.add $push3=, $pop56, $pop55
+ i32.store $push57=, sZ+16($pop122):p2align=4, $pop3
+ tee_local $push106=, $2=, $pop57
+ i32.const $push40=, 4
+ i32.shl $push41=, $0, $pop40
+ i32.const $push42=, 2146435072
+ i32.and $push43=, $pop41, $pop42
+ i32.or $push44=, $pop43, $3
+ i32.xor $push4=, $pop106, $pop44
+ tee_local $push105=, $0=, $pop4
+ i32.const $push58=, 1040384
+ i32.and $push59=, $pop105, $pop58
+ br_if $pop59, 0 # 0: down to label23
+# BB#2: # %lor.lhs.false98
+ i32.add $push64=, $1, $4
+ i32.const $push61=, 20
+ i32.shr_u $push62=, $2, $pop61
+ i32.ne $push65=, $pop64, $pop62
+ br_if $pop65, 0 # 0: down to label23
+# BB#3: # %lor.lhs.false98
+ i32.const $push63=, 8191
+ i32.and $push60=, $0, $pop63
+ br_if $pop60, 0 # 0: down to label23
+# BB#4: # %if.end121
+ return
+.LBB156_5: # %if.then120
+ end_block # label23:
+ call abort@FUNCTION
+ unreachable
+.LBB156_6: # %if.then
+ end_block # label22:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end156:
+ .size testZ, .Lfunc_end156-testZ
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ call testA@FUNCTION
+ call testB@FUNCTION
+ call testC@FUNCTION
+ call testD@FUNCTION
+ call testE@FUNCTION
+ call testF@FUNCTION
+ call testG@FUNCTION
+ call testH@FUNCTION
+ call testI@FUNCTION
+ call testJ@FUNCTION
+ call testK@FUNCTION
+ call testL@FUNCTION
+ call testM@FUNCTION
+ call testN@FUNCTION
+ call testO@FUNCTION
+ call testP@FUNCTION
+ call testQ@FUNCTION
+ call testR@FUNCTION
+ call testS@FUNCTION
+ call testT@FUNCTION
+ call testU@FUNCTION
+ call testV@FUNCTION
+ call testW@FUNCTION
+ call testX@FUNCTION
+ call testY@FUNCTION
+ call testZ@FUNCTION
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end157:
+ .size main, .Lfunc_end157-main
+
+ .type myrnd.s,@object # @myrnd.s
+ .section .data.myrnd.s,"aw",@progbits
+ .p2align 2
+myrnd.s:
+ .int32 1388815473 # 0x52c7a471
+ .size myrnd.s, 4
+
+ .hidden sA # @sA
+ .type sA,@object
+ .section .bss.sA,"aw",@nobits
+ .globl sA
+ .p2align 1
+sA:
+ .skip 2
+ .size sA, 2
+
+ .hidden sB # @sB
+ .type sB,@object
+ .section .bss.sB,"aw",@nobits
+ .globl sB
+ .p2align 1
+sB:
+ .skip 6
+ .size sB, 6
+
+ .hidden sC # @sC
+ .type sC,@object
+ .section .bss.sC,"aw",@nobits
+ .globl sC
+ .p2align 2
+sC:
+ .skip 6
+ .size sC, 6
+
+ .hidden sD # @sD
+ .type sD,@object
+ .section .bss.sD,"aw",@nobits
+ .globl sD
+ .p2align 3
+sD:
+ .skip 8
+ .size sD, 8
+
+ .hidden sE # @sE
+ .type sE,@object
+ .section .bss.sE,"aw",@nobits
+ .globl sE
+ .p2align 3
+sE:
+ .skip 16
+ .size sE, 16
+
+ .hidden sF # @sF
+ .type sF,@object
+ .section .bss.sF,"aw",@nobits
+ .globl sF
+ .p2align 3
+sF:
+ .skip 16
+ .size sF, 16
+
+ .hidden sG # @sG
+ .type sG,@object
+ .section .bss.sG,"aw",@nobits
+ .globl sG
+sG:
+ .skip 9
+ .size sG, 9
+
+ .hidden sH # @sH
+ .type sH,@object
+ .section .bss.sH,"aw",@nobits
+ .globl sH
+ .p2align 1
+sH:
+ .skip 10
+ .size sH, 10
+
+ .hidden sI # @sI
+ .type sI,@object
+ .section .bss.sI,"aw",@nobits
+ .globl sI
+sI:
+ .skip 9
+ .size sI, 9
+
+ .hidden sJ # @sJ
+ .type sJ,@object
+ .section .bss.sJ,"aw",@nobits
+ .globl sJ
+ .p2align 2
+sJ:
+ .skip 4
+ .size sJ, 4
+
+ .hidden sK # @sK
+ .type sK,@object
+ .section .bss.sK,"aw",@nobits
+ .globl sK
+ .p2align 2
+sK:
+ .skip 4
+ .size sK, 4
+
+ .hidden sL # @sL
+ .type sL,@object
+ .section .bss.sL,"aw",@nobits
+ .globl sL
+ .p2align 3
+sL:
+ .skip 8
+ .size sL, 8
+
+ .hidden sM # @sM
+ .type sM,@object
+ .section .bss.sM,"aw",@nobits
+ .globl sM
+ .p2align 3
+sM:
+ .skip 8
+ .size sM, 8
+
+ .hidden sN # @sN
+ .type sN,@object
+ .section .bss.sN,"aw",@nobits
+ .globl sN
+ .p2align 3
+sN:
+ .skip 8
+ .size sN, 8
+
+ .hidden sO # @sO
+ .type sO,@object
+ .section .bss.sO,"aw",@nobits
+ .globl sO
+ .p2align 3
+sO:
+ .skip 16
+ .size sO, 16
+
+ .hidden sP # @sP
+ .type sP,@object
+ .section .bss.sP,"aw",@nobits
+ .globl sP
+ .p2align 3
+sP:
+ .skip 16
+ .size sP, 16
+
+ .hidden sQ # @sQ
+ .type sQ,@object
+ .section .bss.sQ,"aw",@nobits
+ .globl sQ
+ .p2align 1
+sQ:
+ .skip 10
+ .size sQ, 10
+
+ .hidden sR # @sR
+ .type sR,@object
+ .section .bss.sR,"aw",@nobits
+ .globl sR
+ .p2align 1
+sR:
+ .skip 10
+ .size sR, 10
+
+ .hidden sS # @sS
+ .type sS,@object
+ .section .bss.sS,"aw",@nobits
+ .globl sS
+ .p2align 1
+sS:
+ .skip 10
+ .size sS, 10
+
+ .hidden sT # @sT
+ .type sT,@object
+ .section .bss.sT,"aw",@nobits
+ .globl sT
+ .p2align 2
+sT:
+ .skip 4
+ .size sT, 4
+
+ .hidden sU # @sU
+ .type sU,@object
+ .section .bss.sU,"aw",@nobits
+ .globl sU
+ .p2align 1
+sU:
+ .skip 10
+ .size sU, 10
+
+ .hidden sV # @sV
+ .type sV,@object
+ .section .bss.sV,"aw",@nobits
+ .globl sV
+ .p2align 2
+sV:
+ .skip 4
+ .size sV, 4
+
+ .hidden sW # @sW
+ .type sW,@object
+ .section .bss.sW,"aw",@nobits
+ .globl sW
+ .p2align 4
+sW:
+ .skip 20
+ .size sW, 20
+
+ .hidden sX # @sX
+ .type sX,@object
+ .section .bss.sX,"aw",@nobits
+ .globl sX
+ .p2align 2
+sX:
+ .skip 20
+ .size sX, 20
+
+ .hidden sY # @sY
+ .type sY,@object
+ .section .bss.sY,"aw",@nobits
+ .globl sY
+ .p2align 2
+sY:
+ .skip 20
+ .size sY, 20
+
+ .hidden sZ # @sZ
+ .type sZ,@object
+ .section .bss.sZ,"aw",@nobits
+ .globl sZ
+ .p2align 4
+sZ:
+ .skip 20
+ .size sZ, 20
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20040805-1.c.s b/test/torture-s/20040805-1.c.s
index 46742c1c5..aee9d986c 100644
--- a/test/torture-s/20040805-1.c.s
+++ b/test/torture-s/20040805-1.c.s
@@ -30,13 +30,14 @@ foo: # @foo
.result i32
.local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, a($0)
- i32.store $push1=, a+4($0), $pop0
- i32.call $push4=, bar@FUNCTION, $pop1
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, a($pop6)
+ i32.store $0=, a+4($pop0), $pop1
i32.const $push2=, 100
i32.call $push3=, bar@FUNCTION, $pop2
- i32.add $push5=, $pop4, $pop3
+ i32.call $push4=, bar@FUNCTION, $0
+ i32.add $push5=, $pop3, $pop4
return $pop5
.endfunc
.Lfunc_end1:
@@ -47,13 +48,13 @@ foo: # @foo
bar: # @bar
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, a($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, a($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, a($pop4)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, a($pop0), $pop3
return $0
.endfunc
.Lfunc_end2:
@@ -63,7 +64,7 @@ bar: # @bar
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 2 # 0x2
.int32 3 # 0x3
diff --git a/test/torture-s/20040811-1.c.s b/test/torture-s/20040811-1.c.s
new file mode 100644
index 000000000..cad55d84c
--- /dev/null
+++ b/test/torture-s/20040811-1.c.s
@@ -0,0 +1,62 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20040811-1.c"
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $7=, 0($5)
+ copy_local $8=, $7
+ i32.const $3=, 0
+.LBB0_1: # %lab
+ # =>This Inner Loop Header: Depth=1
+ loop # label0:
+ copy_local $0=, $7
+ i32.const $push15=, 1000
+ i32.rem_s $push0=, $3, $pop15
+ i32.const $push14=, 2
+ i32.shl $push1=, $pop0, $pop14
+ tee_local $push13=, $4=, $pop1
+ i32.const $push12=, 19
+ i32.add $push2=, $pop13, $pop12
+ i32.const $push11=, -16
+ i32.and $push3=, $pop2, $pop11
+ i32.sub $1=, $7, $pop3
+ copy_local $7=, $1
+ i32.const $push10=, 1
+ i32.store $2=, 0($1):p2align=4, $pop10
+ i32.add $push4=, $1, $4
+ i32.const $push9=, 2
+ i32.store $discard=, 0($pop4), $pop9
+ i32.const $push8=, 0
+ i32.store $discard=, p($pop8), $1
+ i32.add $3=, $3, $2
+ copy_local $7=, $0
+ i32.const $push7=, 1000000
+ i32.ne $push5=, $3, $pop7
+ br_if $pop5, 0 # 0: up to label0
+# BB#2: # %cleanup3
+ end_loop # label1:
+ i32.const $push6=, 0
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $8
+ return $pop6
+ .endfunc
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+
+ .hidden p # @p
+ .type p,@object
+ .section .bss.p,"aw",@nobits
+ .globl p
+ .p2align 2
+p:
+ .int32 0
+ .size p, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20040820-1.c.s b/test/torture-s/20040820-1.c.s
index b3dcfcd29..65352b570 100644
--- a/test/torture-s/20040820-1.c.s
+++ b/test/torture-s/20040820-1.c.s
@@ -27,17 +27,18 @@ check: # @check
.type test,@function
test: # @test
.param i32, i32
- .local i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.const $3=, 1
block
- i32.ne $push1=, $1, $2
- i32.shl $push2=, $pop1, $3
- i32.ne $push0=, $0, $2
- i32.or $push3=, $pop2, $pop0
- i32.ne $push4=, $pop3, $3
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push0=, 0
+ i32.ne $push2=, $1, $pop0
+ i32.const $push3=, 1
+ i32.shl $push4=, $pop2, $pop3
+ i32.const $push8=, 0
+ i32.ne $push1=, $0, $pop8
+ i32.or $push5=, $pop4, $pop1
+ i32.const $push7=, 1
+ i32.ne $push6=, $pop5, $pop7
+ br_if $pop6, 0 # 0: down to label1
# BB#1: # %check.exit
return
.LBB1_2: # %if.then.i
@@ -55,8 +56,11 @@ test: # @test
main: # @main
.result i32
# BB#0: # %entry
+ i32.const $push1=, 1
i32.const $push0=, 0
- call exit@FUNCTION, $pop0
+ call test@FUNCTION, $pop1, $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/20040823-1.c.s b/test/torture-s/20040823-1.c.s
new file mode 100644
index 000000000..8fea4d31f
--- /dev/null
+++ b/test/torture-s/20040823-1.c.s
@@ -0,0 +1,62 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20040823-1.c"
+ .section .text.bla,"ax",@progbits
+ .hidden bla
+ .globl bla
+ .type bla,@function
+bla: # @bla
+# BB#0: # %entry
+ block
+ i32.const $push2=, 0
+ i32.load $push0=, pwarn($pop2)
+ i32.load $push1=, 0($pop0)
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %if.then
+ call abort@FUNCTION
+ unreachable
+.LBB0_2: # %if.end
+ end_block # label0:
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size bla, .Lfunc_end0-bla
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i32.const $push0=, 0
+ i32.const $2=, 12
+ i32.add $2=, $3, $2
+ i32.store $discard=, pwarn($pop0), $2
+ i32.const $push1=, 1
+ i32.store $discard=, 12($3), $pop1
+ call bla@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden pwarn # @pwarn
+ .type pwarn,@object
+ .section .bss.pwarn,"aw",@nobits
+ .globl pwarn
+ .p2align 2
+pwarn:
+ .int32 0
+ .size pwarn, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20040917-1.c.s b/test/torture-s/20040917-1.c.s
index f22532d6a..0ae1ce291 100644
--- a/test/torture-s/20040917-1.c.s
+++ b/test/torture-s/20040917-1.c.s
@@ -20,18 +20,20 @@ not_inlinable: # @not_inlinable
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push4=, 0
i32.const $push0=, 10
- i32.store $1=, test_var($0), $pop0
+ i32.store $0=, test_var($pop4), $pop0
call not_inlinable@FUNCTION
block
- i32.load $push1=, test_var($0)
- i32.eq $push2=, $pop1, $1
+ i32.const $push3=, 0
+ i32.load $push1=, test_var($pop3)
+ i32.eq $push2=, $0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push5=, 0
+ return $pop5
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/20041011-1.c.s b/test/torture-s/20041011-1.c.s
index c7994f326..62838d929 100644
--- a/test/torture-s/20041011-1.c.s
+++ b/test/torture-s/20041011-1.c.s
@@ -7,83 +7,143 @@
t1: # @t1
.param i32, i64
.result i64
- .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push5=, 0
- i32.eq $push6=, $0, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push67=, 0
+ i32.eq $push68=, $0, $pop67
+ br_if $pop68, 0 # 0: down to label0
# BB#1: # %while.body.preheader
- i32.const $3=, -1
- i32.add $push0=, $0, $3
+ i32.const $push5=, -1
+ i32.add $push0=, $0, $pop5
i64.extend_u/i32 $push1=, $pop0
i64.const $push2=, 11
i64.shl $2=, $pop1, $pop2
.LBB0_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $4=, 0
- i32.load $5=, gvol+4($4)
- i32.load $6=, gvol+8($4)
- i32.load $7=, gvol+12($4)
- i32.load $8=, gvol+16($4)
- i32.load $9=, gvol+20($4)
- i32.load $10=, gvol+24($4)
- i32.load $11=, gvol+28($4)
- i32.load $12=, gvol+32($4)
- i32.load $13=, gvol+36($4)
- i32.load $14=, gvol+40($4)
- i32.load $15=, gvol+44($4)
- i32.load $16=, gvol+48($4)
- i32.load $17=, gvol+52($4)
- i32.load $18=, gvol+56($4)
- i32.load $19=, gvol+60($4)
- i32.load $20=, gvol+64($4)
- i32.load $21=, gvol+68($4)
- i32.load $22=, gvol+72($4)
- i32.load $23=, gvol+76($4)
- i32.load $24=, gvol+80($4)
- i32.load $25=, gvol+84($4)
- i32.load $26=, gvol+88($4)
- i32.load $27=, gvol+92($4)
- i32.load $28=, gvol+96($4)
- i32.load $29=, gvol+100($4)
- i32.load $30=, gvol+104($4)
- i32.load $31=, gvol+108($4)
- i32.load $32=, gvol+112($4)
- i32.load $33=, gvol+116($4)
- i32.load $34=, gvol+120($4)
- i32.store $discard=, gvol+4($4), $5
- i32.store $discard=, gvol+8($4), $6
- i32.store $discard=, gvol+12($4), $7
- i32.store $discard=, gvol+16($4), $8
- i32.store $discard=, gvol+20($4), $9
- i32.store $discard=, gvol+24($4), $10
- i32.store $discard=, gvol+28($4), $11
- i32.store $discard=, gvol+32($4), $12
- i32.store $discard=, gvol+36($4), $13
- i32.store $discard=, gvol+40($4), $14
- i32.store $discard=, gvol+44($4), $15
- i32.store $discard=, gvol+48($4), $16
- i32.store $discard=, gvol+52($4), $17
- i32.store $discard=, gvol+56($4), $18
- i32.store $discard=, gvol+60($4), $19
- i32.store $discard=, gvol+64($4), $20
- i32.store $discard=, gvol+68($4), $21
- i32.store $discard=, gvol+72($4), $22
- i32.store $discard=, gvol+76($4), $23
- i32.store $discard=, gvol+80($4), $24
- i32.store $discard=, gvol+84($4), $25
- i32.store $discard=, gvol+88($4), $26
- i32.store $discard=, gvol+92($4), $27
- i32.store $discard=, gvol+96($4), $28
- i32.store $discard=, gvol+100($4), $29
- i32.store $discard=, gvol+104($4), $30
- i32.store $discard=, gvol+108($4), $31
- i32.store $discard=, gvol+112($4), $32
- i32.store $discard=, gvol+116($4), $33
- i32.store $discard=, gvol+120($4), $34
- i32.add $0=, $0, $3
+ i32.const $push66=, 0
+ i32.load $3=, gvol+4($pop66)
+ i32.const $push65=, 0
+ i32.load $4=, gvol+8($pop65):p2align=3
+ i32.const $push64=, 0
+ i32.load $5=, gvol+12($pop64)
+ i32.const $push63=, 0
+ i32.load $6=, gvol+16($pop63):p2align=4
+ i32.const $push62=, 0
+ i32.load $7=, gvol+20($pop62)
+ i32.const $push61=, 0
+ i32.load $8=, gvol+24($pop61):p2align=3
+ i32.const $push60=, 0
+ i32.load $9=, gvol+28($pop60)
+ i32.const $push59=, 0
+ i32.load $10=, gvol+32($pop59):p2align=4
+ i32.const $push58=, 0
+ i32.load $11=, gvol+36($pop58)
+ i32.const $push57=, 0
+ i32.load $12=, gvol+40($pop57):p2align=3
+ i32.const $push56=, 0
+ i32.load $13=, gvol+44($pop56)
+ i32.const $push55=, 0
+ i32.load $14=, gvol+48($pop55):p2align=4
+ i32.const $push54=, 0
+ i32.load $15=, gvol+52($pop54)
+ i32.const $push53=, 0
+ i32.load $16=, gvol+56($pop53):p2align=3
+ i32.const $push52=, 0
+ i32.load $17=, gvol+60($pop52)
+ i32.const $push51=, 0
+ i32.load $18=, gvol+64($pop51):p2align=4
+ i32.const $push50=, 0
+ i32.load $19=, gvol+68($pop50)
+ i32.const $push49=, 0
+ i32.load $20=, gvol+72($pop49):p2align=3
+ i32.const $push48=, 0
+ i32.load $21=, gvol+76($pop48)
+ i32.const $push47=, 0
+ i32.load $22=, gvol+80($pop47):p2align=4
+ i32.const $push46=, 0
+ i32.load $23=, gvol+84($pop46)
+ i32.const $push45=, 0
+ i32.load $24=, gvol+88($pop45):p2align=3
+ i32.const $push44=, 0
+ i32.load $25=, gvol+92($pop44)
+ i32.const $push43=, 0
+ i32.load $26=, gvol+96($pop43):p2align=4
+ i32.const $push42=, 0
+ i32.load $27=, gvol+100($pop42)
+ i32.const $push41=, 0
+ i32.load $28=, gvol+104($pop41):p2align=3
+ i32.const $push40=, 0
+ i32.load $29=, gvol+108($pop40)
+ i32.const $push39=, 0
+ i32.load $30=, gvol+112($pop39):p2align=4
+ i32.const $push38=, 0
+ i32.load $31=, gvol+116($pop38)
+ i32.const $push37=, 0
+ i32.load $32=, gvol+120($pop37):p2align=3
+ i32.const $push36=, 0
+ i32.store $discard=, gvol+4($pop36), $3
+ i32.const $push35=, 0
+ i32.store $discard=, gvol+8($pop35):p2align=3, $4
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+12($pop34), $5
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+16($pop33):p2align=4, $6
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+20($pop32), $7
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+24($pop31):p2align=3, $8
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+28($pop30), $9
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+32($pop29):p2align=4, $10
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+36($pop28), $11
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+40($pop27):p2align=3, $12
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+44($pop26), $13
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+48($pop25):p2align=4, $14
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+52($pop24), $15
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+56($pop23):p2align=3, $16
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+60($pop22), $17
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+64($pop21):p2align=4, $18
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+68($pop20), $19
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+72($pop19):p2align=3, $20
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+76($pop18), $21
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+80($pop17):p2align=4, $22
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+84($pop16), $23
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+88($pop15):p2align=3, $24
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+92($pop14), $25
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+96($pop13):p2align=4, $26
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+100($pop12), $27
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+104($pop11):p2align=3, $28
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+108($pop10), $29
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+112($pop9):p2align=4, $30
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+116($pop8), $31
+ i32.const $push7=, 0
+ i32.store $discard=, gvol+120($pop7):p2align=3, $32
+ i32.const $push6=, -1
+ i32.add $0=, $0, $pop6
br_if $0, 0 # 0: up to label1
# BB#3: # %while.end.loopexit
end_loop # label2:
@@ -104,88 +164,149 @@ t1: # @t1
t2: # @t2
.param i32, i64
.result i64
- .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label3
+ i32.const $push67=, 0
+ i32.eq $push68=, $0, $pop67
+ br_if $pop68, 0 # 0: down to label3
# BB#1: # %while.body.preheader
- i32.const $3=, -1
- i32.add $push0=, $0, $3
+ i32.const $push4=, -1
+ i32.add $push0=, $0, $pop4
i64.extend_u/i32 $2=, $pop0
.LBB1_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.const $4=, 0
- i32.load $5=, gvol+4($4)
- i32.load $6=, gvol+8($4)
- i32.load $7=, gvol+12($4)
- i32.load $8=, gvol+16($4)
- i32.load $9=, gvol+20($4)
- i32.load $10=, gvol+24($4)
- i32.load $11=, gvol+28($4)
- i32.load $12=, gvol+32($4)
- i32.load $13=, gvol+36($4)
- i32.load $14=, gvol+40($4)
- i32.load $15=, gvol+44($4)
- i32.load $16=, gvol+48($4)
- i32.load $17=, gvol+52($4)
- i32.load $18=, gvol+56($4)
- i32.load $19=, gvol+60($4)
- i32.load $20=, gvol+64($4)
- i32.load $21=, gvol+68($4)
- i32.load $22=, gvol+72($4)
- i32.load $23=, gvol+76($4)
- i32.load $24=, gvol+80($4)
- i32.load $25=, gvol+84($4)
- i32.load $26=, gvol+88($4)
- i32.load $27=, gvol+92($4)
- i32.load $28=, gvol+96($4)
- i32.load $29=, gvol+100($4)
- i32.load $30=, gvol+104($4)
- i32.load $31=, gvol+108($4)
- i32.load $32=, gvol+112($4)
- i32.load $33=, gvol+116($4)
- i32.load $34=, gvol+120($4)
- i32.store $discard=, gvol+4($4), $5
- i32.store $discard=, gvol+8($4), $6
- i32.store $discard=, gvol+12($4), $7
- i32.store $discard=, gvol+16($4), $8
- i32.store $discard=, gvol+20($4), $9
- i32.store $discard=, gvol+24($4), $10
- i32.store $discard=, gvol+28($4), $11
- i32.store $discard=, gvol+32($4), $12
- i32.store $discard=, gvol+36($4), $13
- i32.store $discard=, gvol+40($4), $14
- i32.store $discard=, gvol+44($4), $15
- i32.store $discard=, gvol+48($4), $16
- i32.store $discard=, gvol+52($4), $17
- i32.store $discard=, gvol+56($4), $18
- i32.store $discard=, gvol+60($4), $19
- i32.store $discard=, gvol+64($4), $20
- i32.store $discard=, gvol+68($4), $21
- i32.store $discard=, gvol+72($4), $22
- i32.store $discard=, gvol+76($4), $23
- i32.store $discard=, gvol+80($4), $24
- i32.store $discard=, gvol+84($4), $25
- i32.store $discard=, gvol+88($4), $26
- i32.store $discard=, gvol+92($4), $27
- i32.store $discard=, gvol+96($4), $28
- i32.store $discard=, gvol+100($4), $29
- i32.store $discard=, gvol+104($4), $30
- i32.store $discard=, gvol+108($4), $31
- i32.store $discard=, gvol+112($4), $32
- i32.store $discard=, gvol+116($4), $33
- i32.store $discard=, gvol+120($4), $34
- i32.add $0=, $0, $3
+ i32.const $push65=, 0
+ i32.load $3=, gvol+4($pop65)
+ i32.const $push64=, 0
+ i32.load $4=, gvol+8($pop64):p2align=3
+ i32.const $push63=, 0
+ i32.load $5=, gvol+12($pop63)
+ i32.const $push62=, 0
+ i32.load $6=, gvol+16($pop62):p2align=4
+ i32.const $push61=, 0
+ i32.load $7=, gvol+20($pop61)
+ i32.const $push60=, 0
+ i32.load $8=, gvol+24($pop60):p2align=3
+ i32.const $push59=, 0
+ i32.load $9=, gvol+28($pop59)
+ i32.const $push58=, 0
+ i32.load $10=, gvol+32($pop58):p2align=4
+ i32.const $push57=, 0
+ i32.load $11=, gvol+36($pop57)
+ i32.const $push56=, 0
+ i32.load $12=, gvol+40($pop56):p2align=3
+ i32.const $push55=, 0
+ i32.load $13=, gvol+44($pop55)
+ i32.const $push54=, 0
+ i32.load $14=, gvol+48($pop54):p2align=4
+ i32.const $push53=, 0
+ i32.load $15=, gvol+52($pop53)
+ i32.const $push52=, 0
+ i32.load $16=, gvol+56($pop52):p2align=3
+ i32.const $push51=, 0
+ i32.load $17=, gvol+60($pop51)
+ i32.const $push50=, 0
+ i32.load $18=, gvol+64($pop50):p2align=4
+ i32.const $push49=, 0
+ i32.load $19=, gvol+68($pop49)
+ i32.const $push48=, 0
+ i32.load $20=, gvol+72($pop48):p2align=3
+ i32.const $push47=, 0
+ i32.load $21=, gvol+76($pop47)
+ i32.const $push46=, 0
+ i32.load $22=, gvol+80($pop46):p2align=4
+ i32.const $push45=, 0
+ i32.load $23=, gvol+84($pop45)
+ i32.const $push44=, 0
+ i32.load $24=, gvol+88($pop44):p2align=3
+ i32.const $push43=, 0
+ i32.load $25=, gvol+92($pop43)
+ i32.const $push42=, 0
+ i32.load $26=, gvol+96($pop42):p2align=4
+ i32.const $push41=, 0
+ i32.load $27=, gvol+100($pop41)
+ i32.const $push40=, 0
+ i32.load $28=, gvol+104($pop40):p2align=3
+ i32.const $push39=, 0
+ i32.load $29=, gvol+108($pop39)
+ i32.const $push38=, 0
+ i32.load $30=, gvol+112($pop38):p2align=4
+ i32.const $push37=, 0
+ i32.load $31=, gvol+116($pop37)
+ i32.const $push36=, 0
+ i32.load $32=, gvol+120($pop36):p2align=3
+ i32.const $push35=, 0
+ i32.store $discard=, gvol+4($pop35), $3
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+8($pop34):p2align=3, $4
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+12($pop33), $5
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+16($pop32):p2align=4, $6
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+20($pop31), $7
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+24($pop30):p2align=3, $8
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+28($pop29), $9
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+32($pop28):p2align=4, $10
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+36($pop27), $11
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+40($pop26):p2align=3, $12
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+44($pop25), $13
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+48($pop24):p2align=4, $14
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+52($pop23), $15
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+56($pop22):p2align=3, $16
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+60($pop21), $17
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+64($pop20):p2align=4, $18
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+68($pop19), $19
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+72($pop18):p2align=3, $20
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+76($pop17), $21
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+80($pop16):p2align=4, $22
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+84($pop15), $23
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+88($pop14):p2align=3, $24
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+92($pop13), $25
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+96($pop12):p2align=4, $26
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+100($pop11), $27
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+104($pop10):p2align=3, $28
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+108($pop9), $29
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+112($pop8):p2align=4, $30
+ i32.const $push7=, 0
+ i32.store $discard=, gvol+116($pop7), $31
+ i32.const $push6=, 0
+ i32.store $discard=, gvol+120($pop6):p2align=3, $32
+ i32.const $push5=, -1
+ i32.add $0=, $0, $pop5
br_if $0, 0 # 0: up to label4
# BB#3: # %while.end.loopexit
end_loop # label5:
- i64.const $35=, -513
- i64.mul $push1=, $2, $35
- i64.add $push2=, $1, $pop1
- i64.add $1=, $pop2, $35
+ i64.const $push1=, -513
+ i64.mul $push2=, $2, $pop1
+ i64.add $push3=, $1, $pop2
+ i64.const $push66=, -513
+ i64.add $1=, $pop3, $pop66
.LBB1_4: # %while.end
end_block # label3:
return $1
@@ -200,83 +321,143 @@ t2: # @t2
t3: # @t3
.param i32, i64
.result i64
- .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push5=, 0
- i32.eq $push6=, $0, $pop5
- br_if $pop6, 0 # 0: down to label6
+ i32.const $push67=, 0
+ i32.eq $push68=, $0, $pop67
+ br_if $pop68, 0 # 0: down to label6
# BB#1: # %while.body.preheader
- i32.const $3=, -1
- i32.add $push0=, $0, $3
+ i32.const $push5=, -1
+ i32.add $push0=, $0, $pop5
i64.extend_u/i32 $push1=, $pop0
i64.const $push2=, 9
i64.shl $2=, $pop1, $pop2
.LBB2_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label7:
- i32.const $4=, 0
- i32.load $5=, gvol+4($4)
- i32.load $6=, gvol+8($4)
- i32.load $7=, gvol+12($4)
- i32.load $8=, gvol+16($4)
- i32.load $9=, gvol+20($4)
- i32.load $10=, gvol+24($4)
- i32.load $11=, gvol+28($4)
- i32.load $12=, gvol+32($4)
- i32.load $13=, gvol+36($4)
- i32.load $14=, gvol+40($4)
- i32.load $15=, gvol+44($4)
- i32.load $16=, gvol+48($4)
- i32.load $17=, gvol+52($4)
- i32.load $18=, gvol+56($4)
- i32.load $19=, gvol+60($4)
- i32.load $20=, gvol+64($4)
- i32.load $21=, gvol+68($4)
- i32.load $22=, gvol+72($4)
- i32.load $23=, gvol+76($4)
- i32.load $24=, gvol+80($4)
- i32.load $25=, gvol+84($4)
- i32.load $26=, gvol+88($4)
- i32.load $27=, gvol+92($4)
- i32.load $28=, gvol+96($4)
- i32.load $29=, gvol+100($4)
- i32.load $30=, gvol+104($4)
- i32.load $31=, gvol+108($4)
- i32.load $32=, gvol+112($4)
- i32.load $33=, gvol+116($4)
- i32.load $34=, gvol+120($4)
- i32.store $discard=, gvol+4($4), $5
- i32.store $discard=, gvol+8($4), $6
- i32.store $discard=, gvol+12($4), $7
- i32.store $discard=, gvol+16($4), $8
- i32.store $discard=, gvol+20($4), $9
- i32.store $discard=, gvol+24($4), $10
- i32.store $discard=, gvol+28($4), $11
- i32.store $discard=, gvol+32($4), $12
- i32.store $discard=, gvol+36($4), $13
- i32.store $discard=, gvol+40($4), $14
- i32.store $discard=, gvol+44($4), $15
- i32.store $discard=, gvol+48($4), $16
- i32.store $discard=, gvol+52($4), $17
- i32.store $discard=, gvol+56($4), $18
- i32.store $discard=, gvol+60($4), $19
- i32.store $discard=, gvol+64($4), $20
- i32.store $discard=, gvol+68($4), $21
- i32.store $discard=, gvol+72($4), $22
- i32.store $discard=, gvol+76($4), $23
- i32.store $discard=, gvol+80($4), $24
- i32.store $discard=, gvol+84($4), $25
- i32.store $discard=, gvol+88($4), $26
- i32.store $discard=, gvol+92($4), $27
- i32.store $discard=, gvol+96($4), $28
- i32.store $discard=, gvol+100($4), $29
- i32.store $discard=, gvol+104($4), $30
- i32.store $discard=, gvol+108($4), $31
- i32.store $discard=, gvol+112($4), $32
- i32.store $discard=, gvol+116($4), $33
- i32.store $discard=, gvol+120($4), $34
- i32.add $0=, $0, $3
+ i32.const $push66=, 0
+ i32.load $3=, gvol+4($pop66)
+ i32.const $push65=, 0
+ i32.load $4=, gvol+8($pop65):p2align=3
+ i32.const $push64=, 0
+ i32.load $5=, gvol+12($pop64)
+ i32.const $push63=, 0
+ i32.load $6=, gvol+16($pop63):p2align=4
+ i32.const $push62=, 0
+ i32.load $7=, gvol+20($pop62)
+ i32.const $push61=, 0
+ i32.load $8=, gvol+24($pop61):p2align=3
+ i32.const $push60=, 0
+ i32.load $9=, gvol+28($pop60)
+ i32.const $push59=, 0
+ i32.load $10=, gvol+32($pop59):p2align=4
+ i32.const $push58=, 0
+ i32.load $11=, gvol+36($pop58)
+ i32.const $push57=, 0
+ i32.load $12=, gvol+40($pop57):p2align=3
+ i32.const $push56=, 0
+ i32.load $13=, gvol+44($pop56)
+ i32.const $push55=, 0
+ i32.load $14=, gvol+48($pop55):p2align=4
+ i32.const $push54=, 0
+ i32.load $15=, gvol+52($pop54)
+ i32.const $push53=, 0
+ i32.load $16=, gvol+56($pop53):p2align=3
+ i32.const $push52=, 0
+ i32.load $17=, gvol+60($pop52)
+ i32.const $push51=, 0
+ i32.load $18=, gvol+64($pop51):p2align=4
+ i32.const $push50=, 0
+ i32.load $19=, gvol+68($pop50)
+ i32.const $push49=, 0
+ i32.load $20=, gvol+72($pop49):p2align=3
+ i32.const $push48=, 0
+ i32.load $21=, gvol+76($pop48)
+ i32.const $push47=, 0
+ i32.load $22=, gvol+80($pop47):p2align=4
+ i32.const $push46=, 0
+ i32.load $23=, gvol+84($pop46)
+ i32.const $push45=, 0
+ i32.load $24=, gvol+88($pop45):p2align=3
+ i32.const $push44=, 0
+ i32.load $25=, gvol+92($pop44)
+ i32.const $push43=, 0
+ i32.load $26=, gvol+96($pop43):p2align=4
+ i32.const $push42=, 0
+ i32.load $27=, gvol+100($pop42)
+ i32.const $push41=, 0
+ i32.load $28=, gvol+104($pop41):p2align=3
+ i32.const $push40=, 0
+ i32.load $29=, gvol+108($pop40)
+ i32.const $push39=, 0
+ i32.load $30=, gvol+112($pop39):p2align=4
+ i32.const $push38=, 0
+ i32.load $31=, gvol+116($pop38)
+ i32.const $push37=, 0
+ i32.load $32=, gvol+120($pop37):p2align=3
+ i32.const $push36=, 0
+ i32.store $discard=, gvol+4($pop36), $3
+ i32.const $push35=, 0
+ i32.store $discard=, gvol+8($pop35):p2align=3, $4
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+12($pop34), $5
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+16($pop33):p2align=4, $6
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+20($pop32), $7
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+24($pop31):p2align=3, $8
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+28($pop30), $9
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+32($pop29):p2align=4, $10
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+36($pop28), $11
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+40($pop27):p2align=3, $12
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+44($pop26), $13
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+48($pop25):p2align=4, $14
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+52($pop24), $15
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+56($pop23):p2align=3, $16
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+60($pop22), $17
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+64($pop21):p2align=4, $18
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+68($pop20), $19
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+72($pop19):p2align=3, $20
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+76($pop18), $21
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+80($pop17):p2align=4, $22
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+84($pop16), $23
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+88($pop15):p2align=3, $24
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+92($pop14), $25
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+96($pop13):p2align=4, $26
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+100($pop12), $27
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+104($pop11):p2align=3, $28
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+108($pop10), $29
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+112($pop9):p2align=4, $30
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+116($pop8), $31
+ i32.const $push7=, 0
+ i32.store $discard=, gvol+120($pop7):p2align=3, $32
+ i32.const $push6=, -1
+ i32.add $0=, $0, $pop6
br_if $0, 0 # 0: up to label7
# BB#3: # %while.end.loopexit
end_loop # label8:
@@ -297,88 +478,149 @@ t3: # @t3
t4: # @t4
.param i32, i64
.result i64
- .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label9
+ i32.const $push67=, 0
+ i32.eq $push68=, $0, $pop67
+ br_if $pop68, 0 # 0: down to label9
# BB#1: # %while.body.preheader
- i32.const $3=, -1
- i32.add $push0=, $0, $3
+ i32.const $push4=, -1
+ i32.add $push0=, $0, $pop4
i64.extend_u/i32 $2=, $pop0
.LBB3_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label10:
- i32.const $4=, 0
- i32.load $5=, gvol+4($4)
- i32.load $6=, gvol+8($4)
- i32.load $7=, gvol+12($4)
- i32.load $8=, gvol+16($4)
- i32.load $9=, gvol+20($4)
- i32.load $10=, gvol+24($4)
- i32.load $11=, gvol+28($4)
- i32.load $12=, gvol+32($4)
- i32.load $13=, gvol+36($4)
- i32.load $14=, gvol+40($4)
- i32.load $15=, gvol+44($4)
- i32.load $16=, gvol+48($4)
- i32.load $17=, gvol+52($4)
- i32.load $18=, gvol+56($4)
- i32.load $19=, gvol+60($4)
- i32.load $20=, gvol+64($4)
- i32.load $21=, gvol+68($4)
- i32.load $22=, gvol+72($4)
- i32.load $23=, gvol+76($4)
- i32.load $24=, gvol+80($4)
- i32.load $25=, gvol+84($4)
- i32.load $26=, gvol+88($4)
- i32.load $27=, gvol+92($4)
- i32.load $28=, gvol+96($4)
- i32.load $29=, gvol+100($4)
- i32.load $30=, gvol+104($4)
- i32.load $31=, gvol+108($4)
- i32.load $32=, gvol+112($4)
- i32.load $33=, gvol+116($4)
- i32.load $34=, gvol+120($4)
- i32.store $discard=, gvol+4($4), $5
- i32.store $discard=, gvol+8($4), $6
- i32.store $discard=, gvol+12($4), $7
- i32.store $discard=, gvol+16($4), $8
- i32.store $discard=, gvol+20($4), $9
- i32.store $discard=, gvol+24($4), $10
- i32.store $discard=, gvol+28($4), $11
- i32.store $discard=, gvol+32($4), $12
- i32.store $discard=, gvol+36($4), $13
- i32.store $discard=, gvol+40($4), $14
- i32.store $discard=, gvol+44($4), $15
- i32.store $discard=, gvol+48($4), $16
- i32.store $discard=, gvol+52($4), $17
- i32.store $discard=, gvol+56($4), $18
- i32.store $discard=, gvol+60($4), $19
- i32.store $discard=, gvol+64($4), $20
- i32.store $discard=, gvol+68($4), $21
- i32.store $discard=, gvol+72($4), $22
- i32.store $discard=, gvol+76($4), $23
- i32.store $discard=, gvol+80($4), $24
- i32.store $discard=, gvol+84($4), $25
- i32.store $discard=, gvol+88($4), $26
- i32.store $discard=, gvol+92($4), $27
- i32.store $discard=, gvol+96($4), $28
- i32.store $discard=, gvol+100($4), $29
- i32.store $discard=, gvol+104($4), $30
- i32.store $discard=, gvol+108($4), $31
- i32.store $discard=, gvol+112($4), $32
- i32.store $discard=, gvol+116($4), $33
- i32.store $discard=, gvol+120($4), $34
- i32.add $0=, $0, $3
+ i32.const $push65=, 0
+ i32.load $3=, gvol+4($pop65)
+ i32.const $push64=, 0
+ i32.load $4=, gvol+8($pop64):p2align=3
+ i32.const $push63=, 0
+ i32.load $5=, gvol+12($pop63)
+ i32.const $push62=, 0
+ i32.load $6=, gvol+16($pop62):p2align=4
+ i32.const $push61=, 0
+ i32.load $7=, gvol+20($pop61)
+ i32.const $push60=, 0
+ i32.load $8=, gvol+24($pop60):p2align=3
+ i32.const $push59=, 0
+ i32.load $9=, gvol+28($pop59)
+ i32.const $push58=, 0
+ i32.load $10=, gvol+32($pop58):p2align=4
+ i32.const $push57=, 0
+ i32.load $11=, gvol+36($pop57)
+ i32.const $push56=, 0
+ i32.load $12=, gvol+40($pop56):p2align=3
+ i32.const $push55=, 0
+ i32.load $13=, gvol+44($pop55)
+ i32.const $push54=, 0
+ i32.load $14=, gvol+48($pop54):p2align=4
+ i32.const $push53=, 0
+ i32.load $15=, gvol+52($pop53)
+ i32.const $push52=, 0
+ i32.load $16=, gvol+56($pop52):p2align=3
+ i32.const $push51=, 0
+ i32.load $17=, gvol+60($pop51)
+ i32.const $push50=, 0
+ i32.load $18=, gvol+64($pop50):p2align=4
+ i32.const $push49=, 0
+ i32.load $19=, gvol+68($pop49)
+ i32.const $push48=, 0
+ i32.load $20=, gvol+72($pop48):p2align=3
+ i32.const $push47=, 0
+ i32.load $21=, gvol+76($pop47)
+ i32.const $push46=, 0
+ i32.load $22=, gvol+80($pop46):p2align=4
+ i32.const $push45=, 0
+ i32.load $23=, gvol+84($pop45)
+ i32.const $push44=, 0
+ i32.load $24=, gvol+88($pop44):p2align=3
+ i32.const $push43=, 0
+ i32.load $25=, gvol+92($pop43)
+ i32.const $push42=, 0
+ i32.load $26=, gvol+96($pop42):p2align=4
+ i32.const $push41=, 0
+ i32.load $27=, gvol+100($pop41)
+ i32.const $push40=, 0
+ i32.load $28=, gvol+104($pop40):p2align=3
+ i32.const $push39=, 0
+ i32.load $29=, gvol+108($pop39)
+ i32.const $push38=, 0
+ i32.load $30=, gvol+112($pop38):p2align=4
+ i32.const $push37=, 0
+ i32.load $31=, gvol+116($pop37)
+ i32.const $push36=, 0
+ i32.load $32=, gvol+120($pop36):p2align=3
+ i32.const $push35=, 0
+ i32.store $discard=, gvol+4($pop35), $3
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+8($pop34):p2align=3, $4
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+12($pop33), $5
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+16($pop32):p2align=4, $6
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+20($pop31), $7
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+24($pop30):p2align=3, $8
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+28($pop29), $9
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+32($pop28):p2align=4, $10
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+36($pop27), $11
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+40($pop26):p2align=3, $12
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+44($pop25), $13
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+48($pop24):p2align=4, $14
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+52($pop23), $15
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+56($pop22):p2align=3, $16
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+60($pop21), $17
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+64($pop20):p2align=4, $18
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+68($pop19), $19
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+72($pop18):p2align=3, $20
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+76($pop17), $21
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+80($pop16):p2align=4, $22
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+84($pop15), $23
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+88($pop14):p2align=3, $24
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+92($pop13), $25
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+96($pop12):p2align=4, $26
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+100($pop11), $27
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+104($pop10):p2align=3, $28
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+108($pop9), $29
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+112($pop8):p2align=4, $30
+ i32.const $push7=, 0
+ i32.store $discard=, gvol+116($pop7), $31
+ i32.const $push6=, 0
+ i32.store $discard=, gvol+120($pop6):p2align=3, $32
+ i32.const $push5=, -1
+ i32.add $0=, $0, $pop5
br_if $0, 0 # 0: up to label10
# BB#3: # %while.end.loopexit
end_loop # label11:
- i64.const $35=, -511
- i64.mul $push1=, $2, $35
- i64.add $push2=, $1, $pop1
- i64.add $1=, $pop2, $35
+ i64.const $push1=, -511
+ i64.mul $push2=, $2, $pop1
+ i64.add $push3=, $1, $pop2
+ i64.const $push66=, -511
+ i64.add $1=, $pop3, $pop66
.LBB3_4: # %while.end
end_block # label9:
return $1
@@ -393,81 +635,141 @@ t4: # @t4
t5: # @t5
.param i32, i64
.result i64
- .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label12
+ i32.const $push65=, 0
+ i32.eq $push66=, $0, $pop65
+ br_if $pop66, 0 # 0: down to label12
# BB#1: # %while.body.preheader
- i32.const $3=, -1
- i32.add $push0=, $0, $3
+ i32.const $push3=, -1
+ i32.add $push0=, $0, $pop3
i64.extend_u/i32 $2=, $pop0
.LBB4_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label13:
- i32.const $4=, 0
- i32.load $5=, gvol+4($4)
- i32.load $6=, gvol+8($4)
- i32.load $7=, gvol+12($4)
- i32.load $8=, gvol+16($4)
- i32.load $9=, gvol+20($4)
- i32.load $10=, gvol+24($4)
- i32.load $11=, gvol+28($4)
- i32.load $12=, gvol+32($4)
- i32.load $13=, gvol+36($4)
- i32.load $14=, gvol+40($4)
- i32.load $15=, gvol+44($4)
- i32.load $16=, gvol+48($4)
- i32.load $17=, gvol+52($4)
- i32.load $18=, gvol+56($4)
- i32.load $19=, gvol+60($4)
- i32.load $20=, gvol+64($4)
- i32.load $21=, gvol+68($4)
- i32.load $22=, gvol+72($4)
- i32.load $23=, gvol+76($4)
- i32.load $24=, gvol+80($4)
- i32.load $25=, gvol+84($4)
- i32.load $26=, gvol+88($4)
- i32.load $27=, gvol+92($4)
- i32.load $28=, gvol+96($4)
- i32.load $29=, gvol+100($4)
- i32.load $30=, gvol+104($4)
- i32.load $31=, gvol+108($4)
- i32.load $32=, gvol+112($4)
- i32.load $33=, gvol+116($4)
- i32.load $34=, gvol+120($4)
- i32.store $discard=, gvol+4($4), $5
- i32.store $discard=, gvol+8($4), $6
- i32.store $discard=, gvol+12($4), $7
- i32.store $discard=, gvol+16($4), $8
- i32.store $discard=, gvol+20($4), $9
- i32.store $discard=, gvol+24($4), $10
- i32.store $discard=, gvol+28($4), $11
- i32.store $discard=, gvol+32($4), $12
- i32.store $discard=, gvol+36($4), $13
- i32.store $discard=, gvol+40($4), $14
- i32.store $discard=, gvol+44($4), $15
- i32.store $discard=, gvol+48($4), $16
- i32.store $discard=, gvol+52($4), $17
- i32.store $discard=, gvol+56($4), $18
- i32.store $discard=, gvol+60($4), $19
- i32.store $discard=, gvol+64($4), $20
- i32.store $discard=, gvol+68($4), $21
- i32.store $discard=, gvol+72($4), $22
- i32.store $discard=, gvol+76($4), $23
- i32.store $discard=, gvol+80($4), $24
- i32.store $discard=, gvol+84($4), $25
- i32.store $discard=, gvol+88($4), $26
- i32.store $discard=, gvol+92($4), $27
- i32.store $discard=, gvol+96($4), $28
- i32.store $discard=, gvol+100($4), $29
- i32.store $discard=, gvol+104($4), $30
- i32.store $discard=, gvol+108($4), $31
- i32.store $discard=, gvol+112($4), $32
- i32.store $discard=, gvol+116($4), $33
- i32.store $discard=, gvol+120($4), $34
- i32.add $0=, $0, $3
+ i32.const $push64=, 0
+ i32.load $3=, gvol+4($pop64)
+ i32.const $push63=, 0
+ i32.load $4=, gvol+8($pop63):p2align=3
+ i32.const $push62=, 0
+ i32.load $5=, gvol+12($pop62)
+ i32.const $push61=, 0
+ i32.load $6=, gvol+16($pop61):p2align=4
+ i32.const $push60=, 0
+ i32.load $7=, gvol+20($pop60)
+ i32.const $push59=, 0
+ i32.load $8=, gvol+24($pop59):p2align=3
+ i32.const $push58=, 0
+ i32.load $9=, gvol+28($pop58)
+ i32.const $push57=, 0
+ i32.load $10=, gvol+32($pop57):p2align=4
+ i32.const $push56=, 0
+ i32.load $11=, gvol+36($pop56)
+ i32.const $push55=, 0
+ i32.load $12=, gvol+40($pop55):p2align=3
+ i32.const $push54=, 0
+ i32.load $13=, gvol+44($pop54)
+ i32.const $push53=, 0
+ i32.load $14=, gvol+48($pop53):p2align=4
+ i32.const $push52=, 0
+ i32.load $15=, gvol+52($pop52)
+ i32.const $push51=, 0
+ i32.load $16=, gvol+56($pop51):p2align=3
+ i32.const $push50=, 0
+ i32.load $17=, gvol+60($pop50)
+ i32.const $push49=, 0
+ i32.load $18=, gvol+64($pop49):p2align=4
+ i32.const $push48=, 0
+ i32.load $19=, gvol+68($pop48)
+ i32.const $push47=, 0
+ i32.load $20=, gvol+72($pop47):p2align=3
+ i32.const $push46=, 0
+ i32.load $21=, gvol+76($pop46)
+ i32.const $push45=, 0
+ i32.load $22=, gvol+80($pop45):p2align=4
+ i32.const $push44=, 0
+ i32.load $23=, gvol+84($pop44)
+ i32.const $push43=, 0
+ i32.load $24=, gvol+88($pop43):p2align=3
+ i32.const $push42=, 0
+ i32.load $25=, gvol+92($pop42)
+ i32.const $push41=, 0
+ i32.load $26=, gvol+96($pop41):p2align=4
+ i32.const $push40=, 0
+ i32.load $27=, gvol+100($pop40)
+ i32.const $push39=, 0
+ i32.load $28=, gvol+104($pop39):p2align=3
+ i32.const $push38=, 0
+ i32.load $29=, gvol+108($pop38)
+ i32.const $push37=, 0
+ i32.load $30=, gvol+112($pop37):p2align=4
+ i32.const $push36=, 0
+ i32.load $31=, gvol+116($pop36)
+ i32.const $push35=, 0
+ i32.load $32=, gvol+120($pop35):p2align=3
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+4($pop34), $3
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+8($pop33):p2align=3, $4
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+12($pop32), $5
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+16($pop31):p2align=4, $6
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+20($pop30), $7
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+24($pop29):p2align=3, $8
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+28($pop28), $9
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+32($pop27):p2align=4, $10
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+36($pop26), $11
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+40($pop25):p2align=3, $12
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+44($pop24), $13
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+48($pop23):p2align=4, $14
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+52($pop22), $15
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+56($pop21):p2align=3, $16
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+60($pop20), $17
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+64($pop19):p2align=4, $18
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+68($pop18), $19
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+72($pop17):p2align=3, $20
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+76($pop16), $21
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+80($pop15):p2align=4, $22
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+84($pop14), $23
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+88($pop13):p2align=3, $24
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+92($pop12), $25
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+96($pop11):p2align=4, $26
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+100($pop10), $27
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+104($pop9):p2align=3, $28
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+108($pop8), $29
+ i32.const $push7=, 0
+ i32.store $discard=, gvol+112($pop7):p2align=4, $30
+ i32.const $push6=, 0
+ i32.store $discard=, gvol+116($pop6), $31
+ i32.const $push5=, 0
+ i32.store $discard=, gvol+120($pop5):p2align=3, $32
+ i32.const $push4=, -1
+ i32.add $0=, $0, $pop4
br_if $0, 0 # 0: up to label13
# BB#3: # %while.end.loopexit
end_loop # label14:
@@ -488,82 +790,142 @@ t5: # @t5
t6: # @t6
.param i32, i64
.result i64
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label15
+ i32.const $push65=, 0
+ i32.eq $push66=, $0, $pop65
+ br_if $pop66, 0 # 0: down to label15
# BB#1: # %while.body.preheader
- i32.const $2=, -1
- i32.add $push0=, $0, $2
+ i32.const $push3=, -1
+ i32.add $push0=, $0, $pop3
i64.extend_u/i32 $push1=, $pop0
i64.add $1=, $pop1, $1
.LBB5_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label16:
- i32.const $3=, 0
- i32.load $4=, gvol+4($3)
- i32.load $5=, gvol+8($3)
- i32.load $6=, gvol+12($3)
- i32.load $7=, gvol+16($3)
- i32.load $8=, gvol+20($3)
- i32.load $9=, gvol+24($3)
- i32.load $10=, gvol+28($3)
- i32.load $11=, gvol+32($3)
- i32.load $12=, gvol+36($3)
- i32.load $13=, gvol+40($3)
- i32.load $14=, gvol+44($3)
- i32.load $15=, gvol+48($3)
- i32.load $16=, gvol+52($3)
- i32.load $17=, gvol+56($3)
- i32.load $18=, gvol+60($3)
- i32.load $19=, gvol+64($3)
- i32.load $20=, gvol+68($3)
- i32.load $21=, gvol+72($3)
- i32.load $22=, gvol+76($3)
- i32.load $23=, gvol+80($3)
- i32.load $24=, gvol+84($3)
- i32.load $25=, gvol+88($3)
- i32.load $26=, gvol+92($3)
- i32.load $27=, gvol+96($3)
- i32.load $28=, gvol+100($3)
- i32.load $29=, gvol+104($3)
- i32.load $30=, gvol+108($3)
- i32.load $31=, gvol+112($3)
- i32.load $32=, gvol+116($3)
- i32.load $33=, gvol+120($3)
- i32.store $discard=, gvol+4($3), $4
- i32.store $discard=, gvol+8($3), $5
- i32.store $discard=, gvol+12($3), $6
- i32.store $discard=, gvol+16($3), $7
- i32.store $discard=, gvol+20($3), $8
- i32.store $discard=, gvol+24($3), $9
- i32.store $discard=, gvol+28($3), $10
- i32.store $discard=, gvol+32($3), $11
- i32.store $discard=, gvol+36($3), $12
- i32.store $discard=, gvol+40($3), $13
- i32.store $discard=, gvol+44($3), $14
- i32.store $discard=, gvol+48($3), $15
- i32.store $discard=, gvol+52($3), $16
- i32.store $discard=, gvol+56($3), $17
- i32.store $discard=, gvol+60($3), $18
- i32.store $discard=, gvol+64($3), $19
- i32.store $discard=, gvol+68($3), $20
- i32.store $discard=, gvol+72($3), $21
- i32.store $discard=, gvol+76($3), $22
- i32.store $discard=, gvol+80($3), $23
- i32.store $discard=, gvol+84($3), $24
- i32.store $discard=, gvol+88($3), $25
- i32.store $discard=, gvol+92($3), $26
- i32.store $discard=, gvol+96($3), $27
- i32.store $discard=, gvol+100($3), $28
- i32.store $discard=, gvol+104($3), $29
- i32.store $discard=, gvol+108($3), $30
- i32.store $discard=, gvol+112($3), $31
- i32.store $discard=, gvol+116($3), $32
- i32.store $discard=, gvol+120($3), $33
- i32.add $0=, $0, $2
+ i32.const $push64=, 0
+ i32.load $2=, gvol+4($pop64)
+ i32.const $push63=, 0
+ i32.load $3=, gvol+8($pop63):p2align=3
+ i32.const $push62=, 0
+ i32.load $4=, gvol+12($pop62)
+ i32.const $push61=, 0
+ i32.load $5=, gvol+16($pop61):p2align=4
+ i32.const $push60=, 0
+ i32.load $6=, gvol+20($pop60)
+ i32.const $push59=, 0
+ i32.load $7=, gvol+24($pop59):p2align=3
+ i32.const $push58=, 0
+ i32.load $8=, gvol+28($pop58)
+ i32.const $push57=, 0
+ i32.load $9=, gvol+32($pop57):p2align=4
+ i32.const $push56=, 0
+ i32.load $10=, gvol+36($pop56)
+ i32.const $push55=, 0
+ i32.load $11=, gvol+40($pop55):p2align=3
+ i32.const $push54=, 0
+ i32.load $12=, gvol+44($pop54)
+ i32.const $push53=, 0
+ i32.load $13=, gvol+48($pop53):p2align=4
+ i32.const $push52=, 0
+ i32.load $14=, gvol+52($pop52)
+ i32.const $push51=, 0
+ i32.load $15=, gvol+56($pop51):p2align=3
+ i32.const $push50=, 0
+ i32.load $16=, gvol+60($pop50)
+ i32.const $push49=, 0
+ i32.load $17=, gvol+64($pop49):p2align=4
+ i32.const $push48=, 0
+ i32.load $18=, gvol+68($pop48)
+ i32.const $push47=, 0
+ i32.load $19=, gvol+72($pop47):p2align=3
+ i32.const $push46=, 0
+ i32.load $20=, gvol+76($pop46)
+ i32.const $push45=, 0
+ i32.load $21=, gvol+80($pop45):p2align=4
+ i32.const $push44=, 0
+ i32.load $22=, gvol+84($pop44)
+ i32.const $push43=, 0
+ i32.load $23=, gvol+88($pop43):p2align=3
+ i32.const $push42=, 0
+ i32.load $24=, gvol+92($pop42)
+ i32.const $push41=, 0
+ i32.load $25=, gvol+96($pop41):p2align=4
+ i32.const $push40=, 0
+ i32.load $26=, gvol+100($pop40)
+ i32.const $push39=, 0
+ i32.load $27=, gvol+104($pop39):p2align=3
+ i32.const $push38=, 0
+ i32.load $28=, gvol+108($pop38)
+ i32.const $push37=, 0
+ i32.load $29=, gvol+112($pop37):p2align=4
+ i32.const $push36=, 0
+ i32.load $30=, gvol+116($pop36)
+ i32.const $push35=, 0
+ i32.load $31=, gvol+120($pop35):p2align=3
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+4($pop34), $2
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+8($pop33):p2align=3, $3
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+12($pop32), $4
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+16($pop31):p2align=4, $5
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+20($pop30), $6
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+24($pop29):p2align=3, $7
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+28($pop28), $8
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+32($pop27):p2align=4, $9
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+36($pop26), $10
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+40($pop25):p2align=3, $11
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+44($pop24), $12
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+48($pop23):p2align=4, $13
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+52($pop22), $14
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+56($pop21):p2align=3, $15
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+60($pop20), $16
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+64($pop19):p2align=4, $17
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+68($pop18), $18
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+72($pop17):p2align=3, $19
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+76($pop16), $20
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+80($pop15):p2align=4, $21
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+84($pop14), $22
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+88($pop13):p2align=3, $23
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+92($pop12), $24
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+96($pop11):p2align=4, $25
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+100($pop10), $26
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+104($pop9):p2align=3, $27
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+108($pop8), $28
+ i32.const $push7=, 0
+ i32.store $discard=, gvol+112($pop7):p2align=4, $29
+ i32.const $push6=, 0
+ i32.store $discard=, gvol+116($pop6), $30
+ i32.const $push5=, 0
+ i32.store $discard=, gvol+120($pop5):p2align=3, $31
+ i32.const $push4=, -1
+ i32.add $0=, $0, $pop4
br_if $0, 0 # 0: up to label16
# BB#3: # %while.end.loopexit
end_loop # label17:
@@ -583,88 +945,149 @@ t6: # @t6
t7: # @t7
.param i32, i64
.result i64
- .local i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label18
+ i32.const $push67=, 0
+ i32.eq $push68=, $0, $pop67
+ br_if $pop68, 0 # 0: down to label18
# BB#1: # %while.body.preheader
- i32.const $2=, -1
- i64.const $3=, 511
- i32.add $push0=, $0, $2
+ i32.const $push5=, -1
+ i32.add $push0=, $0, $pop5
i64.extend_u/i32 $push1=, $pop0
- i64.mul $push2=, $pop1, $3
- i64.add $1=, $pop2, $1
+ i64.const $push2=, 511
+ i64.mul $push3=, $pop1, $pop2
+ i64.add $1=, $pop3, $1
.LBB6_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label19:
- i32.const $4=, 0
- i32.load $5=, gvol+4($4)
- i32.load $6=, gvol+8($4)
- i32.load $7=, gvol+12($4)
- i32.load $8=, gvol+16($4)
- i32.load $9=, gvol+20($4)
- i32.load $10=, gvol+24($4)
- i32.load $11=, gvol+28($4)
- i32.load $12=, gvol+32($4)
- i32.load $13=, gvol+36($4)
- i32.load $14=, gvol+40($4)
- i32.load $15=, gvol+44($4)
- i32.load $16=, gvol+48($4)
- i32.load $17=, gvol+52($4)
- i32.load $18=, gvol+56($4)
- i32.load $19=, gvol+60($4)
- i32.load $20=, gvol+64($4)
- i32.load $21=, gvol+68($4)
- i32.load $22=, gvol+72($4)
- i32.load $23=, gvol+76($4)
- i32.load $24=, gvol+80($4)
- i32.load $25=, gvol+84($4)
- i32.load $26=, gvol+88($4)
- i32.load $27=, gvol+92($4)
- i32.load $28=, gvol+96($4)
- i32.load $29=, gvol+100($4)
- i32.load $30=, gvol+104($4)
- i32.load $31=, gvol+108($4)
- i32.load $32=, gvol+112($4)
- i32.load $33=, gvol+116($4)
- i32.load $34=, gvol+120($4)
- i32.store $discard=, gvol+4($4), $5
- i32.store $discard=, gvol+8($4), $6
- i32.store $discard=, gvol+12($4), $7
- i32.store $discard=, gvol+16($4), $8
- i32.store $discard=, gvol+20($4), $9
- i32.store $discard=, gvol+24($4), $10
- i32.store $discard=, gvol+28($4), $11
- i32.store $discard=, gvol+32($4), $12
- i32.store $discard=, gvol+36($4), $13
- i32.store $discard=, gvol+40($4), $14
- i32.store $discard=, gvol+44($4), $15
- i32.store $discard=, gvol+48($4), $16
- i32.store $discard=, gvol+52($4), $17
- i32.store $discard=, gvol+56($4), $18
- i32.store $discard=, gvol+60($4), $19
- i32.store $discard=, gvol+64($4), $20
- i32.store $discard=, gvol+68($4), $21
- i32.store $discard=, gvol+72($4), $22
- i32.store $discard=, gvol+76($4), $23
- i32.store $discard=, gvol+80($4), $24
- i32.store $discard=, gvol+84($4), $25
- i32.store $discard=, gvol+88($4), $26
- i32.store $discard=, gvol+92($4), $27
- i32.store $discard=, gvol+96($4), $28
- i32.store $discard=, gvol+100($4), $29
- i32.store $discard=, gvol+104($4), $30
- i32.store $discard=, gvol+108($4), $31
- i32.store $discard=, gvol+112($4), $32
- i32.store $discard=, gvol+116($4), $33
- i32.store $discard=, gvol+120($4), $34
- i32.add $0=, $0, $2
+ i32.const $push66=, 0
+ i32.load $2=, gvol+4($pop66)
+ i32.const $push65=, 0
+ i32.load $3=, gvol+8($pop65):p2align=3
+ i32.const $push64=, 0
+ i32.load $4=, gvol+12($pop64)
+ i32.const $push63=, 0
+ i32.load $5=, gvol+16($pop63):p2align=4
+ i32.const $push62=, 0
+ i32.load $6=, gvol+20($pop62)
+ i32.const $push61=, 0
+ i32.load $7=, gvol+24($pop61):p2align=3
+ i32.const $push60=, 0
+ i32.load $8=, gvol+28($pop60)
+ i32.const $push59=, 0
+ i32.load $9=, gvol+32($pop59):p2align=4
+ i32.const $push58=, 0
+ i32.load $10=, gvol+36($pop58)
+ i32.const $push57=, 0
+ i32.load $11=, gvol+40($pop57):p2align=3
+ i32.const $push56=, 0
+ i32.load $12=, gvol+44($pop56)
+ i32.const $push55=, 0
+ i32.load $13=, gvol+48($pop55):p2align=4
+ i32.const $push54=, 0
+ i32.load $14=, gvol+52($pop54)
+ i32.const $push53=, 0
+ i32.load $15=, gvol+56($pop53):p2align=3
+ i32.const $push52=, 0
+ i32.load $16=, gvol+60($pop52)
+ i32.const $push51=, 0
+ i32.load $17=, gvol+64($pop51):p2align=4
+ i32.const $push50=, 0
+ i32.load $18=, gvol+68($pop50)
+ i32.const $push49=, 0
+ i32.load $19=, gvol+72($pop49):p2align=3
+ i32.const $push48=, 0
+ i32.load $20=, gvol+76($pop48)
+ i32.const $push47=, 0
+ i32.load $21=, gvol+80($pop47):p2align=4
+ i32.const $push46=, 0
+ i32.load $22=, gvol+84($pop46)
+ i32.const $push45=, 0
+ i32.load $23=, gvol+88($pop45):p2align=3
+ i32.const $push44=, 0
+ i32.load $24=, gvol+92($pop44)
+ i32.const $push43=, 0
+ i32.load $25=, gvol+96($pop43):p2align=4
+ i32.const $push42=, 0
+ i32.load $26=, gvol+100($pop42)
+ i32.const $push41=, 0
+ i32.load $27=, gvol+104($pop41):p2align=3
+ i32.const $push40=, 0
+ i32.load $28=, gvol+108($pop40)
+ i32.const $push39=, 0
+ i32.load $29=, gvol+112($pop39):p2align=4
+ i32.const $push38=, 0
+ i32.load $30=, gvol+116($pop38)
+ i32.const $push37=, 0
+ i32.load $31=, gvol+120($pop37):p2align=3
+ i32.const $push36=, 0
+ i32.store $discard=, gvol+4($pop36), $2
+ i32.const $push35=, 0
+ i32.store $discard=, gvol+8($pop35):p2align=3, $3
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+12($pop34), $4
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+16($pop33):p2align=4, $5
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+20($pop32), $6
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+24($pop31):p2align=3, $7
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+28($pop30), $8
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+32($pop29):p2align=4, $9
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+36($pop28), $10
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+40($pop27):p2align=3, $11
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+44($pop26), $12
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+48($pop25):p2align=4, $13
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+52($pop24), $14
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+56($pop23):p2align=3, $15
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+60($pop22), $16
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+64($pop21):p2align=4, $17
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+68($pop20), $18
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+72($pop19):p2align=3, $19
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+76($pop18), $20
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+80($pop17):p2align=4, $21
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+84($pop16), $22
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+88($pop15):p2align=3, $23
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+92($pop14), $24
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+96($pop13):p2align=4, $25
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+100($pop12), $26
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+104($pop11):p2align=3, $27
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+108($pop10), $28
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+112($pop9):p2align=4, $29
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+116($pop8), $30
+ i32.const $push7=, 0
+ i32.store $discard=, gvol+120($pop7):p2align=3, $31
+ i32.const $push6=, -1
+ i32.add $0=, $0, $pop6
br_if $0, 0 # 0: up to label19
# BB#3: # %while.end.loopexit
end_loop # label20:
- i64.add $1=, $1, $3
+ i64.const $push4=, 511
+ i64.add $1=, $1, $pop4
.LBB6_4: # %while.end
end_block # label18:
return $1
@@ -679,15 +1102,15 @@ t7: # @t7
t8: # @t8
.param i32, i64
.result i64
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push5=, 0
- i32.eq $push6=, $0, $pop5
- br_if $pop6, 0 # 0: down to label21
+ i32.const $push67=, 0
+ i32.eq $push68=, $0, $pop67
+ br_if $pop68, 0 # 0: down to label21
# BB#1: # %while.body.preheader
- i32.const $2=, -1
- i32.add $push0=, $0, $2
+ i32.const $push5=, -1
+ i32.add $push0=, $0, $pop5
i64.extend_u/i32 $push1=, $pop0
i64.const $push2=, 9
i64.shl $push3=, $pop1, $pop2
@@ -695,68 +1118,128 @@ t8: # @t8
.LBB7_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label22:
- i32.const $3=, 0
- i32.load $4=, gvol+4($3)
- i32.load $5=, gvol+8($3)
- i32.load $6=, gvol+12($3)
- i32.load $7=, gvol+16($3)
- i32.load $8=, gvol+20($3)
- i32.load $9=, gvol+24($3)
- i32.load $10=, gvol+28($3)
- i32.load $11=, gvol+32($3)
- i32.load $12=, gvol+36($3)
- i32.load $13=, gvol+40($3)
- i32.load $14=, gvol+44($3)
- i32.load $15=, gvol+48($3)
- i32.load $16=, gvol+52($3)
- i32.load $17=, gvol+56($3)
- i32.load $18=, gvol+60($3)
- i32.load $19=, gvol+64($3)
- i32.load $20=, gvol+68($3)
- i32.load $21=, gvol+72($3)
- i32.load $22=, gvol+76($3)
- i32.load $23=, gvol+80($3)
- i32.load $24=, gvol+84($3)
- i32.load $25=, gvol+88($3)
- i32.load $26=, gvol+92($3)
- i32.load $27=, gvol+96($3)
- i32.load $28=, gvol+100($3)
- i32.load $29=, gvol+104($3)
- i32.load $30=, gvol+108($3)
- i32.load $31=, gvol+112($3)
- i32.load $32=, gvol+116($3)
- i32.load $33=, gvol+120($3)
- i32.store $discard=, gvol+4($3), $4
- i32.store $discard=, gvol+8($3), $5
- i32.store $discard=, gvol+12($3), $6
- i32.store $discard=, gvol+16($3), $7
- i32.store $discard=, gvol+20($3), $8
- i32.store $discard=, gvol+24($3), $9
- i32.store $discard=, gvol+28($3), $10
- i32.store $discard=, gvol+32($3), $11
- i32.store $discard=, gvol+36($3), $12
- i32.store $discard=, gvol+40($3), $13
- i32.store $discard=, gvol+44($3), $14
- i32.store $discard=, gvol+48($3), $15
- i32.store $discard=, gvol+52($3), $16
- i32.store $discard=, gvol+56($3), $17
- i32.store $discard=, gvol+60($3), $18
- i32.store $discard=, gvol+64($3), $19
- i32.store $discard=, gvol+68($3), $20
- i32.store $discard=, gvol+72($3), $21
- i32.store $discard=, gvol+76($3), $22
- i32.store $discard=, gvol+80($3), $23
- i32.store $discard=, gvol+84($3), $24
- i32.store $discard=, gvol+88($3), $25
- i32.store $discard=, gvol+92($3), $26
- i32.store $discard=, gvol+96($3), $27
- i32.store $discard=, gvol+100($3), $28
- i32.store $discard=, gvol+104($3), $29
- i32.store $discard=, gvol+108($3), $30
- i32.store $discard=, gvol+112($3), $31
- i32.store $discard=, gvol+116($3), $32
- i32.store $discard=, gvol+120($3), $33
- i32.add $0=, $0, $2
+ i32.const $push66=, 0
+ i32.load $2=, gvol+4($pop66)
+ i32.const $push65=, 0
+ i32.load $3=, gvol+8($pop65):p2align=3
+ i32.const $push64=, 0
+ i32.load $4=, gvol+12($pop64)
+ i32.const $push63=, 0
+ i32.load $5=, gvol+16($pop63):p2align=4
+ i32.const $push62=, 0
+ i32.load $6=, gvol+20($pop62)
+ i32.const $push61=, 0
+ i32.load $7=, gvol+24($pop61):p2align=3
+ i32.const $push60=, 0
+ i32.load $8=, gvol+28($pop60)
+ i32.const $push59=, 0
+ i32.load $9=, gvol+32($pop59):p2align=4
+ i32.const $push58=, 0
+ i32.load $10=, gvol+36($pop58)
+ i32.const $push57=, 0
+ i32.load $11=, gvol+40($pop57):p2align=3
+ i32.const $push56=, 0
+ i32.load $12=, gvol+44($pop56)
+ i32.const $push55=, 0
+ i32.load $13=, gvol+48($pop55):p2align=4
+ i32.const $push54=, 0
+ i32.load $14=, gvol+52($pop54)
+ i32.const $push53=, 0
+ i32.load $15=, gvol+56($pop53):p2align=3
+ i32.const $push52=, 0
+ i32.load $16=, gvol+60($pop52)
+ i32.const $push51=, 0
+ i32.load $17=, gvol+64($pop51):p2align=4
+ i32.const $push50=, 0
+ i32.load $18=, gvol+68($pop50)
+ i32.const $push49=, 0
+ i32.load $19=, gvol+72($pop49):p2align=3
+ i32.const $push48=, 0
+ i32.load $20=, gvol+76($pop48)
+ i32.const $push47=, 0
+ i32.load $21=, gvol+80($pop47):p2align=4
+ i32.const $push46=, 0
+ i32.load $22=, gvol+84($pop46)
+ i32.const $push45=, 0
+ i32.load $23=, gvol+88($pop45):p2align=3
+ i32.const $push44=, 0
+ i32.load $24=, gvol+92($pop44)
+ i32.const $push43=, 0
+ i32.load $25=, gvol+96($pop43):p2align=4
+ i32.const $push42=, 0
+ i32.load $26=, gvol+100($pop42)
+ i32.const $push41=, 0
+ i32.load $27=, gvol+104($pop41):p2align=3
+ i32.const $push40=, 0
+ i32.load $28=, gvol+108($pop40)
+ i32.const $push39=, 0
+ i32.load $29=, gvol+112($pop39):p2align=4
+ i32.const $push38=, 0
+ i32.load $30=, gvol+116($pop38)
+ i32.const $push37=, 0
+ i32.load $31=, gvol+120($pop37):p2align=3
+ i32.const $push36=, 0
+ i32.store $discard=, gvol+4($pop36), $2
+ i32.const $push35=, 0
+ i32.store $discard=, gvol+8($pop35):p2align=3, $3
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+12($pop34), $4
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+16($pop33):p2align=4, $5
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+20($pop32), $6
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+24($pop31):p2align=3, $7
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+28($pop30), $8
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+32($pop29):p2align=4, $9
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+36($pop28), $10
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+40($pop27):p2align=3, $11
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+44($pop26), $12
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+48($pop25):p2align=4, $13
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+52($pop24), $14
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+56($pop23):p2align=3, $15
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+60($pop22), $16
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+64($pop21):p2align=4, $17
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+68($pop20), $18
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+72($pop19):p2align=3, $19
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+76($pop18), $20
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+80($pop17):p2align=4, $21
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+84($pop16), $22
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+88($pop15):p2align=3, $23
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+92($pop14), $24
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+96($pop13):p2align=4, $25
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+100($pop12), $26
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+104($pop11):p2align=3, $27
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+108($pop10), $28
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+112($pop9):p2align=4, $29
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+116($pop8), $30
+ i32.const $push7=, 0
+ i32.store $discard=, gvol+120($pop7):p2align=3, $31
+ i32.const $push6=, -1
+ i32.add $0=, $0, $pop6
br_if $0, 0 # 0: up to label22
# BB#3: # %while.end.loopexit
end_loop # label23:
@@ -776,88 +1259,149 @@ t8: # @t8
t9: # @t9
.param i32, i64
.result i64
- .local i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label24
+ i32.const $push67=, 0
+ i32.eq $push68=, $0, $pop67
+ br_if $pop68, 0 # 0: down to label24
# BB#1: # %while.body.preheader
- i32.const $2=, -1
- i64.const $3=, 513
- i32.add $push0=, $0, $2
+ i32.const $push5=, -1
+ i32.add $push0=, $0, $pop5
i64.extend_u/i32 $push1=, $pop0
- i64.mul $push2=, $pop1, $3
- i64.add $1=, $pop2, $1
+ i64.const $push2=, 513
+ i64.mul $push3=, $pop1, $pop2
+ i64.add $1=, $pop3, $1
.LBB8_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label25:
- i32.const $4=, 0
- i32.load $5=, gvol+4($4)
- i32.load $6=, gvol+8($4)
- i32.load $7=, gvol+12($4)
- i32.load $8=, gvol+16($4)
- i32.load $9=, gvol+20($4)
- i32.load $10=, gvol+24($4)
- i32.load $11=, gvol+28($4)
- i32.load $12=, gvol+32($4)
- i32.load $13=, gvol+36($4)
- i32.load $14=, gvol+40($4)
- i32.load $15=, gvol+44($4)
- i32.load $16=, gvol+48($4)
- i32.load $17=, gvol+52($4)
- i32.load $18=, gvol+56($4)
- i32.load $19=, gvol+60($4)
- i32.load $20=, gvol+64($4)
- i32.load $21=, gvol+68($4)
- i32.load $22=, gvol+72($4)
- i32.load $23=, gvol+76($4)
- i32.load $24=, gvol+80($4)
- i32.load $25=, gvol+84($4)
- i32.load $26=, gvol+88($4)
- i32.load $27=, gvol+92($4)
- i32.load $28=, gvol+96($4)
- i32.load $29=, gvol+100($4)
- i32.load $30=, gvol+104($4)
- i32.load $31=, gvol+108($4)
- i32.load $32=, gvol+112($4)
- i32.load $33=, gvol+116($4)
- i32.load $34=, gvol+120($4)
- i32.store $discard=, gvol+4($4), $5
- i32.store $discard=, gvol+8($4), $6
- i32.store $discard=, gvol+12($4), $7
- i32.store $discard=, gvol+16($4), $8
- i32.store $discard=, gvol+20($4), $9
- i32.store $discard=, gvol+24($4), $10
- i32.store $discard=, gvol+28($4), $11
- i32.store $discard=, gvol+32($4), $12
- i32.store $discard=, gvol+36($4), $13
- i32.store $discard=, gvol+40($4), $14
- i32.store $discard=, gvol+44($4), $15
- i32.store $discard=, gvol+48($4), $16
- i32.store $discard=, gvol+52($4), $17
- i32.store $discard=, gvol+56($4), $18
- i32.store $discard=, gvol+60($4), $19
- i32.store $discard=, gvol+64($4), $20
- i32.store $discard=, gvol+68($4), $21
- i32.store $discard=, gvol+72($4), $22
- i32.store $discard=, gvol+76($4), $23
- i32.store $discard=, gvol+80($4), $24
- i32.store $discard=, gvol+84($4), $25
- i32.store $discard=, gvol+88($4), $26
- i32.store $discard=, gvol+92($4), $27
- i32.store $discard=, gvol+96($4), $28
- i32.store $discard=, gvol+100($4), $29
- i32.store $discard=, gvol+104($4), $30
- i32.store $discard=, gvol+108($4), $31
- i32.store $discard=, gvol+112($4), $32
- i32.store $discard=, gvol+116($4), $33
- i32.store $discard=, gvol+120($4), $34
- i32.add $0=, $0, $2
+ i32.const $push66=, 0
+ i32.load $2=, gvol+4($pop66)
+ i32.const $push65=, 0
+ i32.load $3=, gvol+8($pop65):p2align=3
+ i32.const $push64=, 0
+ i32.load $4=, gvol+12($pop64)
+ i32.const $push63=, 0
+ i32.load $5=, gvol+16($pop63):p2align=4
+ i32.const $push62=, 0
+ i32.load $6=, gvol+20($pop62)
+ i32.const $push61=, 0
+ i32.load $7=, gvol+24($pop61):p2align=3
+ i32.const $push60=, 0
+ i32.load $8=, gvol+28($pop60)
+ i32.const $push59=, 0
+ i32.load $9=, gvol+32($pop59):p2align=4
+ i32.const $push58=, 0
+ i32.load $10=, gvol+36($pop58)
+ i32.const $push57=, 0
+ i32.load $11=, gvol+40($pop57):p2align=3
+ i32.const $push56=, 0
+ i32.load $12=, gvol+44($pop56)
+ i32.const $push55=, 0
+ i32.load $13=, gvol+48($pop55):p2align=4
+ i32.const $push54=, 0
+ i32.load $14=, gvol+52($pop54)
+ i32.const $push53=, 0
+ i32.load $15=, gvol+56($pop53):p2align=3
+ i32.const $push52=, 0
+ i32.load $16=, gvol+60($pop52)
+ i32.const $push51=, 0
+ i32.load $17=, gvol+64($pop51):p2align=4
+ i32.const $push50=, 0
+ i32.load $18=, gvol+68($pop50)
+ i32.const $push49=, 0
+ i32.load $19=, gvol+72($pop49):p2align=3
+ i32.const $push48=, 0
+ i32.load $20=, gvol+76($pop48)
+ i32.const $push47=, 0
+ i32.load $21=, gvol+80($pop47):p2align=4
+ i32.const $push46=, 0
+ i32.load $22=, gvol+84($pop46)
+ i32.const $push45=, 0
+ i32.load $23=, gvol+88($pop45):p2align=3
+ i32.const $push44=, 0
+ i32.load $24=, gvol+92($pop44)
+ i32.const $push43=, 0
+ i32.load $25=, gvol+96($pop43):p2align=4
+ i32.const $push42=, 0
+ i32.load $26=, gvol+100($pop42)
+ i32.const $push41=, 0
+ i32.load $27=, gvol+104($pop41):p2align=3
+ i32.const $push40=, 0
+ i32.load $28=, gvol+108($pop40)
+ i32.const $push39=, 0
+ i32.load $29=, gvol+112($pop39):p2align=4
+ i32.const $push38=, 0
+ i32.load $30=, gvol+116($pop38)
+ i32.const $push37=, 0
+ i32.load $31=, gvol+120($pop37):p2align=3
+ i32.const $push36=, 0
+ i32.store $discard=, gvol+4($pop36), $2
+ i32.const $push35=, 0
+ i32.store $discard=, gvol+8($pop35):p2align=3, $3
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+12($pop34), $4
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+16($pop33):p2align=4, $5
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+20($pop32), $6
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+24($pop31):p2align=3, $7
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+28($pop30), $8
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+32($pop29):p2align=4, $9
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+36($pop28), $10
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+40($pop27):p2align=3, $11
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+44($pop26), $12
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+48($pop25):p2align=4, $13
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+52($pop24), $14
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+56($pop23):p2align=3, $15
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+60($pop22), $16
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+64($pop21):p2align=4, $17
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+68($pop20), $18
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+72($pop19):p2align=3, $19
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+76($pop18), $20
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+80($pop17):p2align=4, $21
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+84($pop16), $22
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+88($pop15):p2align=3, $23
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+92($pop14), $24
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+96($pop13):p2align=4, $25
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+100($pop12), $26
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+104($pop11):p2align=3, $27
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+108($pop10), $28
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+112($pop9):p2align=4, $29
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+116($pop8), $30
+ i32.const $push7=, 0
+ i32.store $discard=, gvol+120($pop7):p2align=3, $31
+ i32.const $push6=, -1
+ i32.add $0=, $0, $pop6
br_if $0, 0 # 0: up to label25
# BB#3: # %while.end.loopexit
end_loop # label26:
- i64.add $1=, $1, $3
+ i64.const $push4=, 513
+ i64.add $1=, $1, $pop4
.LBB8_4: # %while.end
end_block # label24:
return $1
@@ -872,17 +1416,17 @@ t9: # @t9
t10: # @t10
.param i32, i64
.result i64
- .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push5=, 0
- i32.eq $push6=, $0, $pop5
- br_if $pop6, 0 # 0: down to label27
+ i32.const $push68=, 0
+ i32.eq $push69=, $0, $pop68
+ br_if $pop69, 0 # 0: down to label27
# BB#1: # %while.body.lr.ph
- i32.const $3=, 0
- i32.const $4=, -1
- i64.load $push0=, gull($3)
- i32.add $push1=, $0, $4
+ i32.const $push6=, 0
+ i64.load $push0=, gull($pop6)
+ i32.const $push5=, -1
+ i32.add $push1=, $0, $pop5
i64.extend_u/i32 $push2=, $pop1
i64.const $push3=, 1
i64.add $push4=, $pop2, $pop3
@@ -890,67 +1434,128 @@ t10: # @t10
.LBB9_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label28:
- i32.load $5=, gvol+4($3)
- i32.load $6=, gvol+8($3)
- i32.load $7=, gvol+12($3)
- i32.load $8=, gvol+16($3)
- i32.load $9=, gvol+20($3)
- i32.load $10=, gvol+24($3)
- i32.load $11=, gvol+28($3)
- i32.load $12=, gvol+32($3)
- i32.load $13=, gvol+36($3)
- i32.load $14=, gvol+40($3)
- i32.load $15=, gvol+44($3)
- i32.load $16=, gvol+48($3)
- i32.load $17=, gvol+52($3)
- i32.load $18=, gvol+56($3)
- i32.load $19=, gvol+60($3)
- i32.load $20=, gvol+64($3)
- i32.load $21=, gvol+68($3)
- i32.load $22=, gvol+72($3)
- i32.load $23=, gvol+76($3)
- i32.load $24=, gvol+80($3)
- i32.load $25=, gvol+84($3)
- i32.load $26=, gvol+88($3)
- i32.load $27=, gvol+92($3)
- i32.load $28=, gvol+96($3)
- i32.load $29=, gvol+100($3)
- i32.load $30=, gvol+104($3)
- i32.load $31=, gvol+108($3)
- i32.load $32=, gvol+112($3)
- i32.load $33=, gvol+116($3)
- i32.load $34=, gvol+120($3)
- i32.store $discard=, gvol+4($3), $5
- i32.store $discard=, gvol+8($3), $6
- i32.store $discard=, gvol+12($3), $7
- i32.store $discard=, gvol+16($3), $8
- i32.store $discard=, gvol+20($3), $9
- i32.store $discard=, gvol+24($3), $10
- i32.store $discard=, gvol+28($3), $11
- i32.store $discard=, gvol+32($3), $12
- i32.store $discard=, gvol+36($3), $13
- i32.store $discard=, gvol+40($3), $14
- i32.store $discard=, gvol+44($3), $15
- i32.store $discard=, gvol+48($3), $16
- i32.store $discard=, gvol+52($3), $17
- i32.store $discard=, gvol+56($3), $18
- i32.store $discard=, gvol+60($3), $19
- i32.store $discard=, gvol+64($3), $20
- i32.store $discard=, gvol+68($3), $21
- i32.store $discard=, gvol+72($3), $22
- i32.store $discard=, gvol+76($3), $23
- i32.store $discard=, gvol+80($3), $24
- i32.store $discard=, gvol+84($3), $25
- i32.store $discard=, gvol+88($3), $26
- i32.store $discard=, gvol+92($3), $27
- i32.store $discard=, gvol+96($3), $28
- i32.store $discard=, gvol+100($3), $29
- i32.store $discard=, gvol+104($3), $30
- i32.store $discard=, gvol+108($3), $31
- i32.store $discard=, gvol+112($3), $32
- i32.store $discard=, gvol+116($3), $33
- i32.store $discard=, gvol+120($3), $34
- i32.add $0=, $0, $4
+ i32.const $push67=, 0
+ i32.load $3=, gvol+4($pop67)
+ i32.const $push66=, 0
+ i32.load $4=, gvol+8($pop66):p2align=3
+ i32.const $push65=, 0
+ i32.load $5=, gvol+12($pop65)
+ i32.const $push64=, 0
+ i32.load $6=, gvol+16($pop64):p2align=4
+ i32.const $push63=, 0
+ i32.load $7=, gvol+20($pop63)
+ i32.const $push62=, 0
+ i32.load $8=, gvol+24($pop62):p2align=3
+ i32.const $push61=, 0
+ i32.load $9=, gvol+28($pop61)
+ i32.const $push60=, 0
+ i32.load $10=, gvol+32($pop60):p2align=4
+ i32.const $push59=, 0
+ i32.load $11=, gvol+36($pop59)
+ i32.const $push58=, 0
+ i32.load $12=, gvol+40($pop58):p2align=3
+ i32.const $push57=, 0
+ i32.load $13=, gvol+44($pop57)
+ i32.const $push56=, 0
+ i32.load $14=, gvol+48($pop56):p2align=4
+ i32.const $push55=, 0
+ i32.load $15=, gvol+52($pop55)
+ i32.const $push54=, 0
+ i32.load $16=, gvol+56($pop54):p2align=3
+ i32.const $push53=, 0
+ i32.load $17=, gvol+60($pop53)
+ i32.const $push52=, 0
+ i32.load $18=, gvol+64($pop52):p2align=4
+ i32.const $push51=, 0
+ i32.load $19=, gvol+68($pop51)
+ i32.const $push50=, 0
+ i32.load $20=, gvol+72($pop50):p2align=3
+ i32.const $push49=, 0
+ i32.load $21=, gvol+76($pop49)
+ i32.const $push48=, 0
+ i32.load $22=, gvol+80($pop48):p2align=4
+ i32.const $push47=, 0
+ i32.load $23=, gvol+84($pop47)
+ i32.const $push46=, 0
+ i32.load $24=, gvol+88($pop46):p2align=3
+ i32.const $push45=, 0
+ i32.load $25=, gvol+92($pop45)
+ i32.const $push44=, 0
+ i32.load $26=, gvol+96($pop44):p2align=4
+ i32.const $push43=, 0
+ i32.load $27=, gvol+100($pop43)
+ i32.const $push42=, 0
+ i32.load $28=, gvol+104($pop42):p2align=3
+ i32.const $push41=, 0
+ i32.load $29=, gvol+108($pop41)
+ i32.const $push40=, 0
+ i32.load $30=, gvol+112($pop40):p2align=4
+ i32.const $push39=, 0
+ i32.load $31=, gvol+116($pop39)
+ i32.const $push38=, 0
+ i32.load $32=, gvol+120($pop38):p2align=3
+ i32.const $push37=, 0
+ i32.store $discard=, gvol+4($pop37), $3
+ i32.const $push36=, 0
+ i32.store $discard=, gvol+8($pop36):p2align=3, $4
+ i32.const $push35=, 0
+ i32.store $discard=, gvol+12($pop35), $5
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+16($pop34):p2align=4, $6
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+20($pop33), $7
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+24($pop32):p2align=3, $8
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+28($pop31), $9
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+32($pop30):p2align=4, $10
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+36($pop29), $11
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+40($pop28):p2align=3, $12
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+44($pop27), $13
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+48($pop26):p2align=4, $14
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+52($pop25), $15
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+56($pop24):p2align=3, $16
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+60($pop23), $17
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+64($pop22):p2align=4, $18
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+68($pop21), $19
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+72($pop20):p2align=3, $20
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+76($pop19), $21
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+80($pop18):p2align=4, $22
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+84($pop17), $23
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+88($pop16):p2align=3, $24
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+92($pop15), $25
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+96($pop14):p2align=4, $26
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+100($pop13), $27
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+104($pop12):p2align=3, $28
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+108($pop11), $29
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+112($pop10):p2align=4, $30
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+116($pop9), $31
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+120($pop8):p2align=3, $32
+ i32.const $push7=, -1
+ i32.add $0=, $0, $pop7
br_if $0, 0 # 0: up to label28
# BB#3: # %while.end.loopexit
end_loop # label29:
@@ -969,17 +1574,17 @@ t10: # @t10
t11: # @t11
.param i32, i64
.result i64
- .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.const $push5=, 0
- i32.eq $push6=, $0, $pop5
- br_if $pop6, 0 # 0: down to label30
+ i32.const $push68=, 0
+ i32.eq $push69=, $0, $pop68
+ br_if $pop69, 0 # 0: down to label30
# BB#1: # %while.body.lr.ph
- i32.const $3=, 0
- i32.const $4=, -1
- i64.load $push0=, gull($3)
- i32.add $push1=, $0, $4
+ i32.const $push6=, 0
+ i64.load $push0=, gull($pop6)
+ i32.const $push5=, -1
+ i32.add $push1=, $0, $pop5
i64.extend_u/i32 $push2=, $pop1
i64.const $push3=, -1
i64.xor $push4=, $pop2, $pop3
@@ -987,67 +1592,128 @@ t11: # @t11
.LBB10_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label31:
- i32.load $5=, gvol+4($3)
- i32.load $6=, gvol+8($3)
- i32.load $7=, gvol+12($3)
- i32.load $8=, gvol+16($3)
- i32.load $9=, gvol+20($3)
- i32.load $10=, gvol+24($3)
- i32.load $11=, gvol+28($3)
- i32.load $12=, gvol+32($3)
- i32.load $13=, gvol+36($3)
- i32.load $14=, gvol+40($3)
- i32.load $15=, gvol+44($3)
- i32.load $16=, gvol+48($3)
- i32.load $17=, gvol+52($3)
- i32.load $18=, gvol+56($3)
- i32.load $19=, gvol+60($3)
- i32.load $20=, gvol+64($3)
- i32.load $21=, gvol+68($3)
- i32.load $22=, gvol+72($3)
- i32.load $23=, gvol+76($3)
- i32.load $24=, gvol+80($3)
- i32.load $25=, gvol+84($3)
- i32.load $26=, gvol+88($3)
- i32.load $27=, gvol+92($3)
- i32.load $28=, gvol+96($3)
- i32.load $29=, gvol+100($3)
- i32.load $30=, gvol+104($3)
- i32.load $31=, gvol+108($3)
- i32.load $32=, gvol+112($3)
- i32.load $33=, gvol+116($3)
- i32.load $34=, gvol+120($3)
- i32.store $discard=, gvol+4($3), $5
- i32.store $discard=, gvol+8($3), $6
- i32.store $discard=, gvol+12($3), $7
- i32.store $discard=, gvol+16($3), $8
- i32.store $discard=, gvol+20($3), $9
- i32.store $discard=, gvol+24($3), $10
- i32.store $discard=, gvol+28($3), $11
- i32.store $discard=, gvol+32($3), $12
- i32.store $discard=, gvol+36($3), $13
- i32.store $discard=, gvol+40($3), $14
- i32.store $discard=, gvol+44($3), $15
- i32.store $discard=, gvol+48($3), $16
- i32.store $discard=, gvol+52($3), $17
- i32.store $discard=, gvol+56($3), $18
- i32.store $discard=, gvol+60($3), $19
- i32.store $discard=, gvol+64($3), $20
- i32.store $discard=, gvol+68($3), $21
- i32.store $discard=, gvol+72($3), $22
- i32.store $discard=, gvol+76($3), $23
- i32.store $discard=, gvol+80($3), $24
- i32.store $discard=, gvol+84($3), $25
- i32.store $discard=, gvol+88($3), $26
- i32.store $discard=, gvol+92($3), $27
- i32.store $discard=, gvol+96($3), $28
- i32.store $discard=, gvol+100($3), $29
- i32.store $discard=, gvol+104($3), $30
- i32.store $discard=, gvol+108($3), $31
- i32.store $discard=, gvol+112($3), $32
- i32.store $discard=, gvol+116($3), $33
- i32.store $discard=, gvol+120($3), $34
- i32.add $0=, $0, $4
+ i32.const $push67=, 0
+ i32.load $3=, gvol+4($pop67)
+ i32.const $push66=, 0
+ i32.load $4=, gvol+8($pop66):p2align=3
+ i32.const $push65=, 0
+ i32.load $5=, gvol+12($pop65)
+ i32.const $push64=, 0
+ i32.load $6=, gvol+16($pop64):p2align=4
+ i32.const $push63=, 0
+ i32.load $7=, gvol+20($pop63)
+ i32.const $push62=, 0
+ i32.load $8=, gvol+24($pop62):p2align=3
+ i32.const $push61=, 0
+ i32.load $9=, gvol+28($pop61)
+ i32.const $push60=, 0
+ i32.load $10=, gvol+32($pop60):p2align=4
+ i32.const $push59=, 0
+ i32.load $11=, gvol+36($pop59)
+ i32.const $push58=, 0
+ i32.load $12=, gvol+40($pop58):p2align=3
+ i32.const $push57=, 0
+ i32.load $13=, gvol+44($pop57)
+ i32.const $push56=, 0
+ i32.load $14=, gvol+48($pop56):p2align=4
+ i32.const $push55=, 0
+ i32.load $15=, gvol+52($pop55)
+ i32.const $push54=, 0
+ i32.load $16=, gvol+56($pop54):p2align=3
+ i32.const $push53=, 0
+ i32.load $17=, gvol+60($pop53)
+ i32.const $push52=, 0
+ i32.load $18=, gvol+64($pop52):p2align=4
+ i32.const $push51=, 0
+ i32.load $19=, gvol+68($pop51)
+ i32.const $push50=, 0
+ i32.load $20=, gvol+72($pop50):p2align=3
+ i32.const $push49=, 0
+ i32.load $21=, gvol+76($pop49)
+ i32.const $push48=, 0
+ i32.load $22=, gvol+80($pop48):p2align=4
+ i32.const $push47=, 0
+ i32.load $23=, gvol+84($pop47)
+ i32.const $push46=, 0
+ i32.load $24=, gvol+88($pop46):p2align=3
+ i32.const $push45=, 0
+ i32.load $25=, gvol+92($pop45)
+ i32.const $push44=, 0
+ i32.load $26=, gvol+96($pop44):p2align=4
+ i32.const $push43=, 0
+ i32.load $27=, gvol+100($pop43)
+ i32.const $push42=, 0
+ i32.load $28=, gvol+104($pop42):p2align=3
+ i32.const $push41=, 0
+ i32.load $29=, gvol+108($pop41)
+ i32.const $push40=, 0
+ i32.load $30=, gvol+112($pop40):p2align=4
+ i32.const $push39=, 0
+ i32.load $31=, gvol+116($pop39)
+ i32.const $push38=, 0
+ i32.load $32=, gvol+120($pop38):p2align=3
+ i32.const $push37=, 0
+ i32.store $discard=, gvol+4($pop37), $3
+ i32.const $push36=, 0
+ i32.store $discard=, gvol+8($pop36):p2align=3, $4
+ i32.const $push35=, 0
+ i32.store $discard=, gvol+12($pop35), $5
+ i32.const $push34=, 0
+ i32.store $discard=, gvol+16($pop34):p2align=4, $6
+ i32.const $push33=, 0
+ i32.store $discard=, gvol+20($pop33), $7
+ i32.const $push32=, 0
+ i32.store $discard=, gvol+24($pop32):p2align=3, $8
+ i32.const $push31=, 0
+ i32.store $discard=, gvol+28($pop31), $9
+ i32.const $push30=, 0
+ i32.store $discard=, gvol+32($pop30):p2align=4, $10
+ i32.const $push29=, 0
+ i32.store $discard=, gvol+36($pop29), $11
+ i32.const $push28=, 0
+ i32.store $discard=, gvol+40($pop28):p2align=3, $12
+ i32.const $push27=, 0
+ i32.store $discard=, gvol+44($pop27), $13
+ i32.const $push26=, 0
+ i32.store $discard=, gvol+48($pop26):p2align=4, $14
+ i32.const $push25=, 0
+ i32.store $discard=, gvol+52($pop25), $15
+ i32.const $push24=, 0
+ i32.store $discard=, gvol+56($pop24):p2align=3, $16
+ i32.const $push23=, 0
+ i32.store $discard=, gvol+60($pop23), $17
+ i32.const $push22=, 0
+ i32.store $discard=, gvol+64($pop22):p2align=4, $18
+ i32.const $push21=, 0
+ i32.store $discard=, gvol+68($pop21), $19
+ i32.const $push20=, 0
+ i32.store $discard=, gvol+72($pop20):p2align=3, $20
+ i32.const $push19=, 0
+ i32.store $discard=, gvol+76($pop19), $21
+ i32.const $push18=, 0
+ i32.store $discard=, gvol+80($pop18):p2align=4, $22
+ i32.const $push17=, 0
+ i32.store $discard=, gvol+84($pop17), $23
+ i32.const $push16=, 0
+ i32.store $discard=, gvol+88($pop16):p2align=3, $24
+ i32.const $push15=, 0
+ i32.store $discard=, gvol+92($pop15), $25
+ i32.const $push14=, 0
+ i32.store $discard=, gvol+96($pop14):p2align=4, $26
+ i32.const $push13=, 0
+ i32.store $discard=, gvol+100($pop13), $27
+ i32.const $push12=, 0
+ i32.store $discard=, gvol+104($pop12):p2align=3, $28
+ i32.const $push11=, 0
+ i32.store $discard=, gvol+108($pop11), $29
+ i32.const $push10=, 0
+ i32.store $discard=, gvol+112($pop10):p2align=4, $30
+ i32.const $push9=, 0
+ i32.store $discard=, gvol+116($pop9), $31
+ i32.const $push8=, 0
+ i32.store $discard=, gvol+120($pop8):p2align=3, $32
+ i32.const $push7=, -1
+ i32.add $0=, $0, $pop7
br_if $0, 0 # 0: up to label31
# BB#3: # %while.end.loopexit
end_loop # label32:
@@ -1080,161 +1746,215 @@ neg: # @neg
.type main,@function
main: # @main
.result i32
- .local i32, i64, i64, i32, i64, i64, i64
+ .local i64
# BB#0: # %entry
- i64.const $2=, -1
- i32.const $0=, 0
- i32.const $3=, 3
+ i32.const $push1=, 0
+ i64.const $push2=, 100
+ i64.store $discard=, gull($pop1), $pop2
block
- i64.const $push0=, 100
- i64.store $1=, gull($0), $pop0
- i64.call $push1=, t1@FUNCTION, $3, $2
- i64.const $push2=, -6145
- i64.ne $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label33
+ i32.const $push101=, 3
+ i64.const $push3=, -1
+ i64.call $push4=, t1@FUNCTION, $pop101, $pop3
+ i64.const $push5=, -6145
+ i64.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label33
# BB#1: # %if.end
- i64.const $4=, 4294967295
block
- i64.call $push4=, t1@FUNCTION, $3, $4
- i64.const $push5=, 4294961151
- i64.ne $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label34
+ i32.const $push102=, 3
+ i64.const $push7=, 4294967295
+ i64.call $push8=, t1@FUNCTION, $pop102, $pop7
+ i64.const $push9=, 4294961151
+ i64.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label34
# BB#2: # %if.end4
block
- i64.call $push7=, t2@FUNCTION, $3, $2
- i64.const $push8=, -1540
- i64.ne $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label35
+ i32.const $push103=, 3
+ i64.const $push11=, -1
+ i64.call $push12=, t2@FUNCTION, $pop103, $pop11
+ i64.const $push13=, -1540
+ i64.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label35
# BB#3: # %if.end8
block
- i64.call $push10=, t2@FUNCTION, $3, $4
- i64.const $push11=, 4294965756
- i64.ne $push12=, $pop10, $pop11
- br_if $pop12, 0 # 0: down to label36
+ i32.const $push104=, 3
+ i64.const $push15=, 4294967295
+ i64.call $push16=, t2@FUNCTION, $pop104, $pop15
+ i64.const $push17=, 4294965756
+ i64.ne $push18=, $pop16, $pop17
+ br_if $pop18, 0 # 0: down to label36
# BB#4: # %if.end12
block
- i64.call $push13=, t3@FUNCTION, $3, $2
- i64.const $push14=, -1537
- i64.ne $push15=, $pop13, $pop14
- br_if $pop15, 0 # 0: down to label37
+ i32.const $push105=, 3
+ i64.const $push19=, -1
+ i64.call $push20=, t3@FUNCTION, $pop105, $pop19
+ i64.const $push21=, -1537
+ i64.ne $push22=, $pop20, $pop21
+ br_if $pop22, 0 # 0: down to label37
# BB#5: # %if.end16
block
- i64.call $push16=, t3@FUNCTION, $3, $4
- i64.const $push17=, 4294965759
- i64.ne $push18=, $pop16, $pop17
- br_if $pop18, 0 # 0: down to label38
+ i32.const $push106=, 3
+ i64.const $push23=, 4294967295
+ i64.call $push24=, t3@FUNCTION, $pop106, $pop23
+ i64.const $push25=, 4294965759
+ i64.ne $push26=, $pop24, $pop25
+ br_if $pop26, 0 # 0: down to label38
# BB#6: # %if.end20
block
- i64.call $push19=, t4@FUNCTION, $3, $2
- i64.const $push20=, -1534
- i64.ne $push21=, $pop19, $pop20
- br_if $pop21, 0 # 0: down to label39
+ i32.const $push107=, 3
+ i64.const $push27=, -1
+ i64.call $push28=, t4@FUNCTION, $pop107, $pop27
+ i64.const $push29=, -1534
+ i64.ne $push30=, $pop28, $pop29
+ br_if $pop30, 0 # 0: down to label39
# BB#7: # %if.end24
block
- i64.call $push22=, t4@FUNCTION, $3, $4
- i64.const $push23=, 4294965762
- i64.ne $push24=, $pop22, $pop23
- br_if $pop24, 0 # 0: down to label40
+ i32.const $push108=, 3
+ i64.const $push31=, 4294967295
+ i64.call $push32=, t4@FUNCTION, $pop108, $pop31
+ i64.const $push33=, 4294965762
+ i64.ne $push34=, $pop32, $pop33
+ br_if $pop34, 0 # 0: down to label40
# BB#8: # %if.end28
block
- i64.call $push25=, t5@FUNCTION, $3, $2
- i64.const $push26=, -4
- i64.ne $push27=, $pop25, $pop26
- br_if $pop27, 0 # 0: down to label41
+ i32.const $push109=, 3
+ i64.const $push35=, -1
+ i64.call $push36=, t5@FUNCTION, $pop109, $pop35
+ i64.const $push37=, -4
+ i64.ne $push38=, $pop36, $pop37
+ br_if $pop38, 0 # 0: down to label41
# BB#9: # %if.end32
block
- i64.call $push28=, t5@FUNCTION, $3, $4
- i64.const $push29=, 4294967292
- i64.ne $push30=, $pop28, $pop29
- br_if $pop30, 0 # 0: down to label42
+ i32.const $push110=, 3
+ i64.const $push39=, 4294967295
+ i64.call $push40=, t5@FUNCTION, $pop110, $pop39
+ i64.const $push41=, 4294967292
+ i64.ne $push42=, $pop40, $pop41
+ br_if $pop42, 0 # 0: down to label42
# BB#10: # %if.end36
block
- i64.call $push31=, t6@FUNCTION, $3, $2
- i64.const $push32=, 2
- i64.ne $push33=, $pop31, $pop32
- br_if $pop33, 0 # 0: down to label43
+ i32.const $push111=, 3
+ i64.const $push43=, -1
+ i64.call $push44=, t6@FUNCTION, $pop111, $pop43
+ i64.const $push45=, 2
+ i64.ne $push46=, $pop44, $pop45
+ br_if $pop46, 0 # 0: down to label43
# BB#11: # %if.end40
block
- i64.call $push34=, t6@FUNCTION, $3, $4
- i64.const $push35=, 4294967298
- i64.ne $push36=, $pop34, $pop35
- br_if $pop36, 0 # 0: down to label44
+ i32.const $push112=, 3
+ i64.const $push47=, 4294967295
+ i64.call $push48=, t6@FUNCTION, $pop112, $pop47
+ i64.const $push49=, 4294967298
+ i64.ne $push50=, $pop48, $pop49
+ br_if $pop50, 0 # 0: down to label44
# BB#12: # %if.end44
block
- i64.call $push37=, t7@FUNCTION, $3, $2
- i64.const $push38=, 1532
- i64.ne $push39=, $pop37, $pop38
- br_if $pop39, 0 # 0: down to label45
+ i32.const $push113=, 3
+ i64.const $push51=, -1
+ i64.call $push52=, t7@FUNCTION, $pop113, $pop51
+ i64.const $push53=, 1532
+ i64.ne $push54=, $pop52, $pop53
+ br_if $pop54, 0 # 0: down to label45
# BB#13: # %if.end48
block
- i64.call $push40=, t7@FUNCTION, $3, $4
- i64.const $push41=, 4294968828
- i64.ne $push42=, $pop40, $pop41
- br_if $pop42, 0 # 0: down to label46
+ i32.const $push114=, 3
+ i64.const $push55=, 4294967295
+ i64.call $push56=, t7@FUNCTION, $pop114, $pop55
+ i64.const $push57=, 4294968828
+ i64.ne $push58=, $pop56, $pop57
+ br_if $pop58, 0 # 0: down to label46
# BB#14: # %if.end52
block
- i64.call $push43=, t8@FUNCTION, $3, $2
- i64.const $push44=, 1535
- i64.ne $push45=, $pop43, $pop44
- br_if $pop45, 0 # 0: down to label47
+ i32.const $push115=, 3
+ i64.const $push59=, -1
+ i64.call $push60=, t8@FUNCTION, $pop115, $pop59
+ i64.const $push61=, 1535
+ i64.ne $push62=, $pop60, $pop61
+ br_if $pop62, 0 # 0: down to label47
# BB#15: # %if.end56
block
- i64.call $push46=, t8@FUNCTION, $3, $4
- i64.const $push47=, 4294968831
- i64.ne $push48=, $pop46, $pop47
- br_if $pop48, 0 # 0: down to label48
+ i32.const $push116=, 3
+ i64.const $push63=, 4294967295
+ i64.call $push64=, t8@FUNCTION, $pop116, $pop63
+ i64.const $push65=, 4294968831
+ i64.ne $push66=, $pop64, $pop65
+ br_if $pop66, 0 # 0: down to label48
# BB#16: # %if.end60
block
- i64.call $push49=, t9@FUNCTION, $3, $2
- i64.const $push50=, 1538
- i64.ne $push51=, $pop49, $pop50
- br_if $pop51, 0 # 0: down to label49
+ i32.const $push117=, 3
+ i64.const $push67=, -1
+ i64.call $push68=, t9@FUNCTION, $pop117, $pop67
+ i64.const $push69=, 1538
+ i64.ne $push70=, $pop68, $pop69
+ br_if $pop70, 0 # 0: down to label49
# BB#17: # %if.end64
block
- i64.call $push52=, t9@FUNCTION, $3, $4
- i64.const $push53=, 4294968834
- i64.ne $push54=, $pop52, $pop53
- br_if $pop54, 0 # 0: down to label50
+ i32.const $push118=, 3
+ i64.const $push71=, 4294967295
+ i64.call $push72=, t9@FUNCTION, $pop118, $pop71
+ i64.const $push73=, 4294968834
+ i64.ne $push74=, $pop72, $pop73
+ br_if $pop74, 0 # 0: down to label50
# BB#18: # %if.end68
- i64.call $5=, t10@FUNCTION, $3, $2
- i64.const $6=, 3
block
- i64.load $push55=, gull($0)
- i64.mul $push56=, $pop55, $6
- i64.add $push57=, $pop56, $2
- i64.ne $push58=, $5, $pop57
- br_if $pop58, 0 # 0: down to label51
+ i32.const $push122=, 3
+ i64.const $push75=, -1
+ i64.call $push76=, t10@FUNCTION, $pop122, $pop75
+ i32.const $push121=, 0
+ i64.load $push77=, gull($pop121)
+ i64.const $push120=, 3
+ i64.mul $push78=, $pop77, $pop120
+ i64.const $push119=, -1
+ i64.add $push79=, $pop78, $pop119
+ i64.ne $push80=, $pop76, $pop79
+ br_if $pop80, 0 # 0: down to label51
# BB#19: # %if.end72
- i64.call $5=, t10@FUNCTION, $3, $4
block
- i64.load $push59=, gull($0)
- i64.mul $push60=, $pop59, $6
- i64.add $push61=, $pop60, $4
- i64.ne $push62=, $5, $pop61
- br_if $pop62, 0 # 0: down to label52
+ i32.const $push126=, 3
+ i64.const $push81=, 4294967295
+ i64.call $push82=, t10@FUNCTION, $pop126, $pop81
+ i32.const $push125=, 0
+ i64.load $push83=, gull($pop125)
+ i64.const $push124=, 3
+ i64.mul $push84=, $pop83, $pop124
+ i64.const $push123=, 4294967295
+ i64.add $push85=, $pop84, $pop123
+ i64.ne $push86=, $pop82, $pop85
+ br_if $pop86, 0 # 0: down to label52
# BB#20: # %if.end77
- i64.call $5=, t11@FUNCTION, $3, $2
- i64.const $6=, -3
block
- i64.load $push63=, gull($0)
- i64.mul $push64=, $pop63, $6
- i64.add $push65=, $pop64, $2
- i64.ne $push66=, $5, $pop65
- br_if $pop66, 0 # 0: down to label53
+ i32.const $push130=, 3
+ i64.const $push87=, -1
+ i64.call $push88=, t11@FUNCTION, $pop130, $pop87
+ i32.const $push129=, 0
+ i64.load $push89=, gull($pop129)
+ i64.const $push128=, -3
+ i64.mul $push90=, $pop89, $pop128
+ i64.const $push127=, -1
+ i64.add $push91=, $pop90, $pop127
+ i64.ne $push92=, $pop88, $pop91
+ br_if $pop92, 0 # 0: down to label53
# BB#21: # %if.end84
- i64.call $5=, t11@FUNCTION, $3, $4
- i64.load $2=, gull($0)
block
- i64.mul $push67=, $2, $6
- i64.add $push68=, $pop67, $4
- i64.ne $push69=, $5, $pop68
- br_if $pop69, 0 # 0: down to label54
+ i32.const $push135=, 3
+ i64.const $push93=, 4294967295
+ i64.call $push94=, t11@FUNCTION, $pop135, $pop93
+ i32.const $push134=, 0
+ i64.load $push0=, gull($pop134)
+ tee_local $push133=, $0=, $pop0
+ i64.const $push132=, -3
+ i64.mul $push95=, $pop133, $pop132
+ i64.const $push131=, 4294967295
+ i64.add $push96=, $pop95, $pop131
+ i64.ne $push97=, $pop94, $pop96
+ br_if $pop97, 0 # 0: down to label54
# BB#22: # %if.end91
block
- i64.ne $push70=, $2, $1
- br_if $pop70, 0 # 0: down to label55
+ i64.const $push98=, 100
+ i64.ne $push99=, $0, $pop98
+ br_if $pop99, 0 # 0: down to label55
# BB#23: # %if.end95
- call exit@FUNCTION, $0
+ i32.const $push100=, 0
+ call exit@FUNCTION, $pop100
unreachable
.LBB12_24: # %if.then94
end_block # label55:
@@ -1336,7 +2056,7 @@ main: # @main
.type gvol,@object
.section .bss.gvol,"aw",@nobits
.globl gvol
- .align 4
+ .p2align 4
gvol:
.skip 128
.size gvol, 128
@@ -1345,7 +2065,7 @@ gvol:
.type gull,@object
.section .bss.gull,"aw",@nobits
.globl gull
- .align 3
+ .p2align 3
gull:
.int64 0 # 0x0
.size gull, 8
diff --git a/test/torture-s/20041019-1.c.s b/test/torture-s/20041019-1.c.s
index bb1953f2c..101357bd6 100644
--- a/test/torture-s/20041019-1.c.s
+++ b/test/torture-s/20041019-1.c.s
@@ -12,33 +12,34 @@ test_store_ccp: # @test_store_ccp
i32.const $1=, __stack_pointer
i32.load $1=, 0($1)
i32.const $2=, 16
- i32.sub $6=, $1, $2
+ i32.sub $7=, $1, $2
i32.const $2=, __stack_pointer
- i32.store $6=, 0($2), $6
+ i32.store $7=, 0($2), $7
i32.const $push0=, 5
i32.lt_s $push1=, $0, $pop0
i32.const $push2=, 8
i32.gt_s $push3=, $0, $pop2
i32.const $4=, 8
- i32.add $4=, $6, $4
+ i32.add $4=, $7, $4
i32.const $5=, 4
- i32.add $5=, $6, $5
+ i32.add $5=, $7, $5
i32.select $push4=, $pop3, $4, $5
i32.const $6=, 12
- i32.add $6=, $6, $6
- i32.select $0=, $pop1, $6, $pop4
- i32.const $push5=, 10
- i32.store $discard=, 0($0), $pop5
- i32.const $push6=, 3
- i32.store $discard=, 8($6), $pop6
- i32.load $push7=, 0($0)
- i32.const $push8=, 2
- i32.add $push9=, $pop7, $pop8
+ i32.add $6=, $7, $6
+ i32.select $push5=, $pop1, $6, $pop4
+ tee_local $push11=, $0=, $pop5
+ i32.const $push6=, 10
+ i32.store $discard=, 0($pop11), $pop6
+ i32.const $push7=, 3
+ i32.store $discard=, 8($7), $pop7
+ i32.load $push8=, 0($0)
+ i32.const $push9=, 2
+ i32.add $push10=, $pop8, $pop9
i32.const $3=, 16
- i32.add $6=, $6, $3
+ i32.add $7=, $7, $3
i32.const $3=, __stack_pointer
- i32.store $6=, 0($3), $6
- return $pop9
+ i32.store $7=, 0($3), $7
+ return $pop10
.endfunc
.Lfunc_end0:
.size test_store_ccp, .Lfunc_end0-test_store_ccp
@@ -55,31 +56,32 @@ test_store_copy_prop: # @test_store_copy_prop
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
i32.const $3=, 16
- i32.sub $7=, $2, $3
+ i32.sub $8=, $2, $3
i32.const $3=, __stack_pointer
- i32.store $7=, 0($3), $7
+ i32.store $8=, 0($3), $8
i32.const $push0=, 5
i32.lt_s $push1=, $0, $pop0
i32.const $push2=, 8
i32.gt_s $push3=, $0, $pop2
i32.const $5=, 8
- i32.add $5=, $7, $5
+ i32.add $5=, $8, $5
i32.const $6=, 4
- i32.add $6=, $7, $6
+ i32.add $6=, $8, $6
i32.select $push4=, $pop3, $5, $6
i32.const $7=, 12
- i32.add $7=, $7, $7
- i32.select $1=, $pop1, $7, $pop4
- i32.store $push5=, 0($1), $0
- i32.const $push6=, 1
- i32.add $push7=, $pop5, $pop6
- i32.store $discard=, 8($7), $pop7
- i32.load $push8=, 0($1)
+ i32.add $7=, $8, $7
+ i32.select $push5=, $pop1, $7, $pop4
+ tee_local $push10=, $1=, $pop5
+ i32.store $push6=, 0($pop10), $0
+ i32.const $push7=, 1
+ i32.add $push8=, $pop6, $pop7
+ i32.store $discard=, 8($8), $pop8
+ i32.load $push9=, 0($1)
i32.const $4=, 16
- i32.add $7=, $7, $4
+ i32.add $8=, $8, $4
i32.const $4=, __stack_pointer
- i32.store $7=, 0($4), $7
- return $pop8
+ i32.store $8=, 0($4), $8
+ return $pop9
.endfunc
.Lfunc_end1:
.size test_store_copy_prop, .Lfunc_end1-test_store_copy_prop
diff --git a/test/torture-s/20041112-1.c.s b/test/torture-s/20041112-1.c.s
index d33b8532b..19a5e9ad8 100644
--- a/test/torture-s/20041112-1.c.s
+++ b/test/torture-s/20041112-1.c.s
@@ -6,23 +6,29 @@
.type bar,@function
bar: # @bar
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, global($0)
- i32.const $3=, 1
- i32.ne $push1=, $1, $0
- i32.const $push0=, global
- i32.const $push2=, -1
- i32.eq $push3=, $pop0, $pop2
- i32.or $2=, $pop1, $pop3
- i32.add $push4=, $1, $3
- i32.const $push5=, 2
- i32.select $push6=, $1, $pop4, $pop5
- i32.select $push7=, $2, $pop6, $3
- i32.store $discard=, global($0), $pop7
- i32.xor $push8=, $2, $3
- return $pop8
+ i32.const $push0=, 0
+ i32.const $push18=, 0
+ i32.load $push1=, global($pop18)
+ tee_local $push17=, $1=, $pop1
+ i32.const $push16=, 0
+ i32.ne $push3=, $pop17, $pop16
+ i32.const $push2=, global
+ i32.const $push4=, -1
+ i32.eq $push5=, $pop2, $pop4
+ i32.or $push6=, $pop3, $pop5
+ tee_local $push15=, $0=, $pop6
+ i32.const $push7=, 1
+ i32.add $push8=, $1, $pop7
+ i32.const $push9=, 2
+ i32.select $push10=, $1, $pop8, $pop9
+ i32.const $push14=, 1
+ i32.select $push11=, $pop15, $pop10, $pop14
+ i32.store $discard=, global($pop0), $pop11
+ i32.const $push13=, 1
+ i32.xor $push12=, $0, $pop13
+ return $pop12
.endfunc
.Lfunc_end0:
.size bar, .Lfunc_end0-bar
@@ -33,12 +39,12 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 2
- i32.store $discard=, global($0), $pop0
- return $0
+ i32.store $discard=, global($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -47,7 +53,7 @@ main: # @main
.type global,@object
.section .bss.global,"aw",@nobits
.globl global
- .align 2
+ .p2align 2
global:
.int32 0 # 0x0
.size global, 4
diff --git a/test/torture-s/20041113-1.c.s b/test/torture-s/20041113-1.c.s
new file mode 100644
index 000000000..cd42c5deb
--- /dev/null
+++ b/test/torture-s/20041113-1.c.s
@@ -0,0 +1,162 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20041113-1.c"
+ .section .text.test,"ax",@progbits
+ .hidden test
+ .globl test
+ .type test,@function
+test: # @test
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push0=, 12($5), $6
+ i32.const $push29=, 3
+ i32.add $push1=, $pop0, $pop29
+ i32.const $push28=, -4
+ i32.and $push2=, $pop1, $pop28
+ tee_local $push27=, $1=, $pop2
+ i32.const $push26=, 4
+ i32.add $push3=, $pop27, $pop26
+ i32.store $discard=, 12($5), $pop3
+ block
+ i32.load $push4=, 0($1)
+ i32.const $push5=, 1
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push7=, 12($5)
+ i32.const $push33=, 3
+ i32.add $push8=, $pop7, $pop33
+ i32.const $push32=, -4
+ i32.and $push9=, $pop8, $pop32
+ tee_local $push31=, $1=, $pop9
+ i32.const $push30=, 4
+ i32.add $push10=, $pop31, $pop30
+ i32.store $discard=, 12($5), $pop10
+ block
+ i32.load $push11=, 0($1)
+ i32.const $push12=, 2
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push14=, 12($5)
+ i32.const $push38=, 3
+ i32.add $push15=, $pop14, $pop38
+ i32.const $push37=, -4
+ i32.and $push16=, $pop15, $pop37
+ tee_local $push36=, $1=, $pop16
+ i32.const $push35=, 4
+ i32.add $push17=, $pop36, $pop35
+ i32.store $discard=, 12($5), $pop17
+ block
+ i32.load $push18=, 0($1)
+ i32.const $push34=, 3
+ i32.ne $push19=, $pop18, $pop34
+ br_if $pop19, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.load $push20=, 12($5)
+ i32.const $push43=, 3
+ i32.add $push21=, $pop20, $pop43
+ i32.const $push42=, -4
+ i32.and $push22=, $pop21, $pop42
+ tee_local $push41=, $1=, $pop22
+ i32.const $push40=, 4
+ i32.add $push23=, $pop41, $pop40
+ i32.store $discard=, 12($5), $pop23
+ block
+ i32.load $push24=, 0($1)
+ i32.const $push39=, 4
+ i32.ne $push25=, $pop24, $pop39
+ br_if $pop25, 0 # 0: down to label3
+# BB#4: # %if.end10
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB0_5: # %if.then9
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_6: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_7: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_8: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size test, .Lfunc_end0-test
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .param i32, i32
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 16
+ i32.sub $10=, $8, $9
+ i32.const $9=, __stack_pointer
+ i32.store $10=, 0($9), $10
+ i32.const $push0=, 0
+ f64.load $push1=, a($pop0)
+ f64.const $push2=, 0x1.4p3
+ f64.div $push3=, $pop1, $pop2
+ i32.trunc_s/f64 $2=, $pop3
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $10=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $10=, 0($5), $10
+ i64.const $push4=, 8589934593
+ i64.store $discard=, 0($10):p2align=2, $pop4
+ i32.const $push5=, 12
+ i32.add $3=, $10, $pop5
+ i32.store $discard=, 0($3), $2
+ i32.const $push6=, 8
+ i32.add $2=, $10, $pop6
+ i32.const $push7=, 3
+ i32.store $discard=, 0($2), $pop7
+ call test@FUNCTION, $2
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.add $10=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $10=, 0($7), $10
+ i32.const $push8=, 0
+ call exit@FUNCTION, $pop8
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden a # @a
+ .type a,@object
+ .section .data.a,"aw",@progbits
+ .globl a
+ .p2align 3
+a:
+ .int64 4630826316843712512 # double 40
+ .size a, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20041114-1.c.s b/test/torture-s/20041114-1.c.s
index 562ef3d72..81f81c999 100644
--- a/test/torture-s/20041114-1.c.s
+++ b/test/torture-s/20041114-1.c.s
@@ -19,11 +19,11 @@ foo: # @foo
main: # @main
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $discard=, v($2)
- return $2
+ i32.const $push0=, 0
+ i32.load $discard=, v($pop0)
+ i32.const $push1=, 0
+ return $pop1
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -32,7 +32,7 @@ main: # @main
.type v,@object
.section .bss.v,"aw",@nobits
.globl v
- .align 2
+ .p2align 2
v:
.int32 0 # 0x0
.size v, 4
diff --git a/test/torture-s/20041124-1.c.s b/test/torture-s/20041124-1.c.s
index 06758616c..7cf9c6150 100644
--- a/test/torture-s/20041124-1.c.s
+++ b/test/torture-s/20041124-1.c.s
@@ -6,16 +6,10 @@
.type foo,@function
foo: # @foo
.param i32
- .local i32
# BB#0: # %entry
i32.const $push0=, 0
i32.load $push1=, gs($pop0)
- i32.store16 $1=, 0($0), $pop1
- i32.const $push2=, 2
- i32.add $push3=, $0, $pop2
- i32.const $push4=, 16
- i32.shr_u $push5=, $1, $pop4
- i32.store16 $discard=, 0($pop3), $pop5
+ i32.store $discard=, 0($0):p2align=1, $pop1
return
.endfunc
.Lfunc_end0:
@@ -27,38 +21,41 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $3=, __stack_pointer
- i32.load $3=, 0($3)
- i32.const $4=, 16
- i32.sub $7=, $3, $4
- i32.const $4=, __stack_pointer
- i32.store $7=, 0($4), $7
- i32.const $5=, 8
- i32.add $5=, $7, $5
- call foo@FUNCTION, $5
- i32.const $0=, 0
- i32.load $1=, gs($0)
- i32.const $2=, 65535
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $5=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $5=, 0($2), $5
+ i32.const $3=, 8
+ i32.add $3=, $5, $3
+ call foo@FUNCTION, $3
block
- i32.load16_u $push2=, 8($7)
- i32.and $push5=, $1, $2
- i32.ne $push7=, $pop2, $pop5
- br_if $pop7, 0 # 0: down to label0
+ i32.load16_u $push2=, 8($5):p2align=3
+ i32.const $push5=, 0
+ i32.load $push6=, gs($pop5)
+ tee_local $push14=, $0=, $pop6
+ i32.const $push13=, 65535
+ i32.and $push7=, $pop14, $pop13
+ i32.ne $push9=, $pop2, $pop7
+ br_if $pop9, 0 # 0: down to label0
# BB#1: # %entry
i32.const $push3=, 2
- i32.const $6=, 8
- i32.add $6=, $7, $6
- i32.or $push4=, $6, $pop3
+ i32.const $4=, 8
+ i32.add $4=, $5, $4
+ i32.or $push4=, $4, $pop3
i32.load16_u $push0=, 0($pop4)
- i32.and $push8=, $pop0, $2
- i32.const $push6=, 16
- i32.shr_u $push1=, $1, $pop6
- i32.ne $push9=, $pop8, $pop1
- br_if $pop9, 0 # 0: down to label0
+ i32.const $push15=, 65535
+ i32.and $push10=, $pop0, $pop15
+ i32.const $push8=, 16
+ i32.shr_u $push1=, $0, $pop8
+ i32.ne $push11=, $pop10, $pop1
+ br_if $pop11, 0 # 0: down to label0
# BB#2: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push12=, 0
+ call exit@FUNCTION, $pop12
unreachable
.LBB1_3: # %if.then
end_block # label0:
@@ -72,7 +69,7 @@ main: # @main
.type gs,@object
.section .data.gs,"aw",@progbits
.globl gs
- .align 2
+ .p2align 2
gs:
.int16 100 # 0x64
.int16 200 # 0xc8
diff --git a/test/torture-s/20041126-1.c.s b/test/torture-s/20041126-1.c.s
index 993c9c333..82f724225 100644
--- a/test/torture-s/20041126-1.c.s
+++ b/test/torture-s/20041126-1.c.s
@@ -63,93 +63,64 @@ check: # @check
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %for.cond1.i.preheader
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 48
+ i32.sub $6=, $3, $4
i32.const $4=, __stack_pointer
- i32.load $4=, 0($4)
- i32.const $5=, 48
- i32.sub $14=, $4, $5
- i32.const $5=, __stack_pointer
- i32.store $14=, 0($5), $14
- i32.const $3=, 0
- i32.const $push1=, 32
- i32.const $7=, 0
- i32.add $7=, $14, $7
- i32.add $push2=, $7, $pop1
- i64.load $push0=, .Lmain.a+32($3)
- i64.store $discard=, 0($pop2), $pop0
- i32.const $push4=, 24
- i32.const $8=, 0
- i32.add $8=, $14, $8
- i32.add $push5=, $8, $pop4
- i64.load $push3=, .Lmain.a+24($3)
- i64.store $discard=, 0($pop5), $pop3
- i32.const $push7=, 16
- i32.const $9=, 0
- i32.add $9=, $14, $9
- i32.add $0=, $9, $pop7
- i64.load $push6=, .Lmain.a+16($3)
- i64.store $discard=, 0($0), $pop6
- i32.store $2=, 0($0), $3
- i32.const $push9=, 8
- i32.const $10=, 0
- i32.add $10=, $14, $10
- i32.or $0=, $10, $pop9
- i64.load $push8=, .Lmain.a+8($3)
- i64.store $discard=, 0($0), $pop8
- i32.const $push11=, 12
- i32.const $11=, 0
- i32.add $11=, $14, $11
- i32.or $push12=, $11, $pop11
- i32.store $push13=, 0($pop12), $2
- i32.store $0=, 0($0), $pop13
- i64.load $push10=, .Lmain.a($3)
- i64.store $discard=, 0($14), $pop10
- i32.const $push14=, 4
- i32.const $12=, 0
- i32.add $12=, $14, $12
- i32.or $push15=, $12, $pop14
- i32.store $push16=, 0($pop15), $0
- i32.store $1=, 0($14), $pop16
- i32.const $3=, 5
+ i32.store $6=, 0($4), $6
+ i32.const $push0=, .Lmain.a
+ i32.const $push1=, 40
+ i32.call $discard=, memcpy@FUNCTION, $6, $pop0, $pop1
+ i32.const $push2=, 16
+ i32.add $push3=, $6, $pop2
+ i32.const $push4=, 0
+ i32.store $discard=, 0($pop3):p2align=4, $pop4
+ i32.const $push5=, 8
+ i32.or $push6=, $6, $pop5
+ i64.const $push7=, 0
+ i64.store $push8=, 0($pop6), $pop7
+ i64.store $discard=, 0($6):p2align=4, $pop8
+ i32.const $2=, 5
.LBB1_1: # %for.cond1.i
# =>This Inner Loop Header: Depth=1
block
loop # label5:
- i32.const $push17=, 9
- i32.gt_s $push18=, $3, $pop17
- br_if $pop18, 2 # 2: down to label4
+ i32.const $push14=, 9
+ i32.gt_s $push9=, $2, $pop14
+ br_if $pop9, 2 # 2: down to label4
# BB#2: # %for.body3.i
# in Loop: Header=BB1_1 Depth=1
- i32.const $push19=, 2
- i32.shl $push20=, $3, $pop19
- i32.const $13=, 0
- i32.add $13=, $14, $13
- i32.add $push21=, $13, $pop20
- i32.load $0=, 0($pop21)
- i32.const $push22=, 1
- i32.add $2=, $3, $pop22
- copy_local $3=, $0
- i32.eq $push23=, $0, $2
- br_if $pop23, 0 # 0: up to label5
+ i32.const $push16=, 2
+ i32.shl $push11=, $2, $pop16
+ i32.add $push12=, $6, $pop11
+ i32.load $0=, 0($pop12)
+ i32.const $push15=, 1
+ i32.add $1=, $2, $pop15
+ copy_local $2=, $0
+ i32.eq $push13=, $0, $1
+ br_if $pop13, 0 # 0: up to label5
# BB#3: # %if.then6.i
end_loop # label6:
call abort@FUNCTION
unreachable
.LBB1_4: # %check.exit
end_block # label4:
- i32.const $6=, 48
- i32.add $14=, $14, $6
- i32.const $6=, __stack_pointer
- i32.store $14=, 0($6), $14
- return $1
+ i32.const $push10=, 0
+ i32.const $5=, 48
+ i32.add $6=, $6, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return $pop10
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
.type .Lmain.a,@object # @main.a
.section .rodata..Lmain.a,"a",@progbits
- .align 4
+ .p2align 4
.Lmain.a:
.int32 1 # 0x1
.int32 2 # 0x2
diff --git a/test/torture-s/20041201-1.c.s b/test/torture-s/20041201-1.c.s
new file mode 100644
index 000000000..5b4f07d9c
--- /dev/null
+++ b/test/torture-s/20041201-1.c.s
@@ -0,0 +1,94 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20041201-1.c"
+ .section .text.checkScc2,"ax",@progbits
+ .hidden checkScc2
+ .globl checkScc2
+ .type checkScc2,@function
+checkScc2: # @checkScc2
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $1=, 1
+ block
+ i32.load8_u $push1=, 0($0)
+ i32.const $push14=, 1
+ i32.ne $push2=, $pop1, $pop14
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.load8_u $push0=, 1($0)
+ i32.const $push3=, 255
+ i32.and $push4=, $pop0, $pop3
+ i32.const $push5=, 2
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#2: # %lor.rhs
+ i32.load8_u $push7=, 2($0)
+ i32.const $push8=, 3
+ i32.ne $push11=, $pop7, $pop8
+ i32.const $push15=, 3
+ i32.add $push9=, $0, $pop15
+ i32.load8_u $push10=, 0($pop9)
+ i32.const $push12=, 4
+ i32.ne $push13=, $pop10, $pop12
+ i32.or $1=, $pop11, $pop13
+.LBB0_3: # %lor.end
+ end_block # label0:
+ return $1
+ .endfunc
+.Lfunc_end0:
+ .size checkScc2, .Lfunc_end0-checkScc2
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $0=, 1
+ block
+ i32.const $push15=, 0
+ i32.load8_u $push1=, s($pop15)
+ i32.const $push14=, 1
+ i32.ne $push2=, $pop1, $pop14
+ br_if $pop2, 0 # 0: down to label1
+# BB#1: # %entry
+ i32.const $push16=, 0
+ i32.load8_u $push0=, s+1($pop16)
+ i32.const $push3=, 255
+ i32.and $push4=, $pop0, $pop3
+ i32.const $push5=, 2
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label1
+# BB#2: # %lor.rhs.i
+ i32.const $push7=, 0
+ i32.load8_u $push8=, s+2($pop7)
+ i32.const $push10=, 3
+ i32.ne $push11=, $pop8, $pop10
+ i32.const $push17=, 0
+ i32.load8_u $push9=, s+3($pop17)
+ i32.const $push12=, 4
+ i32.ne $push13=, $pop9, $pop12
+ i32.or $0=, $pop11, $pop13
+.LBB1_3: # %checkScc2.exit
+ end_block # label1:
+ return $0
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden s # @s
+ .type s,@object
+ .section .data.s,"aw",@progbits
+ .globl s
+s:
+ .int8 1 # 0x1
+ .int8 2 # 0x2
+ .int8 3 # 0x3
+ .int8 4 # 0x4
+ .size s, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20041210-1.c.s b/test/torture-s/20041210-1.c.s
index 10f6ede50..79d2c6e64 100644
--- a/test/torture-s/20041210-1.c.s
+++ b/test/torture-s/20041210-1.c.s
@@ -6,31 +6,36 @@
.type main,@function
main: # @main
.result i32
- .local i32, i64, i64
+ .local i64
# BB#0: # %entry
- i32.const $0=, 0
- i64.load $1=, x($0)
- i64.const $2=, 32
block
- i32.wrap/i64 $push0=, $1
- i64.shr_u $push1=, $1, $2
- i32.wrap/i64 $push2=, $pop1
- i32.ge_s $push3=, $pop0, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push13=, 0
+ i64.load $push0=, x($pop13):p2align=4
+ tee_local $push12=, $0=, $pop0
+ i32.wrap/i64 $push1=, $pop12
+ i64.const $push11=, 32
+ i64.shr_u $push2=, $0, $pop11
+ i32.wrap/i64 $push3=, $pop2
+ i32.ge_s $push4=, $pop1, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.then
- i64.load $1=, x+8($0)
- i64.shr_u $push4=, $1, $2
- i64.and $push5=, $pop4, $1
- i32.wrap/i64 $push6=, $pop5
- i32.const $push7=, -1
- i32.gt_s $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label0
+ i32.const $push16=, 0
+ i64.load $push5=, x+8($pop16)
+ tee_local $push15=, $0=, $pop5
+ i64.const $push14=, 32
+ i64.shr_u $push6=, $pop15, $pop14
+ i64.and $push7=, $pop6, $0
+ i32.wrap/i64 $push8=, $pop7
+ i32.const $push9=, -1
+ i32.gt_s $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label0
# BB#2: # %if.then2
call abort@FUNCTION
unreachable
.LBB0_3: # %if.end3
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push17=, 0
+ call exit@FUNCTION, $pop17
unreachable
.endfunc
.Lfunc_end0:
@@ -40,7 +45,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 4
+ .p2align 4
x:
.int32 3221225472 # 0xc0000000
.int32 2147483647 # 0x7fffffff
diff --git a/test/torture-s/20041214-1.c.s b/test/torture-s/20041214-1.c.s
new file mode 100644
index 000000000..bda47d4aa
--- /dev/null
+++ b/test/torture-s/20041214-1.c.s
@@ -0,0 +1,151 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20041214-1.c"
+ .section .text.g,"ax",@progbits
+ .hidden g
+ .globl g
+ .type g,@function
+g: # @g
+ .param i32, i32, i32
+ .result i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $discard=, 12($6), $2
+ block
+ i32.load8_u $push0=, 0($1)
+ i32.const $push13=, 0
+ i32.eq $push14=, $pop0, $pop13
+ br_if $pop14, 0 # 0: down to label0
+# BB#1: # %do_form_string.preheader
+ i32.const $push7=, 2
+ i32.add $1=, $1, $pop7
+.LBB0_2: # %do_form_string
+ # =>This Inner Loop Header: Depth=1
+ loop # label1:
+ i32.load $push1=, 12($6)
+ i32.const $push12=, 3
+ i32.add $push2=, $pop1, $pop12
+ i32.const $push11=, -4
+ i32.and $push3=, $pop2, $pop11
+ tee_local $push10=, $2=, $pop3
+ i32.const $push9=, 4
+ i32.add $push4=, $pop10, $pop9
+ i32.store $discard=, 12($6), $pop4
+ i32.load $push5=, 0($2)
+ i32.call $discard=, strcpy@FUNCTION, $0, $pop5
+ i32.load8_u $2=, 0($1)
+ i32.const $push8=, 2
+ i32.add $1=, $1, $pop8
+ br_if $2, 0 # 0: up to label1
+.LBB0_3: # %all_done
+ end_loop # label2:
+ end_block # label0:
+ i32.const $push6=, 0
+ i32.const $5=, 16
+ i32.add $6=, $6, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return $pop6
+ .endfunc
+.Lfunc_end0:
+ .size g, .Lfunc_end0-g
+
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push0=, 12($5), $6
+ i32.call $discard=, g@FUNCTION, $0, $1, $pop0
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+ .endfunc
+.Lfunc_end1:
+ .size f, .Lfunc_end1-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 32
+ i32.sub $11=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $11=, 0($7), $11
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 8
+ i32.sub $11=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $11=, 0($3), $11
+ i32.const $push0=, .L.str.1
+ i32.store $0=, 0($11), $pop0
+ i32.const $push1=, 4
+ i32.add $1=, $11, $pop1
+ i32.const $push2=, 0
+ i32.store $1=, 0($1), $pop2
+ i32.const $push3=, .L.str
+ i32.const $9=, 22
+ i32.add $9=, $11, $9
+ call f@FUNCTION, $9, $pop3
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 8
+ i32.add $11=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $11=, 0($5), $11
+ i32.const $10=, 22
+ i32.add $10=, $11, $10
+ i32.call $0=, strcmp@FUNCTION, $10, $0
+ block
+ br_if $0, 0 # 0: down to label3
+# BB#1: # %if.end
+ i32.const $8=, 32
+ i32.add $11=, $11, $8
+ i32.const $8=, __stack_pointer
+ i32.store $11=, 0($8), $11
+ return $1
+.LBB2_2: # %if.then
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "%s"
+ .size .L.str, 3
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "asdf"
+ .size .L.str.1, 5
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20041218-1.c.s b/test/torture-s/20041218-1.c.s
index ec81a6b62..3d3e780eb 100644
--- a/test/torture-s/20041218-1.c.s
+++ b/test/torture-s/20041218-1.c.s
@@ -36,13 +36,12 @@ dummy2: # @dummy2
baz: # @baz
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, baz.v
- i32.const $push1=, 85
- i32.const $push0=, 44
- call memset@FUNCTION, $1, $pop1, $pop0
- return $1
+ i32.const $push0=, baz.v
+ i32.const $push2=, 85
+ i32.const $push1=, 44
+ i32.call $push3=, memset@FUNCTION, $pop0, $pop2, $pop1
+ return $pop3
.endfunc
.Lfunc_end2:
.size baz, .Lfunc_end2-baz
@@ -74,7 +73,7 @@ check: # @check
# BB#4: # %lor.lhs.false8
i32.const $push8=, 16
i32.add $push9=, $1, $pop8
- i32.load8_u $push10=, 0($pop9)
+ i32.load8_u $push10=, 0($pop9):p2align=2
br_if $pop10, 0 # 0: down to label0
# BB#5: # %if.end
i32.const $push11=, 1
@@ -96,35 +95,27 @@ foo: # @foo
.result i32
.local i32
# BB#0: # %for.cond
- block
- block
i32.const $push0=, 0
i32.store $3=, 0($2), $pop0
- i32.const $push8=, 0
- i32.eq $push9=, $1, $pop8
- br_if $pop9, 0 # 0: down to label2
+ block
+ block
+ i32.const $push9=, 0
+ i32.eq $push10=, $1, $pop9
+ br_if $pop10, 0 # 0: down to label2
# BB#1: # %for.body
i32.const $2=, 1
i32.load $push1=, 0($0)
- i32.ne $push2=, $pop1, $2
+ i32.const $push7=, 1
+ i32.ne $push2=, $pop1, $pop7
br_if $pop2, 1 # 1: down to label1
# BB#2: # %sw.bb
- i64.const $push3=, 6148914691236517205
- i64.store $push4=, baz.v+16($3), $pop3
- i64.store $push5=, baz.v+8($3), $pop4
- i64.store $discard=, baz.v($3), $pop5
- i32.const $push6=, 1
- i32.store $discard=, baz.v($3), $pop6
- i32.store $2=, baz.v+4($3), $3
- i64.const $push7=, 0
- i64.store $discard=, baz.v+16($2), $pop7
- i32.store $discard=, baz.v+12($2), $2
- i32.store $discard=, baz.v+8($2), $2
- i32.store $discard=, baz.v+24($2), $2
- i32.store $discard=, baz.v+40($2), $2
- i32.store $discard=, baz.v+36($2), $2
- i32.store $discard=, baz.v+32($2), $2
- i32.store $discard=, baz.v+28($2), $2
+ i32.const $push4=, 0
+ i32.const $push3=, 1
+ i32.store $discard=, baz.v($pop4), $pop3
+ i32.const $push6=, baz.v+4
+ i32.const $push8=, 0
+ i32.const $push5=, 40
+ i32.call $discard=, memset@FUNCTION, $pop6, $pop8, $pop5
i32.call $discard=, dummy2@FUNCTION, $2, $2
unreachable
.LBB4_3: # %for.end
@@ -145,20 +136,13 @@ main: # @main
.result i32
.local i32
# BB#0: # %sw.bb.i
- i32.const $0=, 0
- i64.const $push0=, 6148914691236517205
- i64.store $discard=, baz.v($0), $pop0
- i64.const $push1=, 1
- i64.store $discard=, baz.v($0), $pop1
- i32.store $discard=, baz.v+20($0), $0
- i32.store $discard=, baz.v+16($0), $0
- i32.store $discard=, baz.v+12($0), $0
- i32.store $discard=, baz.v+8($0), $0
- i32.store $discard=, baz.v+24($0), $0
- i32.store $discard=, baz.v+40($0), $0
- i32.store $discard=, baz.v+36($0), $0
- i32.store $discard=, baz.v+32($0), $0
- i32.store $discard=, baz.v+28($0), $0
+ i32.const $push1=, 0
+ i32.const $push0=, 1
+ i32.store $discard=, baz.v($pop1), $pop0
+ i32.const $push3=, baz.v+4
+ i32.const $push4=, 0
+ i32.const $push2=, 40
+ i32.call $discard=, memset@FUNCTION, $pop3, $pop4, $pop2
i32.call $discard=, dummy2@FUNCTION, $0, $0
unreachable
.endfunc
@@ -172,13 +156,6 @@ main: # @main
.size .L.str, 1
.type baz.v,@object # @baz.v
- .lcomm baz.v,44,3
- .type bar.t,@object # @bar.t
- .section .rodata.cst16,"aM",@progbits,16
- .align 2
-bar.t:
- .skip 16
- .size bar.t, 16
-
+ .lcomm baz.v,44,2
.ident "clang version 3.9.0 "
diff --git a/test/torture-s/20050106-1.c.s b/test/torture-s/20050106-1.c.s
index 582fedcdb..6bee89930 100644
--- a/test/torture-s/20050106-1.c.s
+++ b/test/torture-s/20050106-1.c.s
@@ -6,16 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load16_s $push0=, u($0)
+ i32.const $push3=, 0
+ i32.load16_s $push0=, u($pop3):p2align=2
i32.const $push1=, -1
i32.le_s $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -28,7 +28,7 @@ main: # @main
.type u,@object
.section .bss.u,"aw",@nobits
.globl u
- .align 2
+ .p2align 2
u:
.int32 0 # 0x0
.size u, 4
diff --git a/test/torture-s/20050121-1.c.s b/test/torture-s/20050121-1.c.s
index 2642c8d49..747d4a7d9 100644
--- a/test/torture-s/20050121-1.c.s
+++ b/test/torture-s/20050121-1.c.s
@@ -102,46 +102,44 @@ baz_double: # @baz_double
.type foo_ldouble_t,@function
foo_ldouble_t: # @foo_ldouble_t
.param i32, i32
- .local i32, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i64, i64, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 32
+ i32.sub $11=, $6, $7
i32.const $7=, __stack_pointer
- i32.load $7=, 0($7)
- i32.const $8=, 32
- i32.sub $12=, $7, $8
- i32.const $8=, __stack_pointer
- i32.store $12=, 0($8), $12
+ i32.store $11=, 0($7), $11
i32.const $push0=, 1
i32.add $push1=, $1, $pop0
+ i32.const $9=, 16
+ i32.add $9=, $11, $9
+ call __floatsitf@FUNCTION, $9, $pop1
+ i32.const $push2=, 8
i32.const $10=, 16
- i32.add $10=, $12, $10
- call __floatsitf@FUNCTION, $10, $pop1
- i32.const $2=, 8
- i32.const $11=, 16
- i32.add $11=, $12, $11
- i32.add $push2=, $11, $2
- i64.load $3=, 0($pop2)
- i64.load $4=, 16($12)
- i32.const $push3=, -1
- i32.add $push4=, $1, $pop3
- i32.const $12=, 0
- i32.add $12=, $12, $12
- call __floatsitf@FUNCTION, $12, $pop4
- i32.const $13=, 0
- i32.add $13=, $12, $13
- i32.add $push5=, $13, $2
- i64.load $5=, 0($pop5)
- i64.load $6=, 0($12)
- i32.add $push6=, $0, $2
- i64.store $discard=, 0($pop6), $3
- i32.const $push7=, 24
- i32.add $push8=, $0, $pop7
- i64.store $discard=, 0($pop8), $5
- i64.store $discard=, 0($0), $4
- i64.store $discard=, 16($0), $6
- i32.const $9=, 32
- i32.add $12=, $12, $9
- i32.const $9=, __stack_pointer
- i32.store $12=, 0($9), $12
+ i32.add $10=, $11, $10
+ i32.add $push3=, $10, $pop2
+ i64.load $2=, 0($pop3)
+ i64.load $3=, 16($11)
+ i32.const $push4=, -1
+ i32.add $push5=, $1, $pop4
+ call __floatsitf@FUNCTION, $11, $pop5
+ i32.const $push11=, 8
+ i32.add $push6=, $11, $pop11
+ i64.load $4=, 0($pop6)
+ i64.load $5=, 0($11)
+ i32.const $push10=, 8
+ i32.add $push7=, $0, $pop10
+ i64.store $discard=, 0($pop7), $2
+ i32.const $push8=, 24
+ i32.add $push9=, $0, $pop8
+ i64.store $discard=, 0($pop9), $4
+ i64.store $discard=, 0($0):p2align=4, $3
+ i64.store $discard=, 16($0):p2align=4, $5
+ i32.const $8=, 32
+ i32.add $11=, $11, $8
+ i32.const $8=, __stack_pointer
+ i32.store $11=, 0($8), $11
return
.endfunc
.Lfunc_end6:
@@ -155,7 +153,7 @@ bar_ldouble_t: # @bar_ldouble_t
.param i32
# BB#0: # %entry
i64.const $push0=, 0
- i64.store $discard=, 0($0), $pop0
+ i64.store $discard=, 0($0):p2align=4, $pop0
i32.const $push1=, 8
i32.add $push2=, $0, $pop1
i64.const $push3=, 4612108230892453888
@@ -173,7 +171,7 @@ baz_ldouble_t: # @baz_ldouble_t
.param i32
# BB#0: # %entry
i64.const $push0=, 0
- i64.store $discard=, 0($0), $pop0
+ i64.store $discard=, 0($0):p2align=4, $pop0
i32.const $push1=, 8
i32.add $push2=, $0, $pop1
i64.const $push3=, 4611967493404098560
diff --git a/test/torture-s/20050124-1.c.s b/test/torture-s/20050124-1.c.s
index f520e79ff..3cbe6995c 100644
--- a/test/torture-s/20050124-1.c.s
+++ b/test/torture-s/20050124-1.c.s
@@ -9,9 +9,9 @@ foo: # @foo
.result i32
.local i32
# BB#0: # %entry
- block
i32.const $push0=, 1
i32.add $2=, $0, $pop0
+ block
i32.const $push7=, 0
i32.eq $push8=, $1, $pop7
br_if $pop8, 0 # 0: down to label0
diff --git a/test/torture-s/20050125-1.c.s b/test/torture-s/20050125-1.c.s
index 03f27d046..0ec1b9d89 100644
--- a/test/torture-s/20050125-1.c.s
+++ b/test/torture-s/20050125-1.c.s
@@ -23,25 +23,26 @@ bracket_empty: # @bracket_empty
.param i32
.local i32
# BB#0: # %entry
- i32.load $1=, 0($0)
block
- i32.load $push0=, 4($0)
- i32.ge_u $push1=, $1, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.load $push0=, 0($0)
+ tee_local $push9=, $1=, $pop0
+ i32.load $push1=, 4($0)
+ i32.ge_u $push2=, $pop9, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %land.lhs.true
- i32.const $push2=, 1
- i32.add $push3=, $1, $pop2
- i32.store $discard=, 0($0), $pop3
- i32.load8_u $push4=, 0($1)
- i32.const $push5=, 93
- i32.ne $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push3=, 1
+ i32.add $push4=, $1, $pop3
+ i32.store $discard=, 0($0), $pop4
+ i32.load8_u $push5=, 0($1)
+ i32.const $push6=, 93
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#2: # %if.end
return
.LBB1_3: # %lor.lhs.false
end_block # label0:
- i32.const $push7=, 7
- i32.store $discard=, 8($0), $pop7
+ i32.const $push8=, 7
+ i32.store $discard=, 8($0), $pop8
return
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/20050215-1.c.s b/test/torture-s/20050215-1.c.s
index 343bfc994..f1057e5d9 100644
--- a/test/torture-s/20050215-1.c.s
+++ b/test/torture-s/20050215-1.c.s
@@ -6,39 +6,42 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, v
block
block
block
+ i32.const $push13=, v
i32.const $push0=, 4
- i32.and $push1=, $0, $pop0
- i32.const $push12=, 0
- i32.eq $push13=, $pop1, $pop12
- br_if $pop13, 0 # 0: down to label2
+ i32.and $push1=, $pop13, $pop0
+ i32.const $push18=, 0
+ i32.eq $push19=, $pop1, $pop18
+ br_if $pop19, 0 # 0: down to label2
# BB#1: # %if.then
- i32.const $push9=, 7
- i32.and $push10=, $0, $pop9
- br_if $pop10, 1 # 1: down to label1
+ i32.const $push17=, v
+ i32.const $push10=, 7
+ i32.and $push11=, $pop17, $pop10
+ br_if $pop11, 1 # 1: down to label1
br 2 # 2: down to label0
.LBB0_2: # %lor.lhs.false
end_block # label2:
- i32.const $1=, 0
- i32.const $push5=, 1
- i32.and $push6=, $0, $pop5
- i32.eq $push7=, $pop6, $1
+ i32.const $push16=, v
+ i32.const $push6=, 1
+ i32.and $push7=, $pop16, $pop6
+ i32.const $push4=, 0
+ i32.eq $push8=, $pop7, $pop4
+ i32.const $push15=, v
i32.const $push2=, 7
- i32.and $push3=, $0, $pop2
- i32.ne $push4=, $pop3, $1
- i32.or $push8=, $pop7, $pop4
+ i32.and $push3=, $pop15, $pop2
i32.const $push14=, 0
- i32.eq $push15=, $pop8, $pop14
- br_if $pop15, 1 # 1: down to label0
+ i32.ne $push5=, $pop3, $pop14
+ i32.or $push9=, $pop8, $pop5
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop9, $pop20
+ br_if $pop21, 1 # 1: down to label0
.LBB0_3: # %if.end3
end_block # label1:
- i32.const $push11=, 0
- return $pop11
+ i32.const $push12=, 0
+ return $pop12
.LBB0_4: # %if.then2
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/20050218-1.c.s b/test/torture-s/20050218-1.c.s
index bec3f3c60..2b1d59364 100644
--- a/test/torture-s/20050218-1.c.s
+++ b/test/torture-s/20050218-1.c.s
@@ -9,49 +9,50 @@ foo: # @foo
.result i32
.local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $4=, 0
+ i32.const $7=, 0
block
- i32.const $push5=, 0
- i32.eq $push6=, $2, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push8=, 0
+ i32.eq $push9=, $2, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#1: # %for.body.lr.ph
- i32.const $7=, 0
- i32.const $6=, a
- copy_local $8=, $7
+ i32.const $5=, 0
+ i32.const $4=, a
+ i32.const $6=, 0
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.load $4=, 0($6)
- i32.call $3=, strlen@FUNCTION, $4
- i32.add $push0=, $0, $7
- i32.call $5=, strncmp@FUNCTION, $pop0, $4, $3
- i32.const $4=, 2
- br_if $5, 1 # 1: down to label2
+ i32.load $3=, 0($4)
+ i32.const $7=, 2
+ i32.add $push1=, $0, $5
+ i32.call $push0=, strlen@FUNCTION, $3
+ tee_local $push5=, $8=, $pop0
+ i32.call $push2=, strncmp@FUNCTION, $pop1, $3, $pop5
+ br_if $pop2, 1 # 1: down to label2
# BB#3: # %if.end
# in Loop: Header=BB0_2 Depth=1
- i32.add $7=, $3, $7
+ i32.add $5=, $8, $5
block
- i32.const $push7=, 0
- i32.eq $push8=, $1, $pop7
- br_if $pop8, 0 # 0: down to label3
+ i32.const $push10=, 0
+ i32.eq $push11=, $1, $pop10
+ br_if $pop11, 0 # 0: down to label3
# BB#4: # %if.then6
# in Loop: Header=BB0_2 Depth=1
- i32.call $push1=, strlen@FUNCTION, $1
- i32.add $7=, $pop1, $7
+ i32.call $push3=, strlen@FUNCTION, $1
+ i32.add $5=, $pop3, $5
.LBB0_5: # %for.inc
# in Loop: Header=BB0_2 Depth=1
end_block # label3:
- i32.const $push2=, 1
- i32.add $8=, $8, $pop2
- i32.const $push3=, 4
- i32.add $6=, $6, $pop3
- i32.const $4=, 0
- i32.lt_u $push4=, $8, $2
+ i32.const $push7=, 1
+ i32.add $6=, $6, $pop7
+ i32.const $push6=, 4
+ i32.add $4=, $4, $pop6
+ i32.const $7=, 0
+ i32.lt_u $push4=, $6, $2
br_if $pop4, 0 # 0: up to label1
.LBB0_6: # %cleanup
end_loop # label2:
end_block # label0:
- return $4
+ return $7
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -62,30 +63,37 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $3=, a($2)
- i32.call $0=, strlen@FUNCTION, $3
- i32.const $4=, .L.str.4
+ i32.const $push12=, 0
+ i32.load $0=, a($pop12):p2align=4
block
- i32.call $push0=, strncmp@FUNCTION, $4, $3, $0
- br_if $pop0, 0 # 0: down to label4
-# BB#1: # %if.end.i
- i32.load $3=, a+4($2)
- i32.call $1=, strlen@FUNCTION, $3
- i32.add $push1=, $4, $0
- i32.call $push2=, strncmp@FUNCTION, $pop1, $3, $1
+ i32.const $push11=, .L.str.4
+ i32.call $push0=, strlen@FUNCTION, $0
+ tee_local $push10=, $1=, $pop0
+ i32.call $push2=, strncmp@FUNCTION, $pop11, $0, $pop10
br_if $pop2, 0 # 0: down to label4
+# BB#1: # %if.end.i
+ i32.const $push15=, 0
+ i32.load $0=, a+4($pop15)
+ i32.const $push14=, .L.str.4
+ i32.add $push3=, $1, $pop14
+ i32.call $push1=, strlen@FUNCTION, $0
+ tee_local $push13=, $2=, $pop1
+ i32.call $push4=, strncmp@FUNCTION, $pop3, $0, $pop13
+ br_if $pop4, 0 # 0: down to label4
# BB#2: # %if.end.i.1
- i32.load $3=, a+8($2)
- i32.add $push3=, $1, $0
- i32.add $push4=, $4, $pop3
- i32.call $push5=, strlen@FUNCTION, $3
- i32.call $push6=, strncmp@FUNCTION, $pop4, $3, $pop5
- br_if $pop6, 0 # 0: down to label4
+ i32.const $push16=, 0
+ i32.load $0=, a+8($pop16):p2align=3
+ i32.add $push5=, $2, $1
+ i32.const $push6=, .L.str.4
+ i32.add $push7=, $pop5, $pop6
+ i32.call $push8=, strlen@FUNCTION, $0
+ i32.call $push9=, strncmp@FUNCTION, $pop7, $0, $pop8
+ br_if $pop9, 0 # 0: down to label4
# BB#3: # %if.end.i.2
- return $2
+ i32.const $push17=, 0
+ return $pop17
.LBB1_4: # %if.then
end_block # label4:
call abort@FUNCTION
@@ -119,7 +127,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 4
+ .p2align 4
a:
.int32 .L.str
.int32 .L.str.1
diff --git a/test/torture-s/20050224-1.c.s b/test/torture-s/20050224-1.c.s
index f07bf295b..ad399fc15 100644
--- a/test/torture-s/20050224-1.c.s
+++ b/test/torture-s/20050224-1.c.s
@@ -37,74 +37,82 @@ main: # @main
.result i32
.local i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, 0
- i32.load $5=, a($8)
- i32.load $0=, b($8)
+ i32.const $6=, 0
block
- i32.ge_u $push0=, $5, $0
- br_if $pop0, 0 # 0: down to label1
+ i32.const $push18=, 0
+ i32.load $push14=, a($pop18)
+ tee_local $push17=, $8=, $pop14
+ i32.const $push16=, 0
+ i32.load $push0=, b($pop16)
+ tee_local $push15=, $7=, $pop0
+ i32.ge_u $push1=, $pop17, $pop15
+ br_if $pop1, 0 # 0: down to label1
# BB#1: # %for.body.lr.ph
- i32.load $1=, c($8)
- i32.load $2=, d($8)
- i32.load $3=, e($8)
- i32.load $4=, f($8)
- copy_local $7=, $8
- copy_local $6=, $8
+ i32.const $push22=, 0
+ i32.load $0=, c($pop22)
+ i32.const $push21=, 0
+ i32.load $1=, d($pop21)
+ i32.const $push20=, 0
+ i32.load $2=, e($pop20)
+ i32.const $push19=, 0
+ i32.load $3=, f($pop19)
+ i32.const $5=, 0
+ i32.const $4=, 0
.LBB1_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label2:
block
block
- i32.ge_u $push1=, $5, $1
- br_if $pop1, 0 # 0: down to label5
+ i32.ge_u $push2=, $8, $0
+ br_if $pop2, 0 # 0: down to label5
# BB#3: # %if.then
# in Loop: Header=BB1_2 Depth=1
- i32.const $push6=, 1
- i32.add $6=, $6, $pop6
+ i32.const $push23=, 1
+ i32.add $4=, $4, $pop23
br 1 # 1: down to label4
.LBB1_4: # %if.else
# in Loop: Header=BB1_2 Depth=1
end_block # label5:
block
- i32.lt_u $push2=, $5, $2
- br_if $pop2, 0 # 0: down to label6
+ i32.lt_u $push3=, $8, $1
+ br_if $pop3, 0 # 0: down to label6
# BB#5: # %if.else
# in Loop: Header=BB1_2 Depth=1
- i32.ge_u $push3=, $5, $3
- br_if $pop3, 0 # 0: down to label6
+ i32.ge_u $push4=, $8, $2
+ br_if $pop4, 0 # 0: down to label6
# BB#6: # %if.then4
# in Loop: Header=BB1_2 Depth=1
- i32.const $push5=, 1
- i32.add $8=, $8, $pop5
+ i32.const $push24=, 1
+ i32.add $6=, $6, $pop24
br 1 # 1: down to label4
.LBB1_7: # %if.else6
# in Loop: Header=BB1_2 Depth=1
end_block # label6:
- i32.lt_u $push4=, $5, $4
- i32.add $7=, $pop4, $7
+ i32.lt_u $push5=, $8, $3
+ i32.add $5=, $pop5, $5
.LBB1_8: # %for.inc
# in Loop: Header=BB1_2 Depth=1
end_block # label4:
- i32.const $push7=, 4096
- i32.add $5=, $5, $pop7
- i32.lt_u $push8=, $5, $0
- br_if $pop8, 0 # 0: up to label2
+ i32.const $push25=, 4096
+ i32.add $8=, $8, $pop25
+ i32.lt_u $push6=, $8, $7
+ br_if $pop6, 0 # 0: up to label2
# BB#9: # %for.end
end_loop # label3:
- i32.const $push9=, 444
- i32.ne $push10=, $6, $pop9
- br_if $pop10, 0 # 0: down to label1
+ i32.const $push7=, 444
+ i32.ne $push8=, $4, $pop7
+ br_if $pop8, 0 # 0: down to label1
# BB#10: # %for.end
- i32.const $push11=, 245
- i32.ne $push12=, $7, $pop11
- br_if $pop12, 0 # 0: down to label1
+ i32.const $push9=, 245
+ i32.ne $push10=, $5, $pop9
+ br_if $pop10, 0 # 0: down to label1
# BB#11: # %for.end
- i32.const $push13=, 36
- i32.ne $push14=, $8, $pop13
- br_if $pop14, 0 # 0: down to label1
+ i32.const $push11=, 36
+ i32.ne $push12=, $6, $pop11
+ br_if $pop12, 0 # 0: down to label1
# BB#12: # %foo.exit
- i32.const $push15=, 0
- return $pop15
+ i32.const $push13=, 0
+ return $pop13
.LBB1_13: # %if.then.i
end_block # label1:
call abort@FUNCTION
@@ -117,7 +125,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 3221225472 # 0xc0000000
.size a, 4
@@ -126,7 +134,7 @@ a:
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 3489660928 # 0xd0000000
.size b, 4
@@ -135,7 +143,7 @@ b:
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 2
+ .p2align 2
c:
.int32 3223042392 # 0xc01bb958
.size c, 4
@@ -144,7 +152,7 @@ c:
.type d,@object
.section .data.d,"aw",@progbits
.globl d
- .align 2
+ .p2align 2
d:
.int32 3223732224 # 0xc0264000
.size d, 4
@@ -153,7 +161,7 @@ d:
.type e,@object
.section .data.e,"aw",@progbits
.globl e
- .align 2
+ .p2align 2
e:
.int32 3223879680 # 0xc0288000
.size e, 4
@@ -162,7 +170,7 @@ e:
.type f,@object
.section .data.f,"aw",@progbits
.globl f
- .align 2
+ .p2align 2
f:
.int32 3224191864 # 0xc02d4378
.size f, 4
diff --git a/test/torture-s/20050316-1.c.s b/test/torture-s/20050316-1.c.s
index 3a28c1613..741a58eaa 100644
--- a/test/torture-s/20050316-1.c.s
+++ b/test/torture-s/20050316-1.c.s
@@ -36,8 +36,8 @@ test3: # @test3
i32.const $push0=, 4
i32.add $push1=, $0, $pop0
i32.const $push2=, 0
- i32.store $push3=, 0($pop1), $pop2
- i32.store $discard=, 0($0), $pop3
+ i32.store $push3=, 0($pop1):p2align=3, $pop2
+ i32.store $discard=, 0($0):p2align=3, $pop3
return
.endfunc
.Lfunc_end2:
@@ -71,8 +71,8 @@ test5: # @test5
# BB#0: # %entry
i32.const $push0=, 4
i32.add $push1=, $0, $pop0
- i32.store $discard=, 0($pop1), $2
- i32.store $discard=, 0($0), $1
+ i32.store $discard=, 0($pop1):p2align=3, $2
+ i32.store $discard=, 0($0):p2align=3, $1
return
.endfunc
.Lfunc_end4:
diff --git a/test/torture-s/20050316-3.c.s b/test/torture-s/20050316-3.c.s
index 576e077f0..d5374d209 100644
--- a/test/torture-s/20050316-3.c.s
+++ b/test/torture-s/20050316-3.c.s
@@ -9,8 +9,8 @@ test1: # @test1
# BB#0: # %entry
i32.const $push0=, 4
i32.add $push1=, $0, $pop0
- i32.store $discard=, 0($pop1), $2
- i32.store $discard=, 0($0), $1
+ i32.store $discard=, 0($pop1):p2align=3, $2
+ i32.store $discard=, 0($0):p2align=3, $1
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/20050410-1.c.s b/test/torture-s/20050410-1.c.s
index 5b6080966..497d6be68 100644
--- a/test/torture-s/20050410-1.c.s
+++ b/test/torture-s/20050410-1.c.s
@@ -6,18 +6,18 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 24
i32.const $push0=, 0
i32.load $push1=, s($pop0)
- i32.shl $push2=, $pop1, $0
- i32.const $push3=, -1677721600
- i32.add $push4=, $pop2, $pop3
- i32.shr_s $push5=, $pop4, $0
- i32.const $push6=, -5
- i32.add $push7=, $pop5, $pop6
- return $pop7
+ i32.const $push2=, 24
+ i32.shl $push3=, $pop1, $pop2
+ i32.const $push4=, -1677721600
+ i32.add $push5=, $pop3, $pop4
+ i32.const $push9=, 24
+ i32.shr_s $push6=, $pop5, $pop9
+ i32.const $push7=, -5
+ i32.add $push8=, $pop6, $pop7
+ return $pop8
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -50,7 +50,7 @@ main: # @main
.type s,@object
.section .data.s,"aw",@progbits
.globl s
- .align 2
+ .p2align 2
s:
.int32 200 # 0xc8
.size s, 4
diff --git a/test/torture-s/20050502-1.c.s b/test/torture-s/20050502-1.c.s
index bb4668ade..c6a082fe2 100644
--- a/test/torture-s/20050502-1.c.s
+++ b/test/torture-s/20050502-1.c.s
@@ -9,12 +9,13 @@ bar: # @bar
.result i32
.local i32
# BB#0: # %entry
- i32.load $1=, 0($0)
- i32.const $push0=, 1
- i32.add $push1=, $1, $pop0
- i32.store $discard=, 0($0), $pop1
- i32.load8_s $push2=, 0($1)
- return $pop2
+ i32.load $push0=, 0($0)
+ tee_local $push4=, $1=, $pop0
+ i32.const $push1=, 1
+ i32.add $push2=, $pop4, $pop1
+ i32.store $discard=, 0($0), $pop2
+ i32.load8_s $push3=, 0($1)
+ return $pop3
.endfunc
.Lfunc_end0:
.size bar, .Lfunc_end0-bar
@@ -40,27 +41,29 @@ baz: # @baz
.type foo,@function
foo: # @foo
.param i32, i32, i32, i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
i32.call $push1=, bar@FUNCTION, $0
i32.store8 $discard=, 0($1), $pop1
- i32.call $9=, bar@FUNCTION, $0
- i32.const $5=, 255
- i32.and $10=, $9, $5
- i32.const $6=, 39
- i32.const $11=, 1
+ i32.const $6=, 1
block
- i32.eq $push2=, $10, $6
- i32.and $push3=, $pop2, $2
- br_if $pop3, 0 # 0: down to label0
+ i32.call $push20=, bar@FUNCTION, $0
+ tee_local $push22=, $7=, $pop20
+ i32.const $push2=, 255
+ i32.and $push3=, $pop22, $pop2
+ tee_local $push21=, $5=, $pop3
+ i32.const $push4=, 39
+ i32.eq $push5=, $pop21, $pop4
+ i32.and $push6=, $pop5, $2
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %entry
- i32.const $7=, 34
- i32.eq $push4=, $10, $7
- i32.and $push0=, $pop4, $3
+ i32.const $push7=, 34
+ i32.eq $push8=, $5, $pop7
+ i32.and $push0=, $pop8, $3
br_if $pop0, 0 # 0: down to label0
# BB#2: # %if.end14.lr.ph
i32.or $4=, $2, $3
- i32.const $10=, 1
+ i32.const $5=, 1
.LBB2_3: # %if.end14
# =>This Inner Loop Header: Depth=1
loop # label1:
@@ -68,40 +71,45 @@ foo: # @foo
br_if $4, 0 # 0: down to label3
# BB#4: # %land.lhs.true18
# in Loop: Header=BB2_3 Depth=1
- i32.const $8=, 24
- i32.shl $push5=, $9, $8
- i32.shr_s $push6=, $pop5, $8
- i32.call $8=, baz@FUNCTION, $pop6
- copy_local $11=, $10
- i32.const $push15=, 0
- i32.eq $push16=, $8, $pop15
- br_if $pop16, 2 # 2: down to label2
+ copy_local $6=, $5
+ i32.const $push24=, 24
+ i32.shl $push9=, $7, $pop24
+ i32.const $push23=, 24
+ i32.shr_s $push10=, $pop9, $pop23
+ i32.call $push11=, baz@FUNCTION, $pop10
+ i32.const $push30=, 0
+ i32.eq $push31=, $pop11, $pop30
+ br_if $pop31, 2 # 2: down to label2
.LBB2_5: # %while.body.backedge
# in Loop: Header=BB2_3 Depth=1
end_block # label3:
- i32.add $push9=, $1, $10
- i32.store8 $discard=, 0($pop9), $9
- i32.const $push8=, 1
- i32.add $11=, $10, $pop8
- i32.call $9=, bar@FUNCTION, $0
- i32.and $8=, $9, $5
- i32.eq $push10=, $8, $6
- i32.and $push11=, $pop10, $2
- br_if $pop11, 1 # 1: down to label2
+ i32.add $push13=, $1, $5
+ i32.store8 $discard=, 0($pop13), $7
+ i32.const $push28=, 1
+ i32.add $6=, $5, $pop28
+ i32.call $7=, bar@FUNCTION, $0
+ i32.const $push27=, 255
+ i32.and $push14=, $7, $pop27
+ tee_local $push26=, $8=, $pop14
+ i32.const $push25=, 39
+ i32.eq $push15=, $pop26, $pop25
+ i32.and $push16=, $pop15, $2
+ br_if $pop16, 1 # 1: down to label2
# BB#6: # %while.body.backedge
# in Loop: Header=BB2_3 Depth=1
- copy_local $10=, $11
- i32.eq $push12=, $8, $7
- i32.and $push7=, $pop12, $3
- i32.const $push17=, 0
- i32.eq $push18=, $pop7, $pop17
- br_if $pop18, 0 # 0: up to label1
+ copy_local $5=, $6
+ i32.const $push29=, 34
+ i32.eq $push17=, $8, $pop29
+ i32.and $push12=, $pop17, $3
+ i32.const $push32=, 0
+ i32.eq $push33=, $pop12, $pop32
+ br_if $pop33, 0 # 0: up to label1
.LBB2_7: # %while.end
end_loop # label2:
end_block # label0:
- i32.add $push13=, $1, $11
- i32.const $push14=, 0
- i32.store8 $discard=, 0($pop13), $pop14
+ i32.add $push18=, $1, $6
+ i32.const $push19=, 0
+ i32.store8 $discard=, 0($pop18), $pop19
return
.endfunc
.Lfunc_end2:
@@ -113,116 +121,125 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
- i32.const $3=, 80
- i32.sub $20=, $2, $3
- i32.const $3=, __stack_pointer
- i32.store $20=, 0($3), $20
- i32.const $0=, 0
- i32.const $1=, 1
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 80
+ i32.sub $18=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $18=, 0($1), $18
i32.const $push0=, .L.str
- i32.store $discard=, 12($20), $pop0
- i32.const $5=, 12
- i32.add $5=, $20, $5
- i32.const $6=, 16
- i32.add $6=, $20, $6
- call foo@FUNCTION, $5, $6, $1, $0
+ i32.store $discard=, 12($18), $pop0
+ i32.const $push2=, 1
+ i32.const $push1=, 0
+ i32.const $3=, 12
+ i32.add $3=, $18, $3
+ i32.const $4=, 16
+ i32.add $4=, $18, $4
+ call foo@FUNCTION, $3, $4, $pop2, $pop1
block
- i32.load $push1=, 12($20)
- i32.const $push2=, .L.str.1
- i32.call $push3=, strcmp@FUNCTION, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label4
-# BB#1: # %lor.lhs.false
- i32.const $push4=, .L.str.2
- i32.const $7=, 16
- i32.add $7=, $20, $7
- i32.call $push5=, strcmp@FUNCTION, $7, $pop4
+ i32.load $push3=, 12($18)
+ i32.const $push4=, .L.str.1
+ i32.call $push5=, strcmp@FUNCTION, $pop3, $pop4
br_if $pop5, 0 # 0: down to label4
+# BB#1: # %lor.lhs.false
+ i32.const $push6=, .L.str.2
+ i32.const $5=, 16
+ i32.add $5=, $18, $5
+ i32.call $push7=, strcmp@FUNCTION, $5, $pop6
+ br_if $pop7, 0 # 0: down to label4
# BB#2: # %if.end
- i32.const $push6=, .L.str.3
- i32.store $discard=, 12($20), $pop6
- i32.const $8=, 12
- i32.add $8=, $20, $8
- i32.const $9=, 16
- i32.add $9=, $20, $9
- call foo@FUNCTION, $8, $9, $0, $1
+ i32.const $push8=, .L.str.3
+ i32.store $discard=, 12($18), $pop8
+ i32.const $push10=, 0
+ i32.const $push9=, 1
+ i32.const $6=, 12
+ i32.add $6=, $18, $6
+ i32.const $7=, 16
+ i32.add $7=, $18, $7
+ call foo@FUNCTION, $6, $7, $pop10, $pop9
block
- i32.load $push7=, 12($20)
- i32.const $push8=, .L.str.4
- i32.call $push9=, strcmp@FUNCTION, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label5
+ i32.load $push11=, 12($18)
+ i32.const $push12=, .L.str.4
+ i32.call $push13=, strcmp@FUNCTION, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label5
# BB#3: # %lor.lhs.false7
- i32.const $push10=, .L.str.5
- i32.const $10=, 16
- i32.add $10=, $20, $10
- i32.call $push11=, strcmp@FUNCTION, $10, $pop10
- br_if $pop11, 0 # 0: down to label5
+ i32.const $push14=, .L.str.5
+ i32.const $8=, 16
+ i32.add $8=, $18, $8
+ i32.call $push15=, strcmp@FUNCTION, $8, $pop14
+ br_if $pop15, 0 # 0: down to label5
# BB#4: # %if.end12
- i32.const $push12=, .L.str.6
- i32.store $discard=, 12($20), $pop12
- i32.const $11=, 12
- i32.add $11=, $20, $11
- i32.const $12=, 16
- i32.add $12=, $20, $12
- call foo@FUNCTION, $11, $12, $1, $1
+ i32.const $push16=, .L.str.6
+ i32.store $discard=, 12($18), $pop16
+ i32.const $push17=, 1
+ i32.const $push38=, 1
+ i32.const $9=, 12
+ i32.add $9=, $18, $9
+ i32.const $10=, 16
+ i32.add $10=, $18, $10
+ call foo@FUNCTION, $9, $10, $pop17, $pop38
block
- i32.load $push13=, 12($20)
- i32.const $push14=, .L.str.7
- i32.call $push15=, strcmp@FUNCTION, $pop13, $pop14
- br_if $pop15, 0 # 0: down to label6
+ i32.load $push18=, 12($18)
+ i32.const $push19=, .L.str.7
+ i32.call $push20=, strcmp@FUNCTION, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label6
# BB#5: # %lor.lhs.false16
- i32.const $push16=, .L.str.8
- i32.const $13=, 16
- i32.add $13=, $20, $13
- i32.call $push17=, strcmp@FUNCTION, $13, $pop16
- br_if $pop17, 0 # 0: down to label6
+ i32.const $push21=, .L.str.8
+ i32.const $11=, 16
+ i32.add $11=, $18, $11
+ i32.call $push22=, strcmp@FUNCTION, $11, $pop21
+ br_if $pop22, 0 # 0: down to label6
# BB#6: # %if.end21
- i32.const $push18=, .L.str.9
- i32.store $discard=, 12($20), $pop18
- i32.const $14=, 12
- i32.add $14=, $20, $14
- i32.const $15=, 16
- i32.add $15=, $20, $15
- call foo@FUNCTION, $14, $15, $1, $1
+ i32.const $push23=, .L.str.9
+ i32.store $discard=, 12($18), $pop23
+ i32.const $push24=, 1
+ i32.const $push39=, 1
+ i32.const $12=, 12
+ i32.add $12=, $18, $12
+ i32.const $13=, 16
+ i32.add $13=, $18, $13
+ call foo@FUNCTION, $12, $13, $pop24, $pop39
block
- i32.load $push19=, 12($20)
- i32.const $push20=, .L.str.10
- i32.call $push21=, strcmp@FUNCTION, $pop19, $pop20
- br_if $pop21, 0 # 0: down to label7
+ i32.load $push25=, 12($18)
+ i32.const $push26=, .L.str.10
+ i32.call $push27=, strcmp@FUNCTION, $pop25, $pop26
+ br_if $pop27, 0 # 0: down to label7
# BB#7: # %lor.lhs.false25
- i32.const $push22=, .L.str.11
- i32.const $16=, 16
- i32.add $16=, $20, $16
- i32.call $push23=, strcmp@FUNCTION, $16, $pop22
- br_if $pop23, 0 # 0: down to label7
+ i32.const $push28=, .L.str.11
+ i32.const $14=, 16
+ i32.add $14=, $18, $14
+ i32.call $push29=, strcmp@FUNCTION, $14, $pop28
+ br_if $pop29, 0 # 0: down to label7
# BB#8: # %if.end30
- i32.const $push24=, .L.str.12
- i32.store $discard=, 12($20), $pop24
- i32.const $17=, 12
- i32.add $17=, $20, $17
- i32.const $18=, 16
- i32.add $18=, $20, $18
- call foo@FUNCTION, $17, $18, $0, $0
+ i32.const $push30=, .L.str.12
+ i32.store $discard=, 12($18), $pop30
+ i32.const $push31=, 0
+ i32.const $push40=, 0
+ i32.const $15=, 12
+ i32.add $15=, $18, $15
+ i32.const $16=, 16
+ i32.add $16=, $18, $16
+ call foo@FUNCTION, $15, $16, $pop31, $pop40
block
- i32.load $push25=, 12($20)
- i32.const $push26=, .L.str.13
- i32.call $push27=, strcmp@FUNCTION, $pop25, $pop26
- br_if $pop27, 0 # 0: down to label8
+ i32.load $push32=, 12($18)
+ i32.const $push33=, .L.str.13
+ i32.call $push34=, strcmp@FUNCTION, $pop32, $pop33
+ br_if $pop34, 0 # 0: down to label8
# BB#9: # %lor.lhs.false34
- i32.const $push28=, .L.str.14
- i32.const $19=, 16
- i32.add $19=, $20, $19
- i32.call $push29=, strcmp@FUNCTION, $19, $pop28
- br_if $pop29, 0 # 0: down to label8
+ i32.const $push35=, .L.str.14
+ i32.const $17=, 16
+ i32.add $17=, $18, $17
+ i32.call $push36=, strcmp@FUNCTION, $17, $pop35
+ br_if $pop36, 0 # 0: down to label8
# BB#10: # %if.end39
- i32.const $4=, 80
- i32.add $20=, $20, $4
- i32.const $4=, __stack_pointer
- i32.store $20=, 0($4), $20
- return $0
+ i32.const $push37=, 0
+ i32.const $2=, 80
+ i32.add $18=, $18, $2
+ i32.const $2=, __stack_pointer
+ i32.store $18=, 0($2), $18
+ return $pop37
.LBB3_11: # %if.then38
end_block # label8:
call abort@FUNCTION
diff --git a/test/torture-s/20050502-2.c.s b/test/torture-s/20050502-2.c.s
index cd320804a..6caa677dc 100644
--- a/test/torture-s/20050502-2.c.s
+++ b/test/torture-s/20050502-2.c.s
@@ -34,100 +34,63 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i64, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 16
- i32.sub $14=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $14=, 0($7), $14
- i32.const $0=, 0
- i32.const $1=, 1
- i32.const $push1=, 10
- i32.const $9=, 0
- i32.add $9=, $14, $9
- i32.add $push2=, $9, $pop1
- i32.load8_u $push0=, .Lmain.x+10($0)
- i32.store8 $discard=, 0($pop2), $pop0
- i32.const $2=, 8
- i32.const $10=, 0
- i32.add $10=, $14, $10
- i32.add $push9=, $10, $2
- i32.const $push3=, .Lmain.x+8
- i32.add $push4=, $pop3, $1
- i32.load8_u $push5=, 0($pop4)
- i32.shl $push6=, $pop5, $2
- i32.load8_u $push7=, .Lmain.x+8($0)
- i32.or $push8=, $pop6, $pop7
- i32.store16 $discard=, 0($pop9), $pop8
- i32.const $2=, .Lmain.x
- i32.const $4=, 4
- i64.const $3=, 8
- i64.const $5=, 16
- i32.const $push17=, 7
- i32.add $push18=, $2, $pop17
- i64.load8_u $push19=, 0($pop18)
- i64.shl $push20=, $pop19, $3
- i32.const $push21=, 6
- i32.add $push22=, $2, $pop21
- i64.load8_u $push23=, 0($pop22)
- i64.or $push24=, $pop20, $pop23
- i64.shl $push25=, $pop24, $5
- i32.const $push10=, 5
- i32.add $push11=, $2, $pop10
- i64.load8_u $push12=, 0($pop11)
- i64.shl $push13=, $pop12, $3
- i32.add $push14=, $2, $4
- i64.load8_u $push15=, 0($pop14)
- i64.or $push16=, $pop13, $pop15
- i64.or $push26=, $pop25, $pop16
- i64.const $push27=, 32
- i64.shl $push28=, $pop26, $pop27
- i32.const $push29=, 3
- i32.add $push30=, $2, $pop29
- i64.load8_u $push31=, 0($pop30)
- i64.shl $push32=, $pop31, $3
- i32.const $push33=, 2
- i32.add $push34=, $2, $pop33
- i64.load8_u $push35=, 0($pop34)
- i64.or $push36=, $pop32, $pop35
- i64.shl $push37=, $pop36, $5
- i32.add $push38=, $2, $1
- i64.load8_u $push39=, 0($pop38)
- i64.shl $push40=, $pop39, $3
- i64.load8_u $push41=, .Lmain.x($0)
- i64.or $push42=, $pop40, $pop41
- i64.or $push43=, $pop37, $pop42
- i64.or $push44=, $pop28, $pop43
- i64.store $discard=, 0($14), $pop44
- i32.const $11=, 0
- i32.add $11=, $14, $11
- i32.or $2=, $11, $4
- i32.const $1=, 11
- i32.store8 $discard=, 0($2), $0
- i32.const $push45=, .L.str
- i32.const $12=, 0
- i32.add $12=, $14, $12
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $10=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $10=, 0($3), $10
+ i32.const $push2=, 10
+ i32.const $5=, 4
+ i32.add $5=, $10, $5
+ i32.add $push3=, $5, $pop2
+ i32.const $push0=, 0
+ i32.load8_u $push1=, .Lmain.x+10($pop0)
+ i32.store8 $discard=, 0($pop3):p2align=1, $pop1
+ i32.const $push5=, 8
+ i32.const $6=, 4
+ i32.add $6=, $10, $6
+ i32.add $push6=, $6, $pop5
+ i32.const $push20=, 0
+ i32.load16_u $push4=, .Lmain.x+8($pop20):p2align=0
+ i32.store16 $discard=, 0($pop6):p2align=2, $pop4
+ i32.const $push19=, 0
+ i64.load $push7=, .Lmain.x($pop19):p2align=0
+ i64.store $discard=, 4($10):p2align=2, $pop7
+ i32.const $push8=, 4
+ i32.const $7=, 4
+ i32.add $7=, $10, $7
+ i32.add $push9=, $7, $pop8
+ tee_local $push18=, $1=, $pop9
+ i32.const $push17=, 0
+ i32.store8 $0=, 0($pop18):p2align=2, $pop17
+ i32.const $push10=, .L.str
+ i32.const $push16=, 11
+ i32.const $8=, 4
+ i32.add $8=, $10, $8
block
- i32.call $push46=, memcmp@FUNCTION, $12, $pop45, $1
- br_if $pop46, 0 # 0: down to label0
+ i32.call $push11=, memcmp@FUNCTION, $8, $pop10, $pop16
+ br_if $pop11, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $push47=, 77
- i32.store8 $discard=, 0($2), $pop47
- i32.store8 $2=, 8($14), $0
- i32.const $push48=, .L.str.1
- i32.const $13=, 0
- i32.add $13=, $14, $13
+ i32.const $push12=, 77
+ i32.store8 $discard=, 0($1):p2align=2, $pop12
+ i32.store8 $discard=, 12($10):p2align=2, $0
+ i32.const $push13=, .L.str.1
+ i32.const $push21=, 11
+ i32.const $9=, 4
+ i32.add $9=, $10, $9
block
- i32.call $push49=, memcmp@FUNCTION, $13, $pop48, $1
- br_if $pop49, 0 # 0: down to label1
+ i32.call $push14=, memcmp@FUNCTION, $9, $pop13, $pop21
+ br_if $pop14, 0 # 0: down to label1
# BB#2: # %if.end7
- i32.const $8=, 16
- i32.add $14=, $14, $8
- i32.const $8=, __stack_pointer
- i32.store $14=, 0($8), $14
- return $2
+ i32.const $push15=, 0
+ i32.const $4=, 16
+ i32.add $10=, $10, $4
+ i32.const $4=, __stack_pointer
+ i32.store $10=, 0($4), $10
+ return $pop15
.LBB2_3: # %if.then6
end_block # label1:
call abort@FUNCTION
diff --git a/test/torture-s/20050604-1.c.s b/test/torture-s/20050604-1.c.s
index 222852729..fb33b5f49 100644
--- a/test/torture-s/20050604-1.c.s
+++ b/test/torture-s/20050604-1.c.s
@@ -5,41 +5,60 @@
.globl foo
.type foo,@function
foo: # @foo
- .local i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32
+ .local i32, i32, i32, f32, f32, f32
# BB#0: # %entry
- i32.const $0=, 0
- f32.load $4=, v($0)
- f32.load $5=, v+4($0)
- f32.const $10=, 0x1.2p4
- f32.const $9=, 0x1.4p4
- f32.load $6=, v+8($0)
- f32.const $8=, 0x1.6p4
- f32.const $7=, 0x0p0
- f32.load $push5=, v+12($0)
- f32.add $push6=, $pop5, $7
- f32.add $push13=, $pop6, $7
- f32.store $discard=, v+12($0), $pop13
- i32.load16_u $3=, u($0)
- f32.add $push7=, $6, $8
- f32.add $push12=, $pop7, $8
- f32.store $discard=, v+8($0), $pop12
- f32.add $push8=, $5, $9
- f32.add $push11=, $pop8, $9
- f32.store $discard=, v+4($0), $pop11
- i32.load16_u $2=, u+2($0)
- i32.load16_u $1=, u+4($0)
- i32.load16_u $push0=, u+6($0)
- i32.store16 $discard=, u+6($0), $pop0
- i32.store16 $discard=, u+4($0), $1
- i32.const $push3=, 28
- i32.add $push4=, $2, $pop3
- i32.store16 $discard=, u+2($0), $pop4
- i32.const $push1=, 24
- i32.add $push2=, $3, $pop1
- i32.store16 $discard=, u($0), $pop2
- f32.add $push9=, $4, $10
- f32.add $push10=, $pop9, $10
- f32.store $discard=, v($0), $pop10
+ i32.const $push0=, 0
+ f32.load $3=, v($pop0):p2align=4
+ i32.const $push37=, 0
+ f32.load $4=, v+4($pop37)
+ i32.const $push36=, 0
+ f32.load $5=, v+8($pop36):p2align=3
+ i32.const $push35=, 0
+ i32.const $push34=, 0
+ f32.load $push6=, v+12($pop34)
+ f32.const $push7=, 0x0p0
+ f32.add $push8=, $pop6, $pop7
+ f32.const $push33=, 0x0p0
+ f32.add $push18=, $pop8, $pop33
+ f32.store $discard=, v+12($pop35), $pop18
+ i32.const $push32=, 0
+ i32.load16_u $2=, u($pop32):p2align=3
+ i32.const $push31=, 0
+ f32.const $push9=, 0x1.6p4
+ f32.add $push10=, $5, $pop9
+ f32.const $push30=, 0x1.6p4
+ f32.add $push17=, $pop10, $pop30
+ f32.store $discard=, v+8($pop31):p2align=3, $pop17
+ i32.const $push29=, 0
+ f32.const $push11=, 0x1.4p4
+ f32.add $push12=, $4, $pop11
+ f32.const $push28=, 0x1.4p4
+ f32.add $push16=, $pop12, $pop28
+ f32.store $discard=, v+4($pop29), $pop16
+ i32.const $push27=, 0
+ i32.load16_u $1=, u+2($pop27)
+ i32.const $push26=, 0
+ i32.load16_u $0=, u+4($pop26):p2align=2
+ i32.const $push25=, 0
+ i32.const $push24=, 0
+ i32.load16_u $push1=, u+6($pop24)
+ i32.store16 $discard=, u+6($pop25), $pop1
+ i32.const $push23=, 0
+ i32.store16 $discard=, u+4($pop23):p2align=2, $0
+ i32.const $push22=, 0
+ i32.const $push4=, 28
+ i32.add $push5=, $1, $pop4
+ i32.store16 $discard=, u+2($pop22), $pop5
+ i32.const $push21=, 0
+ i32.const $push2=, 24
+ i32.add $push3=, $2, $pop2
+ i32.store16 $discard=, u($pop21):p2align=3, $pop3
+ i32.const $push20=, 0
+ f32.const $push13=, 0x1.2p4
+ f32.add $push14=, $3, $pop13
+ f32.const $push19=, 0x1.2p4
+ f32.add $push15=, $pop14, $pop19
+ f32.store $discard=, v($pop20):p2align=4, $pop15
return
.endfunc
.Lfunc_end0:
@@ -51,72 +70,97 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, i32
+ .local i32, i32, i32, i32, f32, f32, f32, f32
# BB#0: # %entry
- i32.const $0=, 0
- f32.load $7=, v($0)
- f32.load $8=, v+4($0)
- f32.const $13=, 0x1.2p4
- f32.const $12=, 0x1.4p4
- f32.load $9=, v+8($0)
- i32.load16_u $15=, u($0)
- f32.const $11=, 0x1.6p4
- i32.const $3=, 24
- i32.load16_u $2=, u+2($0)
- i32.load16_u $1=, u+4($0)
- i32.const $4=, 28
- i32.load16_u $push6=, u+6($0)
- i32.store16 $5=, u+6($0), $pop6
- i32.store16 $6=, u+4($0), $1
- i32.add $push4=, $2, $4
- i32.store16 $1=, u+2($0), $pop4
- i32.add $push7=, $15, $3
- i32.store16 $2=, u($0), $pop7
- i32.const $15=, 65535
- f32.const $10=, 0x0p0
+ i32.const $push6=, 0
+ f32.load $4=, v($pop6):p2align=4
+ i32.const $push54=, 0
+ f32.load $5=, v+4($pop54)
+ i32.const $push53=, 0
+ f32.load $6=, v+8($pop53):p2align=3
+ i32.const $push52=, 0
+ f32.load $7=, v+12($pop52)
+ i32.const $push51=, 0
+ i32.load16_u $2=, u($pop51):p2align=3
+ i32.const $push50=, 0
+ i32.load16_u $1=, u+2($pop50)
+ i32.const $push49=, 0
+ i32.load16_u $0=, u+4($pop49):p2align=2
+ i32.const $push48=, 0
+ i32.const $push47=, 0
+ i32.load16_u $push7=, u+6($pop47)
+ i32.store16 $3=, u+6($pop48), $pop7
+ i32.const $push46=, 0
+ i32.store16 $discard=, u+4($pop46):p2align=2, $0
+ i32.const $push45=, 0
+ i32.const $push44=, 28
+ i32.add $push4=, $1, $pop44
+ i32.store16 $1=, u+2($pop45), $pop4
+ i32.const $push43=, 0
+ i32.const $push8=, 24
+ i32.add $push9=, $2, $pop8
+ i32.store16 $2=, u($pop43):p2align=3, $pop9
+ i32.const $push42=, 0
+ f32.const $push10=, 0x0p0
+ f32.add $push11=, $7, $pop10
+ f32.const $push41=, 0x0p0
+ f32.add $push3=, $pop11, $pop41
+ f32.store $7=, v+12($pop42), $pop3
+ i32.const $push40=, 0
+ f32.const $push12=, 0x1.6p4
+ f32.add $push13=, $6, $pop12
+ f32.const $push39=, 0x1.6p4
+ f32.add $push2=, $pop13, $pop39
+ f32.store $6=, v+8($pop40):p2align=3, $pop2
+ i32.const $push38=, 0
+ f32.const $push14=, 0x1.4p4
+ f32.add $push15=, $5, $pop14
+ f32.const $push37=, 0x1.4p4
+ f32.add $push1=, $pop15, $pop37
+ f32.store $5=, v+4($pop38), $pop1
+ i32.const $push36=, 0
+ f32.const $push16=, 0x1.2p4
+ f32.add $push17=, $4, $pop16
+ f32.const $push35=, 0x1.2p4
+ f32.add $push0=, $pop17, $pop35
+ f32.store $4=, v($pop36):p2align=4, $pop0
block
- f32.load $push8=, v+12($0)
- f32.add $push9=, $pop8, $10
- f32.add $push3=, $pop9, $10
- f32.store $14=, v+12($0), $pop3
- f32.add $push10=, $9, $11
- f32.add $push2=, $pop10, $11
- f32.store $11=, v+8($0), $pop2
- f32.add $push11=, $8, $12
- f32.add $push1=, $pop11, $12
- f32.store $12=, v+4($0), $pop1
- f32.add $push12=, $7, $13
- f32.add $push0=, $pop12, $13
- f32.store $13=, v($0), $pop0
- i32.and $push13=, $2, $15
- i32.ne $push14=, $pop13, $3
- br_if $pop14, 0 # 0: down to label0
+ i32.const $push34=, 65535
+ i32.and $push18=, $2, $pop34
+ i32.const $push33=, 24
+ i32.ne $push19=, $pop18, $pop33
+ br_if $pop19, 0 # 0: down to label0
# BB#1: # %entry
- i32.and $push15=, $1, $15
- i32.ne $push16=, $pop15, $4
- br_if $pop16, 0 # 0: down to label0
+ i32.const $push56=, 65535
+ i32.and $push20=, $1, $pop56
+ i32.const $push55=, 28
+ i32.ne $push21=, $pop20, $pop55
+ br_if $pop21, 0 # 0: down to label0
# BB#2: # %entry
- i32.or $push5=, $5, $6
- i32.and $push17=, $pop5, $15
- br_if $pop17, 0 # 0: down to label0
+ i32.or $push5=, $3, $0
+ i32.const $push22=, 65535
+ i32.and $push23=, $pop5, $pop22
+ br_if $pop23, 0 # 0: down to label0
# BB#3: # %if.end
block
- f32.const $push18=, 0x1.2p5
- f32.ne $push19=, $13, $pop18
- br_if $pop19, 0 # 0: down to label1
+ f32.const $push24=, 0x1.2p5
+ f32.ne $push25=, $4, $pop24
+ br_if $pop25, 0 # 0: down to label1
# BB#4: # %if.end
- f32.const $push20=, 0x1.4p5
- f32.ne $push21=, $12, $pop20
- br_if $pop21, 0 # 0: down to label1
+ f32.const $push26=, 0x1.4p5
+ f32.ne $push27=, $5, $pop26
+ br_if $pop27, 0 # 0: down to label1
# BB#5: # %if.end
- f32.const $push22=, 0x1.6p5
- f32.ne $push23=, $11, $pop22
- br_if $pop23, 0 # 0: down to label1
+ f32.const $push28=, 0x1.6p5
+ f32.ne $push29=, $6, $pop28
+ br_if $pop29, 0 # 0: down to label1
# BB#6: # %if.end
- f32.ne $push24=, $14, $10
- br_if $pop24, 0 # 0: down to label1
+ f32.const $push30=, 0x0p0
+ f32.ne $push31=, $7, $pop30
+ br_if $pop31, 0 # 0: down to label1
# BB#7: # %if.end26
- return $0
+ i32.const $push32=, 0
+ return $pop32
.LBB1_8: # %if.then25
end_block # label1:
call abort@FUNCTION
@@ -133,7 +177,7 @@ main: # @main
.type u,@object
.section .bss.u,"aw",@nobits
.globl u
- .align 3
+ .p2align 3
u:
.skip 8
.size u, 8
@@ -142,7 +186,7 @@ u:
.type v,@object
.section .bss.v,"aw",@nobits
.globl v
- .align 4
+ .p2align 4
v:
.skip 16
.size v, 16
diff --git a/test/torture-s/20050713-1.c.s b/test/torture-s/20050713-1.c.s
new file mode 100644
index 000000000..534bf1086
--- /dev/null
+++ b/test/torture-s/20050713-1.c.s
@@ -0,0 +1,347 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20050713-1.c"
+ .section .text.foo2,"ax",@progbits
+ .hidden foo2
+ .globl foo2
+ .type foo2,@function
+foo2: # @foo2
+ .param i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($0)
+ i32.const $push1=, 3
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load $push3=, 4($0)
+ i32.const $push4=, 4
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false2
+ i32.load $push6=, 8($0)
+ i32.const $push7=, 5
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label0
+# BB#3: # %if.end
+ block
+ i32.load $push9=, 0($1)
+ i32.const $push10=, 6
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label1
+# BB#4: # %lor.lhs.false6
+ i32.load $push12=, 4($1)
+ i32.const $push13=, 7
+ i32.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label1
+# BB#5: # %lor.lhs.false9
+ i32.load $push15=, 8($1)
+ i32.const $push16=, 8
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label1
+# BB#6: # %if.end13
+ i32.const $push18=, 0
+ return $pop18
+.LBB0_7: # %if.then12
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_8: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo2, .Lfunc_end0-foo2
+
+ .section .text.foo3,"ax",@progbits
+ .hidden foo3
+ .globl foo3
+ .type foo3,@function
+foo3: # @foo3
+ .param i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load $push2=, 0($0)
+ i32.const $push3=, 3
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label2
+# BB#1: # %entry
+ i32.load $push0=, 4($0)
+ i32.const $push5=, 4
+ i32.ne $push6=, $pop0, $pop5
+ br_if $pop6, 0 # 0: down to label2
+# BB#2: # %entry
+ i32.load $push1=, 8($0)
+ i32.const $push7=, 5
+ i32.ne $push8=, $pop1, $pop7
+ br_if $pop8, 0 # 0: down to label2
+# BB#3: # %if.end.i
+ block
+ i32.load $push11=, 8($1)
+ i32.const $push12=, 8
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label3
+# BB#4: # %if.end.i
+ i32.load $push9=, 4($1)
+ i32.const $push14=, 7
+ i32.ne $push15=, $pop9, $pop14
+ br_if $pop15, 0 # 0: down to label3
+# BB#5: # %if.end.i
+ i32.load $push10=, 0($1)
+ i32.const $push16=, 6
+ i32.ne $push17=, $pop10, $pop16
+ br_if $pop17, 0 # 0: down to label3
+# BB#6: # %foo2.exit
+ block
+ i32.load $push18=, 0($2)
+ i32.const $push19=, 9
+ i32.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label4
+# BB#7: # %lor.lhs.false
+ i32.load $push21=, 4($2)
+ i32.const $push22=, 10
+ i32.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label4
+# BB#8: # %lor.lhs.false2
+ i32.load $push24=, 8($2)
+ i32.const $push25=, 11
+ i32.ne $push26=, $pop24, $pop25
+ br_if $pop26, 0 # 0: down to label4
+# BB#9: # %if.end
+ i32.const $push27=, 0
+ return $pop27
+.LBB1_10: # %if.then
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB1_11: # %if.then12.i
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB1_12: # %if.then.i
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size foo3, .Lfunc_end1-foo3
+
+ .section .text.bar2,"ax",@progbits
+ .hidden bar2
+ .globl bar2
+ .type bar2,@function
+bar2: # @bar2
+ .param i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load $push2=, 0($1)
+ i32.const $push3=, 3
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label5
+# BB#1: # %entry
+ i32.load $push0=, 4($1)
+ i32.const $push5=, 4
+ i32.ne $push6=, $pop0, $pop5
+ br_if $pop6, 0 # 0: down to label5
+# BB#2: # %entry
+ i32.load $push1=, 8($1)
+ i32.const $push7=, 5
+ i32.ne $push8=, $pop1, $pop7
+ br_if $pop8, 0 # 0: down to label5
+# BB#3: # %if.end.i
+ block
+ i32.load $push11=, 8($0)
+ i32.const $push12=, 8
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label6
+# BB#4: # %if.end.i
+ i32.load $push9=, 4($0)
+ i32.const $push14=, 7
+ i32.ne $push15=, $pop9, $pop14
+ br_if $pop15, 0 # 0: down to label6
+# BB#5: # %if.end.i
+ i32.load $push10=, 0($0)
+ i32.const $push16=, 6
+ i32.ne $push17=, $pop10, $pop16
+ br_if $pop17, 0 # 0: down to label6
+# BB#6: # %foo2.exit
+ i32.const $push18=, 0
+ return $pop18
+.LBB2_7: # %if.then12.i
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB2_8: # %if.then.i
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size bar2, .Lfunc_end2-bar2
+
+ .section .text.bar3,"ax",@progbits
+ .hidden bar3
+ .globl bar3
+ .type bar3,@function
+bar3: # @bar3
+ .param i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load $push5=, 0($1)
+ i32.const $push6=, 3
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label7
+# BB#1: # %entry
+ i32.load $push3=, 4($1)
+ i32.const $push8=, 4
+ i32.ne $push9=, $pop3, $pop8
+ br_if $pop9, 0 # 0: down to label7
+# BB#2: # %entry
+ i32.load $push4=, 8($1)
+ i32.const $push10=, 5
+ i32.ne $push11=, $pop4, $pop10
+ br_if $pop11, 0 # 0: down to label7
+# BB#3: # %if.end.i.i
+ block
+ i32.load $push14=, 8($0)
+ i32.const $push15=, 8
+ i32.ne $push16=, $pop14, $pop15
+ br_if $pop16, 0 # 0: down to label8
+# BB#4: # %if.end.i.i
+ i32.load $push12=, 4($0)
+ i32.const $push17=, 7
+ i32.ne $push18=, $pop12, $pop17
+ br_if $pop18, 0 # 0: down to label8
+# BB#5: # %if.end.i.i
+ i32.load $push13=, 0($0)
+ i32.const $push19=, 6
+ i32.ne $push20=, $pop13, $pop19
+ br_if $pop20, 0 # 0: down to label8
+# BB#6: # %foo2.exit.i
+ block
+ i32.load $push0=, 0($2)
+ i32.const $push21=, 9
+ i32.ne $push22=, $pop0, $pop21
+ br_if $pop22, 0 # 0: down to label9
+# BB#7: # %foo2.exit.i
+ i32.load $push1=, 4($2)
+ i32.const $push23=, 10
+ i32.ne $push24=, $pop1, $pop23
+ br_if $pop24, 0 # 0: down to label9
+# BB#8: # %foo2.exit.i
+ i32.load $push2=, 8($2)
+ i32.const $push25=, 11
+ i32.ne $push26=, $pop2, $pop25
+ br_if $pop26, 0 # 0: down to label9
+# BB#9: # %foo3.exit
+ i32.const $push27=, 0
+ return $pop27
+.LBB3_10: # %if.then.i
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB3_11: # %if.then12.i.i
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB3_12: # %if.then.i.i
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size bar3, .Lfunc_end3-bar3
+
+ .section .text.baz3,"ax",@progbits
+ .hidden baz3
+ .globl baz3
+ .type baz3,@function
+baz3: # @baz3
+ .param i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load $push5=, 0($1)
+ i32.const $push6=, 3
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label10
+# BB#1: # %entry
+ i32.load $push3=, 4($1)
+ i32.const $push8=, 4
+ i32.ne $push9=, $pop3, $pop8
+ br_if $pop9, 0 # 0: down to label10
+# BB#2: # %entry
+ i32.load $push4=, 8($1)
+ i32.const $push10=, 5
+ i32.ne $push11=, $pop4, $pop10
+ br_if $pop11, 0 # 0: down to label10
+# BB#3: # %if.end.i.i
+ block
+ i32.load $push14=, 8($2)
+ i32.const $push15=, 8
+ i32.ne $push16=, $pop14, $pop15
+ br_if $pop16, 0 # 0: down to label11
+# BB#4: # %if.end.i.i
+ i32.load $push12=, 4($2)
+ i32.const $push17=, 7
+ i32.ne $push18=, $pop12, $pop17
+ br_if $pop18, 0 # 0: down to label11
+# BB#5: # %if.end.i.i
+ i32.load $push13=, 0($2)
+ i32.const $push19=, 6
+ i32.ne $push20=, $pop13, $pop19
+ br_if $pop20, 0 # 0: down to label11
+# BB#6: # %foo2.exit.i
+ block
+ i32.load $push0=, 0($0)
+ i32.const $push21=, 9
+ i32.ne $push22=, $pop0, $pop21
+ br_if $pop22, 0 # 0: down to label12
+# BB#7: # %foo2.exit.i
+ i32.load $push1=, 4($0)
+ i32.const $push23=, 10
+ i32.ne $push24=, $pop1, $pop23
+ br_if $pop24, 0 # 0: down to label12
+# BB#8: # %foo2.exit.i
+ i32.load $push2=, 8($0)
+ i32.const $push25=, 11
+ i32.ne $push26=, $pop2, $pop25
+ br_if $pop26, 0 # 0: down to label12
+# BB#9: # %foo3.exit
+ i32.const $push27=, 0
+ return $pop27
+.LBB4_10: # %if.then.i
+ end_block # label12:
+ call abort@FUNCTION
+ unreachable
+.LBB4_11: # %if.then12.i.i
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+.LBB4_12: # %if.then.i.i
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end4:
+ .size baz3, .Lfunc_end4-baz3
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %baz3.exit
+ i32.const $push0=, 0
+ return $pop0
+ .endfunc
+.Lfunc_end5:
+ .size main, .Lfunc_end5-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20050826-1.c.s b/test/torture-s/20050826-1.c.s
index 7a740df03..97663743b 100644
--- a/test/torture-s/20050826-1.c.s
+++ b/test/torture-s/20050826-1.c.s
@@ -9,9 +9,9 @@ bar: # @bar
.local i32
# BB#0: # %entry
block
- i32.const $push0=, .L.str
- i32.const $push1=, 8
- i32.call $push2=, memcmp@FUNCTION, $0, $pop0, $pop1
+ i64.load $push0=, 0($0):p2align=0
+ i64.const $push1=, 368664092428289
+ i64.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %for.body.preheader
i32.const $push3=, 7
@@ -26,11 +26,11 @@ bar: # @bar
br_if $pop5, 2 # 2: down to label1
# BB#3: # %for.cond
# in Loop: Header=BB0_2 Depth=1
- i32.const $push6=, 1
- i32.add $0=, $0, $pop6
+ i32.const $push8=, 1
+ i32.add $0=, $0, $pop8
i32.const $push7=, 2040
- i32.le_u $push8=, $0, $pop7
- br_if $pop8, 0 # 0: up to label2
+ i32.le_u $push6=, $0, $pop7
+ br_if $pop6, 0 # 0: up to label2
# BB#4: # %for.end
end_loop # label3:
return
@@ -52,54 +52,57 @@ bar: # @bar
.type foo,@function
foo: # @foo
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, a
- i32.const $1=, 0
- i32.const $push0=, 2048
- call memset@FUNCTION, $0, $1, $pop0
- i32.load8_u $push2=, .L.str.1+4($1)
- i32.store8 $discard=, a+5($1), $pop2
- i32.load8_u $push3=, .L.str.1+3($1)
- i32.store8 $discard=, a+4($1), $pop3
- i32.load8_u $push4=, .L.str.1+2($1)
- i32.store8 $discard=, a+3($1), $pop4
- i32.load8_u $push5=, .L.str.1+1($1)
- i32.store8 $discard=, a+2($1), $pop5
- i32.load8_u $push6=, .L.str.1($1)
- i32.store8 $discard=, a+1($1), $pop6
- i32.const $push1=, 1
- i32.store8 $3=, a($1), $pop1
- i32.const $4=, 8
- i32.store8 $2=, a+6($1), $3
+ i32.const $push0=, a
+ i32.const $push2=, 0
+ i32.const $push1=, 2048
+ i32.call $discard=, memset@FUNCTION, $pop0, $pop2, $pop1
+ i32.const $push22=, 0
+ i32.const $push21=, 0
+ i32.load8_u $push5=, .L.str.1+4($pop21)
+ i32.store8 $discard=, a+5($pop22), $pop5
+ i32.const $push20=, 0
+ i32.const $push19=, 0
+ i32.load $push6=, .L.str.1($pop19):p2align=0
+ i32.store $discard=, a+1($pop20):p2align=0, $pop6
+ i32.const $push18=, 0
+ i32.const $push17=, 0
+ i32.const $push3=, 1
+ i32.store8 $push4=, a($pop17), $pop3
+ i32.store8 $discard=, a+6($pop18), $pop4
+ i32.const $1=, 8
block
- i32.const $push7=, .L.str
- i32.call $push8=, memcmp@FUNCTION, $0, $pop7, $4
- br_if $pop8, 0 # 0: down to label4
+ i32.const $push16=, 0
+ i64.load $push7=, a($pop16):p2align=0
+ i64.const $push8=, 368664092428289
+ i64.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label4
.LBB1_1: # %for.cond.i
# =>This Inner Loop Header: Depth=1
block
loop # label6:
- i32.const $push9=, -7
- i32.add $push10=, $4, $pop9
- i32.const $push11=, 2040
- i32.gt_u $push12=, $pop10, $pop11
- br_if $pop12, 2 # 2: down to label5
+ i32.const $push10=, -7
+ i32.add $push11=, $1, $pop10
+ i32.const $push12=, 2040
+ i32.gt_u $push13=, $pop11, $pop12
+ br_if $pop13, 2 # 2: down to label5
# BB#2: # %for.cond.i.for.body.i_crit_edge
# in Loop: Header=BB1_1 Depth=1
- i32.add $3=, $0, $4
- i32.add $4=, $4, $2
- i32.load8_u $push13=, 0($3)
- i32.const $push14=, 0
- i32.eq $push15=, $pop13, $pop14
- br_if $pop15, 0 # 0: up to label6
+ i32.load8_u $0=, a($1)
+ i32.const $push15=, 1
+ i32.add $1=, $1, $pop15
+ i32.const $push23=, 0
+ i32.eq $push24=, $0, $pop23
+ br_if $pop24, 0 # 0: up to label6
# BB#3: # %if.then2.i
end_loop # label7:
call abort@FUNCTION
unreachable
.LBB1_4: # %bar.exit
end_block # label5:
- return $1
+ i32.const $push14=, 0
+ return $pop14
.LBB1_5: # %if.then.i
end_block # label4:
call abort@FUNCTION
@@ -114,54 +117,57 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, a
- i32.const $1=, 0
- i32.const $push0=, 2048
- call memset@FUNCTION, $0, $1, $pop0
- i32.load8_u $push2=, .L.str.1+4($1)
- i32.store8 $discard=, a+5($1), $pop2
- i32.load8_u $push3=, .L.str.1+3($1)
- i32.store8 $discard=, a+4($1), $pop3
- i32.load8_u $push4=, .L.str.1+2($1)
- i32.store8 $discard=, a+3($1), $pop4
- i32.load8_u $push5=, .L.str.1+1($1)
- i32.store8 $discard=, a+2($1), $pop5
- i32.load8_u $push6=, .L.str.1($1)
- i32.store8 $discard=, a+1($1), $pop6
- i32.const $push1=, 1
- i32.store8 $3=, a($1), $pop1
- i32.const $4=, 8
- i32.store8 $2=, a+6($1), $3
+ i32.const $push0=, a
+ i32.const $push2=, 0
+ i32.const $push1=, 2048
+ i32.call $discard=, memset@FUNCTION, $pop0, $pop2, $pop1
+ i32.const $push22=, 0
+ i32.const $push21=, 0
+ i32.load8_u $push5=, .L.str.1+4($pop21)
+ i32.store8 $discard=, a+5($pop22), $pop5
+ i32.const $push20=, 0
+ i32.const $push19=, 0
+ i32.load $push6=, .L.str.1($pop19):p2align=0
+ i32.store $discard=, a+1($pop20):p2align=0, $pop6
+ i32.const $push18=, 0
+ i32.const $push17=, 0
+ i32.const $push3=, 1
+ i32.store8 $push4=, a($pop17), $pop3
+ i32.store8 $discard=, a+6($pop18), $pop4
+ i32.const $1=, 8
block
- i32.const $push7=, .L.str
- i32.call $push8=, memcmp@FUNCTION, $0, $pop7, $4
- br_if $pop8, 0 # 0: down to label8
+ i32.const $push16=, 0
+ i64.load $push7=, a($pop16):p2align=0
+ i64.const $push8=, 368664092428289
+ i64.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label8
.LBB2_1: # %for.cond.i.i
# =>This Inner Loop Header: Depth=1
block
loop # label10:
- i32.const $push9=, -7
- i32.add $push10=, $4, $pop9
- i32.const $push11=, 2040
- i32.gt_u $push12=, $pop10, $pop11
- br_if $pop12, 2 # 2: down to label9
+ i32.const $push10=, -7
+ i32.add $push11=, $1, $pop10
+ i32.const $push12=, 2040
+ i32.gt_u $push13=, $pop11, $pop12
+ br_if $pop13, 2 # 2: down to label9
# BB#2: # %for.cond.i.for.body.i_crit_edge.i
# in Loop: Header=BB2_1 Depth=1
- i32.add $3=, $0, $4
- i32.add $4=, $4, $2
- i32.load8_u $push13=, 0($3)
- i32.const $push14=, 0
- i32.eq $push15=, $pop13, $pop14
- br_if $pop15, 0 # 0: up to label10
+ i32.load8_u $0=, a($1)
+ i32.const $push15=, 1
+ i32.add $1=, $1, $pop15
+ i32.const $push23=, 0
+ i32.eq $push24=, $0, $pop23
+ br_if $pop24, 0 # 0: up to label10
# BB#3: # %if.then2.i.i
end_loop # label11:
call abort@FUNCTION
unreachable
.LBB2_4: # %foo.exit
end_block # label9:
- return $1
+ i32.const $push14=, 0
+ return $pop14
.LBB2_5: # %if.then.i.i
end_block # label8:
call abort@FUNCTION
diff --git a/test/torture-s/20050929-1.c.s b/test/torture-s/20050929-1.c.s
index 7276dfedd..63eefda8b 100644
--- a/test/torture-s/20050929-1.c.s
+++ b/test/torture-s/20050929-1.c.s
@@ -6,47 +6,53 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $0=, e($2)
- i32.load $1=, 0($0)
block
- i32.load $push0=, 0($1)
- i32.const $push1=, 1
- i32.ne $push2=, $pop0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push4=, 0
+ i32.load $push0=, e($pop4)
+ tee_local $push26=, $1=, $pop0
+ i32.load $push1=, 0($pop26)
+ tee_local $push25=, $0=, $pop1
+ i32.load $push5=, 0($pop25)
+ i32.const $push6=, 1
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.load $push3=, 4($1)
- i32.const $push4=, 2
- i32.ne $push5=, $pop3, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.load $push8=, 4($0)
+ i32.const $push9=, 2
+ i32.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label0
# BB#2: # %if.end
- i32.load $1=, 4($0)
block
- i32.load $push6=, 0($1)
- i32.const $push7=, 3
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label1
+ i32.load $push2=, 4($1)
+ tee_local $push27=, $0=, $pop2
+ i32.load $push11=, 0($pop27)
+ i32.const $push12=, 3
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
# BB#3: # %lor.lhs.false5
- i32.load $push9=, 4($1)
- i32.const $push10=, 4
- i32.ne $push11=, $pop9, $pop10
- br_if $pop11, 0 # 0: down to label1
+ i32.load $push14=, 4($0)
+ i32.const $push15=, 4
+ i32.ne $push16=, $pop14, $pop15
+ br_if $pop16, 0 # 0: down to label1
# BB#4: # %if.end10
- i32.load $1=, e+4($2)
block
- i32.load $push12=, 0($1)
- i32.const $push13=, 5
- i32.ne $push14=, $pop12, $pop13
- br_if $pop14, 0 # 0: down to label2
+ i32.const $push17=, 0
+ i32.load $push3=, e+4($pop17)
+ tee_local $push28=, $0=, $pop3
+ i32.load $push18=, 0($pop28)
+ i32.const $push19=, 5
+ i32.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label2
# BB#5: # %lor.lhs.false13
- i32.load $push15=, 4($1)
- i32.const $push16=, 6
- i32.ne $push17=, $pop15, $pop16
- br_if $pop17, 0 # 0: down to label2
+ i32.load $push21=, 4($0)
+ i32.const $push22=, 6
+ i32.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label2
# BB#6: # %if.end17
- return $2
+ i32.const $push24=, 0
+ return $pop24
.LBB0_7: # %if.then16
end_block # label2:
call abort@FUNCTION
@@ -65,7 +71,7 @@ main: # @main
.type .compoundliteral,@object # @.compoundliteral
.section .data..compoundliteral,"aw",@progbits
- .align 2
+ .p2align 2
.compoundliteral:
.int32 1 # 0x1
.int32 2 # 0x2
@@ -73,7 +79,7 @@ main: # @main
.type .compoundliteral.1,@object # @.compoundliteral.1
.section .data..compoundliteral.1,"aw",@progbits
- .align 2
+ .p2align 2
.compoundliteral.1:
.int32 3 # 0x3
.int32 4 # 0x4
@@ -81,7 +87,7 @@ main: # @main
.type .compoundliteral.2,@object # @.compoundliteral.2
.section .data..compoundliteral.2,"aw",@progbits
- .align 2
+ .p2align 2
.compoundliteral.2:
.int32 .compoundliteral
.int32 .compoundliteral.1
@@ -89,7 +95,7 @@ main: # @main
.type .compoundliteral.3,@object # @.compoundliteral.3
.section .data..compoundliteral.3,"aw",@progbits
- .align 2
+ .p2align 2
.compoundliteral.3:
.int32 5 # 0x5
.int32 6 # 0x6
@@ -99,7 +105,7 @@ main: # @main
.type e,@object
.section .data.e,"aw",@progbits
.globl e
- .align 2
+ .p2align 2
e:
.int32 .compoundliteral.2
.int32 .compoundliteral.3
diff --git a/test/torture-s/20051012-1.c.s b/test/torture-s/20051012-1.c.s
index 6df19dcd2..da3117960 100644
--- a/test/torture-s/20051012-1.c.s
+++ b/test/torture-s/20051012-1.c.s
@@ -22,16 +22,17 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.load $push0=, t+4($0)
- i32.const $push1=, -33488897
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 524288
- i32.or $push4=, $pop2, $pop3
- i32.store $discard=, t+4($0), $pop4
- return $0
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, t+4($pop7)
+ i32.const $push2=, -33488897
+ i32.and $push3=, $pop1, $pop2
+ i32.const $push4=, 524288
+ i32.or $push5=, $pop3, $pop4
+ i32.store $discard=, t+4($pop0), $pop5
+ i32.const $push6=, 0
+ return $pop6
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -40,7 +41,7 @@ main: # @main
.type t,@object
.section .bss.t,"aw",@nobits
.globl t
- .align 2
+ .p2align 2
t:
.skip 8
.size t, 8
diff --git a/test/torture-s/20051021-1.c.s b/test/torture-s/20051021-1.c.s
index cd6073afa..594a46f99 100644
--- a/test/torture-s/20051021-1.c.s
+++ b/test/torture-s/20051021-1.c.s
@@ -6,14 +6,15 @@
.type foo1,@function
foo1: # @foo1
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, count($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, count($0), $pop2
- return $0
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, count($pop5)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, count($pop0), $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end0:
.size foo1, .Lfunc_end0-foo1
@@ -24,14 +25,15 @@ foo1: # @foo1
.type foo2,@function
foo2: # @foo2
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, count($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, count($0), $pop2
- return $0
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, count($pop5)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, count($pop0), $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end1:
.size foo2, .Lfunc_end1-foo2
@@ -42,17 +44,20 @@ foo2: # @foo2
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, count($0)
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load $push0=, count($pop4)
+ tee_local $push3=, $0=, $pop0
+ i32.const $push1=, 2
+ i32.add $push2=, $pop3, $pop1
+ i32.store $discard=, count($pop5), $pop2
block
- i32.const $push0=, 2
- i32.add $push1=, $1, $pop0
- i32.store $discard=, count($0), $pop1
- br_if $1, 0 # 0: down to label0
+ br_if $0, 0 # 0: down to label0
# BB#1: # %if.end7
- return $0
+ i32.const $push6=, 0
+ return $pop6
.LBB2_2: # %if.then6
end_block # label0:
call abort@FUNCTION
@@ -65,7 +70,7 @@ main: # @main
.type count,@object
.section .bss.count,"aw",@nobits
.globl count
- .align 2
+ .p2align 2
count:
.int32 0 # 0x0
.size count, 4
diff --git a/test/torture-s/20051104-1.c.s b/test/torture-s/20051104-1.c.s
index e559137a4..b2869c765 100644
--- a/test/torture-s/20051104-1.c.s
+++ b/test/torture-s/20051104-1.c.s
@@ -8,10 +8,12 @@ main: # @main
.result i32
.local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.store $discard=, s($0), $0
- i32.const $push0=, .L.str
- i32.store $discard=, s+4($0), $pop0
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.store $push1=, s($pop0), $pop4
+ tee_local $push3=, $0=, $pop1
+ i32.const $push2=, .L.str
+ i32.store $discard=, s+4($pop3), $pop2
return $0
.endfunc
.Lfunc_end0:
@@ -21,7 +23,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 8
.size s, 8
diff --git a/test/torture-s/20051110-1.c.s b/test/torture-s/20051110-1.c.s
index b5e3ab295..a1374ec20 100644
--- a/test/torture-s/20051110-1.c.s
+++ b/test/torture-s/20051110-1.c.s
@@ -8,30 +8,32 @@ add_unwind_adjustsp: # @add_unwind_adjustsp
.param i32
.local i32, i32
# BB#0: # %entry
- i32.const $push0=, -516
- i32.add $push1=, $0, $pop0
- i32.const $push2=, 2
- i32.shr_s $0=, $pop1, $pop2
- i32.const $2=, bytes
+ i32.const $1=, bytes
block
- i32.const $push10=, 0
- i32.eq $push11=, $0, $pop10
- br_if $pop11, 0 # 0: down to label0
+ i32.const $push1=, -516
+ i32.add $push2=, $0, $pop1
+ i32.const $push3=, 2
+ i32.shr_s $push11=, $pop2, $pop3
+ tee_local $push12=, $0=, $pop11
+ i32.const $push14=, 0
+ i32.eq $push15=, $pop12, $pop14
+ br_if $pop15, 0 # 0: down to label0
.LBB0_1: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push5=, 7
- i32.shr_u $1=, $0, $pop5
- i32.const $push6=, 128
- i32.or $push7=, $0, $pop6
- i32.const $push3=, 127
- i32.and $push4=, $0, $pop3
- i32.select $push8=, $1, $pop7, $pop4
- i32.store8 $discard=, 0($2), $pop8
- i32.const $push9=, 1
- i32.add $2=, $2, $pop9
- copy_local $0=, $1
- br_if $1, 0 # 0: up to label1
+ i32.const $push6=, 7
+ i32.shr_u $push0=, $0, $pop6
+ tee_local $push13=, $2=, $pop0
+ i32.const $push7=, 128
+ i32.or $push8=, $0, $pop7
+ i32.const $push4=, 127
+ i32.and $push5=, $0, $pop4
+ i32.select $push9=, $pop13, $pop8, $pop5
+ i32.store8 $discard=, 0($1), $pop9
+ i32.const $push10=, 1
+ i32.add $1=, $1, $pop10
+ copy_local $0=, $2
+ br_if $2, 0 # 0: up to label1
.LBB0_2: # %while.end
end_loop # label2:
end_block # label0:
@@ -46,41 +48,45 @@ add_unwind_adjustsp: # @add_unwind_adjustsp
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 904
- i32.const $2=, bytes
+ i32.const $1=, 904
+ i32.const $0=, bytes
.LBB1_1: # %while.body.i
# =>This Inner Loop Header: Depth=1
loop # label3:
- i32.const $1=, 7
- i32.shr_u $0=, $3, $1
- i32.const $push2=, 128
- i32.or $push3=, $3, $pop2
- i32.const $push0=, 127
- i32.and $push1=, $3, $pop0
- i32.select $push4=, $0, $pop3, $pop1
- i32.store8 $discard=, 0($2), $pop4
- i32.const $push5=, 1
- i32.add $2=, $2, $pop5
- copy_local $3=, $0
- br_if $0, 0 # 0: up to label3
+ i32.const $push17=, 7
+ i32.shr_u $push0=, $1, $pop17
+ tee_local $push16=, $2=, $pop0
+ i32.const $push15=, 128
+ i32.or $push2=, $1, $pop15
+ i32.const $push14=, 127
+ i32.and $push1=, $1, $pop14
+ i32.select $push3=, $pop16, $pop2, $pop1
+ i32.store8 $discard=, 0($0), $pop3
+ i32.const $push13=, 1
+ i32.add $0=, $0, $pop13
+ copy_local $1=, $2
+ br_if $2, 0 # 0: up to label3
# BB#2: # %add_unwind_adjustsp.exit
end_loop # label4:
- i32.const $3=, 0
block
- i32.load8_u $push7=, bytes($3)
- i32.const $push8=, 136
- i32.ne $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label5
+ i32.const $push18=, 0
+ i32.load8_u $push5=, bytes($pop18)
+ i32.const $push6=, 136
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label5
# BB#3: # %add_unwind_adjustsp.exit
- i32.load8_u $push6=, bytes+1($3)
- i32.const $push10=, 255
- i32.and $push11=, $pop6, $pop10
- i32.ne $push12=, $pop11, $1
- br_if $pop12, 0 # 0: down to label5
+ i32.const $push19=, 0
+ i32.load8_u $push4=, bytes+1($pop19)
+ i32.const $push8=, 255
+ i32.and $push9=, $pop4, $pop8
+ i32.const $push10=, 7
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label5
# BB#4: # %if.end
- return $3
+ i32.const $push12=, 0
+ return $pop12
.LBB1_5: # %if.then
end_block # label5:
call abort@FUNCTION
diff --git a/test/torture-s/20051110-2.c.s b/test/torture-s/20051110-2.c.s
index a434878b4..9ef2e0a03 100644
--- a/test/torture-s/20051110-2.c.s
+++ b/test/torture-s/20051110-2.c.s
@@ -6,37 +6,45 @@
.type add_unwind_adjustsp,@function
add_unwind_adjustsp: # @add_unwind_adjustsp
.param i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $push0=, -516
- i32.add $push1=, $0, $pop0
- i32.const $push2=, 2
- i32.shr_s $5=, $pop1, $pop2
- i32.const $3=, 127
- i32.const $0=, 0
- i32.and $push3=, $5, $3
- i32.store8 $discard=, bytes($0), $pop3
- i32.const $4=, 7
- i32.shr_u $2=, $5, $4
+ i32.const $push14=, 0
+ i32.const $push1=, -516
+ i32.add $push2=, $0, $pop1
+ i32.const $push3=, 2
+ i32.shr_s $push9=, $pop2, $pop3
+ tee_local $push13=, $3=, $pop9
+ i32.const $push12=, 127
+ i32.and $push4=, $pop13, $pop12
+ i32.store8 $discard=, bytes($pop14), $pop4
block
- i32.const $push8=, 0
- i32.eq $push9=, $2, $pop8
- br_if $pop9, 0 # 0: down to label0
+ i32.const $push11=, 7
+ i32.shr_u $push8=, $3, $pop11
+ tee_local $push10=, $2=, $pop8
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop10, $pop21
+ br_if $pop22, 0 # 0: down to label0
# BB#1: # %if.then.lr.ph
- i32.load $push4=, flag($0)
- i32.eq $1=, $pop4, $0
+ i32.const $push16=, 0
+ i32.load $push5=, flag($pop16)
+ i32.const $push15=, 0
+ i32.eq $1=, $pop5, $pop15
i32.const $0=, bytes
.LBB0_2: # %if.then
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push5=, 128
- i32.or $push6=, $5, $pop5
+ i32.const $push20=, 128
+ i32.or $push6=, $3, $pop20
i32.store8 $discard=, 0($0), $pop6
i32.add $0=, $0, $1
- i32.and $push7=, $2, $3
+ copy_local $push0=, $2
+ tee_local $push19=, $2=, $pop0
+ i32.const $push18=, 127
+ i32.and $push7=, $pop19, $pop18
i32.store8 $discard=, 0($0), $pop7
- copy_local $5=, $2
- i32.shr_u $2=, $2, $4
+ copy_local $3=, $2
+ i32.const $push17=, 7
+ i32.shr_u $2=, $2, $pop17
br_if $2, 0 # 0: up to label1
.LBB0_3: # %do.end
end_loop # label2:
@@ -52,29 +60,32 @@ add_unwind_adjustsp: # @add_unwind_adjustsp
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %add_unwind_adjustsp.exit
- i32.const $0=, 0
- i32.load $1=, flag($0)
- block
+ i32.const $push13=, 0
+ i32.load $0=, flag($pop13)
+ i32.const $push12=, 0
i32.const $push2=, 136
- i32.store8 $2=, bytes($0), $pop2
- i32.const $push3=, bytes
- i32.eq $push1=, $1, $0
- i32.add $push4=, $pop3, $pop1
- i32.const $push5=, 7
- i32.store8 $1=, 0($pop4), $pop5
- i32.load8_u $push6=, bytes($0)
- i32.ne $push7=, $pop6, $2
- br_if $pop7, 0 # 0: down to label3
+ i32.store8 $1=, bytes($pop12), $pop2
+ i32.const $push11=, 0
+ i32.eq $push1=, $0, $pop11
+ i32.const $push3=, 7
+ i32.store8 $0=, bytes($pop1), $pop3
+ block
+ i32.const $push10=, 0
+ i32.load8_u $push4=, bytes($pop10)
+ i32.ne $push5=, $1, $pop4
+ br_if $pop5, 0 # 0: down to label3
# BB#1: # %add_unwind_adjustsp.exit
- i32.load8_u $push0=, bytes+1($0)
- i32.const $push8=, 255
- i32.and $push9=, $pop0, $pop8
- i32.ne $push10=, $pop9, $1
- br_if $pop10, 0 # 0: down to label3
+ i32.const $push14=, 0
+ i32.load8_u $push0=, bytes+1($pop14)
+ i32.const $push6=, 255
+ i32.and $push7=, $pop0, $pop6
+ i32.ne $push8=, $pop7, $0
+ br_if $pop8, 0 # 0: down to label3
# BB#2: # %if.end
- return $0
+ i32.const $push9=, 0
+ return $pop9
.LBB1_3: # %if.then
end_block # label3:
call abort@FUNCTION
@@ -95,7 +106,7 @@ bytes:
.type flag,@object
.section .bss.flag,"aw",@nobits
.globl flag
- .align 2
+ .p2align 2
flag:
.int32 0 # 0x0
.size flag, 4
diff --git a/test/torture-s/20051113-1.c.s b/test/torture-s/20051113-1.c.s
index c2493f660..551cf1e75 100644
--- a/test/torture-s/20051113-1.c.s
+++ b/test/torture-s/20051113-1.c.s
@@ -7,84 +7,35 @@
Sum: # @Sum
.param i32
.result i64
- .local i32, i32, i32, i32, i32, i64, i32, i32, i32, i64, i32, i32, i32, i64, i32, i64
+ .local i32, i64, i32
# BB#0: # %entry
- i32.const $2=, 3
- i32.const $3=, 2
- i32.const $15=, 8
- i32.const $4=, 1
- i32.add $push0=, $0, $2
- i32.load8_u $push1=, 0($pop0)
- i32.shl $push2=, $pop1, $15
- i32.add $push3=, $0, $3
- i32.load8_u $push4=, 0($pop3)
- i32.or $push5=, $pop2, $pop4
- i32.const $push6=, 16
- i32.shl $push7=, $pop5, $pop6
- i32.add $push8=, $0, $4
- i32.load8_u $push9=, 0($pop8)
- i32.shl $push10=, $pop9, $15
- i32.load8_u $push11=, 0($0)
- i32.or $push12=, $pop10, $pop11
- i32.or $1=, $pop7, $pop12
- i64.const $16=, 0
+ i64.const $2=, 0
block
- i32.lt_s $push13=, $1, $4
- br_if $pop13, 0 # 0: down to label0
+ i32.load $push0=, 0($0):p2align=0
+ tee_local $push6=, $3=, $pop0
+ i32.const $push5=, 1
+ i32.lt_s $push1=, $pop6, $pop5
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %for.body.preheader
- i32.const $push14=, 10
- i32.add $0=, $0, $pop14
- i64.const $16=, 0
- i32.const $15=, 0
+ i32.const $push2=, 10
+ i32.add $0=, $0, $pop2
+ i64.const $2=, 0
+ i32.const $1=, 0
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push15=, 5
- i32.add $5=, $0, $pop15
- i32.const $push18=, 4
- i32.add $7=, $0, $pop18
- i32.const $push21=, 7
- i32.add $8=, $0, $pop21
- i32.const $push24=, 6
- i32.add $9=, $0, $pop24
- i32.add $11=, $0, $2
- i32.add $12=, $0, $3
- i32.add $13=, $0, $4
- i64.load8_u $14=, 0($0)
- i32.const $push41=, 30
- i32.add $0=, $0, $pop41
- i64.const $6=, 8
- i64.const $10=, 16
- i64.load8_u $push22=, 0($8)
- i64.shl $push23=, $pop22, $6
- i64.load8_u $push25=, 0($9)
- i64.or $push26=, $pop23, $pop25
- i64.shl $push27=, $pop26, $10
- i64.load8_u $push16=, 0($5)
- i64.shl $push17=, $pop16, $6
- i64.load8_u $push19=, 0($7)
- i64.or $push20=, $pop17, $pop19
- i64.or $push28=, $pop27, $pop20
- i64.const $push29=, 32
- i64.shl $push30=, $pop28, $pop29
- i64.load8_u $push31=, 0($11)
- i64.shl $push32=, $pop31, $6
- i64.load8_u $push33=, 0($12)
- i64.or $push34=, $pop32, $pop33
- i64.shl $push35=, $pop34, $10
- i64.load8_u $push36=, 0($13)
- i64.shl $push37=, $pop36, $6
- i64.or $push38=, $pop37, $14
- i64.or $push39=, $pop35, $pop38
- i64.or $push40=, $pop30, $pop39
- i64.add $16=, $pop40, $16
- i32.add $15=, $15, $4
- i32.lt_s $push42=, $15, $1
- br_if $pop42, 0 # 0: up to label1
+ i64.load $push3=, 0($0):p2align=0
+ i64.add $2=, $pop3, $2
+ i32.const $push8=, 1
+ i32.add $1=, $1, $pop8
+ i32.const $push7=, 30
+ i32.add $0=, $0, $pop7
+ i32.lt_s $push4=, $1, $3
+ br_if $pop4, 0 # 0: up to label1
.LBB0_3: # %for.end
end_loop # label2:
end_block # label0:
- return $16
+ return $2
.endfunc
.Lfunc_end0:
.size Sum, .Lfunc_end0-Sum
@@ -96,84 +47,35 @@ Sum: # @Sum
Sum2: # @Sum2
.param i32
.result i64
- .local i32, i32, i32, i32, i32, i64, i32, i32, i32, i64, i32, i32, i32, i64, i32, i64
+ .local i32, i64, i32
# BB#0: # %entry
- i32.const $2=, 3
- i32.const $3=, 2
- i32.const $15=, 8
- i32.const $4=, 1
- i32.add $push0=, $0, $2
- i32.load8_u $push1=, 0($pop0)
- i32.shl $push2=, $pop1, $15
- i32.add $push3=, $0, $3
- i32.load8_u $push4=, 0($pop3)
- i32.or $push5=, $pop2, $pop4
- i32.const $push6=, 16
- i32.shl $push7=, $pop5, $pop6
- i32.add $push8=, $0, $4
- i32.load8_u $push9=, 0($pop8)
- i32.shl $push10=, $pop9, $15
- i32.load8_u $push11=, 0($0)
- i32.or $push12=, $pop10, $pop11
- i32.or $1=, $pop7, $pop12
- i64.const $16=, 0
+ i64.const $2=, 0
block
- i32.lt_s $push13=, $1, $4
- br_if $pop13, 0 # 0: down to label3
+ i32.load $push0=, 0($0):p2align=0
+ tee_local $push6=, $3=, $pop0
+ i32.const $push5=, 1
+ i32.lt_s $push1=, $pop6, $pop5
+ br_if $pop1, 0 # 0: down to label3
# BB#1: # %for.body.preheader
- i32.const $push14=, 18
- i32.add $0=, $0, $pop14
- i64.const $16=, 0
- i32.const $15=, 0
+ i32.const $push2=, 18
+ i32.add $0=, $0, $pop2
+ i64.const $2=, 0
+ i32.const $1=, 0
.LBB1_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.const $push15=, 5
- i32.add $5=, $0, $pop15
- i32.const $push18=, 4
- i32.add $7=, $0, $pop18
- i32.const $push21=, 7
- i32.add $8=, $0, $pop21
- i32.const $push24=, 6
- i32.add $9=, $0, $pop24
- i32.add $11=, $0, $2
- i32.add $12=, $0, $3
- i32.add $13=, $0, $4
- i64.load8_u $14=, 0($0)
- i32.const $push41=, 30
- i32.add $0=, $0, $pop41
- i64.const $6=, 8
- i64.const $10=, 16
- i64.load8_u $push22=, 0($8)
- i64.shl $push23=, $pop22, $6
- i64.load8_u $push25=, 0($9)
- i64.or $push26=, $pop23, $pop25
- i64.shl $push27=, $pop26, $10
- i64.load8_u $push16=, 0($5)
- i64.shl $push17=, $pop16, $6
- i64.load8_u $push19=, 0($7)
- i64.or $push20=, $pop17, $pop19
- i64.or $push28=, $pop27, $pop20
- i64.const $push29=, 32
- i64.shl $push30=, $pop28, $pop29
- i64.load8_u $push31=, 0($11)
- i64.shl $push32=, $pop31, $6
- i64.load8_u $push33=, 0($12)
- i64.or $push34=, $pop32, $pop33
- i64.shl $push35=, $pop34, $10
- i64.load8_u $push36=, 0($13)
- i64.shl $push37=, $pop36, $6
- i64.or $push38=, $pop37, $14
- i64.or $push39=, $pop35, $pop38
- i64.or $push40=, $pop30, $pop39
- i64.add $16=, $pop40, $16
- i32.add $15=, $15, $4
- i32.lt_s $push42=, $15, $1
- br_if $pop42, 0 # 0: up to label4
+ i64.load $push3=, 0($0):p2align=0
+ i64.add $2=, $pop3, $2
+ i32.const $push8=, 1
+ i32.add $1=, $1, $pop8
+ i32.const $push7=, 30
+ i32.add $0=, $0, $pop7
+ i32.lt_s $push4=, $1, $3
+ br_if $pop4, 0 # 0: up to label4
.LBB1_3: # %for.end
end_loop # label5:
end_block # label3:
- return $16
+ return $2
.endfunc
.Lfunc_end1:
.size Sum2, .Lfunc_end1-Sum2
@@ -184,172 +86,39 @@ Sum2: # @Sum2
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i64, i64
+ .local i32
# BB#0: # %entry
- i32.const $1=, 94
- i32.call $0=, malloc@FUNCTION, $1
- i32.const $2=, 0
- call memset@FUNCTION, $0, $2, $1
- i32.const $1=, 3
- i32.add $push0=, $0, $1
- i32.store8 $discard=, 0($pop0), $2
- i32.const $push1=, 2
- i32.add $push2=, $0, $pop1
- i32.store8 $discard=, 0($pop2), $2
- i32.const $push3=, 1
- i32.add $push4=, $0, $pop3
- i32.store8 $discard=, 0($pop4), $2
- i32.store8 $discard=, 0($0), $1
- i32.const $push5=, 17
- i32.add $push6=, $0, $pop5
- i64.const $push7=, 0
- i64.store8 $4=, 0($pop6), $pop7
- i32.const $push8=, 16
- i32.add $push9=, $0, $pop8
- i64.store8 $discard=, 0($pop9), $4
- i32.const $push10=, 15
- i32.add $push11=, $0, $pop10
- i64.store8 $discard=, 0($pop11), $4
- i32.const $push12=, 14
- i32.add $push13=, $0, $pop12
- i64.store8 $discard=, 0($pop13), $4
- i32.const $push14=, 13
- i32.add $push15=, $0, $pop14
- i64.store8 $discard=, 0($pop15), $4
- i32.const $push16=, 12
- i32.add $push17=, $0, $pop16
- i64.store8 $discard=, 0($pop17), $4
- i32.const $push18=, 11
- i32.add $push19=, $0, $pop18
- i64.const $push20=, 2
- i64.store8 $3=, 0($pop19), $pop20
- i32.const $push23=, 47
- i32.add $push24=, $0, $pop23
- i64.store8 $discard=, 0($pop24), $4
- i32.const $push25=, 46
- i32.add $push26=, $0, $pop25
- i64.store8 $discard=, 0($pop26), $4
- i32.const $push27=, 45
- i32.add $push28=, $0, $pop27
- i64.store8 $discard=, 0($pop28), $4
- i32.const $push29=, 44
- i32.add $push30=, $0, $pop29
- i64.store8 $discard=, 0($pop30), $4
- i32.const $push31=, 43
- i32.add $push32=, $0, $pop31
- i64.store8 $discard=, 0($pop32), $4
- i32.const $push33=, 42
- i32.add $push34=, $0, $pop33
- i64.store8 $discard=, 0($pop34), $4
- i32.const $push40=, 77
- i32.add $push41=, $0, $pop40
- i64.store8 $discard=, 0($pop41), $4
- i32.const $push42=, 76
- i32.add $push43=, $0, $pop42
- i64.store8 $discard=, 0($pop43), $4
- i32.const $push44=, 75
- i32.add $push45=, $0, $pop44
- i64.store8 $discard=, 0($pop45), $4
- i32.const $push55=, 25
- i32.add $push56=, $0, $pop55
- i64.store8 $discard=, 0($pop56), $4
- i32.const $push57=, 24
- i32.add $push58=, $0, $pop57
- i64.store8 $discard=, 0($pop58), $4
- i32.const $push59=, 23
- i32.add $push60=, $0, $pop59
- i64.store8 $discard=, 0($pop60), $4
- i32.const $push61=, 22
- i32.add $push62=, $0, $pop61
- i64.store8 $discard=, 0($pop62), $4
- i32.const $push63=, 21
- i32.add $push64=, $0, $pop63
- i64.store8 $discard=, 0($pop64), $4
- i32.const $push65=, 20
- i32.add $push66=, $0, $pop65
- i64.store8 $discard=, 0($pop66), $4
- i32.const $push67=, 19
- i32.add $push68=, $0, $pop67
- i64.store8 $discard=, 0($pop68), $3
- i32.const $push35=, 41
- i32.add $push36=, $0, $pop35
- i64.const $push37=, 3
- i64.store8 $3=, 0($pop36), $pop37
- i32.const $push69=, 55
- i32.add $push70=, $0, $pop69
- i64.store8 $discard=, 0($pop70), $4
- i32.const $push71=, 54
- i32.add $push72=, $0, $pop71
- i64.store8 $discard=, 0($pop72), $4
- i32.const $push73=, 53
- i32.add $push74=, $0, $pop73
- i64.store8 $discard=, 0($pop74), $4
- i32.const $push75=, 52
- i32.add $push76=, $0, $pop75
- i64.store8 $discard=, 0($pop76), $4
- i32.const $push77=, 51
- i32.add $push78=, $0, $pop77
- i64.store8 $discard=, 0($pop78), $4
- i32.const $push79=, 50
- i32.add $push80=, $0, $pop79
- i64.store8 $discard=, 0($pop80), $4
- i32.const $push81=, 49
- i32.add $push82=, $0, $pop81
- i64.store8 $discard=, 0($pop82), $3
- i32.const $push46=, 74
- i32.add $push47=, $0, $pop46
- i64.const $push48=, 1
- i64.store8 $3=, 0($pop47), $pop48
- i32.const $push49=, 73
- i32.add $push50=, $0, $pop49
- i64.store8 $discard=, 0($pop50), $3
- i32.const $push51=, 72
- i32.add $push52=, $0, $pop51
- i64.store8 $discard=, 0($pop52), $3
- i32.const $push53=, 71
- i32.add $push54=, $0, $pop53
- i64.store8 $discard=, 0($pop54), $3
- i32.const $push83=, 85
- i32.add $push84=, $0, $pop83
- i64.store8 $discard=, 0($pop84), $4
- i32.const $push85=, 84
- i32.add $push86=, $0, $pop85
- i64.store8 $discard=, 0($pop86), $4
- i32.const $push87=, 83
- i32.add $push88=, $0, $pop87
- i64.store8 $discard=, 0($pop88), $4
- i64.store8 $4=, 70($0), $3
- i32.const $push89=, 82
- i32.add $push90=, $0, $pop89
- i64.store8 $discard=, 0($pop90), $4
- i32.const $push91=, 81
- i32.add $push92=, $0, $pop91
- i64.store8 $discard=, 0($pop92), $4
- i32.const $push93=, 80
- i32.add $push94=, $0, $pop93
- i64.store8 $discard=, 0($pop94), $4
- i32.const $push95=, 79
- i32.add $push96=, $0, $pop95
- i64.store8 $discard=, 0($pop96), $4
- i64.const $push21=, 43
- i64.store8 $push22=, 10($0), $pop21
- i64.store8 $discard=, 18($0), $pop22
- i64.const $push38=, 231
- i64.store8 $push39=, 40($0), $pop38
- i64.store8 $discard=, 48($0), $pop39
- i64.store8 $discard=, 78($0), $4
- i64.call $3=, Sum@FUNCTION, $0
- i64.const $4=, 4311811859
+ i32.const $push1=, 94
+ i32.call $push0=, malloc@FUNCTION, $pop1
+ i32.const $push2=, 0
+ i32.const $push18=, 94
+ i32.call $push3=, memset@FUNCTION, $pop0, $pop2, $pop18
+ tee_local $push17=, $0=, $pop3
+ i32.const $push4=, 3
+ i32.store $discard=, 0($pop17):p2align=0, $pop4
+ i64.const $push5=, 555
+ i64.store $push6=, 10($0):p2align=0, $pop5
+ i64.store $discard=, 18($0):p2align=0, $pop6
+ i64.const $push7=, 999
+ i64.store $push8=, 40($0):p2align=0, $pop7
+ i64.store $discard=, 48($0):p2align=0, $pop8
+ i64.const $push9=, 4311810305
+ i64.store $push10=, 70($0):p2align=0, $pop9
+ i64.store $discard=, 78($0):p2align=0, $pop10
block
- i64.ne $push97=, $3, $4
- br_if $pop97, 0 # 0: down to label6
+ i64.call $push11=, Sum@FUNCTION, $0
+ i64.const $push16=, 4311811859
+ i64.ne $push12=, $pop11, $pop16
+ br_if $pop12, 0 # 0: down to label6
# BB#1: # %if.end
block
- i64.call $push98=, Sum2@FUNCTION, $0
- i64.ne $push99=, $pop98, $4
- br_if $pop99, 0 # 0: down to label7
+ i64.call $push13=, Sum2@FUNCTION, $0
+ i64.const $push19=, 4311811859
+ i64.ne $push14=, $pop13, $pop19
+ br_if $pop14, 0 # 0: down to label7
# BB#2: # %if.end25
- return $2
+ i32.const $push15=, 0
+ return $pop15
.LBB2_3: # %if.then24
end_block # label7:
call abort@FUNCTION
diff --git a/test/torture-s/20051215-1.c.s b/test/torture-s/20051215-1.c.s
index ba8d81b14..12a6fa272 100644
--- a/test/torture-s/20051215-1.c.s
+++ b/test/torture-s/20051215-1.c.s
@@ -7,43 +7,45 @@
foo: # @foo
.param i32, i32, i32
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $7=, 0
- i32.const $3=, 1
+ i32.const $5=, 0
block
- i32.lt_s $push0=, $1, $3
+ i32.const $push6=, 1
+ i32.lt_s $push0=, $1, $pop6
br_if $pop0, 0 # 0: down to label0
# BB#1: # %for.body.lr.ph
+ i32.const $3=, 0
+ i32.const $4=, 0
i32.const $5=, 0
- copy_local $6=, $5
- copy_local $7=, $5
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
block
- i32.const $push6=, 0
- i32.eq $push7=, $2, $pop6
- br_if $pop7, 0 # 0: down to label3
+ i32.const $push10=, 0
+ i32.eq $push11=, $2, $pop10
+ br_if $pop11, 0 # 0: down to label3
# BB#3: # %if.then
# in Loop: Header=BB0_2 Depth=1
i32.load $push1=, 0($2)
- i32.mul $6=, $pop1, $5
+ i32.mul $4=, $pop1, $3
.LBB0_4: # %if.end
# in Loop: Header=BB0_2 Depth=1
end_block # label3:
- i32.const $4=, 0
- i32.gt_s $push2=, $0, $4
- i32.mul $push3=, $6, $0
- i32.select $push4=, $pop2, $pop3, $4
- i32.add $7=, $7, $pop4
- i32.add $5=, $5, $3
- i32.ne $push5=, $1, $5
+ i32.const $push9=, 0
+ i32.gt_s $push2=, $0, $pop9
+ i32.mul $push3=, $4, $0
+ i32.const $push8=, 0
+ i32.select $push4=, $pop2, $pop3, $pop8
+ i32.add $5=, $5, $pop4
+ i32.const $push7=, 1
+ i32.add $3=, $3, $pop7
+ i32.ne $push5=, $1, $3
br_if $pop5, 0 # 0: up to label1
.LBB0_5: # %for.end6
end_loop # label2:
end_block # label0:
- return $7
+ return $5
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -54,16 +56,16 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
i32.const $push1=, 3
i32.const $push0=, 2
- i32.call $push2=, foo@FUNCTION, $pop1, $pop0, $0
+ i32.const $push3=, 0
+ i32.call $push2=, foo@FUNCTION, $pop1, $pop0, $pop3
br_if $pop2, 0 # 0: down to label4
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB1_2: # %if.then
end_block # label4:
call abort@FUNCTION
diff --git a/test/torture-s/20060102-1.c.s b/test/torture-s/20060102-1.c.s
index f26bac557..858a42b16 100644
--- a/test/torture-s/20060102-1.c.s
+++ b/test/torture-s/20060102-1.c.s
@@ -23,23 +23,27 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, one($0)
- i32.load $4=, one($0)
- i32.const $2=, 31
- i32.const $3=, 1
block
- i32.shr_s $push0=, $1, $2
- i32.or $push1=, $pop0, $3
- i32.sub $push2=, $0, $4
- i32.shr_s $push3=, $pop2, $2
- i32.or $push4=, $pop3, $3
- i32.eq $push5=, $pop1, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push14=, 0
+ i32.load $push0=, one($pop14)
+ i32.const $push1=, 31
+ i32.shr_s $push2=, $pop0, $pop1
+ i32.const $push3=, 1
+ i32.or $push4=, $pop2, $pop3
+ i32.const $push13=, 0
+ i32.const $push12=, 0
+ i32.load $push5=, one($pop12)
+ i32.sub $push6=, $pop13, $pop5
+ i32.const $push11=, 31
+ i32.shr_s $push7=, $pop6, $pop11
+ i32.const $push10=, 1
+ i32.or $push8=, $pop7, $pop10
+ i32.eq $push9=, $pop4, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push15=, 0
+ return $pop15
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -52,7 +56,7 @@ main: # @main
.type one,@object
.section .data.one,"aw",@progbits
.globl one
- .align 2
+ .p2align 2
one:
.int32 1 # 0x1
.size one, 4
diff --git a/test/torture-s/20060110-1.c.s b/test/torture-s/20060110-1.c.s
index 9749bca3c..48ee97ee3 100644
--- a/test/torture-s/20060110-1.c.s
+++ b/test/torture-s/20060110-1.c.s
@@ -7,12 +7,12 @@
f: # @f
.param i64
.result i64
- .local i64
# BB#0: # %entry
- i64.const $1=, 32
- i64.shl $push0=, $0, $1
- i64.shr_s $push1=, $pop0, $1
- return $pop1
+ i64.const $push0=, 32
+ i64.shl $push1=, $0, $pop0
+ i64.const $push3=, 32
+ i64.shr_s $push2=, $pop1, $pop3
+ return $pop2
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
@@ -23,16 +23,17 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i64.load32_s $push0=, a($0)
- i64.load $push1=, b($0)
+ i32.const $push4=, 0
+ i64.load32_s $push0=, a($pop4):p2align=3
+ i32.const $push3=, 0
+ i64.load $push1=, b($pop3)
i64.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push5=, 0
+ return $pop5
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -45,7 +46,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 3
+ .p2align 3
a:
.int64 1311768466852950544 # 0x1234567876543210
.size a, 8
@@ -54,7 +55,7 @@ a:
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 3
+ .p2align 3
b:
.int64 1985229328 # 0x76543210
.size b, 8
diff --git a/test/torture-s/20060110-2.c.s b/test/torture-s/20060110-2.c.s
index 6e332cc77..caa2eceff 100644
--- a/test/torture-s/20060110-2.c.s
+++ b/test/torture-s/20060110-2.c.s
@@ -7,13 +7,13 @@
f: # @f
.param i64, i64
.result i64
- .local i64
# BB#0: # %entry
- i64.const $2=, 32
i64.add $push0=, $1, $0
- i64.shl $push1=, $pop0, $2
- i64.shr_s $push2=, $pop1, $2
- return $pop2
+ i64.const $push1=, 32
+ i64.shl $push2=, $pop0, $pop1
+ i64.const $push4=, 32
+ i64.shr_s $push3=, $pop2, $pop4
+ return $pop3
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
@@ -24,21 +24,24 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i64
# BB#0: # %entry
- i32.const $0=, 0
- i64.const $1=, 32
block
- i64.load $push1=, b($0)
- i64.load $push0=, a($0)
+ i32.const $push11=, 0
+ i64.load $push1=, b($pop11)
+ i32.const $push10=, 0
+ i64.load $push0=, a($pop10)
i64.add $push2=, $pop1, $pop0
- i64.shl $push3=, $pop2, $1
- i64.shr_s $push4=, $pop3, $1
- i64.load $push5=, c($0)
- i64.ne $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i64.const $push3=, 32
+ i64.shl $push4=, $pop2, $pop3
+ i64.const $push9=, 32
+ i64.shr_s $push5=, $pop4, $pop9
+ i32.const $push8=, 0
+ i64.load $push6=, c($pop8)
+ i64.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push12=, 0
+ return $pop12
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -51,7 +54,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 3
+ .p2align 3
a:
.int64 1311768466852950544 # 0x1234567876543210
.size a, 8
@@ -60,7 +63,7 @@ a:
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 3
+ .p2align 3
b:
.int64 2541551395937657089 # 0x2345678765432101
.size b, 8
@@ -69,7 +72,7 @@ b:
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 3
+ .p2align 3
c:
.int64 -610839791 # 0xffffffffdb975311
.size c, 8
diff --git a/test/torture-s/20060127-1.c.s b/test/torture-s/20060127-1.c.s
index 92d02f2bf..bf6a64095 100644
--- a/test/torture-s/20060127-1.c.s
+++ b/test/torture-s/20060127-1.c.s
@@ -26,14 +26,14 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, a($0)
+ i32.const $push1=, 0
+ i32.load $push0=, a($pop1):p2align=3
br_if $pop0, 0 # 0: down to label1
# BB#1: # %f.exit
- return $0
+ i32.const $push2=, 0
+ return $pop2
.LBB1_2: # %if.then.i
end_block # label1:
call abort@FUNCTION
@@ -46,7 +46,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 3
+ .p2align 3
a:
.int64 1311768464867721216 # 0x1234567800000000
.size a, 8
diff --git a/test/torture-s/20060412-1.c.s b/test/torture-s/20060412-1.c.s
index 576d166b2..17d090965 100644
--- a/test/torture-s/20060412-1.c.s
+++ b/test/torture-s/20060412-1.c.s
@@ -6,23 +6,14 @@
.type main,@function
main: # @main
.result i32
- .local i32
-# BB#0: # %while.body.preheader
- i32.const $0=, t+328
-.LBB0_1: # %while.body
- # =>This Inner Loop Header: Depth=1
- loop # label0:
- i32.const $push0=, -1
- i32.store $discard=, 0($0), $pop0
- i32.const $push1=, -4
- i32.add $0=, $0, $pop1
- i32.const $push2=, t+4
- i32.gt_u $push3=, $0, $pop2
- br_if $pop3, 0 # 0: up to label0
-# BB#2: # %if.end5
- end_loop # label1:
- i32.const $0=, 0
- i32.store $push4=, t+4($0), $0
+# BB#0: # %if.end5
+ i32.const $push2=, t+8
+ i32.const $push1=, 255
+ i32.const $push0=, 324
+ i32.call $discard=, memset@FUNCTION, $pop2, $pop1, $pop0
+ i32.const $push3=, 0
+ i32.const $push5=, 0
+ i32.store $push4=, t+4($pop3), $pop5
return $pop4
.endfunc
.Lfunc_end0:
@@ -32,7 +23,7 @@ main: # @main
.type t,@object
.section .bss.t,"aw",@nobits
.globl t
- .align 2
+ .p2align 2
t:
.skip 332
.size t, 332
diff --git a/test/torture-s/20060420-1.c.s b/test/torture-s/20060420-1.c.s
index 4d132621b..d55034358 100644
--- a/test/torture-s/20060420-1.c.s
+++ b/test/torture-s/20060420-1.c.s
@@ -6,268 +6,313 @@
.type foo,@function
foo: # @foo
.param i32, i32, i32, i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32
+ .local i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, i32, i32, i32
# BB#0: # %entry
- i32.const $25=, 0
- i32.const $8=, 1
+ i32.const $7=, 0
block
- i32.lt_s $push0=, $3, $8
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push89=, 1
+ i32.lt_s $push1=, $3, $pop89
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %land.rhs.lr.ph
- i32.const $9=, 4
- i32.add $14=, $1, $9
- i32.const $12=, -1
- i32.add $15=, $2, $12
- i32.const $25=, 0
+ i32.const $push91=, 4
+ i32.add $27=, $1, $pop91
+ i32.const $push90=, -1
+ i32.add $26=, $2, $pop90
+ i32.const $7=, 0
.LBB0_2: # %land.rhs
# =>This Loop Header: Depth=1
# Child Loop BB0_4 Depth 2
loop # label1:
- i32.add $push1=, $25, $0
- i32.const $push2=, 15
- i32.and $push3=, $pop1, $pop2
- i32.const $push81=, 0
- i32.eq $push82=, $pop3, $pop81
- br_if $pop82, 1 # 1: down to label2
+ i32.add $push2=, $7, $0
+ i32.const $push92=, 15
+ i32.and $push3=, $pop2, $pop92
+ i32.const $push156=, 0
+ i32.eq $push157=, $pop3, $pop156
+ br_if $pop157, 1 # 1: down to label2
# BB#3: # %for.body
# in Loop: Header=BB0_2 Depth=1
- i32.const $13=, 2
- i32.shl $27=, $25, $13
i32.load $push4=, 0($1)
- i32.add $push5=, $pop4, $27
- f32.load $43=, 0($pop5)
- copy_local $24=, $15
- copy_local $26=, $14
+ i32.const $push99=, 2
+ i32.shl $push5=, $7, $pop99
+ tee_local $push98=, $9=, $pop5
+ i32.add $push6=, $pop4, $pop98
+ f32.load $25=, 0($pop6)
+ copy_local $28=, $26
+ copy_local $8=, $27
block
- i32.lt_s $push6=, $2, $13
- br_if $pop6, 0 # 0: down to label3
+ i32.const $push97=, 2
+ i32.lt_s $push7=, $2, $pop97
+ br_if $pop7, 0 # 0: down to label3
.LBB0_4: # %for.body4
# Parent Loop BB0_2 Depth=1
# => This Inner Loop Header: Depth=2
loop # label4:
- i32.load $push7=, 0($26)
- i32.add $push8=, $pop7, $27
- f32.load $push9=, 0($pop8)
- f32.add $43=, $43, $pop9
- i32.add $26=, $26, $9
- i32.add $24=, $24, $12
- br_if $24, 0 # 0: up to label4
+ i32.load $push8=, 0($8)
+ i32.add $push9=, $pop8, $9
+ f32.load $push10=, 0($pop9)
+ f32.add $25=, $25, $pop10
+ i32.const $push101=, 4
+ i32.add $8=, $8, $pop101
+ i32.const $push100=, -1
+ i32.add $28=, $28, $pop100
+ br_if $28, 0 # 0: up to label4
.LBB0_5: # %for.end
# in Loop: Header=BB0_2 Depth=1
end_loop # label5:
end_block # label3:
- i32.add $push10=, $0, $27
- f32.store $discard=, 0($pop10), $43
- i32.add $25=, $25, $8
- i32.lt_s $push11=, $25, $3
- br_if $pop11, 0 # 0: up to label1
+ i32.add $push11=, $0, $9
+ f32.store $discard=, 0($pop11), $25
+ i32.const $push102=, 1
+ i32.add $7=, $7, $pop102
+ i32.lt_s $push12=, $7, $3
+ br_if $pop12, 0 # 0: up to label1
.LBB0_6: # %for.cond12.preheader
end_loop # label2:
end_block # label0:
block
- i32.const $push12=, -15
- i32.add $4=, $3, $pop12
- i32.ge_s $push13=, $25, $4
- br_if $pop13, 0 # 0: down to label6
+ i32.const $push13=, -15
+ i32.add $push0=, $3, $pop13
+ tee_local $push93=, $26=, $pop0
+ i32.ge_s $push14=, $7, $pop93
+ br_if $pop14, 0 # 0: down to label6
# BB#7: # %for.body15.lr.ph
- i32.const $24=, -16
- i32.add $push14=, $3, $24
- i32.sub $push15=, $pop14, $25
- i32.and $push16=, $pop15, $24
- i32.add $5=, $25, $pop16
- i32.const $9=, 4
- i32.add $6=, $1, $9
- i32.const $10=, -1
- i32.add $7=, $2, $10
+ i32.const $push15=, -16
+ i32.add $push16=, $3, $pop15
+ i32.sub $push17=, $pop16, $7
+ i32.const $push96=, -16
+ i32.and $push18=, $pop17, $pop96
+ i32.add $4=, $7, $pop18
+ i32.const $push95=, 4
+ i32.add $5=, $1, $pop95
+ i32.const $push94=, -1
+ i32.add $6=, $2, $pop94
.LBB0_8: # %for.body15
# =>This Loop Header: Depth=1
# Child Loop BB0_9 Depth 2
loop # label7:
- i32.const $11=, 2
- i32.shl $12=, $25, $11
- i32.load $push17=, 0($1)
- i32.add $24=, $pop17, $12
- i32.const $13=, 12
- i32.add $push18=, $24, $13
- f32.load $43=, 0($pop18)
- i32.const $14=, 8
- i32.const $15=, 28
- i32.const $16=, 24
- i32.const $17=, 20
- i32.const $18=, 44
- i32.const $19=, 40
- i32.const $20=, 36
- i32.const $21=, 60
- i32.const $22=, 56
- i32.const $23=, 52
- i32.add $push19=, $24, $14
- f32.load $42=, 0($pop19)
- i32.add $push20=, $24, $9
- f32.load $41=, 0($pop20)
- i32.add $push21=, $24, $15
- f32.load $39=, 0($pop21)
- i32.add $push22=, $24, $16
- f32.load $38=, 0($pop22)
- i32.add $push23=, $24, $17
- f32.load $37=, 0($pop23)
- i32.add $push24=, $24, $18
- f32.load $35=, 0($pop24)
- i32.add $push25=, $24, $19
- f32.load $34=, 0($pop25)
- i32.add $push26=, $24, $20
- f32.load $33=, 0($pop26)
- f32.load $40=, 0($24)
- f32.load $36=, 16($24)
- f32.load $32=, 32($24)
- f32.load $28=, 48($24)
- i32.add $push27=, $24, $21
- f32.load $31=, 0($pop27)
- i32.add $push28=, $24, $22
- f32.load $30=, 0($pop28)
- i32.add $push29=, $24, $23
- f32.load $29=, 0($pop29)
- copy_local $26=, $7
- copy_local $27=, $6
+ i32.load $push19=, 0($1)
+ i32.const $push120=, 2
+ i32.shl $push20=, $7, $pop120
+ tee_local $push119=, $27=, $pop20
+ i32.add $push21=, $pop19, $pop119
+ tee_local $push118=, $28=, $pop21
+ i32.const $push117=, 12
+ i32.add $push22=, $pop118, $pop117
+ f32.load $25=, 0($pop22)
+ i32.const $push116=, 8
+ i32.add $push23=, $28, $pop116
+ f32.load $24=, 0($pop23):p2align=3
+ i32.const $push115=, 4
+ i32.add $push24=, $28, $pop115
+ f32.load $23=, 0($pop24)
+ i32.const $push114=, 28
+ i32.add $push25=, $28, $pop114
+ f32.load $21=, 0($pop25)
+ i32.const $push113=, 24
+ i32.add $push26=, $28, $pop113
+ f32.load $20=, 0($pop26):p2align=3
+ i32.const $push112=, 20
+ i32.add $push27=, $28, $pop112
+ f32.load $19=, 0($pop27)
+ i32.const $push111=, 44
+ i32.add $push28=, $28, $pop111
+ f32.load $17=, 0($pop28)
+ i32.const $push110=, 40
+ i32.add $push29=, $28, $pop110
+ f32.load $16=, 0($pop29):p2align=3
+ i32.const $push109=, 36
+ i32.add $push30=, $28, $pop109
+ f32.load $15=, 0($pop30)
+ f32.load $22=, 0($28):p2align=4
+ f32.load $18=, 16($28):p2align=4
+ f32.load $14=, 32($28):p2align=4
+ f32.load $10=, 48($28):p2align=4
+ i32.const $push108=, 60
+ i32.add $push31=, $28, $pop108
+ f32.load $13=, 0($pop31)
+ i32.const $push107=, 56
+ i32.add $push32=, $28, $pop107
+ f32.load $12=, 0($pop32):p2align=3
+ i32.const $push106=, 52
+ i32.add $push33=, $28, $pop106
+ f32.load $11=, 0($pop33)
+ copy_local $8=, $6
+ copy_local $9=, $5
block
- i32.lt_s $push30=, $2, $11
- br_if $pop30, 0 # 0: down to label9
+ i32.const $push105=, 2
+ i32.lt_s $push34=, $2, $pop105
+ br_if $pop34, 0 # 0: down to label9
.LBB0_9: # %for.body33
# Parent Loop BB0_8 Depth=1
# => This Inner Loop Header: Depth=2
loop # label10:
- i32.load $push31=, 0($27)
- i32.add $24=, $pop31, $12
- f32.load $push38=, 0($24)
- f32.add $40=, $40, $pop38
- i32.add $push36=, $24, $13
- f32.load $push37=, 0($pop36)
- f32.add $43=, $43, $pop37
- i32.add $push34=, $24, $14
- f32.load $push35=, 0($pop34)
- f32.add $42=, $42, $pop35
- i32.add $push32=, $24, $9
- f32.load $push33=, 0($pop32)
- f32.add $41=, $41, $pop33
- f32.load $push45=, 16($24)
- f32.add $36=, $36, $pop45
- i32.add $push43=, $24, $15
- f32.load $push44=, 0($pop43)
- f32.add $39=, $39, $pop44
- i32.add $push41=, $24, $16
+ i32.load $push35=, 0($9)
+ i32.add $push36=, $pop35, $27
+ tee_local $push135=, $28=, $pop36
+ f32.load $push43=, 0($pop135):p2align=4
+ f32.add $22=, $22, $pop43
+ i32.const $push134=, 12
+ i32.add $push41=, $28, $pop134
f32.load $push42=, 0($pop41)
- f32.add $38=, $38, $pop42
- i32.add $push39=, $24, $17
- f32.load $push40=, 0($pop39)
- f32.add $37=, $37, $pop40
- f32.load $push52=, 32($24)
- f32.add $32=, $32, $pop52
- i32.add $push50=, $24, $18
- f32.load $push51=, 0($pop50)
- f32.add $35=, $35, $pop51
- i32.add $push48=, $24, $19
+ f32.add $25=, $25, $pop42
+ i32.const $push133=, 8
+ i32.add $push39=, $28, $pop133
+ f32.load $push40=, 0($pop39):p2align=3
+ f32.add $24=, $24, $pop40
+ i32.const $push132=, 4
+ i32.add $push37=, $28, $pop132
+ f32.load $push38=, 0($pop37)
+ f32.add $23=, $23, $pop38
+ f32.load $push50=, 16($28):p2align=4
+ f32.add $18=, $18, $pop50
+ i32.const $push131=, 28
+ i32.add $push48=, $28, $pop131
f32.load $push49=, 0($pop48)
- f32.add $34=, $34, $pop49
- i32.add $push46=, $24, $20
- f32.load $push47=, 0($pop46)
- f32.add $33=, $33, $pop47
- f32.load $push59=, 48($24)
- f32.add $28=, $28, $pop59
- i32.add $push57=, $24, $21
- f32.load $push58=, 0($pop57)
- f32.add $31=, $31, $pop58
- i32.add $push55=, $24, $22
+ f32.add $21=, $21, $pop49
+ i32.const $push130=, 24
+ i32.add $push46=, $28, $pop130
+ f32.load $push47=, 0($pop46):p2align=3
+ f32.add $20=, $20, $pop47
+ i32.const $push129=, 20
+ i32.add $push44=, $28, $pop129
+ f32.load $push45=, 0($pop44)
+ f32.add $19=, $19, $pop45
+ f32.load $push57=, 32($28):p2align=4
+ f32.add $14=, $14, $pop57
+ i32.const $push128=, 44
+ i32.add $push55=, $28, $pop128
f32.load $push56=, 0($pop55)
- f32.add $30=, $30, $pop56
- i32.add $push53=, $24, $23
- f32.load $push54=, 0($pop53)
- f32.add $29=, $29, $pop54
- i32.add $27=, $27, $9
- i32.add $26=, $26, $10
- br_if $26, 0 # 0: up to label10
+ f32.add $17=, $17, $pop56
+ i32.const $push127=, 40
+ i32.add $push53=, $28, $pop127
+ f32.load $push54=, 0($pop53):p2align=3
+ f32.add $16=, $16, $pop54
+ i32.const $push126=, 36
+ i32.add $push51=, $28, $pop126
+ f32.load $push52=, 0($pop51)
+ f32.add $15=, $15, $pop52
+ f32.load $push64=, 48($28):p2align=4
+ f32.add $10=, $10, $pop64
+ i32.const $push125=, 60
+ i32.add $push62=, $28, $pop125
+ f32.load $push63=, 0($pop62)
+ f32.add $13=, $13, $pop63
+ i32.const $push124=, 56
+ i32.add $push60=, $28, $pop124
+ f32.load $push61=, 0($pop60):p2align=3
+ f32.add $12=, $12, $pop61
+ i32.const $push123=, 52
+ i32.add $push58=, $28, $pop123
+ f32.load $push59=, 0($pop58)
+ f32.add $11=, $11, $pop59
+ i32.const $push122=, 4
+ i32.add $9=, $9, $pop122
+ i32.const $push121=, -1
+ i32.add $8=, $8, $pop121
+ br_if $8, 0 # 0: up to label10
.LBB0_10: # %for.end56
# in Loop: Header=BB0_8 Depth=1
end_loop # label11:
end_block # label9:
- i32.add $24=, $0, $12
- f32.store $discard=, 0($24), $40
- i32.add $push60=, $24, $13
- f32.store $discard=, 0($pop60), $43
- i32.add $push61=, $24, $14
- f32.store $discard=, 0($pop61), $42
- i32.add $push62=, $24, $9
- f32.store $discard=, 0($pop62), $41
- f32.store $discard=, 16($24), $36
- i32.add $push63=, $24, $15
- f32.store $discard=, 0($pop63), $39
- i32.add $push64=, $24, $16
- f32.store $discard=, 0($pop64), $38
- i32.add $push65=, $24, $17
- f32.store $discard=, 0($pop65), $37
- f32.store $discard=, 32($24), $32
- i32.add $push66=, $24, $18
- f32.store $discard=, 0($pop66), $35
- i32.add $push67=, $24, $19
- f32.store $discard=, 0($pop67), $34
- i32.add $push68=, $24, $20
- f32.store $discard=, 0($pop68), $33
- f32.store $discard=, 48($24), $28
- i32.add $push69=, $24, $21
- f32.store $discard=, 0($pop69), $31
- i32.add $push70=, $24, $22
- f32.store $discard=, 0($pop70), $30
- i32.add $push71=, $24, $23
- f32.store $discard=, 0($pop71), $29
- i32.const $24=, 16
- i32.add $25=, $25, $24
- i32.lt_s $push72=, $25, $4
- br_if $pop72, 0 # 0: up to label7
+ i32.add $push65=, $0, $27
+ tee_local $push149=, $28=, $pop65
+ f32.store $discard=, 0($pop149):p2align=4, $22
+ i32.const $push148=, 12
+ i32.add $push66=, $28, $pop148
+ f32.store $discard=, 0($pop66), $25
+ i32.const $push147=, 8
+ i32.add $push67=, $28, $pop147
+ f32.store $discard=, 0($pop67):p2align=3, $24
+ i32.const $push146=, 4
+ i32.add $push68=, $28, $pop146
+ f32.store $discard=, 0($pop68), $23
+ f32.store $discard=, 16($28):p2align=4, $18
+ i32.const $push145=, 28
+ i32.add $push69=, $28, $pop145
+ f32.store $discard=, 0($pop69), $21
+ i32.const $push144=, 24
+ i32.add $push70=, $28, $pop144
+ f32.store $discard=, 0($pop70):p2align=3, $20
+ i32.const $push143=, 20
+ i32.add $push71=, $28, $pop143
+ f32.store $discard=, 0($pop71), $19
+ f32.store $discard=, 32($28):p2align=4, $14
+ i32.const $push142=, 44
+ i32.add $push72=, $28, $pop142
+ f32.store $discard=, 0($pop72), $17
+ i32.const $push141=, 40
+ i32.add $push73=, $28, $pop141
+ f32.store $discard=, 0($pop73):p2align=3, $16
+ i32.const $push140=, 36
+ i32.add $push74=, $28, $pop140
+ f32.store $discard=, 0($pop74), $15
+ f32.store $discard=, 48($28):p2align=4, $10
+ i32.const $push139=, 60
+ i32.add $push75=, $28, $pop139
+ f32.store $discard=, 0($pop75), $13
+ i32.const $push138=, 56
+ i32.add $push76=, $28, $pop138
+ f32.store $discard=, 0($pop76):p2align=3, $12
+ i32.const $push137=, 52
+ i32.add $push77=, $28, $pop137
+ f32.store $discard=, 0($pop77), $11
+ i32.const $push136=, 16
+ i32.add $7=, $7, $pop136
+ i32.lt_s $push78=, $7, $26
+ br_if $pop78, 0 # 0: up to label7
# BB#11: # %for.cond73.preheader.loopexit
end_loop # label8:
- i32.add $25=, $5, $24
+ i32.const $push79=, 16
+ i32.add $7=, $4, $pop79
.LBB0_12: # %for.cond73.preheader
end_block # label6:
block
- i32.ge_s $push73=, $25, $3
- br_if $pop73, 0 # 0: down to label12
+ i32.ge_s $push80=, $7, $3
+ br_if $pop80, 0 # 0: down to label12
# BB#13: # %for.body75.lr.ph
- i32.load $14=, 0($1)
- i32.const $9=, 4
- i32.add $15=, $1, $9
- i32.const $12=, -1
- i32.add $16=, $2, $12
+ i32.load $27=, 0($1)
+ i32.const $push104=, 4
+ i32.add $1=, $1, $pop104
+ i32.const $push103=, -1
+ i32.add $26=, $2, $pop103
.LBB0_14: # %for.body75
# =>This Loop Header: Depth=1
# Child Loop BB0_15 Depth 2
loop # label13:
- i32.const $13=, 2
- i32.shl $27=, $25, $13
- i32.add $push74=, $14, $27
- f32.load $43=, 0($pop74)
- copy_local $24=, $16
- copy_local $26=, $15
+ i32.const $push152=, 2
+ i32.shl $push81=, $7, $pop152
+ tee_local $push151=, $9=, $pop81
+ i32.add $push82=, $27, $pop151
+ f32.load $25=, 0($pop82)
+ copy_local $28=, $26
+ copy_local $8=, $1
block
- i32.lt_s $push75=, $2, $13
- br_if $pop75, 0 # 0: down to label15
+ i32.const $push150=, 2
+ i32.lt_s $push83=, $2, $pop150
+ br_if $pop83, 0 # 0: down to label15
.LBB0_15: # %for.body81
# Parent Loop BB0_14 Depth=1
# => This Inner Loop Header: Depth=2
loop # label16:
- i32.load $push76=, 0($26)
- i32.add $push77=, $pop76, $27
- f32.load $push78=, 0($pop77)
- f32.add $43=, $43, $pop78
- i32.add $26=, $26, $9
- i32.add $24=, $24, $12
- br_if $24, 0 # 0: up to label16
+ i32.load $push84=, 0($8)
+ i32.add $push85=, $pop84, $9
+ f32.load $push86=, 0($pop85)
+ f32.add $25=, $25, $pop86
+ i32.const $push154=, 4
+ i32.add $8=, $8, $pop154
+ i32.const $push153=, -1
+ i32.add $28=, $28, $pop153
+ br_if $28, 0 # 0: up to label16
.LBB0_16: # %for.end87
# in Loop: Header=BB0_14 Depth=1
end_loop # label17:
end_block # label15:
- i32.add $push79=, $0, $27
- f32.store $discard=, 0($pop79), $43
- i32.add $25=, $25, $8
- i32.ne $push80=, $25, $3
- br_if $pop80, 0 # 0: up to label13
+ i32.add $push87=, $0, $9
+ f32.store $discard=, 0($pop87), $25
+ i32.const $push155=, 1
+ i32.add $7=, $7, $pop155
+ i32.ne $push88=, $7, $3
+ br_if $pop88, 0 # 0: up to label13
.LBB0_17: # %for.end91
end_loop # label14:
end_block # label12:
@@ -282,84 +327,97 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, f32, f32, f32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local f32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $11=, __stack_pointer
- i32.load $11=, 0($11)
- i32.const $12=, 16
- i32.sub $15=, $11, $12
- i32.const $12=, __stack_pointer
- i32.store $15=, 0($12), $15
- i32.const $0=, buffer
- i32.const $10=, 0
- i32.const $1=, 63
- i32.sub $push1=, $10, $0
- i32.and $push2=, $pop1, $1
- i32.add $9=, $0, $pop2
- i32.const $push3=, 128
- i32.add $push4=, $9, $pop3
- i32.store $discard=, 12($15), $pop4
- i32.const $2=, 64
- i32.add $push0=, $9, $2
- i32.store $9=, 8($15), $pop0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $2=, 0
+ i32.const $push32=, 0
+ i32.const $push1=, buffer
+ i32.sub $push2=, $pop32, $pop1
+ i32.const $push3=, 63
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push31=, $1=, $pop4
+ i32.const $push6=, buffer+128
+ i32.add $push7=, $pop31, $pop6
+ i32.store $discard=, 12($7), $pop7
+ i32.const $push5=, buffer+64
+ i32.add $push0=, $1, $pop5
+ i32.store $1=, 8($7), $pop0
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label18:
- f32.convert_s/i32 $3=, $10
- f32.const $4=, 0x1.6p3
- f32.mul $push5=, $3, $4
- f32.add $push6=, $3, $pop5
- f32.store $discard=, 0($9), $pop6
- f32.const $5=, 0x1.8p3
- i32.add $push9=, $9, $2
- f32.mul $push7=, $3, $5
- f32.add $push8=, $3, $pop7
- f32.store $discard=, 0($pop9), $pop8
- i32.const $6=, 1
- i32.add $10=, $10, $6
- i32.const $7=, 4
- i32.add $9=, $9, $7
- i32.const $8=, 16
- i32.ne $push10=, $10, $8
- br_if $pop10, 0 # 0: up to label18
+ f32.convert_s/i32 $0=, $2
+ i32.const $push38=, 64
+ i32.add $push12=, $1, $pop38
+ f32.const $push37=, 0x1.8p3
+ f32.mul $push10=, $0, $pop37
+ f32.add $push11=, $0, $pop10
+ f32.store $discard=, 0($pop12), $pop11
+ f32.const $push36=, 0x1.6p3
+ f32.mul $push8=, $0, $pop36
+ f32.add $push9=, $0, $pop8
+ f32.store $discard=, 0($1), $pop9
+ i32.const $push35=, 1
+ i32.add $2=, $2, $pop35
+ i32.const $push34=, 4
+ i32.add $1=, $1, $pop34
+ i32.const $push33=, 16
+ i32.ne $push13=, $2, $pop33
+ br_if $pop13, 0 # 0: up to label18
# BB#2: # %for.end
end_loop # label19:
- i32.const $10=, 0
- i32.sub $push11=, $10, $0
- i32.and $push12=, $pop11, $1
- i32.add $9=, $0, $pop12
- i32.const $push13=, 2
- i32.const $14=, 8
- i32.add $14=, $15, $14
- call foo@FUNCTION, $9, $14, $pop13, $8
+ i32.const $2=, 0
+ i32.const $push41=, 0
+ i32.const $push14=, buffer
+ i32.sub $push15=, $pop41, $pop14
+ i32.const $push16=, 63
+ i32.and $push17=, $pop15, $pop16
+ i32.const $push40=, buffer
+ i32.add $push30=, $pop17, $pop40
+ tee_local $push39=, $1=, $pop30
+ i32.const $push19=, 2
+ i32.const $push18=, 16
+ i32.const $6=, 8
+ i32.add $6=, $7, $6
+ call foo@FUNCTION, $pop39, $6, $pop19, $pop18
.LBB1_3: # %for.body16
# =>This Inner Loop Header: Depth=1
block
loop # label21:
- f32.convert_s/i32 $3=, $10
- f32.load $push19=, 0($9)
- f32.mul $push17=, $3, $5
- f32.mul $push14=, $3, $4
- f32.add $push15=, $3, $pop14
- f32.add $push16=, $3, $pop15
- f32.add $push18=, $pop17, $pop16
- f32.ne $push20=, $pop19, $pop18
- br_if $pop20, 2 # 2: down to label20
+ f32.load $push26=, 0($1)
+ f32.convert_s/i32 $push20=, $2
+ tee_local $push47=, $0=, $pop20
+ f32.const $push46=, 0x1.8p3
+ f32.mul $push24=, $pop47, $pop46
+ f32.const $push45=, 0x1.6p3
+ f32.mul $push21=, $0, $pop45
+ f32.add $push22=, $0, $pop21
+ f32.add $push23=, $0, $pop22
+ f32.add $push25=, $pop24, $pop23
+ f32.ne $push27=, $pop26, $pop25
+ br_if $pop27, 2 # 2: down to label20
# BB#4: # %for.cond13
# in Loop: Header=BB1_3 Depth=1
- i32.add $10=, $10, $6
- i32.add $9=, $9, $7
- i32.const $push21=, 15
- i32.le_s $push22=, $10, $pop21
- br_if $pop22, 0 # 0: up to label21
+ i32.const $push44=, 1
+ i32.add $2=, $2, $pop44
+ i32.const $push43=, 4
+ i32.add $1=, $1, $pop43
+ i32.const $push42=, 15
+ i32.le_s $push28=, $2, $pop42
+ br_if $pop28, 0 # 0: up to label21
# BB#5: # %for.end31
end_loop # label22:
- i32.const $push23=, 0
- i32.const $13=, 16
- i32.add $15=, $15, $13
- i32.const $13=, __stack_pointer
- i32.store $15=, 0($13), $15
- return $pop23
+ i32.const $push29=, 0
+ i32.const $5=, 16
+ i32.add $7=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
+ return $pop29
.LBB1_6: # %if.then
end_block # label20:
call abort@FUNCTION
@@ -372,7 +430,7 @@ main: # @main
.type buffer,@object
.section .bss.buffer,"aw",@nobits
.globl buffer
- .align 4
+ .p2align 4
buffer:
.skip 256
.size buffer, 256
diff --git a/test/torture-s/20060905-1.c.s b/test/torture-s/20060905-1.c.s
index 4e396d73d..5ded7e428 100644
--- a/test/torture-s/20060905-1.c.s
+++ b/test/torture-s/20060905-1.c.s
@@ -6,43 +6,44 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $4=, 0
- i32.const $2=, s-384
- copy_local $3=, $4
+ i32.const $0=, s-384
+ i32.const $2=, 0
+ i32.const $1=, 0
.LBB0_1: # %for.body.i
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $0=, 128
block
- i32.lt_s $push0=, $3, $0
+ i32.const $push6=, 128
+ i32.lt_s $push0=, $1, $pop6
br_if $pop0, 0 # 0: down to label2
# BB#2: # %if.then.i
# in Loop: Header=BB0_1 Depth=1
- i32.load8_u $1=, 0($2)
- i32.const $push1=, 0
- i32.store8 $discard=, g($pop1), $1
- i32.const $push2=, 1
- i32.add $4=, $4, $pop2
+ i32.const $push8=, 0
+ i32.load8_u $push1=, 0($0)
+ i32.store8 $discard=, g($pop8), $pop1
+ i32.const $push7=, 1
+ i32.add $2=, $2, $pop7
.LBB0_3: # %for.inc.i
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
- i32.const $push3=, 1
- i32.add $3=, $3, $pop3
- i32.const $push4=, 3
- i32.add $2=, $2, $pop4
- i32.const $push5=, 256
- i32.ne $push6=, $3, $pop5
- br_if $pop6, 0 # 0: up to label0
+ i32.const $push11=, 1
+ i32.add $1=, $1, $pop11
+ i32.const $push10=, 3
+ i32.add $0=, $0, $pop10
+ i32.const $push9=, 256
+ i32.ne $push2=, $1, $pop9
+ br_if $pop2, 0 # 0: up to label0
# BB#4: # %foo.exit
end_loop # label1:
block
- i32.ne $push7=, $4, $0
- br_if $pop7, 0 # 0: down to label3
+ i32.const $push3=, 128
+ i32.ne $push4=, $2, $pop3
+ br_if $pop4, 0 # 0: down to label3
# BB#5: # %if.end
- i32.const $push8=, 0
- return $pop8
+ i32.const $push5=, 0
+ return $pop5
.LBB0_6: # %if.then
end_block # label3:
call abort@FUNCTION
@@ -55,7 +56,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 4
+ .p2align 4
s:
.skip 768
.size s, 768
diff --git a/test/torture-s/20060910-1.c.s b/test/torture-s/20060910-1.c.s
index ee4805ab5..64bf01aad 100644
--- a/test/torture-s/20060910-1.c.s
+++ b/test/torture-s/20060910-1.c.s
@@ -23,64 +23,66 @@ check_header: # @check_header
.result i32
.local i32, i32
# BB#0: # %entry
- i32.load $1=, 4($0)
- i32.load $2=, 0($0)
block
- i32.ge_u $push5=, $2, $1
- br_if $pop5, 0 # 0: down to label0
+ i32.load $push20=, 0($0)
+ tee_local $push22=, $2=, $pop20
+ i32.load $push0=, 4($0)
+ tee_local $push21=, $1=, $pop0
+ i32.ge_u $push6=, $pop22, $pop21
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %cond.true
- i32.const $push6=, 1
- i32.add $push0=, $2, $pop6
- i32.store $2=, 0($0), $pop0
+ i32.const $push7=, 1
+ i32.add $push1=, $2, $pop7
+ i32.store $2=, 0($0), $pop1
.LBB1_2: # %for.inc
end_block # label0:
block
- i32.ge_u $push7=, $2, $1
- br_if $pop7, 0 # 0: down to label1
+ i32.ge_u $push8=, $2, $1
+ br_if $pop8, 0 # 0: down to label1
# BB#3: # %cond.true.1
- i32.const $push8=, 1
- i32.add $push1=, $2, $pop8
- i32.store $2=, 0($0), $pop1
+ i32.const $push9=, 1
+ i32.add $push2=, $2, $pop9
+ i32.store $2=, 0($0), $pop2
.LBB1_4: # %for.inc.1
end_block # label1:
block
- i32.ge_u $push9=, $2, $1
- br_if $pop9, 0 # 0: down to label2
+ i32.ge_u $push10=, $2, $1
+ br_if $pop10, 0 # 0: down to label2
# BB#5: # %cond.true.2
- i32.const $push10=, 1
- i32.add $push2=, $2, $pop10
- i32.store $2=, 0($0), $pop2
+ i32.const $push11=, 1
+ i32.add $push3=, $2, $pop11
+ i32.store $2=, 0($0), $pop3
.LBB1_6: # %for.inc.2
end_block # label2:
block
- i32.ge_u $push11=, $2, $1
- br_if $pop11, 0 # 0: down to label3
+ i32.ge_u $push12=, $2, $1
+ br_if $pop12, 0 # 0: down to label3
# BB#7: # %cond.true.3
- i32.const $push12=, 1
- i32.add $push3=, $2, $pop12
- i32.store $2=, 0($0), $pop3
+ i32.const $push13=, 1
+ i32.add $push4=, $2, $pop13
+ i32.store $2=, 0($0), $pop4
.LBB1_8: # %for.inc.3
end_block # label3:
block
- i32.ge_u $push13=, $2, $1
- br_if $pop13, 0 # 0: down to label4
+ i32.ge_u $push14=, $2, $1
+ br_if $pop14, 0 # 0: down to label4
# BB#9: # %cond.true.4
- i32.const $push14=, 1
- i32.add $push4=, $2, $pop14
- i32.store $2=, 0($0), $pop4
+ i32.const $push15=, 1
+ i32.add $push5=, $2, $pop15
+ i32.store $2=, 0($0), $pop5
.LBB1_10: # %for.inc.4
end_block # label4:
block
- i32.ge_u $push15=, $2, $1
- br_if $pop15, 0 # 0: down to label5
+ i32.ge_u $push16=, $2, $1
+ br_if $pop16, 0 # 0: down to label5
# BB#11: # %cond.true.5
- i32.const $push16=, 1
- i32.add $push17=, $2, $pop16
- i32.store $discard=, 0($0), $pop17
+ i32.const $push17=, 1
+ i32.add $push18=, $2, $pop17
+ i32.store $discard=, 0($0), $pop18
.LBB1_12: # %for.inc.5
end_block # label5:
- i32.const $push18=, 1
- return $pop18
+ i32.const $push19=, 1
+ return $pop19
.endfunc
.Lfunc_end1:
.size check_header, .Lfunc_end1-check_header
@@ -91,13 +93,14 @@ check_header: # @check_header
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end2
- i32.const $0=, 0
+ i32.const $push1=, 0
+ i32.const $push4=, 0
i32.const $push0=, b+6
- i32.store $push1=, s+4($0), $pop0
- i32.store $discard=, s($0), $pop1
- return $0
+ i32.store $push2=, s+4($pop4), $pop0
+ i32.store $discard=, s($pop1), $pop2
+ i32.const $push3=, 0
+ return $pop3
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -114,7 +117,7 @@ b:
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 8
.size s, 8
diff --git a/test/torture-s/20060929-1.c.s b/test/torture-s/20060929-1.c.s
index 48f30928b..6d58b61b0 100644
--- a/test/torture-s/20060929-1.c.s
+++ b/test/torture-s/20060929-1.c.s
@@ -8,11 +8,12 @@ foo: # @foo
.param i32, i32
.local i32
# BB#0: # %entry
- i32.load $2=, 0($0)
i32.load $1=, 0($1)
- i32.const $push0=, 4
- i32.add $push1=, $2, $pop0
- i32.store $discard=, 0($0), $pop1
+ i32.load $push0=, 0($0)
+ tee_local $push3=, $2=, $pop0
+ i32.const $push1=, 4
+ i32.add $push2=, $pop3, $pop1
+ i32.store $discard=, 0($0), $pop2
i32.store $discard=, 0($2), $1
return
.endfunc
@@ -27,12 +28,13 @@ bar: # @bar
.param i32, i32
.local i32
# BB#0: # %entry
- i32.load $2=, 0($0)
+ i32.load $push1=, 0($0)
+ tee_local $push4=, $2=, $pop1
i32.load $push0=, 0($1)
- i32.store $discard=, 0($2), $pop0
- i32.const $push1=, 4
- i32.add $push2=, $2, $pop1
- i32.store $discard=, 0($0), $pop2
+ i32.store $discard=, 0($pop4), $pop0
+ i32.const $push2=, 4
+ i32.add $push3=, $2, $pop2
+ i32.store $discard=, 0($0), $pop3
return
.endfunc
.Lfunc_end1:
@@ -46,12 +48,13 @@ baz: # @baz
.param i32, i32
.local i32
# BB#0: # %entry
- i32.load $2=, 0($0)
+ i32.load $push1=, 0($0)
+ tee_local $push4=, $2=, $pop1
i32.load $push0=, 0($1)
- i32.store $discard=, 0($2), $pop0
- i32.const $push1=, 4
- i32.add $push2=, $2, $pop1
- i32.store $discard=, 0($0), $pop2
+ i32.store $discard=, 0($pop4), $pop0
+ i32.const $push2=, 4
+ i32.add $push3=, $2, $pop2
+ i32.store $discard=, 0($0), $pop3
return
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/20060930-1.c.s b/test/torture-s/20060930-1.c.s
index 9aaad4371..2606875ce 100644
--- a/test/torture-s/20060930-1.c.s
+++ b/test/torture-s/20060930-1.c.s
@@ -28,26 +28,30 @@ bar: # @bar
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i32
# BB#0: # %entry
block
- i32.const $push2=, 1
- i32.lt_s $push3=, $1, $pop2
- br_if $pop3, 0 # 0: down to label1
+ i32.const $push4=, 1
+ i32.lt_s $push5=, $1, $pop4
+ br_if $pop5, 0 # 0: down to label1
# BB#1: # %for.body.lr.ph
- i32.const $3=, 0
- i32.gt_s $push0=, $0, $3
- i32.sub $push1=, $3, $0
- i32.select $2=, $pop0, $pop1, $0
- i32.const $0=, -1
- i32.gt_s $push4=, $2, $0
- i32.sub $push5=, $3, $2
- i32.select $3=, $pop4, $3, $pop5
+ i32.const $push1=, 0
+ i32.gt_s $push2=, $0, $pop1
+ i32.const $push12=, 0
+ i32.sub $push3=, $pop12, $0
+ i32.select $push0=, $pop2, $pop3, $0
+ tee_local $push11=, $0=, $pop0
+ i32.const $push10=, -1
+ i32.gt_s $push6=, $pop11, $pop10
+ i32.const $push9=, 0
+ i32.const $push8=, 0
+ i32.sub $push7=, $pop8, $0
+ i32.select $0=, $pop6, $pop9, $pop7
.LBB1_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.call $discard=, bar@FUNCTION, $1, $3
- i32.add $1=, $1, $0
+ i32.call $discard=, bar@FUNCTION, $1, $0
+ i32.const $push13=, -1
+ i32.add $1=, $1, $pop13
br_if $1, 0 # 0: up to label2
.LBB1_3: # %for.end
end_loop # label3:
@@ -63,12 +67,12 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 1
- call foo@FUNCTION, $0, $0
- i32.const $push0=, 0
- return $pop0
+ i32.const $push0=, 1
+ i32.const $push2=, 1
+ call foo@FUNCTION, $pop0, $pop2
+ i32.const $push1=, 0
+ return $pop1
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
diff --git a/test/torture-s/20060930-2.c.s b/test/torture-s/20060930-2.c.s
index 52bbd097d..e8c1d2b17 100644
--- a/test/torture-s/20060930-2.c.s
+++ b/test/torture-s/20060930-2.c.s
@@ -25,18 +25,19 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, s
block
- i32.call $push2=, bar@FUNCTION, $1, $1
+ i32.const $push6=, 0
i32.const $push0=, t
- i32.store $push1=, t($0), $pop0
- i32.ne $push3=, $pop2, $pop1
- br_if $pop3, 0 # 0: down to label0
+ i32.store $push1=, t($pop6), $pop0
+ i32.const $push2=, s
+ i32.const $push5=, s
+ i32.call $push3=, bar@FUNCTION, $pop2, $pop5
+ i32.ne $push4=, $pop1, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push7=, 0
+ return $pop7
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -49,7 +50,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 4
.size s, 4
@@ -58,7 +59,7 @@ s:
.type t,@object
.section .bss.t,"aw",@nobits
.globl t
- .align 2
+ .p2align 2
t:
.skip 4
.size t, 4
diff --git a/test/torture-s/20061031-1.c.s b/test/torture-s/20061031-1.c.s
index d1aaf45cc..fdae7fd32 100644
--- a/test/torture-s/20061031-1.c.s
+++ b/test/torture-s/20061031-1.c.s
@@ -20,15 +20,16 @@ ff: # @ff
.type f,@function
f: # @f
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $push0=, 2
- i32.add $1=, $0, $pop0
call ff@FUNCTION, $0
- i32.const $2=, 65535
block
- i32.and $push1=, $1, $2
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push1=, 2
+ i32.add $push0=, $0, $pop1
+ tee_local $push6=, $1=, $pop0
+ i32.const $push5=, 65535
+ i32.and $push2=, $pop6, $pop5
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.then
#APP
#NO_APP
@@ -36,9 +37,10 @@ f: # @f
end_block # label0:
call ff@FUNCTION, $0
block
- i32.add $push2=, $1, $0
- i32.and $push3=, $pop2, $2
- br_if $pop3, 0 # 0: down to label1
+ i32.add $push3=, $1, $0
+ i32.const $push7=, 65535
+ i32.and $push4=, $pop3, $pop7
+ br_if $pop4, 0 # 0: down to label1
# BB#3: # %if.then.1
#APP
#NO_APP
diff --git a/test/torture-s/20061101-1.c.s b/test/torture-s/20061101-1.c.s
index 8cfc9f66b..448874f95 100644
--- a/test/torture-s/20061101-1.c.s
+++ b/test/torture-s/20061101-1.c.s
@@ -29,32 +29,32 @@ tar: # @tar
.type bug,@function
bug: # @bug
.param i32, i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
i32.const $push0=, -1
i32.add $2=, $0, $pop0
- i32.const $3=, 1
i32.const $0=, 0
- copy_local $4=, $3
+ i32.const $3=, 1
.LBB1_1: # %while.cond
# =>This Inner Loop Header: Depth=1
block
loop # label2:
- i32.and $push1=, $4, $3
- i32.const $push8=, 0
- i32.eq $push9=, $pop1, $pop8
- br_if $pop9, 2 # 2: down to label1
+ i32.const $push6=, 1
+ i32.and $push1=, $3, $pop6
+ i32.const $push9=, 0
+ i32.eq $push10=, $pop1, $pop9
+ br_if $pop10, 2 # 2: down to label1
# BB#2: # %while.body
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push4=, $0, $2
- i32.const $push2=, 1
- i32.add $push3=, $0, $pop2
- i32.select $0=, $pop4, $pop3, $2
- i32.const $4=, 0
- i32.mul $push5=, $0, $1
- i32.const $push6=, 36863
- i32.eq $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: up to label2
+ i32.lt_s $push3=, $0, $2
+ i32.const $push8=, 1
+ i32.add $push2=, $0, $pop8
+ i32.select $0=, $pop3, $pop2, $2
+ i32.const $3=, 0
+ i32.mul $push4=, $0, $1
+ i32.const $push7=, 36863
+ i32.eq $push5=, $pop4, $pop7
+ br_if $pop5, 0 # 0: up to label2
# BB#3: # %if.then.i
end_loop # label3:
call abort@FUNCTION
diff --git a/test/torture-s/20061101-2.c.s b/test/torture-s/20061101-2.c.s
index fe2c2908d..e6ac8dc9d 100644
--- a/test/torture-s/20061101-2.c.s
+++ b/test/torture-s/20061101-2.c.s
@@ -29,32 +29,32 @@ tar: # @tar
.type bug,@function
bug: # @bug
.param i32, i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
i32.const $push0=, -1
i32.add $2=, $0, $pop0
- i32.const $3=, 1
i32.const $0=, 0
- copy_local $4=, $3
+ i32.const $3=, 1
.LBB1_1: # %while.cond
# =>This Inner Loop Header: Depth=1
block
loop # label2:
- i32.and $push1=, $4, $3
- i32.const $push8=, 0
- i32.eq $push9=, $pop1, $pop8
- br_if $pop9, 2 # 2: down to label1
+ i32.const $push6=, 1
+ i32.and $push1=, $3, $pop6
+ i32.const $push9=, 0
+ i32.eq $push10=, $pop1, $pop9
+ br_if $pop10, 2 # 2: down to label1
# BB#2: # %while.body
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push4=, $0, $2
- i32.const $push2=, 1
- i32.add $push3=, $0, $pop2
- i32.select $0=, $pop4, $pop3, $2
- i32.const $4=, 0
- i32.mul $push5=, $0, $1
- i32.const $push6=, 36863
- i32.eq $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: up to label2
+ i32.lt_s $push3=, $0, $2
+ i32.const $push8=, 1
+ i32.add $push2=, $0, $pop8
+ i32.select $0=, $pop3, $pop2, $2
+ i32.const $3=, 0
+ i32.mul $push4=, $0, $1
+ i32.const $push7=, 36863
+ i32.eq $push5=, $pop4, $pop7
+ br_if $pop5, 0 # 0: up to label2
# BB#3: # %if.then.i
end_loop # label3:
call abort@FUNCTION
diff --git a/test/torture-s/20070201-1.c.s b/test/torture-s/20070201-1.c.s
index 6046c2681..f2266d6e4 100644
--- a/test/torture-s/20070201-1.c.s
+++ b/test/torture-s/20070201-1.c.s
@@ -12,30 +12,30 @@ foo: # @foo
i32.const $6=, __stack_pointer
i32.load $6=, 0($6)
i32.const $7=, 16
- i32.sub $7=, $6, $7
+ i32.sub $9=, $6, $7
i32.const $7=, __stack_pointer
- i32.store $7=, 0($7), $7
+ i32.store $9=, 0($7), $9
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
i32.const $3=, 4
- i32.sub $7=, $2, $3
+ i32.sub $9=, $2, $3
i32.const $3=, __stack_pointer
- i32.store $7=, 0($3), $7
- i32.store $discard=, 0($7), $1
+ i32.store $9=, 0($3), $9
+ i32.store $discard=, 0($9), $1
i32.const $push2=, .L.str
- i32.call $discard=, siprintf@FUNCTION, $0, $pop2
+ i32.call $discard=, sprintf@FUNCTION, $0, $pop2
i32.const $4=, __stack_pointer
i32.load $4=, 0($4)
i32.const $5=, 4
- i32.add $7=, $4, $5
+ i32.add $9=, $4, $5
i32.const $5=, __stack_pointer
- i32.store $7=, 0($5), $7
+ i32.store $9=, 0($5), $9
i32.const $push0=, 1
i32.add $push1=, $1, $pop0
i32.const $8=, 16
- i32.add $7=, $7, $8
+ i32.add $9=, $9, $8
i32.const $8=, __stack_pointer
- i32.store $7=, 0($8), $7
+ i32.store $9=, 0($8), $9
return $pop1
.endfunc
.Lfunc_end0:
@@ -69,7 +69,7 @@ main: # @main
i32.const $push2=, .L.str
i32.const $8=, 10
i32.add $8=, $9, $8
- i32.call $discard=, siprintf@FUNCTION, $8, $pop2
+ i32.call $discard=, sprintf@FUNCTION, $8, $pop2
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
i32.const $3=, 4
diff --git a/test/torture-s/20070212-1.c.s b/test/torture-s/20070212-1.c.s
index ecd49df37..b4ef8d325 100644
--- a/test/torture-s/20070212-1.c.s
+++ b/test/torture-s/20070212-1.c.s
@@ -12,20 +12,20 @@ g: # @g
i32.const $4=, __stack_pointer
i32.load $4=, 0($4)
i32.const $5=, 16
- i32.sub $4=, $4, $5
+ i32.sub $8=, $4, $5
i32.const $5=, __stack_pointer
- i32.store $4=, 0($5), $4
- i32.store $discard=, 12($4), $0
+ i32.store $8=, 0($5), $8
+ i32.store $discard=, 12($8), $0
i32.const $push1=, 0
i32.store $discard=, 0($3), $pop1
i32.const $7=, 12
- i32.add $7=, $4, $7
+ i32.add $7=, $8, $7
i32.select $push0=, $1, $7, $2
i32.load $push2=, 0($pop0)
i32.const $6=, 16
- i32.add $4=, $4, $6
+ i32.add $8=, $8, $6
i32.const $6=, __stack_pointer
- i32.store $4=, 0($6), $4
+ i32.store $8=, 0($6), $8
return $pop2
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/20070212-3.c.s b/test/torture-s/20070212-3.c.s
index 094e43fe6..049c51f4b 100644
--- a/test/torture-s/20070212-3.c.s
+++ b/test/torture-s/20070212-3.c.s
@@ -9,22 +9,23 @@ bar: # @bar
.result i32
.local i32
# BB#0: # %entry
- i32.const $push0=, 4
- i32.add $push1=, $0, $pop0
- i32.select $2=, $2, $0, $pop1
- i32.load $4=, 0($2)
+ i32.const $push1=, 4
+ i32.add $push2=, $0, $pop1
+ i32.select $push0=, $2, $0, $pop2
+ tee_local $push5=, $4=, $pop0
+ i32.load $2=, 0($pop5)
+ i32.const $push3=, 1
+ i32.store $discard=, 0($0), $pop3
block
- i32.const $push2=, 1
- i32.store $discard=, 0($0), $pop2
- i32.const $push4=, 0
- i32.eq $push5=, $3, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push6=, 0
+ i32.eq $push7=, $3, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.then3
- i32.load $1=, 0($2)
+ i32.load $1=, 0($4)
.LBB0_2: # %if.end5
end_block # label0:
- i32.add $push3=, $1, $4
- return $pop3
+ i32.add $push4=, $1, $2
+ return $pop4
.endfunc
.Lfunc_end0:
.size bar, .Lfunc_end0-bar
diff --git a/test/torture-s/20070517-1.c.s b/test/torture-s/20070517-1.c.s
index 6c797de62..2337708df 100644
--- a/test/torture-s/20070517-1.c.s
+++ b/test/torture-s/20070517-1.c.s
@@ -8,32 +8,33 @@ main: # @main
.result i32
.local i32
# BB#0: # %entry
- i32.call $0=, get_kind@FUNCTION
block
- i32.const $push2=, 10
- i32.gt_u $push3=, $0, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.call $push1=, get_kind@FUNCTION
+ tee_local $push12=, $0=, $pop1
+ i32.const $push3=, 10
+ i32.gt_u $push4=, $pop12, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %entry
- i32.const $push4=, 1
- i32.shl $push5=, $pop4, $0
- i32.const $push6=, 1568
- i32.and $push7=, $pop5, $pop6
- i32.const $push11=, 0
- i32.eq $push12=, $pop7, $pop11
- br_if $pop12, 0 # 0: down to label0
+ i32.const $push5=, 1
+ i32.shl $push6=, $pop5, $0
+ i32.const $push7=, 1568
+ i32.and $push8=, $pop6, $pop7
+ i32.const $push13=, 0
+ i32.eq $push14=, $pop8, $pop13
+ br_if $pop14, 0 # 0: down to label0
# BB#2: # %if.then.i
- i32.const $push1=, -9
- i32.add $push0=, $0, $pop1
- i32.const $push8=, 2
- i32.lt_u $push9=, $pop0, $pop8
- br_if $pop9, 0 # 0: down to label0
+ i32.const $push2=, -9
+ i32.add $push0=, $0, $pop2
+ i32.const $push9=, 2
+ i32.lt_u $push10=, $pop0, $pop9
+ br_if $pop10, 0 # 0: down to label0
# BB#3: # %if.else.i
call abort@FUNCTION
unreachable
.LBB0_4: # %example.exit
end_block # label0:
- i32.const $push10=, 0
- return $pop10
+ i32.const $push11=, 0
+ return $pop11
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
diff --git a/test/torture-s/20070614-1.c.s b/test/torture-s/20070614-1.c.s
new file mode 100644
index 000000000..67faacf8c
--- /dev/null
+++ b/test/torture-s/20070614-1.c.s
@@ -0,0 +1,124 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20070614-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+# BB#0: # %entry
+ block
+ f64.load $push2=, 0($0)
+ i32.const $push6=, 0
+ f64.load $push3=, v($pop6)
+ f64.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
+# BB#1: # %entry
+ f64.load $push0=, 8($0)
+ i32.const $push7=, 0
+ f64.load $push1=, v+8($pop7)
+ f64.ne $push5=, $pop0, $pop1
+ br_if $pop5, 0 # 0: down to label0
+# BB#2: # %if.end
+ return
+.LBB0_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i64.load $2=, v+8($pop0)
+ i32.const $push2=, 0
+ i64.load $push1=, v($pop2)
+ i64.store $discard=, 0($0), $pop1
+ i64.store $discard=, 8($0), $2
+ return
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.baz,"ax",@progbits
+ .hidden baz
+ .globl baz
+ .type baz,@function
+baz: # @baz
+ .result i32
+ .local f64
+# BB#0: # %entry
+ block
+ i32.const $push8=, 0
+ f64.load $push0=, v($pop8)
+ tee_local $push7=, $0=, $pop0
+ f64.ne $push3=, $pop7, $0
+ i32.const $push6=, 0
+ f64.load $push1=, v+8($pop6)
+ tee_local $push5=, $0=, $pop1
+ f64.ne $push2=, $pop5, $0
+ i32.or $push4=, $pop3, $pop2
+ br_if $pop4, 0 # 0: down to label1
+# BB#1: # %for.body.preheader
+ i32.const $push9=, 0
+ return $pop9
+.LBB2_2: # %if.then.i.split
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size baz, .Lfunc_end2-baz
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local f64
+# BB#0: # %entry
+ block
+ i32.const $push8=, 0
+ f64.load $push0=, v($pop8)
+ tee_local $push7=, $0=, $pop0
+ f64.eq $push3=, $pop7, $0
+ i32.const $push6=, 0
+ f64.load $push1=, v+8($pop6)
+ tee_local $push5=, $0=, $pop1
+ f64.eq $push2=, $pop5, $0
+ i32.and $push4=, $pop3, $pop2
+ i32.const $push10=, 0
+ i32.eq $push11=, $pop4, $pop10
+ br_if $pop11, 0 # 0: down to label2
+# BB#1: # %baz.exit
+ i32.const $push9=, 0
+ return $pop9
+.LBB3_2: # %if.then.i.split.i
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size main, .Lfunc_end3-main
+
+ .hidden v # @v
+ .type v,@object
+ .section .data.v,"aw",@progbits
+ .globl v
+ .p2align 3
+v:
+ .int64 4613937818241073152 # double 3
+ .int64 4607182418800017408 # double 1
+ .size v, 16
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20070623-1.c.s b/test/torture-s/20070623-1.c.s
index 963718cd7..e8f897c41 100644
--- a/test/torture-s/20070623-1.c.s
+++ b/test/torture-s/20070623-1.c.s
@@ -176,103 +176,149 @@ nltu: # @nltu
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 2147483647
- i32.const $1=, -2147483648
block
- i32.call $push0=, nge@FUNCTION, $1, $0
+ i32.const $push34=, -2147483648
+ i32.const $push33=, 2147483647
+ i32.call $push0=, nge@FUNCTION, $pop34, $pop33
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.end
- i32.call $2=, nge@FUNCTION, $0, $1
- i32.const $3=, -1
block
- i32.ne $push1=, $2, $3
- br_if $pop1, 0 # 0: down to label1
+ i32.const $push36=, 2147483647
+ i32.const $push35=, -2147483648
+ i32.call $push1=, nge@FUNCTION, $pop36, $pop35
+ i32.const $push2=, -1
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label1
# BB#2: # %if.end4
block
- i32.call $push2=, ngt@FUNCTION, $1, $0
- br_if $pop2, 0 # 0: down to label2
+ i32.const $push38=, -2147483648
+ i32.const $push37=, 2147483647
+ i32.call $push4=, ngt@FUNCTION, $pop38, $pop37
+ br_if $pop4, 0 # 0: down to label2
# BB#3: # %if.end8
block
- i32.call $push3=, ngt@FUNCTION, $0, $1
- i32.ne $push4=, $pop3, $3
- br_if $pop4, 0 # 0: down to label3
+ i32.const $push41=, 2147483647
+ i32.const $push40=, -2147483648
+ i32.call $push5=, ngt@FUNCTION, $pop41, $pop40
+ i32.const $push39=, -1
+ i32.ne $push6=, $pop5, $pop39
+ br_if $pop6, 0 # 0: down to label3
# BB#4: # %if.end12
block
- i32.call $push5=, nle@FUNCTION, $1, $0
- i32.ne $push6=, $pop5, $3
- br_if $pop6, 0 # 0: down to label4
+ i32.const $push44=, -2147483648
+ i32.const $push43=, 2147483647
+ i32.call $push7=, nle@FUNCTION, $pop44, $pop43
+ i32.const $push42=, -1
+ i32.ne $push8=, $pop7, $pop42
+ br_if $pop8, 0 # 0: down to label4
# BB#5: # %if.end16
block
- i32.call $push7=, nle@FUNCTION, $0, $1
- br_if $pop7, 0 # 0: down to label5
+ i32.const $push46=, 2147483647
+ i32.const $push45=, -2147483648
+ i32.call $push9=, nle@FUNCTION, $pop46, $pop45
+ br_if $pop9, 0 # 0: down to label5
# BB#6: # %if.end20
block
- i32.call $push8=, nlt@FUNCTION, $1, $0
- i32.ne $push9=, $pop8, $3
- br_if $pop9, 0 # 0: down to label6
+ i32.const $push48=, -2147483648
+ i32.const $push47=, 2147483647
+ i32.call $push10=, nlt@FUNCTION, $pop48, $pop47
+ i32.const $push11=, -1
+ i32.ne $push12=, $pop10, $pop11
+ br_if $pop12, 0 # 0: down to label6
# BB#7: # %if.end24
block
- i32.call $push10=, nlt@FUNCTION, $0, $1
- br_if $pop10, 0 # 0: down to label7
+ i32.const $push50=, 2147483647
+ i32.const $push49=, -2147483648
+ i32.call $push13=, nlt@FUNCTION, $pop50, $pop49
+ br_if $pop13, 0 # 0: down to label7
# BB#8: # %if.end28
block
- i32.call $push11=, neq@FUNCTION, $1, $0
- br_if $pop11, 0 # 0: down to label8
+ i32.const $push52=, -2147483648
+ i32.const $push51=, 2147483647
+ i32.call $push14=, neq@FUNCTION, $pop52, $pop51
+ br_if $pop14, 0 # 0: down to label8
# BB#9: # %if.end32
block
- i32.call $push12=, neq@FUNCTION, $0, $1
- br_if $pop12, 0 # 0: down to label9
+ i32.const $push54=, 2147483647
+ i32.const $push53=, -2147483648
+ i32.call $push15=, neq@FUNCTION, $pop54, $pop53
+ br_if $pop15, 0 # 0: down to label9
# BB#10: # %if.end36
block
- i32.call $push13=, nne@FUNCTION, $1, $0
- i32.ne $push14=, $pop13, $3
- br_if $pop14, 0 # 0: down to label10
+ i32.const $push57=, -2147483648
+ i32.const $push56=, 2147483647
+ i32.call $push16=, nne@FUNCTION, $pop57, $pop56
+ i32.const $push55=, -1
+ i32.ne $push17=, $pop16, $pop55
+ br_if $pop17, 0 # 0: down to label10
# BB#11: # %if.end40
block
- i32.call $push15=, nne@FUNCTION, $0, $1
- i32.ne $push16=, $pop15, $3
- br_if $pop16, 0 # 0: down to label11
+ i32.const $push60=, 2147483647
+ i32.const $push59=, -2147483648
+ i32.call $push18=, nne@FUNCTION, $pop60, $pop59
+ i32.const $push58=, -1
+ i32.ne $push19=, $pop18, $pop58
+ br_if $pop19, 0 # 0: down to label11
# BB#12: # %if.end44
- i32.const $0=, 0
block
- i32.call $push17=, ngeu@FUNCTION, $0, $3
- br_if $pop17, 0 # 0: down to label12
+ i32.const $push62=, 0
+ i32.const $push61=, -1
+ i32.call $push20=, ngeu@FUNCTION, $pop62, $pop61
+ br_if $pop20, 0 # 0: down to label12
# BB#13: # %if.end48
block
- i32.call $push18=, ngeu@FUNCTION, $3, $0
- i32.ne $push19=, $pop18, $3
- br_if $pop19, 0 # 0: down to label13
+ i32.const $push65=, -1
+ i32.const $push64=, 0
+ i32.call $push21=, ngeu@FUNCTION, $pop65, $pop64
+ i32.const $push63=, -1
+ i32.ne $push22=, $pop21, $pop63
+ br_if $pop22, 0 # 0: down to label13
# BB#14: # %if.end52
block
- i32.call $push20=, ngtu@FUNCTION, $0, $3
- br_if $pop20, 0 # 0: down to label14
+ i32.const $push67=, 0
+ i32.const $push66=, -1
+ i32.call $push23=, ngtu@FUNCTION, $pop67, $pop66
+ br_if $pop23, 0 # 0: down to label14
# BB#15: # %if.end56
block
- i32.call $push21=, ngtu@FUNCTION, $3, $0
- i32.ne $push22=, $pop21, $3
- br_if $pop22, 0 # 0: down to label15
+ i32.const $push70=, -1
+ i32.const $push69=, 0
+ i32.call $push24=, ngtu@FUNCTION, $pop70, $pop69
+ i32.const $push68=, -1
+ i32.ne $push25=, $pop24, $pop68
+ br_if $pop25, 0 # 0: down to label15
# BB#16: # %if.end60
block
- i32.call $push23=, nleu@FUNCTION, $0, $3
- i32.ne $push24=, $pop23, $3
- br_if $pop24, 0 # 0: down to label16
+ i32.const $push73=, 0
+ i32.const $push72=, -1
+ i32.call $push26=, nleu@FUNCTION, $pop73, $pop72
+ i32.const $push71=, -1
+ i32.ne $push27=, $pop26, $pop71
+ br_if $pop27, 0 # 0: down to label16
# BB#17: # %if.end64
block
- i32.call $push25=, nleu@FUNCTION, $3, $0
- br_if $pop25, 0 # 0: down to label17
+ i32.const $push75=, -1
+ i32.const $push74=, 0
+ i32.call $push28=, nleu@FUNCTION, $pop75, $pop74
+ br_if $pop28, 0 # 0: down to label17
# BB#18: # %if.end68
block
- i32.call $push26=, nltu@FUNCTION, $0, $3
- i32.ne $push27=, $pop26, $3
- br_if $pop27, 0 # 0: down to label18
+ i32.const $push78=, 0
+ i32.const $push77=, -1
+ i32.call $push29=, nltu@FUNCTION, $pop78, $pop77
+ i32.const $push76=, -1
+ i32.ne $push30=, $pop29, $pop76
+ br_if $pop30, 0 # 0: down to label18
# BB#19: # %if.end72
block
- i32.call $push28=, nltu@FUNCTION, $3, $0
- br_if $pop28, 0 # 0: down to label19
+ i32.const $push80=, -1
+ i32.const $push79=, 0
+ i32.call $push31=, nltu@FUNCTION, $pop80, $pop79
+ br_if $pop31, 0 # 0: down to label19
# BB#20: # %if.end76
- call exit@FUNCTION, $0
+ i32.const $push32=, 0
+ call exit@FUNCTION, $pop32
unreachable
.LBB10_21: # %if.then75
end_block # label19:
diff --git a/test/torture-s/20071011-1.c.s b/test/torture-s/20071011-1.c.s
index 4872a6887..6f7c7cb8e 100644
--- a/test/torture-s/20071011-1.c.s
+++ b/test/torture-s/20071011-1.c.s
@@ -9,9 +9,9 @@ foo: # @foo
.local i32
# BB#0: # %entry
i32.load $1=, 0($0)
- block
i32.const $push0=, 0
i32.store $discard=, 0($0), $pop0
+ block
i32.const $push1=, 0
i32.eq $push2=, $1, $pop1
br_if $pop2, 0 # 0: down to label0
diff --git a/test/torture-s/20071018-1.c.s b/test/torture-s/20071018-1.c.s
index fb527dcfc..04de9588a 100644
--- a/test/torture-s/20071018-1.c.s
+++ b/test/torture-s/20071018-1.c.s
@@ -22,20 +22,20 @@ bar: # @bar
foo: # @foo
.param i32
.result i32
- .local i32
# BB#0: # %entry
+ i32.const $push2=, 5
+ i32.shl $push3=, $0, $pop2
i32.const $push0=, 16
- i32.call $1=, __builtin_malloc@FUNCTION, $pop0
- i32.const $push1=, 5
- i32.shl $push2=, $0, $pop1
- i32.add $push3=, $pop2, $1
- i32.const $push4=, -20
- i32.add $0=, $pop3, $pop4
- i32.const $push5=, 0
- i32.store $discard=, 0($0), $pop5
+ i32.call $push1=, __builtin_malloc@FUNCTION, $pop0
+ i32.add $push4=, $pop3, $pop1
+ i32.const $push5=, -20
+ i32.add $push6=, $pop4, $pop5
+ tee_local $push9=, $0=, $pop6
+ i32.const $push7=, 0
+ i32.store $discard=, 0($pop9), $pop7
call bar@FUNCTION, $0
- i32.load $push6=, 0($0)
- return $pop6
+ i32.load $push8=, 0($0)
+ return $pop8
.endfunc
.Lfunc_end1:
.size foo, .Lfunc_end1-foo
diff --git a/test/torture-s/20071029-1.c.s b/test/torture-s/20071029-1.c.s
index 15f5c9a0b..26001546a 100644
--- a/test/torture-s/20071029-1.c.s
+++ b/test/torture-s/20071029-1.c.s
@@ -6,58 +6,61 @@
.type test,@function
test: # @test
.param i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $3=, test.i($2)
i32.load $1=, 0($0)
+ i32.const $push1=, 0
+ i32.const $push19=, 0
+ i32.load $push2=, test.i($pop19)
+ tee_local $push18=, $3=, $pop2
+ i32.const $push3=, 1
+ i32.add $push0=, $pop18, $pop3
+ i32.store $2=, test.i($pop1), $pop0
block
- i32.const $push1=, 1
- i32.add $push0=, $3, $pop1
- i32.store $4=, test.i($2), $pop0
- i32.ne $push2=, $1, $3
- br_if $pop2, 0 # 0: down to label0
+ i32.ne $push4=, $1, $3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.load $push3=, 4($0)
- br_if $pop3, 0 # 0: down to label1
+ i32.load $push5=, 4($0)
+ br_if $pop5, 0 # 0: down to label1
# BB#2: # %lor.lhs.false
- i32.load $push4=, 8($0)
- br_if $pop4, 0 # 0: down to label1
+ i32.load $push6=, 8($0)
+ br_if $pop6, 0 # 0: down to label1
# BB#3: # %lor.lhs.false6
- i32.load $push5=, 12($0)
- br_if $pop5, 0 # 0: down to label1
+ i32.load $push7=, 12($0)
+ br_if $pop7, 0 # 0: down to label1
# BB#4: # %lor.lhs.false10
- i32.load $push6=, 16($0)
- br_if $pop6, 0 # 0: down to label1
+ i32.load $push8=, 16($0)
+ br_if $pop8, 0 # 0: down to label1
# BB#5: # %lor.lhs.false13
- i32.load $push7=, 20($0)
- br_if $pop7, 0 # 0: down to label1
+ i32.load $push9=, 20($0)
+ br_if $pop9, 0 # 0: down to label1
# BB#6: # %lor.lhs.false16
- i32.load $push8=, 24($0)
- br_if $pop8, 0 # 0: down to label1
+ i32.load $push10=, 24($0)
+ br_if $pop10, 0 # 0: down to label1
# BB#7: # %lor.lhs.false20
- i32.load $push9=, 28($0)
- br_if $pop9, 0 # 0: down to label1
+ i32.load $push11=, 28($0)
+ br_if $pop11, 0 # 0: down to label1
# BB#8: # %lor.lhs.false23
- i32.load $push10=, 32($0)
- br_if $pop10, 0 # 0: down to label1
+ i32.load $push12=, 32($0)
+ br_if $pop12, 0 # 0: down to label1
# BB#9: # %lor.lhs.false26
- i32.load $push11=, 36($0)
- br_if $pop11, 0 # 0: down to label1
+ i32.load $push13=, 36($0)
+ br_if $pop13, 0 # 0: down to label1
# BB#10: # %lor.lhs.false29
- i32.load $push12=, 40($0)
- br_if $pop12, 0 # 0: down to label1
+ i32.load $push14=, 40($0)
+ br_if $pop14, 0 # 0: down to label1
# BB#11: # %if.end34
block
- i32.const $push13=, 20
- i32.eq $push14=, $4, $pop13
- br_if $pop14, 0 # 0: down to label2
+ i32.const $push15=, 20
+ i32.eq $push16=, $2, $pop15
+ br_if $pop16, 0 # 0: down to label2
# BB#12: # %if.end37
return
.LBB0_13: # %if.then36
end_block # label2:
- call exit@FUNCTION, $2
+ i32.const $push17=, 0
+ call exit@FUNCTION, $pop17
unreachable
.LBB0_14: # %if.then33
end_block # label1:
@@ -77,113 +80,32 @@ test: # @test
.type foo,@function
foo: # @foo
.param i32
- .local i32, i32, i32, i32, i32, i32, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $16=, __stack_pointer
- i32.load $16=, 0($16)
- i32.const $17=, 112
- i32.sub $31=, $16, $17
- i32.const $17=, __stack_pointer
- i32.store $31=, 0($17), $31
- i32.const $push0=, 40
- i32.const $18=, 56
- i32.add $18=, $31, $18
- i32.add $1=, $18, $pop0
- i32.const $3=, 1
- i32.add $15=, $0, $3
- i64.const $8=, 0
- i32.const $2=, 4
- i32.const $19=, 56
- i32.add $19=, $31, $19
- i32.or $0=, $19, $2
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 64
+ i32.sub $6=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $6=, 0($3), $6
+ i32.const $push0=, 4
+ i32.const $4=, 8
+ i32.add $4=, $6, $4
+ i32.or $1=, $4, $pop0
+ i32.const $push1=, 1
+ i32.add $0=, $0, $pop1
.LBB1_1: # %again
# =>This Inner Loop Header: Depth=1
loop # label3:
- i32.const $14=, 24
- i32.const $20=, 24
- i32.add $20=, $31, $20
- i32.add $4=, $20, $14
- i32.const $push1=, 0
- i32.store $5=, 0($4), $pop1
- i32.const $6=, 16
- i32.const $21=, 24
- i32.add $21=, $31, $21
- i32.add $7=, $21, $6
- i64.store $9=, 0($7), $8
- i32.const $10=, 8
- i32.const $22=, 24
- i32.add $22=, $31, $22
- i32.add $11=, $22, $10
- i64.store $push2=, 0($11), $9
- i64.store $9=, 24($31), $pop2
- i32.add $push5=, $0, $2
- i32.const $23=, 24
- i32.add $23=, $31, $23
- i32.or $push6=, $23, $2
- i32.load $push7=, 0($pop6)
- i32.store $discard=, 0($pop5), $pop7
- i32.const $12=, 20
- i32.const $24=, 24
- i32.add $24=, $31, $24
- i32.add $push11=, $24, $12
- i32.load $13=, 0($pop11)
- i32.add $push8=, $0, $14
- i32.load $push9=, 0($4)
- i32.store $discard=, 0($pop8), $pop9
- i32.add $push10=, $0, $12
- i32.store $discard=, 0($pop10), $13
- i32.const $14=, 12
- i32.const $25=, 24
- i32.add $25=, $31, $25
- i32.add $push15=, $25, $14
- i32.load $4=, 0($pop15)
- i32.add $push12=, $0, $6
- i32.load $push13=, 0($7)
- i32.store $discard=, 0($pop12), $pop13
- i32.load $6=, 0($11)
- i32.add $push14=, $0, $14
- i32.store $discard=, 0($pop14), $4
- i32.add $push16=, $0, $10
- i32.store $discard=, 0($pop16), $6
- i32.const $push17=, 32
- i32.const $26=, 56
- i32.add $26=, $31, $26
- i32.add $push18=, $26, $pop17
- i32.store $6=, 0($pop18), $5
- i32.const $27=, 8
- i32.add $27=, $31, $27
- i32.add $4=, $27, $10
- i64.store $push3=, 0($4), $9
- i64.store $discard=, 8($31), $pop3
- i32.const $28=, 8
- i32.add $28=, $31, $28
- i32.add $push22=, $28, $14
- i32.load $7=, 0($pop22)
- i32.const $push19=, 36
- i32.const $29=, 56
- i32.add $29=, $31, $29
- i32.add $push20=, $29, $pop19
- i32.store $discard=, 0($pop20), $6
- i32.load $4=, 0($4)
- i32.add $push21=, $1, $14
- i32.store $discard=, 0($pop21), $7
- i32.add $push23=, $1, $10
- i32.store $discard=, 0($pop23), $4
- i32.load $10=, 24($31)
- i32.load $14=, 8($31)
- i32.add $push24=, $1, $2
- i32.const $30=, 8
- i32.add $30=, $31, $30
- i32.or $push25=, $30, $2
- i32.load $push26=, 0($pop25)
- i32.store $discard=, 0($pop24), $pop26
- i32.store $discard=, 0($0), $10
- i32.store $discard=, 0($1), $14
- i32.const $31=, 56
- i32.add $31=, $31, $31
- call test@FUNCTION, $31
- i32.store $push4=, 56($31), $15
- i32.add $15=, $pop4, $3
+ i32.store $discard=, 8($6):p2align=3, $0
+ i32.const $push4=, 0
+ i32.const $push3=, 52
+ i32.call $discard=, memset@FUNCTION, $1, $pop4, $pop3
+ i32.const $5=, 8
+ i32.add $5=, $6, $5
+ call test@FUNCTION, $5
+ i32.const $push2=, 1
+ i32.add $0=, $0, $pop2
br 0 # 0: up to label3
.LBB1_2:
end_loop # label4:
@@ -207,7 +129,7 @@ main: # @main
.type test.i,@object # @test.i
.section .data.test.i,"aw",@progbits
- .align 2
+ .p2align 2
test.i:
.int32 11 # 0xb
.size test.i, 4
diff --git a/test/torture-s/20071030-1.c.s b/test/torture-s/20071030-1.c.s
index e8f1c3194..0c250cde8 100644
--- a/test/torture-s/20071030-1.c.s
+++ b/test/torture-s/20071030-1.c.s
@@ -7,54 +7,57 @@
CalcPing: # @CalcPing
.param i32
.result i32
- .local i64, f32, f32, i32, i32, i32, f32
+ .local i32, i32, f32, i64, i32, f32
# BB#0: # %entry
- i64.load $1=, 0($0)
- f32.const $2=, 0x0p0
- i32.const $6=, 0
- i32.const $5=, 16
- copy_local $7=, $2
+ i32.const $2=, 0
+ i32.const $1=, 16
+ f32.const $3=, 0x0p0
block
block
- i32.wrap/i64 $push0=, $1
- i32.const $push1=, 1
- i32.ne $push2=, $pop0, $pop1
- br_if $pop2, 0 # 0: down to label1
+ i64.load $push0=, 0($0)
+ tee_local $push17=, $4=, $pop0
+ i32.wrap/i64 $push1=, $pop17
+ i32.const $push2=, 1
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label1
# BB#1: # %if.then
- i64.const $push12=, 32
- i64.shr_u $push13=, $1, $pop12
- i32.wrap/i64 $5=, $pop13
+ i64.const $push15=, 32
+ i64.shr_u $push16=, $4, $pop15
+ i32.wrap/i64 $1=, $pop16
br 1 # 1: down to label0
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
end_block # label1:
loop # label2:
- i32.add $push3=, $0, $5
- f32.load $3=, 0($pop3)
- f32.gt $4=, $3, $2
- f32.add $push4=, $7, $3
- f32.select $7=, $4, $pop4, $7
- i32.add $6=, $4, $6
- i32.const $push5=, 24
- i32.add $5=, $5, $pop5
- i32.const $push6=, 1552
- i32.ne $push7=, $5, $pop6
- br_if $pop7, 0 # 0: up to label2
+ i32.add $push4=, $0, $1
+ f32.load $push5=, 0($pop4):p2align=3
+ tee_local $push20=, $6=, $pop5
+ f32.const $push19=, 0x0p0
+ f32.gt $push6=, $pop20, $pop19
+ tee_local $push18=, $5=, $pop6
+ f32.add $push7=, $3, $6
+ f32.select $3=, $pop18, $pop7, $3
+ i32.add $2=, $5, $2
+ i32.const $push8=, 24
+ i32.add $1=, $1, $pop8
+ i32.const $push9=, 1552
+ i32.ne $push10=, $1, $pop9
+ br_if $pop10, 0 # 0: up to label2
# BB#3: # %for.end
end_loop # label3:
- i32.const $5=, 9999
- i32.const $push14=, 0
- i32.eq $push15=, $6, $pop14
- br_if $pop15, 0 # 0: down to label0
+ i32.const $1=, 9999
+ i32.const $push21=, 0
+ i32.eq $push22=, $2, $pop21
+ br_if $pop22, 0 # 0: down to label0
# BB#4: # %if.end9
- f32.convert_s/i32 $push8=, $6
- f32.div $push9=, $7, $pop8
- f32.const $push10=, 0x1.f4p9
- f32.mul $push11=, $pop9, $pop10
- i32.trunc_s/f32 $5=, $pop11
+ f32.convert_s/i32 $push11=, $2
+ f32.div $push12=, $3, $pop11
+ f32.const $push13=, 0x1.f4p9
+ f32.mul $push14=, $pop12, $pop13
+ i32.trunc_s/f32 $1=, $pop14
.LBB0_5: # %cleanup
end_block # label0:
- return $5
+ return $1
.endfunc
.Lfunc_end0:
.size CalcPing, .Lfunc_end0-CalcPing
@@ -65,52 +68,56 @@ CalcPing: # @CalcPing
.type main,@function
main: # @main
.result i32
- .local f32, f32, i32, i32, i32, f32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, f32, i32, f32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %if.end.i
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 1552
+ i32.sub $11=, $5, $6
i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 1552
- i32.sub $12=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $12=, 0($7), $12
- i32.const $4=, 0
+ i32.store $11=, 0($6), $11
+ i32.const $1=, 0
+ i32.const $push17=, 0
i32.const $push0=, 1544
+ i32.const $8=, 8
+ i32.add $8=, $11, $8
+ i32.call $discard=, memset@FUNCTION, $8, $pop17, $pop0
+ i32.const $0=, 16
+ i32.const $push16=, 16
i32.const $9=, 8
- i32.add $9=, $12, $9
- call memset@FUNCTION, $9, $4, $pop0
- f32.const $0=, 0x0p0
- i32.const $3=, 16
- i32.const $10=, 8
- i32.add $10=, $12, $10
- i32.add $push1=, $10, $3
+ i32.add $9=, $11, $9
+ i32.add $push1=, $9, $pop16
i32.const $push2=, 1065353216
- i32.store $discard=, 0($pop1), $pop2
- copy_local $5=, $0
+ i32.store $discard=, 0($pop1):p2align=3, $pop2
+ f32.const $2=, 0x0p0
.LBB1_1: # %for.body.i
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.const $11=, 8
- i32.add $11=, $12, $11
- i32.add $push3=, $11, $3
- f32.load $1=, 0($pop3)
- f32.gt $2=, $1, $0
- f32.add $push4=, $5, $1
- f32.select $5=, $2, $pop4, $5
- i32.add $4=, $2, $4
- i32.const $push5=, 24
- i32.add $3=, $3, $pop5
- i32.const $push6=, 1552
- i32.ne $push7=, $3, $pop6
+ i32.const $10=, 8
+ i32.add $10=, $11, $10
+ i32.add $push3=, $10, $0
+ f32.load $push4=, 0($pop3):p2align=3
+ tee_local $push22=, $4=, $pop4
+ f32.const $push21=, 0x0p0
+ f32.gt $push5=, $pop22, $pop21
+ tee_local $push20=, $3=, $pop5
+ f32.add $push6=, $2, $4
+ f32.select $2=, $pop20, $pop6, $2
+ i32.add $1=, $3, $1
+ i32.const $push19=, 24
+ i32.add $0=, $0, $pop19
+ i32.const $push18=, 1552
+ i32.ne $push7=, $0, $pop18
br_if $pop7, 0 # 0: up to label4
# BB#2: # %for.end.i
end_loop # label5:
block
- i32.const $push16=, 0
- i32.eq $push17=, $4, $pop16
- br_if $pop17, 0 # 0: down to label6
+ i32.const $push23=, 0
+ i32.eq $push24=, $1, $pop23
+ br_if $pop24, 0 # 0: down to label6
# BB#3: # %CalcPing.exit
- f32.convert_s/i32 $push8=, $4
- f32.div $push9=, $5, $pop8
+ f32.convert_s/i32 $push8=, $1
+ f32.div $push9=, $2, $pop8
f32.const $push10=, 0x1.f4p9
f32.mul $push11=, $pop9, $pop10
i32.trunc_s/f32 $push12=, $pop11
@@ -119,10 +126,10 @@ main: # @main
br_if $pop14, 0 # 0: down to label6
# BB#4: # %if.end
i32.const $push15=, 0
- i32.const $8=, 1552
- i32.add $12=, $12, $8
- i32.const $8=, __stack_pointer
- i32.store $12=, 0($8), $12
+ i32.const $7=, 1552
+ i32.add $11=, $11, $7
+ i32.const $7=, __stack_pointer
+ i32.store $11=, 0($7), $11
return $pop15
.LBB1_5: # %if.then
end_block # label6:
diff --git a/test/torture-s/20071108-1.c.s b/test/torture-s/20071108-1.c.s
index 867915a56..adecc724d 100644
--- a/test/torture-s/20071108-1.c.s
+++ b/test/torture-s/20071108-1.c.s
@@ -33,13 +33,13 @@ bar: # @bar
test: # @test
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.store $discard=, foo.s($2), $0
- i32.store $discard=, foo.s+4($2), $1
- i32.const $push0=, foo.s
- return $pop0
+ i32.const $push0=, 0
+ i32.store $discard=, foo.s($pop0), $0
+ i32.const $push2=, 0
+ i32.store $discard=, foo.s+4($pop2), $1
+ i32.const $push1=, foo.s
+ return $pop1
.endfunc
.Lfunc_end2:
.size test, .Lfunc_end2-test
@@ -62,35 +62,37 @@ main: # @main
i32.add $4=, $8, $4
i32.const $5=, 8
i32.add $5=, $8, $5
- i32.call $0=, test@FUNCTION, $4, $5
- i32.load $push0=, 0($0)
+ i32.call $push0=, test@FUNCTION, $4, $5
+ tee_local $push11=, $0=, $pop0
+ i32.load $push1=, 0($pop11)
i32.const $6=, 12
i32.add $6=, $8, $6
block
- i32.ne $push1=, $pop0, $6
- br_if $pop1, 0 # 0: down to label0
+ i32.ne $push2=, $pop1, $6
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %lor.lhs.false2
- i32.load $push2=, 4($0)
+ i32.load $push3=, 4($0)
i32.const $7=, 8
i32.add $7=, $8, $7
- i32.ne $push3=, $pop2, $7
- br_if $pop3, 0 # 0: down to label0
+ i32.ne $push4=, $pop3, $7
+ br_if $pop4, 0 # 0: down to label0
# BB#2: # %lor.lhs.false4
- i32.load16_u $0=, 8($0)
- i32.const $push4=, 255
- i32.and $push5=, $0, $pop4
- br_if $pop5, 0 # 0: down to label0
-# BB#3: # %lor.lhs.false4
- i32.const $push6=, 256
- i32.ge_u $push7=, $0, $pop6
+ i32.load16_u $push5=, 8($0):p2align=2
+ tee_local $push12=, $0=, $pop5
+ i32.const $push6=, 255
+ i32.and $push7=, $pop12, $pop6
br_if $pop7, 0 # 0: down to label0
+# BB#3: # %lor.lhs.false4
+ i32.const $push8=, 256
+ i32.ge_u $push9=, $0, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#4: # %if.end
- i32.const $push8=, 0
+ i32.const $push10=, 0
i32.const $3=, 16
i32.add $8=, $8, $3
i32.const $3=, __stack_pointer
i32.store $8=, 0($3), $8
- return $pop8
+ return $pop10
.LBB3_5: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/20071120-1.c.s b/test/torture-s/20071120-1.c.s
index 1ae77ca4e..d119b9770 100644
--- a/test/torture-s/20071120-1.c.s
+++ b/test/torture-s/20071120-1.c.s
@@ -32,55 +32,60 @@ perform_access_checks: # @perform_access_checks
pop_to_parent_deferring_access_checks: # @pop_to_parent_deferring_access_checks
.local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $0=, deferred_access_no_check($1)
block
block
block
block
block
- i32.const $push11=, 0
- i32.eq $push12=, $0, $pop11
- br_if $pop12, 0 # 0: down to label4
+ i32.const $push15=, 0
+ i32.load $push0=, deferred_access_no_check($pop15)
+ tee_local $push14=, $0=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop14, $pop20
+ br_if $pop21, 0 # 0: down to label4
# BB#1: # %if.then
- i32.const $push0=, -1
- i32.add $push1=, $0, $pop0
- i32.store $discard=, deferred_access_no_check($1), $pop1
+ i32.const $push16=, 0
+ i32.const $push3=, -1
+ i32.add $push4=, $0, $pop3
+ i32.store $discard=, deferred_access_no_check($pop16), $pop4
br 1 # 1: down to label3
.LBB2_2: # %if.else
end_block # label4:
- i32.load $1=, deferred_access_stack($1)
- i32.const $push13=, 0
- i32.eq $push14=, $1, $pop13
- br_if $pop14, 3 # 3: down to label0
+ i32.const $push18=, 0
+ i32.load $push1=, deferred_access_stack($pop18)
+ tee_local $push17=, $0=, $pop1
+ i32.const $push22=, 0
+ i32.eq $push23=, $pop17, $pop22
+ br_if $pop23, 3 # 3: down to label0
# BB#3: # %land.lhs.true.i
- i32.load $0=, 0($1)
- i32.const $push15=, 0
- i32.eq $push16=, $0, $pop15
- br_if $pop16, 3 # 3: down to label0
+ i32.load $push2=, 0($0)
+ tee_local $push19=, $1=, $pop2
+ i32.const $push24=, 0
+ i32.eq $push25=, $pop19, $pop24
+ br_if $pop25, 3 # 3: down to label0
# BB#4: # %land.lhs.true.i25
- i32.const $push2=, -1
- i32.add $push3=, $0, $pop2
- i32.store $push4=, 0($1), $pop3
- i32.const $push17=, 0
- i32.eq $push18=, $pop4, $pop17
- br_if $pop18, 2 # 2: down to label1
+ i32.const $push5=, -1
+ i32.add $push6=, $1, $pop5
+ i32.store $push7=, 0($0), $pop6
+ i32.const $push26=, 0
+ i32.eq $push27=, $pop7, $pop26
+ br_if $pop27, 2 # 2: down to label1
# BB#5: # %VEC_deferred_access_base_last.exit29
- i32.const $push5=, 3
- i32.shl $push6=, $0, $pop5
- i32.add $push7=, $pop6, $1
- i32.const $push8=, -8
- i32.add $push9=, $pop7, $pop8
- i32.load $push10=, 0($pop9)
- i32.const $push19=, 0
- i32.eq $push20=, $pop10, $pop19
- br_if $pop20, 1 # 1: down to label2
+ i32.const $push8=, 3
+ i32.shl $push9=, $1, $pop8
+ i32.add $push10=, $pop9, $0
+ i32.const $push11=, -8
+ i32.add $push12=, $pop10, $pop11
+ i32.load $push13=, 0($pop12)
+ i32.const $push28=, 0
+ i32.eq $push29=, $pop13, $pop28
+ br_if $pop29, 1 # 1: down to label2
.LBB2_6: # %if.end16
end_block # label3:
return
.LBB2_7: # %if.then15
end_block # label2:
- call perform_access_checks@FUNCTION, $1
+ call perform_access_checks@FUNCTION, $0
unreachable
.LBB2_8: # %cond.false.i26
end_block # label1:
@@ -100,20 +105,22 @@ pop_to_parent_deferring_access_checks: # @pop_to_parent_deferring_access_checks
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
+ i32.const $push2=, 0
i32.const $push0=, 76
- i32.call $1=, __builtin_malloc@FUNCTION, $pop0
- i32.const $0=, 0
- i32.store $discard=, deferred_access_stack($0), $1
- i32.const $push1=, 2
- i32.store $discard=, 0($1), $pop1
- i32.const $push2=, 8
- i32.add $push3=, $1, $pop2
- i32.const $push4=, 1
- i32.store $discard=, 0($pop3), $pop4
+ i32.call $push1=, __builtin_malloc@FUNCTION, $pop0
+ i32.store $push3=, deferred_access_stack($pop2), $pop1
+ tee_local $push9=, $0=, $pop3
+ i32.const $push4=, 2
+ i32.store $discard=, 0($pop9), $pop4
+ i32.const $push5=, 8
+ i32.add $push6=, $0, $pop5
+ i32.const $push7=, 1
+ i32.store $discard=, 0($pop6), $pop7
call pop_to_parent_deferring_access_checks@FUNCTION
- return $0
+ i32.const $push8=, 0
+ return $pop8
.endfunc
.Lfunc_end3:
.size main, .Lfunc_end3-main
@@ -124,7 +131,7 @@ main: # @main
.type gt_pch_rs_gt_cp_semantics_h,@object
.section .data.rel.ro.gt_pch_rs_gt_cp_semantics_h,"aw",@progbits
.globl gt_pch_rs_gt_cp_semantics_h
- .align 2
+ .p2align 2
gt_pch_rs_gt_cp_semantics_h:
.int32 deferred_access_no_check
.size gt_pch_rs_gt_cp_semantics_h, 4
diff --git a/test/torture-s/20071202-1.c.s b/test/torture-s/20071202-1.c.s
index c8f00a809..cd585cff6 100644
--- a/test/torture-s/20071202-1.c.s
+++ b/test/torture-s/20071202-1.c.s
@@ -6,121 +6,24 @@
.type foo,@function
foo: # @foo
.param i32
- .local i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $10=, __stack_pointer
- i32.load $10=, 0($10)
- i32.const $11=, 64
- i32.sub $22=, $10, $11
- i32.const $11=, __stack_pointer
- i32.store $22=, 0($11), $22
- i32.load $9=, 4($0)
i32.load $1=, 0($0)
- i32.const $2=, 16
- i32.const $13=, 40
- i32.add $13=, $22, $13
- i32.add $3=, $13, $2
- i64.const $push0=, 0
- i64.store $7=, 0($3), $pop0
- i32.const $4=, 8
- i32.const $14=, 40
- i32.add $14=, $22, $14
- i32.add $5=, $14, $4
- i64.store $push1=, 0($5), $7
- i64.store $discard=, 40($22), $pop1
- i32.const $6=, 32
- i32.const $15=, 0
- i32.add $15=, $22, $15
- i32.add $push6=, $15, $6
- i32.const $push3=, 64
- i32.add $push4=, $0, $pop3
- i32.load $push5=, 0($pop4)
- i32.store $discard=, 0($pop6), $pop5
- i64.const $7=, 32
- i32.const $16=, 0
- i32.add $16=, $22, $16
- i32.add $push15=, $16, $2
- i32.const $push7=, 52
- i32.add $push8=, $0, $pop7
- i64.load32_u $push9=, 0($pop8)
- i64.shl $push10=, $pop9, $7
- i32.const $push11=, 48
- i32.add $push12=, $0, $pop11
- i64.load32_u $push13=, 0($pop12)
- i64.or $push14=, $pop10, $pop13
- i64.store $discard=, 0($pop15), $pop14
- i32.const $8=, 24
- i32.const $17=, 0
- i32.add $17=, $22, $17
- i32.add $push24=, $17, $8
- i32.const $push16=, 60
- i32.add $push17=, $0, $pop16
- i64.load32_u $push18=, 0($pop17)
- i64.shl $push19=, $pop18, $7
- i32.const $push20=, 56
- i32.add $push21=, $0, $pop20
- i64.load32_u $push22=, 0($pop21)
- i64.or $push23=, $pop19, $pop22
- i64.store $discard=, 0($pop24), $pop23
- i32.const $18=, 0
- i32.add $18=, $22, $18
- i32.add $push33=, $18, $4
- i32.const $push25=, 44
- i32.add $push26=, $0, $pop25
- i64.load32_u $push27=, 0($pop26)
- i64.shl $push28=, $pop27, $7
- i32.const $push29=, 40
- i32.add $push30=, $0, $pop29
- i64.load32_u $push31=, 0($pop30)
- i64.or $push32=, $pop28, $pop31
- i64.store $discard=, 0($pop33), $pop32
- i32.const $4=, 36
- i32.add $push34=, $0, $4
- i64.load32_u $push35=, 0($pop34)
- i64.shl $push36=, $pop35, $7
- i64.load32_u $push37=, 32($0)
- i64.or $push38=, $pop36, $pop37
- i64.store $discard=, 0($22), $pop38
- i32.store $discard=, 0($0), $9
+ i32.load $push0=, 4($0)
+ i32.store $discard=, 0($0), $pop0
i32.store $discard=, 4($0), $1
- i32.const $9=, 20
- i32.const $push39=, 28
- i32.add $push40=, $0, $pop39
- i32.const $19=, 40
- i32.add $19=, $22, $19
- i32.add $push41=, $19, $9
- i32.load $push42=, 0($pop41)
- i32.store $discard=, 0($pop40), $pop42
- i32.add $push43=, $0, $8
- i32.load $push44=, 0($3)
- i32.store $discard=, 0($pop43), $pop44
- i32.const $3=, 12
- i32.add $push45=, $0, $9
- i32.const $20=, 40
- i32.add $20=, $22, $20
- i32.add $push46=, $20, $3
- i32.load $push47=, 0($pop46)
- i32.store $discard=, 0($pop45), $pop47
- i32.add $push48=, $0, $2
- i32.load $push49=, 0($5)
- i32.store $discard=, 0($pop48), $pop49
- i32.add $push50=, $0, $3
- i32.const $push51=, 4
- i32.const $21=, 40
- i32.add $21=, $22, $21
- i32.or $push52=, $21, $pop51
- i32.load $push53=, 0($pop52)
- i32.store $discard=, 0($pop50), $pop53
- i32.load $push54=, 40($22)
- i32.store $discard=, 8($0), $pop54
- i32.add $push2=, $0, $6
- i32.const $22=, 0
- i32.add $22=, $22, $22
- call memcpy@FUNCTION, $pop2, $22, $4
- i32.const $12=, 64
- i32.add $22=, $22, $12
- i32.const $12=, __stack_pointer
- i32.store $22=, 0($12), $22
+ i32.const $push1=, 28
+ i32.add $push2=, $0, $pop1
+ i32.const $push3=, 0
+ i32.store $1=, 0($pop2), $pop3
+ i32.const $push8=, 12
+ i32.add $push9=, $0, $pop8
+ i32.const $push4=, 20
+ i32.add $push5=, $0, $pop4
+ i64.const $push6=, 0
+ i64.store $push7=, 0($pop5):p2align=2, $pop6
+ i64.store $discard=, 0($pop9):p2align=2, $pop7
+ i32.store $discard=, 8($0), $1
return
.endfunc
.Lfunc_end0:
@@ -132,157 +35,159 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 80
+ i32.sub $19=, $0, $1
i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 80
- i32.sub $20=, $1, $2
- i32.const $2=, __stack_pointer
- i32.store $20=, 0($2), $20
+ i32.store $19=, 0($1), $19
i32.const $push0=, .Lmain.s
i32.const $push1=, 68
+ i32.const $3=, 8
+ i32.add $3=, $19, $3
+ i32.call $discard=, memcpy@FUNCTION, $3, $pop0, $pop1
i32.const $4=, 8
- i32.add $4=, $20, $4
- call memcpy@FUNCTION, $4, $pop0, $pop1
- i32.const $5=, 8
- i32.add $5=, $20, $5
- call foo@FUNCTION, $5
- i32.const $0=, 12
+ i32.add $4=, $19, $4
+ call foo@FUNCTION, $4
block
- i32.load $push2=, 8($20)
- i32.ne $push3=, $pop2, $0
- br_if $pop3, 0 # 0: down to label0
+ i32.load $push2=, 8($19):p2align=3
+ i32.const $push3=, 12
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.const $push4=, 4
- i32.const $6=, 8
- i32.add $6=, $20, $6
- i32.or $push5=, $6, $pop4
- i32.load $push6=, 0($pop5)
- i32.const $push7=, 6
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label0
-# BB#2: # %lor.lhs.false2
- i32.load $push9=, 16($20)
+ i32.const $push5=, 4
+ i32.const $5=, 8
+ i32.add $5=, $19, $5
+ i32.or $push6=, $5, $pop5
+ i32.load $push7=, 0($pop6)
+ i32.const $push8=, 6
+ i32.ne $push9=, $pop7, $pop8
br_if $pop9, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false2
+ i32.load $push10=, 16($19):p2align=3
+ br_if $pop10, 0 # 0: down to label0
# BB#3: # %lor.lhs.false3
- i32.const $7=, 8
- i32.add $7=, $20, $7
- i32.add $push10=, $7, $0
- i32.load $push11=, 0($pop10)
- br_if $pop11, 0 # 0: down to label0
+ i32.const $push11=, 12
+ i32.const $6=, 8
+ i32.add $6=, $19, $6
+ i32.add $push12=, $6, $pop11
+ i32.load $push13=, 0($pop12)
+ br_if $pop13, 0 # 0: down to label0
# BB#4: # %lor.lhs.false7
- i32.const $push12=, 16
- i32.const $8=, 8
- i32.add $8=, $20, $8
- i32.add $push13=, $8, $pop12
- i32.load $push14=, 0($pop13)
- br_if $pop14, 0 # 0: down to label0
+ i32.const $push14=, 16
+ i32.const $7=, 8
+ i32.add $7=, $19, $7
+ i32.add $push15=, $7, $pop14
+ i32.load $push16=, 0($pop15):p2align=3
+ br_if $pop16, 0 # 0: down to label0
# BB#5: # %lor.lhs.false11
- i32.const $push15=, 20
- i32.const $9=, 8
- i32.add $9=, $20, $9
- i32.add $push16=, $9, $pop15
- i32.load $push17=, 0($pop16)
- br_if $pop17, 0 # 0: down to label0
+ i32.const $push17=, 20
+ i32.const $8=, 8
+ i32.add $8=, $19, $8
+ i32.add $push18=, $8, $pop17
+ i32.load $push19=, 0($pop18)
+ br_if $pop19, 0 # 0: down to label0
# BB#6: # %lor.lhs.false15
- i32.const $push18=, 24
- i32.const $10=, 8
- i32.add $10=, $20, $10
- i32.add $push19=, $10, $pop18
- i32.load $push20=, 0($pop19)
- br_if $pop20, 0 # 0: down to label0
+ i32.const $push20=, 24
+ i32.const $9=, 8
+ i32.add $9=, $19, $9
+ i32.add $push21=, $9, $pop20
+ i32.load $push22=, 0($pop21):p2align=3
+ br_if $pop22, 0 # 0: down to label0
# BB#7: # %lor.lhs.false19
- i32.const $push21=, 28
- i32.const $11=, 8
- i32.add $11=, $20, $11
- i32.add $push22=, $11, $pop21
- i32.load $push23=, 0($pop22)
- br_if $pop23, 0 # 0: down to label0
+ i32.const $push23=, 28
+ i32.const $10=, 8
+ i32.add $10=, $19, $10
+ i32.add $push24=, $10, $pop23
+ i32.load $push25=, 0($pop24)
+ br_if $pop25, 0 # 0: down to label0
# BB#8: # %if.end
block
- i32.load $push24=, 40($20)
- i32.const $push25=, 7
- i32.ne $push26=, $pop24, $pop25
- br_if $pop26, 0 # 0: down to label1
+ i32.load $push26=, 40($19):p2align=3
+ i32.const $push27=, 7
+ i32.ne $push28=, $pop26, $pop27
+ br_if $pop28, 0 # 0: down to label1
# BB#9: # %lor.lhs.false24
- i32.const $push27=, 36
- i32.const $12=, 8
- i32.add $12=, $20, $12
- i32.add $push28=, $12, $pop27
- i32.load $push29=, 0($pop28)
- i32.const $push30=, 8
- i32.ne $push31=, $pop29, $pop30
- br_if $pop31, 0 # 0: down to label1
+ i32.const $push29=, 36
+ i32.const $11=, 8
+ i32.add $11=, $19, $11
+ i32.add $push30=, $11, $pop29
+ i32.load $push31=, 0($pop30)
+ i32.const $push32=, 8
+ i32.ne $push33=, $pop31, $pop32
+ br_if $pop33, 0 # 0: down to label1
# BB#10: # %lor.lhs.false28
- i32.const $push32=, 40
- i32.const $13=, 8
- i32.add $13=, $20, $13
- i32.add $push33=, $13, $pop32
- i32.load $push34=, 0($pop33)
- i32.const $push35=, 9
- i32.ne $push36=, $pop34, $pop35
- br_if $pop36, 0 # 0: down to label1
+ i32.const $push34=, 40
+ i32.const $12=, 8
+ i32.add $12=, $19, $12
+ i32.add $push35=, $12, $pop34
+ i32.load $push36=, 0($pop35):p2align=3
+ i32.const $push37=, 9
+ i32.ne $push38=, $pop36, $pop37
+ br_if $pop38, 0 # 0: down to label1
# BB#11: # %lor.lhs.false33
- i32.const $push37=, 44
- i32.const $14=, 8
- i32.add $14=, $20, $14
- i32.add $push38=, $14, $pop37
- i32.load $push39=, 0($pop38)
- i32.const $push40=, 10
- i32.ne $push41=, $pop39, $pop40
- br_if $pop41, 0 # 0: down to label1
+ i32.const $push39=, 44
+ i32.const $13=, 8
+ i32.add $13=, $19, $13
+ i32.add $push40=, $13, $pop39
+ i32.load $push41=, 0($pop40)
+ i32.const $push42=, 10
+ i32.ne $push43=, $pop41, $pop42
+ br_if $pop43, 0 # 0: down to label1
# BB#12: # %lor.lhs.false38
- i32.const $push42=, 48
- i32.const $15=, 8
- i32.add $15=, $20, $15
- i32.add $push43=, $15, $pop42
- i32.load $push44=, 0($pop43)
- i32.const $push45=, 11
- i32.ne $push46=, $pop44, $pop45
- br_if $pop46, 0 # 0: down to label1
+ i32.const $push44=, 48
+ i32.const $14=, 8
+ i32.add $14=, $19, $14
+ i32.add $push45=, $14, $pop44
+ i32.load $push46=, 0($pop45):p2align=3
+ i32.const $push47=, 11
+ i32.ne $push48=, $pop46, $pop47
+ br_if $pop48, 0 # 0: down to label1
# BB#13: # %lor.lhs.false43
- i32.const $push47=, 52
- i32.const $16=, 8
- i32.add $16=, $20, $16
- i32.add $push48=, $16, $pop47
- i32.load $push49=, 0($pop48)
- i32.ne $push50=, $pop49, $0
- br_if $pop50, 0 # 0: down to label1
+ i32.const $push49=, 52
+ i32.const $15=, 8
+ i32.add $15=, $19, $15
+ i32.add $push50=, $15, $pop49
+ i32.load $push51=, 0($pop50)
+ i32.const $push52=, 12
+ i32.ne $push53=, $pop51, $pop52
+ br_if $pop53, 0 # 0: down to label1
# BB#14: # %lor.lhs.false48
- i32.const $push51=, 56
- i32.const $17=, 8
- i32.add $17=, $20, $17
- i32.add $push52=, $17, $pop51
- i32.load $push53=, 0($pop52)
- i32.const $push54=, 13
- i32.ne $push55=, $pop53, $pop54
- br_if $pop55, 0 # 0: down to label1
+ i32.const $push54=, 56
+ i32.const $16=, 8
+ i32.add $16=, $19, $16
+ i32.add $push55=, $16, $pop54
+ i32.load $push56=, 0($pop55):p2align=3
+ i32.const $push57=, 13
+ i32.ne $push58=, $pop56, $pop57
+ br_if $pop58, 0 # 0: down to label1
# BB#15: # %lor.lhs.false53
- i32.const $push56=, 60
- i32.const $18=, 8
- i32.add $18=, $20, $18
- i32.add $push57=, $18, $pop56
- i32.load $push58=, 0($pop57)
- i32.const $push59=, 14
- i32.ne $push60=, $pop58, $pop59
- br_if $pop60, 0 # 0: down to label1
+ i32.const $push59=, 60
+ i32.const $17=, 8
+ i32.add $17=, $19, $17
+ i32.add $push60=, $17, $pop59
+ i32.load $push61=, 0($pop60)
+ i32.const $push62=, 14
+ i32.ne $push63=, $pop61, $pop62
+ br_if $pop63, 0 # 0: down to label1
# BB#16: # %lor.lhs.false58
- i32.const $push61=, 64
- i32.const $19=, 8
- i32.add $19=, $20, $19
- i32.add $push62=, $19, $pop61
- i32.load $push63=, 0($pop62)
- i32.const $push64=, 15
- i32.ne $push65=, $pop63, $pop64
- br_if $pop65, 0 # 0: down to label1
+ i32.const $push64=, 64
+ i32.const $18=, 8
+ i32.add $18=, $19, $18
+ i32.add $push65=, $18, $pop64
+ i32.load $push66=, 0($pop65):p2align=3
+ i32.const $push67=, 15
+ i32.ne $push68=, $pop66, $pop67
+ br_if $pop68, 0 # 0: down to label1
# BB#17: # %if.end64
- i32.const $push66=, 0
- i32.const $3=, 80
- i32.add $20=, $20, $3
- i32.const $3=, __stack_pointer
- i32.store $20=, 0($3), $20
- return $pop66
+ i32.const $push69=, 0
+ i32.const $2=, 80
+ i32.add $19=, $19, $2
+ i32.const $2=, __stack_pointer
+ i32.store $19=, 0($2), $19
+ return $pop69
.LBB1_18: # %if.then63
end_block # label1:
call abort@FUNCTION
@@ -297,7 +202,7 @@ main: # @main
.type .Lmain.s,@object # @main.s
.section .rodata..Lmain.s,"a",@progbits
- .align 2
+ .p2align 2
.Lmain.s:
.int32 6 # 0x6
.int32 12 # 0xc
diff --git a/test/torture-s/20071211-1.c.s b/test/torture-s/20071211-1.c.s
index f7719ab41..e4baa0548 100644
--- a/test/torture-s/20071211-1.c.s
+++ b/test/torture-s/20071211-1.c.s
@@ -6,7 +6,7 @@
.type main,@function
main: # @main
.result i32
- .local i32, i64, i64, i64
+ .local i32, i64, i64
# BB#0: # %entry
i32.const $0=, 0
i64.load $1=, sv($0)
@@ -15,24 +15,30 @@ main: # @main
i64.store $discard=, sv($0), $1
#APP
#NO_APP
- i64.load $1=, sv($0)
- i64.const $2=, 40
+ i32.const $push17=, 0
+ i32.const $push16=, 0
+ i64.load $push0=, sv($pop16)
+ tee_local $push15=, $1=, $pop0
+ i64.const $push1=, 40
+ i64.shr_u $push2=, $pop15, $pop1
+ i64.const $push3=, 1
+ i64.add $push4=, $pop2, $pop3
+ tee_local $push14=, $2=, $pop4
+ i64.const $push13=, 40
+ i64.shl $push5=, $pop14, $pop13
+ i64.const $push6=, 1099511627775
+ i64.and $push7=, $1, $pop6
+ i64.or $push8=, $pop5, $pop7
+ i64.store $discard=, sv($pop17), $pop8
block
- i64.shr_u $push0=, $1, $2
- i64.const $push1=, 1
- i64.add $3=, $pop0, $pop1
- i64.shl $push2=, $3, $2
- i64.const $push3=, 1099511627775
- i64.and $push4=, $1, $pop3
- i64.or $push5=, $pop2, $pop4
- i64.store $discard=, sv($0), $pop5
- i64.const $push6=, 16777215
- i64.and $push7=, $3, $pop6
- i64.const $push8=, 0
- i64.ne $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label0
+ i64.const $push9=, 16777215
+ i64.and $push10=, $2, $pop9
+ i64.const $push11=, 0
+ i64.ne $push12=, $pop10, $pop11
+ br_if $pop12, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push18=, 0
+ return $pop18
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -45,7 +51,7 @@ main: # @main
.type sv,@object
.section .bss.sv,"aw",@nobits
.globl sv
- .align 3
+ .p2align 3
sv:
.skip 8
.size sv, 8
diff --git a/test/torture-s/20071213-1.c.s b/test/torture-s/20071213-1.c.s
new file mode 100644
index 000000000..ad3366708
--- /dev/null
+++ b/test/torture-s/20071213-1.c.s
@@ -0,0 +1,417 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20071213-1.c"
+ .section .text.h,"ax",@progbits
+ .hidden h
+ .globl h
+ .type h,@function
+h: # @h
+ .param i32, i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $discard=, 12($5), $1
+ block
+ block
+ block
+ i32.const $push0=, 5
+ i32.eq $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label2
+# BB#1: # %entry
+ block
+ i32.const $push2=, 1
+ i32.ne $push3=, $0, $pop2
+ br_if $pop3, 0 # 0: down to label3
+# BB#2: # %sw.bb
+ i32.load $push18=, 12($5)
+ i32.const $push34=, 3
+ i32.add $push19=, $pop18, $pop34
+ i32.const $push33=, -4
+ i32.and $push20=, $pop19, $pop33
+ tee_local $push32=, $0=, $pop20
+ i32.const $push31=, 4
+ i32.add $push21=, $pop32, $pop31
+ i32.store $discard=, 12($5), $pop21
+ block
+ i32.load $push22=, 0($0)
+ i32.const $push30=, 3
+ i32.ne $push23=, $pop22, $pop30
+ br_if $pop23, 0 # 0: down to label4
+# BB#3: # %lor.lhs.false
+ i32.load $push24=, 12($5)
+ i32.const $push39=, 3
+ i32.add $push25=, $pop24, $pop39
+ i32.const $push38=, -4
+ i32.and $push26=, $pop25, $pop38
+ tee_local $push37=, $0=, $pop26
+ i32.const $push36=, 4
+ i32.add $push27=, $pop37, $pop36
+ i32.store $discard=, 12($5), $pop27
+ i32.load $push28=, 0($0)
+ i32.const $push35=, 4
+ i32.eq $push29=, $pop28, $pop35
+ br_if $pop29, 3 # 3: down to label1
+.LBB0_4: # %if.then
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_5: # %sw.default
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_6: # %sw.bb2
+ end_block # label2:
+ i32.load $push4=, 12($5)
+ i32.const $push43=, 3
+ i32.add $push5=, $pop4, $pop43
+ i32.const $push42=, -4
+ i32.and $push6=, $pop5, $pop42
+ tee_local $push41=, $0=, $pop6
+ i32.const $push40=, 4
+ i32.add $push7=, $pop41, $pop40
+ i32.store $discard=, 12($5), $pop7
+ i32.load $push8=, 0($0)
+ i32.const $push9=, 9
+ i32.ne $push10=, $pop8, $pop9
+ br_if $pop10, 1 # 1: down to label0
+# BB#7: # %lor.lhs.false4
+ i32.load $push11=, 12($5)
+ i32.const $push47=, 3
+ i32.add $push12=, $pop11, $pop47
+ i32.const $push46=, -4
+ i32.and $push13=, $pop12, $pop46
+ tee_local $push45=, $0=, $pop13
+ i32.const $push44=, 4
+ i32.add $push14=, $pop45, $pop44
+ i32.store $discard=, 12($5), $pop14
+ i32.load $push15=, 0($0)
+ i32.const $push16=, 10
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 1 # 1: down to label0
+.LBB0_8: # %return
+ end_block # label1:
+ i32.const $4=, 16
+ i32.add $5=, $5, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB0_9: # %if.then6
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size h, .Lfunc_end0-h
+
+ .section .text.f1,"ax",@progbits
+ .hidden f1
+ .globl f1
+ .type f1,@function
+f1: # @f1
+ .param i32, i64
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push0=, 8($5), $6
+ i32.store $discard=, 12($5), $pop0
+ block
+ block
+ block
+ block
+ i32.const $push1=, 1
+ i32.ne $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label8
+# BB#1: # %sw.bb.i
+ i32.load $push19=, 12($5)
+ i32.const $push37=, 3
+ i32.add $push20=, $pop19, $pop37
+ i32.const $push36=, -4
+ i32.and $push21=, $pop20, $pop36
+ tee_local $push35=, $0=, $pop21
+ i32.const $push34=, 4
+ i32.add $push22=, $pop35, $pop34
+ i32.store $discard=, 12($5), $pop22
+ block
+ i32.load $push23=, 0($0)
+ i32.const $push33=, 3
+ i32.ne $push24=, $pop23, $pop33
+ br_if $pop24, 0 # 0: down to label9
+# BB#2: # %lor.lhs.false.i
+ i32.load $push25=, 12($5)
+ i32.const $push42=, 3
+ i32.add $push26=, $pop25, $pop42
+ i32.const $push41=, -4
+ i32.and $push27=, $pop26, $pop41
+ tee_local $push40=, $0=, $pop27
+ i32.const $push39=, 4
+ i32.add $push28=, $pop40, $pop39
+ i32.store $discard=, 12($5), $pop28
+ i32.load $push29=, 0($0)
+ i32.const $push38=, 4
+ i32.ne $push30=, $pop29, $pop38
+ br_if $pop30, 0 # 0: down to label9
+# BB#3: # %h.exit
+ i64.const $push31=, 2
+ i64.ne $push32=, $1, $pop31
+ br_if $pop32, 2 # 2: down to label7
+# BB#4: # %if.end
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB1_5: # %if.then.i
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB1_6: # %entry
+ end_block # label8:
+ i32.const $push3=, 5
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 2 # 2: down to label5
+# BB#7: # %sw.bb2.i
+ i32.load $push5=, 12($5)
+ i32.const $push46=, 3
+ i32.add $push6=, $pop5, $pop46
+ i32.const $push45=, -4
+ i32.and $push7=, $pop6, $pop45
+ tee_local $push44=, $0=, $pop7
+ i32.const $push43=, 4
+ i32.add $push8=, $pop44, $pop43
+ i32.store $discard=, 12($5), $pop8
+ i32.load $push9=, 0($0)
+ i32.const $push10=, 9
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 1 # 1: down to label6
+# BB#8: # %lor.lhs.false4.i
+ i32.load $push12=, 12($5)
+ i32.const $push50=, 3
+ i32.add $push13=, $pop12, $pop50
+ i32.const $push49=, -4
+ i32.and $push14=, $pop13, $pop49
+ tee_local $push48=, $0=, $pop14
+ i32.const $push47=, 4
+ i32.add $push15=, $pop48, $pop47
+ i32.store $discard=, 12($5), $pop15
+ i32.load $push16=, 0($0)
+ i32.const $push17=, 10
+ i32.ne $push18=, $pop16, $pop17
+ br_if $pop18, 1 # 1: down to label6
+.LBB1_9: # %if.then
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB1_10: # %if.then6.i
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB1_11: # %sw.default.i
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size f1, .Lfunc_end1-f1
+
+ .section .text.f2,"ax",@progbits
+ .hidden f2
+ .globl f2
+ .type f2,@function
+f2: # @f2
+ .param i32, i32, i32, i64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $8=, $5, $6
+ copy_local $9=, $8
+ i32.const $6=, __stack_pointer
+ i32.store $8=, 0($6), $8
+ i32.store $push0=, 8($8), $9
+ i32.store $discard=, 12($8), $pop0
+ block
+ block
+ block
+ i32.const $push1=, 5
+ i32.eq $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label12
+# BB#1: # %entry
+ block
+ i32.const $push3=, 1
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 0 # 0: down to label13
+# BB#2: # %sw.bb.i
+ i32.load $push19=, 12($8)
+ i32.const $push43=, 3
+ i32.add $push20=, $pop19, $pop43
+ i32.const $push42=, -4
+ i32.and $push21=, $pop20, $pop42
+ tee_local $push41=, $4=, $pop21
+ i32.const $push40=, 4
+ i32.add $push22=, $pop41, $pop40
+ i32.store $discard=, 12($8), $pop22
+ block
+ i32.load $push23=, 0($4)
+ i32.const $push39=, 3
+ i32.ne $push24=, $pop23, $pop39
+ br_if $pop24, 0 # 0: down to label14
+# BB#3: # %lor.lhs.false.i
+ i32.load $push25=, 12($8)
+ i32.const $push48=, 3
+ i32.add $push26=, $pop25, $pop48
+ i32.const $push47=, -4
+ i32.and $push27=, $pop26, $pop47
+ tee_local $push46=, $4=, $pop27
+ i32.const $push45=, 4
+ i32.add $push28=, $pop46, $pop45
+ i32.store $discard=, 12($8), $pop28
+ i32.load $push29=, 0($4)
+ i32.const $push44=, 4
+ i32.eq $push30=, $pop29, $pop44
+ br_if $pop30, 3 # 3: down to label11
+.LBB2_4: # %if.then.i
+ end_block # label14:
+ call abort@FUNCTION
+ unreachable
+.LBB2_5: # %sw.default.i
+ end_block # label13:
+ call abort@FUNCTION
+ unreachable
+.LBB2_6: # %sw.bb2.i
+ end_block # label12:
+ i32.load $push5=, 12($8)
+ i32.const $push52=, 3
+ i32.add $push6=, $pop5, $pop52
+ i32.const $push51=, -4
+ i32.and $push7=, $pop6, $pop51
+ tee_local $push50=, $4=, $pop7
+ i32.const $push49=, 4
+ i32.add $push8=, $pop50, $pop49
+ i32.store $discard=, 12($8), $pop8
+ i32.load $push9=, 0($4)
+ i32.const $push10=, 9
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 1 # 1: down to label10
+# BB#7: # %lor.lhs.false4.i
+ i32.load $push12=, 12($8)
+ i32.const $push56=, 3
+ i32.add $push13=, $pop12, $pop56
+ i32.const $push55=, -4
+ i32.and $push14=, $pop13, $pop55
+ tee_local $push54=, $4=, $pop14
+ i32.const $push53=, 4
+ i32.add $push15=, $pop54, $pop53
+ i32.store $discard=, 12($8), $pop15
+ i32.load $push16=, 0($4)
+ i32.const $push17=, 10
+ i32.ne $push18=, $pop16, $pop17
+ br_if $pop18, 1 # 1: down to label10
+.LBB2_8: # %h.exit
+ end_block # label11:
+ block
+ i32.const $push31=, 5
+ i32.ne $push32=, $0, $pop31
+ br_if $pop32, 0 # 0: down to label15
+# BB#9: # %h.exit
+ i32.const $push33=, 6
+ i32.ne $push34=, $1, $pop33
+ br_if $pop34, 0 # 0: down to label15
+# BB#10: # %h.exit
+ i32.const $push35=, 7
+ i32.ne $push36=, $2, $pop35
+ br_if $pop36, 0 # 0: down to label15
+# BB#11: # %h.exit
+ i64.const $push37=, 8
+ i64.ne $push38=, $3, $pop37
+ br_if $pop38, 0 # 0: down to label15
+# BB#12: # %if.end
+ i32.const $7=, 16
+ i32.add $8=, $9, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ return
+.LBB2_13: # %if.then
+ end_block # label15:
+ call abort@FUNCTION
+ unreachable
+.LBB2_14: # %if.then6.i
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size f2, .Lfunc_end2-f2
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 16
+ i32.sub $11=, $8, $9
+ i32.const $9=, __stack_pointer
+ i32.store $11=, 0($9), $11
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 8
+ i32.sub $11=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $11=, 0($1), $11
+ i64.const $push0=, 17179869187
+ i64.store $discard=, 0($11):p2align=2, $pop0
+ i32.const $push2=, 1
+ i64.const $push1=, 2
+ call f1@FUNCTION, $pop2, $pop1
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 8
+ i32.add $11=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $11=, 0($3), $11
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 8
+ i32.sub $11=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $11=, 0($5), $11
+ i64.const $push3=, 42949672969
+ i64.store $discard=, 0($11):p2align=2, $pop3
+ i32.const $push7=, 5
+ i32.const $push6=, 6
+ i32.const $push5=, 7
+ i64.const $push4=, 8
+ call f2@FUNCTION, $pop7, $pop6, $pop5, $pop4
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 8
+ i32.add $11=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $11=, 0($7), $11
+ i32.const $push8=, 0
+ i32.const $10=, 16
+ i32.add $11=, $11, $10
+ i32.const $10=, __stack_pointer
+ i32.store $11=, 0($10), $11
+ return $pop8
+ .endfunc
+.Lfunc_end3:
+ .size main, .Lfunc_end3-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20071216-1.c.s b/test/torture-s/20071216-1.c.s
index 31c7e99a1..5e4fcb3c1 100644
--- a/test/torture-s/20071216-1.c.s
+++ b/test/torture-s/20071216-1.c.s
@@ -22,16 +22,17 @@ foo: # @foo
.result i32
.local i32
# BB#0: # %entry
- i32.call $0=, bar@FUNCTION
- i32.const $push0=, -4095
- i32.lt_u $push1=, $0, $pop0
- i32.const $push2=, -38
- i32.eq $push3=, $0, $pop2
- i32.const $push5=, -37
- i32.const $push4=, -1
- i32.select $push6=, $pop3, $pop5, $pop4
- i32.select $push7=, $pop1, $0, $pop6
- return $pop7
+ i32.call $push0=, bar@FUNCTION
+ tee_local $push9=, $0=, $pop0
+ i32.const $push1=, -4095
+ i32.lt_u $push2=, $pop9, $pop1
+ i32.const $push3=, -38
+ i32.eq $push4=, $0, $pop3
+ i32.const $push6=, -37
+ i32.const $push5=, -1
+ i32.select $push7=, $pop4, $pop6, $pop5
+ i32.select $push8=, $pop2, $0, $pop7
+ return $pop8
.endfunc
.Lfunc_end1:
.size foo, .Lfunc_end1-foo
@@ -42,46 +43,62 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $push0=, 26
- i32.store $1=, x($0), $pop0
- i32.call $2=, bar@FUNCTION
- i32.const $4=, -38
- i32.const $5=, -1
- i32.const $6=, -37
- i32.const $3=, -4095
block
- i32.lt_u $push1=, $2, $3
- i32.eq $push2=, $2, $4
- i32.select $push3=, $pop2, $6, $5
- i32.select $push4=, $pop1, $2, $pop3
- i32.ne $push5=, $pop4, $1
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push30=, 0
+ i32.const $push0=, 26
+ i32.store $push1=, x($pop30), $pop0
+ i32.call $push2=, bar@FUNCTION
+ tee_local $push29=, $1=, $pop2
+ i32.const $push28=, -4095
+ i32.lt_u $push3=, $pop29, $pop28
+ i32.const $push27=, -38
+ i32.eq $push4=, $1, $pop27
+ i32.const $push26=, -37
+ i32.const $push25=, -1
+ i32.select $push5=, $pop4, $pop26, $pop25
+ i32.select $push6=, $pop3, $1, $pop5
+ i32.ne $push7=, $pop1, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $push6=, -39
- i32.store $discard=, x($0), $pop6
- i32.call $2=, bar@FUNCTION
+ i32.const $push37=, 0
+ i32.const $push8=, -39
+ i32.store $discard=, x($pop37), $pop8
block
- i32.lt_u $push7=, $2, $3
- i32.eq $push8=, $2, $4
- i32.select $push9=, $pop8, $6, $5
- i32.select $push10=, $pop7, $2, $pop9
- i32.ne $push11=, $pop10, $5
- br_if $pop11, 0 # 0: down to label1
+ i32.call $push9=, bar@FUNCTION
+ tee_local $push36=, $1=, $pop9
+ i32.const $push35=, -4095
+ i32.lt_u $push10=, $pop36, $pop35
+ i32.const $push34=, -38
+ i32.eq $push11=, $1, $pop34
+ i32.const $push33=, -37
+ i32.const $push32=, -1
+ i32.select $push12=, $pop11, $pop33, $pop32
+ i32.select $push13=, $pop10, $1, $pop12
+ i32.const $push31=, -1
+ i32.ne $push14=, $pop13, $pop31
+ br_if $pop14, 0 # 0: down to label1
# BB#2: # %if.end4
- i32.store $discard=, x($0), $4
- i32.call $2=, bar@FUNCTION
+ i32.const $push40=, 0
+ i32.const $push15=, -38
+ i32.store $0=, x($pop40), $pop15
block
- i32.lt_u $push12=, $2, $3
- i32.eq $push13=, $2, $4
- i32.select $push14=, $pop13, $6, $5
- i32.select $push15=, $pop12, $2, $pop14
- i32.ne $push16=, $pop15, $6
- br_if $pop16, 0 # 0: down to label2
+ i32.call $push16=, bar@FUNCTION
+ tee_local $push39=, $1=, $pop16
+ i32.const $push17=, -4095
+ i32.lt_u $push18=, $pop39, $pop17
+ i32.eq $push19=, $1, $0
+ i32.const $push21=, -37
+ i32.const $push20=, -1
+ i32.select $push22=, $pop19, $pop21, $pop20
+ i32.select $push23=, $pop18, $1, $pop22
+ i32.const $push38=, -37
+ i32.ne $push24=, $pop23, $pop38
+ br_if $pop24, 0 # 0: down to label2
# BB#3: # %if.end8
- return $0
+ i32.const $push41=, 0
+ return $pop41
.LBB2_4: # %if.then7
end_block # label2:
call abort@FUNCTION
diff --git a/test/torture-s/20071219-1.c.s b/test/torture-s/20071219-1.c.s
index 1788872b5..ab1aee5fa 100644
--- a/test/torture-s/20071219-1.c.s
+++ b/test/torture-s/20071219-1.c.s
@@ -8,35 +8,36 @@ foo: # @foo
.param i32, i32
.local i32, i32
# BB#0: # %entry
- i32.const $3=, 0
+ i32.const $2=, 0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
block
loop # label1:
- i32.add $2=, $0, $3
- i32.load8_u $push0=, 0($2)
- br_if $pop0, 2 # 2: down to label0
+ i32.add $push0=, $0, $2
+ tee_local $push4=, $3=, $pop0
+ i32.load8_u $push1=, 0($pop4)
+ br_if $pop1, 2 # 2: down to label0
# BB#2: # %if.else
# in Loop: Header=BB0_1 Depth=1
block
- i32.const $push5=, 0
- i32.eq $push6=, $1, $pop5
- br_if $pop6, 0 # 0: down to label3
+ i32.const $push7=, 0
+ i32.eq $push8=, $1, $pop7
+ br_if $pop8, 0 # 0: down to label3
# BB#3: # %if.then3
# in Loop: Header=BB0_1 Depth=1
- i32.store8 $discard=, 0($2), $1
+ i32.store8 $discard=, 0($3), $1
.LBB0_4: # %for.inc
# in Loop: Header=BB0_1 Depth=1
end_block # label3:
- i32.const $push1=, 1
- i32.add $3=, $3, $pop1
- i32.const $push2=, 25
- i32.lt_u $push3=, $3, $pop2
- br_if $pop3, 0 # 0: up to label1
+ i32.const $push6=, 1
+ i32.add $2=, $2, $pop6
+ i32.const $push5=, 25
+ i32.lt_u $push2=, $2, $pop5
+ br_if $pop2, 0 # 0: up to label1
# BB#5: # %for.end
end_loop # label2:
- i32.const $push4=, 0
- i32.store $discard=, p($pop4), $0
+ i32.const $push3=, 0
+ i32.store $discard=, p($pop3), $0
return
.LBB0_6: # %if.then
end_block # label0:
@@ -51,71 +52,70 @@ foo: # @foo
.globl test1
.type test1,@function
test1: # @test1
- .local i32, i32, i32, i32, i32, i64, i32, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $10=, __stack_pointer
i32.load $10=, 0($10)
i32.const $11=, 64
- i32.sub $22=, $10, $11
+ i32.sub $17=, $10, $11
i32.const $11=, __stack_pointer
- i32.store $22=, 0($11), $22
- i32.const $0=, 24
+ i32.store $17=, 0($11), $17
+ i32.const $push0=, 24
i32.const $13=, 32
- i32.add $13=, $22, $13
- i32.add $1=, $13, $0
- i32.const $push0=, 0
- i32.store8 $2=, 0($1), $pop0
- i32.const $3=, 16
+ i32.add $13=, $17, $13
+ i32.add $push1=, $13, $pop0
+ tee_local $push24=, $9=, $pop1
+ i32.const $push2=, 0
+ i32.store8 $0=, 0($pop24):p2align=3, $pop2
+ i32.const $push7=, 8
i32.const $14=, 32
- i32.add $14=, $22, $14
- i32.add $4=, $14, $3
- i64.const $push1=, 0
- i64.store $5=, 0($4), $pop1
- i32.const $6=, 8
+ i32.add $14=, $17, $14
+ i32.add $push8=, $14, $pop7
+ tee_local $push23=, $8=, $pop8
+ i32.const $push3=, 16
i32.const $15=, 32
- i32.add $15=, $22, $15
- i32.add $7=, $15, $6
- i64.store $push2=, 0($7), $5
- i64.store $discard=, 32($22), $pop2
+ i32.add $15=, $17, $15
+ i32.add $push4=, $15, $pop3
+ tee_local $push22=, $7=, $pop4
+ i64.const $push5=, 0
+ i64.store $push6=, 0($pop22), $pop5
+ i64.store $push9=, 0($pop23), $pop6
+ i64.store $discard=, 32($17), $pop9
i32.const $16=, 32
- i32.add $16=, $22, $16
- call foo@FUNCTION, $16, $2
- i32.const $17=, 0
- i32.add $17=, $22, $17
- i32.add $0=, $17, $0
- i64.load $5=, 0($4)
- i32.load8_u $push3=, 0($1)
- i32.store8 $discard=, 0($0), $pop3
- i32.const $18=, 0
- i32.add $18=, $22, $18
- i32.add $3=, $18, $3
- i64.load $8=, 0($7)
- i64.store $discard=, 0($3), $5
- i64.load $5=, 32($22)
- i32.const $19=, 0
- i32.add $19=, $22, $19
- i32.add $6=, $19, $6
- i64.store $discard=, 0($6), $8
- i64.store $discard=, 0($22), $5
- i32.const $push4=, 1
- i32.const $20=, 0
- i32.add $20=, $22, $20
- call foo@FUNCTION, $20, $pop4
- i64.load $5=, 0($4)
- i64.load $8=, 0($7)
- i64.load $9=, 32($22)
- i32.load8_u $push5=, 0($1)
- i32.store8 $discard=, 0($0), $pop5
- i64.store $discard=, 0($3), $5
- i64.store $discard=, 0($6), $8
- i64.store $discard=, 0($22), $9
- i32.const $21=, 0
- i32.add $21=, $22, $21
- call foo@FUNCTION, $21, $2
+ i32.add $16=, $17, $16
+ call foo@FUNCTION, $16, $0
+ i64.load $1=, 0($7)
+ i32.const $push21=, 24
+ i32.add $push10=, $17, $pop21
+ tee_local $push20=, $6=, $pop10
+ i32.load8_u $push11=, 0($9):p2align=3
+ i32.store8 $discard=, 0($pop20):p2align=3, $pop11
+ i64.load $2=, 0($8)
+ i32.const $push19=, 16
+ i32.add $push12=, $17, $pop19
+ tee_local $push18=, $5=, $pop12
+ i64.store $discard=, 0($pop18), $1
+ i64.load $1=, 32($17)
+ i32.const $push17=, 8
+ i32.add $push13=, $17, $pop17
+ tee_local $push16=, $4=, $pop13
+ i64.store $discard=, 0($pop16), $2
+ i64.store $discard=, 0($17), $1
+ i32.const $push14=, 1
+ call foo@FUNCTION, $17, $pop14
+ i64.load $1=, 0($7)
+ i64.load $2=, 0($8)
+ i64.load $3=, 32($17)
+ i32.load8_u $push15=, 0($9):p2align=3
+ i32.store8 $discard=, 0($6):p2align=3, $pop15
+ i64.store $discard=, 0($5), $1
+ i64.store $discard=, 0($4), $2
+ i64.store $discard=, 0($17), $3
+ call foo@FUNCTION, $17, $0
i32.const $12=, 64
- i32.add $22=, $22, $12
+ i32.add $17=, $17, $12
i32.const $12=, __stack_pointer
- i32.store $22=, 0($12), $22
+ i32.store $17=, 0($12), $17
return
.endfunc
.Lfunc_end1:
@@ -126,190 +126,85 @@ test1: # @test1
.globl test2
.type test2,@function
test2: # @test2
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $14=, __stack_pointer
- i32.load $14=, 0($14)
- i32.const $15=, 64
- i32.sub $26=, $14, $15
- i32.const $15=, __stack_pointer
- i32.store $26=, 0($15), $26
- i32.const $0=, 24
- i32.const $17=, 32
- i32.add $17=, $26, $17
- i32.add $10=, $17, $0
- i32.const $push0=, 0
- i32.store8 $1=, 0($10), $pop0
- i32.const $2=, 16
- i32.const $18=, 32
- i32.add $18=, $26, $18
- i32.add $3=, $18, $2
- i64.const $push1=, 0
- i64.store $11=, 0($3), $pop1
- i32.const $4=, 8
- i32.const $19=, 32
- i32.add $19=, $26, $19
- i32.add $5=, $19, $4
- i64.store $push2=, 0($5), $11
- i64.store $discard=, 32($26), $pop2
- i32.const $20=, 32
- i32.add $20=, $26, $20
- call foo@FUNCTION, $20, $1
- i64.load $11=, 0($3)
- i32.const $21=, 0
- i32.add $21=, $26, $21
- i32.add $6=, $21, $0
- i32.load8_u $push3=, 0($10)
- i32.store8 $discard=, 0($6), $pop3
- i64.load $12=, 0($5)
- i32.const $22=, 0
- i32.add $22=, $26, $22
- i32.add $7=, $22, $2
- i64.store $discard=, 0($7), $11
- i64.load $11=, 32($26)
- i32.const $23=, 0
- i32.add $23=, $26, $23
- i32.add $8=, $23, $4
- i64.store $discard=, 0($8), $12
- i32.const $9=, 1
- i64.store $discard=, 0($26), $11
- i32.const $24=, 0
- i32.add $24=, $26, $24
- call foo@FUNCTION, $24, $9
- i32.load8_u $push4=, 0($10)
- i32.store8 $discard=, 0($6), $pop4
- i64.load $11=, 0($5)
- i64.load $12=, 32($26)
- i32.load $10=, p($1)
- i64.load $push5=, 0($3)
- i64.store $discard=, 0($7), $pop5
- i64.store $discard=, 0($8), $11
- i64.store $discard=, 0($26), $12
- i32.add $push6=, $10, $0
- i32.load8_u $push7=, 0($pop6)
- i32.store8 $discard=, 0($6), $pop7
- i64.const $11=, 8
- i64.const $12=, 16
- i64.const $13=, 32
- i32.const $push33=, 23
- i32.add $push34=, $10, $pop33
- i64.load8_u $push35=, 0($pop34)
- i64.shl $push36=, $pop35, $11
- i32.const $push37=, 22
- i32.add $push38=, $10, $pop37
- i64.load8_u $push39=, 0($pop38)
- i64.or $push40=, $pop36, $pop39
- i64.shl $push41=, $pop40, $12
- i32.const $push25=, 21
- i32.add $push26=, $10, $pop25
- i64.load8_u $push27=, 0($pop26)
- i64.shl $push28=, $pop27, $11
- i32.const $push29=, 20
- i32.add $push30=, $10, $pop29
- i64.load8_u $push31=, 0($pop30)
- i64.or $push32=, $pop28, $pop31
- i64.or $push42=, $pop41, $pop32
- i64.shl $push43=, $pop42, $13
- i32.const $push15=, 19
- i32.add $push16=, $10, $pop15
- i64.load8_u $push17=, 0($pop16)
- i64.shl $push18=, $pop17, $11
- i32.const $push19=, 18
- i32.add $push20=, $10, $pop19
- i64.load8_u $push21=, 0($pop20)
- i64.or $push22=, $pop18, $pop21
- i64.shl $push23=, $pop22, $12
- i32.const $push8=, 17
- i32.add $push9=, $10, $pop8
- i64.load8_u $push10=, 0($pop9)
- i64.shl $push11=, $pop10, $11
- i32.add $push12=, $10, $2
- i64.load8_u $push13=, 0($pop12)
- i64.or $push14=, $pop11, $pop13
- i64.or $push24=, $pop23, $pop14
- i64.or $push44=, $pop43, $pop24
- i64.store $discard=, 0($7), $pop44
- i32.const $push70=, 15
- i32.add $push71=, $10, $pop70
- i64.load8_u $push72=, 0($pop71)
- i64.shl $push73=, $pop72, $11
- i32.const $push74=, 14
- i32.add $push75=, $10, $pop74
- i64.load8_u $push76=, 0($pop75)
- i64.or $push77=, $pop73, $pop76
- i64.shl $push78=, $pop77, $12
- i32.const $push62=, 13
- i32.add $push63=, $10, $pop62
- i64.load8_u $push64=, 0($pop63)
- i64.shl $push65=, $pop64, $11
- i32.const $push66=, 12
- i32.add $push67=, $10, $pop66
- i64.load8_u $push68=, 0($pop67)
- i64.or $push69=, $pop65, $pop68
- i64.or $push79=, $pop78, $pop69
- i64.shl $push80=, $pop79, $13
- i32.const $push52=, 11
- i32.add $push53=, $10, $pop52
- i64.load8_u $push54=, 0($pop53)
- i64.shl $push55=, $pop54, $11
- i32.const $push56=, 10
- i32.add $push57=, $10, $pop56
- i64.load8_u $push58=, 0($pop57)
- i64.or $push59=, $pop55, $pop58
- i64.shl $push60=, $pop59, $12
- i32.const $push45=, 9
- i32.add $push46=, $10, $pop45
- i64.load8_u $push47=, 0($pop46)
- i64.shl $push48=, $pop47, $11
- i32.add $push49=, $10, $4
- i64.load8_u $push50=, 0($pop49)
- i64.or $push51=, $pop48, $pop50
- i64.or $push61=, $pop60, $pop51
- i64.or $push81=, $pop80, $pop61
- i64.store $discard=, 0($8), $pop81
- i32.const $push90=, 7
- i32.add $push91=, $10, $pop90
- i64.load8_u $push92=, 0($pop91)
- i64.shl $push93=, $pop92, $11
- i32.const $push94=, 6
- i32.add $push95=, $10, $pop94
- i64.load8_u $push96=, 0($pop95)
- i64.or $push97=, $pop93, $pop96
- i64.shl $push98=, $pop97, $12
- i32.const $push82=, 5
- i32.add $push83=, $10, $pop82
- i64.load8_u $push84=, 0($pop83)
- i64.shl $push85=, $pop84, $11
- i32.const $push86=, 4
- i32.add $push87=, $10, $pop86
- i64.load8_u $push88=, 0($pop87)
- i64.or $push89=, $pop85, $pop88
- i64.or $push99=, $pop98, $pop89
- i64.shl $push100=, $pop99, $13
- i32.const $push101=, 3
- i32.add $push102=, $10, $pop101
- i64.load8_u $push103=, 0($pop102)
- i64.shl $push104=, $pop103, $11
- i32.const $push105=, 2
- i32.add $push106=, $10, $pop105
- i64.load8_u $push107=, 0($pop106)
- i64.or $push108=, $pop104, $pop107
- i64.shl $push109=, $pop108, $12
- i32.add $push110=, $10, $9
- i64.load8_u $push111=, 0($pop110)
- i64.shl $push112=, $pop111, $11
- i64.load8_u $push113=, 0($10)
- i64.or $push114=, $pop112, $pop113
- i64.or $push115=, $pop109, $pop114
- i64.or $push116=, $pop100, $pop115
- i64.store $discard=, 0($26), $pop116
- i32.const $25=, 0
- i32.add $25=, $26, $25
- call foo@FUNCTION, $25, $1
- i32.const $16=, 64
- i32.add $26=, $26, $16
- i32.const $16=, __stack_pointer
- i32.store $26=, 0($16), $26
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 64
+ i32.sub $16=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $16=, 0($10), $16
+ i32.const $push0=, 24
+ i32.const $12=, 32
+ i32.add $12=, $16, $12
+ i32.add $push1=, $12, $pop0
+ tee_local $push35=, $3=, $pop1
+ i32.const $push2=, 0
+ i32.store8 $0=, 0($pop35):p2align=3, $pop2
+ i32.const $push7=, 8
+ i32.const $13=, 32
+ i32.add $13=, $16, $13
+ i32.add $push8=, $13, $pop7
+ tee_local $push34=, $8=, $pop8
+ i32.const $push3=, 16
+ i32.const $14=, 32
+ i32.add $14=, $16, $14
+ i32.add $push4=, $14, $pop3
+ tee_local $push33=, $7=, $pop4
+ i64.const $push5=, 0
+ i64.store $push6=, 0($pop33), $pop5
+ i64.store $push9=, 0($pop34), $pop6
+ i64.store $discard=, 32($16), $pop9
+ i32.const $15=, 32
+ i32.add $15=, $16, $15
+ call foo@FUNCTION, $15, $0
+ i64.load $1=, 0($7)
+ i32.const $push32=, 24
+ i32.add $push10=, $16, $pop32
+ tee_local $push31=, $6=, $pop10
+ i32.load8_u $push11=, 0($3):p2align=3
+ i32.store8 $discard=, 0($pop31):p2align=3, $pop11
+ i64.load $2=, 0($8)
+ i32.const $push30=, 16
+ i32.add $push12=, $16, $pop30
+ tee_local $push29=, $5=, $pop12
+ i64.store $discard=, 0($pop29), $1
+ i64.load $1=, 32($16)
+ i32.const $push28=, 8
+ i32.add $push13=, $16, $pop28
+ tee_local $push27=, $4=, $pop13
+ i64.store $discard=, 0($pop27), $2
+ i64.store $discard=, 0($16), $1
+ i32.const $push14=, 1
+ call foo@FUNCTION, $16, $pop14
+ i32.load8_u $push15=, 0($3):p2align=3
+ i32.store8 $discard=, 0($6):p2align=3, $pop15
+ i64.load $1=, 0($8)
+ i64.load $2=, 32($16)
+ i32.load $3=, p($0)
+ i64.load $push16=, 0($7)
+ i64.store $discard=, 0($5), $pop16
+ i64.store $discard=, 0($4), $1
+ i64.store $discard=, 0($16), $2
+ i32.const $push26=, 24
+ i32.add $push17=, $3, $pop26
+ i32.load8_u $push18=, 0($pop17)
+ i32.store8 $discard=, 0($6):p2align=3, $pop18
+ i32.const $push25=, 16
+ i32.add $push19=, $3, $pop25
+ i64.load $push20=, 0($pop19):p2align=0
+ i64.store $discard=, 0($5), $pop20
+ i32.const $push24=, 8
+ i32.add $push21=, $3, $pop24
+ i64.load $push22=, 0($pop21):p2align=0
+ i64.store $discard=, 0($4), $pop22
+ i64.load $push23=, 0($3):p2align=0
+ i64.store $discard=, 0($16), $pop23
+ call foo@FUNCTION, $16, $0
+ i32.const $11=, 64
+ i32.add $16=, $16, $11
+ i32.const $11=, __stack_pointer
+ i32.store $16=, 0($11), $16
return
.endfunc
.Lfunc_end2:
@@ -320,71 +215,89 @@ test2: # @test2
.globl test3
.type test3,@function
test3: # @test3
- .local i32, i32, i32, i32, i32, i64, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 64
- i32.sub $23=, $9, $10
- i32.const $10=, __stack_pointer
- i32.store $23=, 0($10), $23
- i32.const $0=, 24
- i32.const $12=, 32
- i32.add $12=, $23, $12
- i32.add $1=, $12, $0
- i32.const $push0=, 0
- i32.store8 $2=, 0($1), $pop0
- i32.const $3=, 16
- i32.const $13=, 32
- i32.add $13=, $23, $13
- i32.add $4=, $13, $3
- i64.const $push1=, 0
- i64.store $5=, 0($4), $pop1
- i32.const $6=, 8
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 64
+ i32.sub $18=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $18=, 0($12), $18
+ i32.const $push0=, 24
i32.const $14=, 32
- i32.add $14=, $23, $14
- i32.add $7=, $14, $6
- i64.store $push2=, 0($7), $5
- i64.store $discard=, 32($23), $pop2
+ i32.add $14=, $18, $14
+ i32.add $push1=, $14, $pop0
+ tee_local $push42=, $10=, $pop1
+ i32.const $push2=, 0
+ i32.store8 $0=, 0($pop42):p2align=3, $pop2
+ i32.const $push7=, 8
i32.const $15=, 32
- i32.add $15=, $23, $15
- call foo@FUNCTION, $15, $2
- i64.load $5=, 0($4)
- i32.const $16=, 0
- i32.add $16=, $23, $16
- i32.add $push3=, $16, $0
- i32.load8_u $push4=, 0($1)
- i32.store8 $discard=, 0($pop3), $pop4
- i64.load $8=, 0($7)
- i32.const $17=, 0
- i32.add $17=, $23, $17
- i32.add $push5=, $17, $3
- i64.store $discard=, 0($pop5), $5
- i64.load $5=, 32($23)
- i32.const $18=, 0
- i32.add $18=, $23, $18
- i32.add $push6=, $18, $6
- i64.store $discard=, 0($pop6), $8
- i64.store $discard=, 0($23), $5
- i32.const $push7=, 1
- i32.const $19=, 0
- i32.add $19=, $23, $19
- call foo@FUNCTION, $19, $pop7
- i32.load $0=, p($2)
- i32.const $1=, 25
- i32.const $20=, 32
- i32.add $20=, $23, $20
- call memcpy@FUNCTION, $0, $20, $1
- i32.const $21=, 0
- i32.add $21=, $23, $21
- call memcpy@FUNCTION, $0, $21, $1
- i32.const $22=, 0
- i32.add $22=, $23, $22
- call foo@FUNCTION, $22, $2
- i32.const $11=, 64
- i32.add $23=, $23, $11
- i32.const $11=, __stack_pointer
- i32.store $23=, 0($11), $23
+ i32.add $15=, $18, $15
+ i32.add $push8=, $15, $pop7
+ tee_local $push41=, $9=, $pop8
+ i32.const $push3=, 16
+ i32.const $16=, 32
+ i32.add $16=, $18, $16
+ i32.add $push4=, $16, $pop3
+ tee_local $push40=, $8=, $pop4
+ i64.const $push5=, 0
+ i64.store $push6=, 0($pop40), $pop5
+ i64.store $push9=, 0($pop41), $pop6
+ i64.store $discard=, 32($18), $pop9
+ i32.const $17=, 32
+ i32.add $17=, $18, $17
+ call foo@FUNCTION, $17, $0
+ i64.load $1=, 0($8)
+ i32.const $push39=, 24
+ i32.add $push10=, $18, $pop39
+ tee_local $push38=, $7=, $pop10
+ i32.load8_u $push11=, 0($10):p2align=3
+ i32.store8 $discard=, 0($pop38):p2align=3, $pop11
+ i64.load $2=, 0($9)
+ i32.const $push37=, 16
+ i32.add $push12=, $18, $pop37
+ tee_local $push36=, $6=, $pop12
+ i64.store $discard=, 0($pop36), $1
+ i64.load $1=, 32($18)
+ i32.const $push35=, 8
+ i32.add $push13=, $18, $pop35
+ tee_local $push34=, $5=, $pop13
+ i64.store $discard=, 0($pop34), $2
+ i64.store $discard=, 0($18), $1
+ i32.const $push14=, 1
+ call foo@FUNCTION, $18, $pop14
+ i32.load $push15=, p($0)
+ tee_local $push33=, $4=, $pop15
+ i32.const $push32=, 24
+ i32.add $push16=, $pop33, $pop32
+ tee_local $push31=, $3=, $pop16
+ i32.load8_u $push17=, 0($10):p2align=3
+ i32.store8 $discard=, 0($pop31), $pop17
+ i32.const $push30=, 16
+ i32.add $push18=, $4, $pop30
+ tee_local $push29=, $10=, $pop18
+ i64.load $push19=, 0($8)
+ i64.store $discard=, 0($pop29):p2align=0, $pop19
+ i32.const $push28=, 8
+ i32.add $push20=, $4, $pop28
+ tee_local $push27=, $8=, $pop20
+ i64.load $push21=, 0($9)
+ i64.store $discard=, 0($pop27):p2align=0, $pop21
+ i64.load $push22=, 32($18)
+ i64.store $discard=, 0($4):p2align=0, $pop22
+ i32.load8_u $push23=, 0($7):p2align=3
+ i32.store8 $discard=, 0($3), $pop23
+ i64.load $push24=, 0($6)
+ i64.store $discard=, 0($10):p2align=0, $pop24
+ i64.load $push25=, 0($5)
+ i64.store $discard=, 0($8):p2align=0, $pop25
+ i64.load $push26=, 0($18)
+ i64.store $discard=, 0($4):p2align=0, $pop26
+ call foo@FUNCTION, $18, $0
+ i32.const $13=, 64
+ i32.add $18=, $18, $13
+ i32.const $13=, __stack_pointer
+ i32.store $18=, 0($13), $18
return
.endfunc
.Lfunc_end3:
@@ -410,7 +323,7 @@ main: # @main
.type p,@object
.section .bss.p,"aw",@nobits
.globl p
- .align 2
+ .p2align 2
p:
.int32 0
.size p, 4
diff --git a/test/torture-s/20071220-1.c.s b/test/torture-s/20071220-1.c.s
index 6ff62efbe..9b9fc1a74 100644
--- a/test/torture-s/20071220-1.c.s
+++ b/test/torture-s/20071220-1.c.s
@@ -78,7 +78,7 @@ main: # @main
.type bar.b,@object # @bar.b
.section .data.bar.b,"aw",@progbits
- .align 2
+ .p2align 2
bar.b:
.int32 .Ltmp0
.size bar.b, 4
diff --git a/test/torture-s/20071220-2.c.s b/test/torture-s/20071220-2.c.s
index 052864e93..2c9d829ad 100644
--- a/test/torture-s/20071220-2.c.s
+++ b/test/torture-s/20071220-2.c.s
@@ -78,7 +78,7 @@ main: # @main
.type bar.b,@object # @bar.b
.section .data.bar.b,"aw",@progbits
- .align 2
+ .p2align 2
bar.b:
.int32 .Ltmp0
.size bar.b, 4
diff --git a/test/torture-s/20080117-1.c.s b/test/torture-s/20080117-1.c.s
index 0b24f56c0..933396fae 100644
--- a/test/torture-s/20080117-1.c.s
+++ b/test/torture-s/20080117-1.c.s
@@ -6,19 +6,15 @@
.type gstate_path_memory,@function
gstate_path_memory: # @gstate_path_memory
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
i32.const $push0=, 8
i32.add $push1=, $0, $pop0
- i32.load $push2=, gstate_initial+8($1)
- i32.store $discard=, 0($pop1), $pop2
- i32.const $push3=, 4
- i32.add $push4=, $0, $pop3
- i32.load $push5=, gstate_initial+4($1)
- i32.store $discard=, 0($pop4), $pop5
- i32.load $push6=, gstate_initial($1)
- i32.store $discard=, 0($0), $pop6
+ i32.const $push2=, 0
+ i32.load $push3=, gstate_initial+8($pop2)
+ i32.store $discard=, 0($pop1), $pop3
+ i32.const $push5=, 0
+ i64.load $push4=, gstate_initial($pop5):p2align=2
+ i64.store $discard=, 0($0):p2align=2, $pop4
return
.endfunc
.Lfunc_end0:
@@ -52,7 +48,7 @@ main: # @main
.type gstate_initial,@object # @gstate_initial
.section .rodata.gstate_initial,"a",@progbits
- .align 2
+ .p2align 2
gstate_initial:
.int32 1 # 0x1
.int32 0 # 0x0
diff --git a/test/torture-s/20080222-1.c.s b/test/torture-s/20080222-1.c.s
index f6e78a149..b4541801e 100644
--- a/test/torture-s/20080222-1.c.s
+++ b/test/torture-s/20080222-1.c.s
@@ -20,16 +20,16 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load8_u $push0=, space+4($0)
+ i32.const $push3=, 0
+ i32.load8_u $push0=, space+4($pop3)
i32.const $push1=, 5
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/20080424-1.c.s b/test/torture-s/20080424-1.c.s
index 66de1a036..a2b0f9773 100644
--- a/test/torture-s/20080424-1.c.s
+++ b/test/torture-s/20080424-1.c.s
@@ -6,25 +6,28 @@
.type bar,@function
bar: # @bar
.param i32, i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.load $2=, bar.i($3)
block
- i32.const $push0=, 36
- i32.mul $push1=, $2, $pop0
- i32.const $push2=, g
- i32.add $4=, $pop1, $pop2
- i32.const $push3=, 288
- i32.add $push4=, $4, $pop3
+ i32.const $push13=, 0
+ i32.load $push0=, bar.i($pop13)
+ tee_local $push12=, $3=, $pop0
+ i32.const $push1=, 36
+ i32.mul $push2=, $pop12, $pop1
+ tee_local $push11=, $2=, $pop2
+ i32.const $push3=, g+288
+ i32.add $push4=, $pop11, $pop3
i32.ne $push5=, $pop4, $0
br_if $pop5, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
+ i32.const $push14=, 0
i32.const $push6=, 1
- i32.add $push7=, $2, $pop6
- i32.store $discard=, bar.i($3), $pop7
- i32.ne $push8=, $4, $1
- br_if $pop8, 0 # 0: down to label0
+ i32.add $push7=, $3, $pop6
+ i32.store $discard=, bar.i($pop14), $pop7
+ i32.const $push8=, g
+ i32.add $push9=, $2, $pop8
+ i32.ne $push10=, $pop9, $1
+ br_if $pop10, 0 # 0: down to label0
# BB#2: # %if.end
return
.LBB0_3: # %if.then
@@ -78,7 +81,7 @@ main: # @main
.type g,@object
.section .bss.g,"aw",@nobits
.globl g
- .align 4
+ .p2align 4
g:
.skip 1728
.size g, 1728
diff --git a/test/torture-s/20080502-1.c.s b/test/torture-s/20080502-1.c.s
index 6746f0eec..7a3301910 100644
--- a/test/torture-s/20080502-1.c.s
+++ b/test/torture-s/20080502-1.c.s
@@ -7,16 +7,17 @@
foo: # @foo
.param i32, i64, i64
# BB#0: # %entry
+ i32.const $push6=, 8
+ i32.add $push7=, $0, $pop6
i64.const $push0=, 63
- i64.shr_s $2=, $2, $pop0
- i32.const $push5=, 8
- i32.add $push6=, $0, $pop5
- i64.const $push3=, 4611846683310179025
- i64.and $push4=, $2, $pop3
- i64.store $discard=, 0($pop6), $pop4
- i64.const $push1=, -8905435550453399112
- i64.and $push2=, $2, $pop1
- i64.store $discard=, 0($0), $pop2
+ i64.shr_s $push1=, $2, $pop0
+ tee_local $push8=, $2=, $pop1
+ i64.const $push4=, 4611846683310179025
+ i64.and $push5=, $pop8, $pop4
+ i64.store $discard=, 0($pop7), $pop5
+ i64.const $push2=, -8905435550453399112
+ i64.and $push3=, $2, $pop2
+ i64.store $discard=, 0($0):p2align=4, $pop3
return
.endfunc
.Lfunc_end0:
@@ -28,25 +29,21 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
i32.const $0=, __stack_pointer
i32.load $0=, 0($0)
i32.const $1=, 16
- i32.sub $5=, $0, $1
+ i32.sub $3=, $0, $1
i32.const $1=, __stack_pointer
- i32.store $5=, 0($1), $5
+ i32.store $3=, 0($1), $3
i64.const $push1=, 0
i64.const $push0=, -4611967493404098560
- i32.const $3=, 0
- i32.add $3=, $5, $3
call foo@FUNCTION, $3, $pop1, $pop0
- i64.load $push5=, 0($5)
- i32.const $push2=, 8
- i32.const $4=, 0
- i32.add $4=, $5, $4
block
- i32.or $push3=, $4, $pop2
+ i64.load $push5=, 0($3):p2align=4
+ i32.const $push2=, 8
+ i32.or $push3=, $3, $pop2
i64.load $push4=, 0($pop3)
i64.const $push7=, -8905435550453399112
i64.const $push6=, 4611846683310179025
@@ -55,9 +52,9 @@ main: # @main
# BB#1: # %if.end
i32.const $push9=, 0
i32.const $2=, 16
- i32.add $5=, $5, $2
+ i32.add $3=, $3, $2
i32.const $2=, __stack_pointer
- i32.store $5=, 0($2), $5
+ i32.store $3=, 0($2), $3
return $pop9
.LBB1_2: # %if.then
end_block # label0:
diff --git a/test/torture-s/20080506-2.c.s b/test/torture-s/20080506-2.c.s
new file mode 100644
index 000000000..033e7402a
--- /dev/null
+++ b/test/torture-s/20080506-2.c.s
@@ -0,0 +1,67 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20080506-2.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($0)
+ tee_local $push7=, $0=, $pop0
+ i32.const $push1=, 1
+ i32.store $discard=, 0($pop7), $pop1
+ block
+ i32.load $push5=, 0($0)
+ i32.load $push2=, 0($1)
+ i32.const $push3=, 2
+ i32.store $push4=, 0($pop2), $pop3
+ i32.ne $push6=, $pop5, $pop4
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ return
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $7=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $7=, 0($1), $7
+ i32.const $3=, 12
+ i32.add $3=, $7, $3
+ i32.store $discard=, 8($7), $3
+ i32.const $4=, 12
+ i32.add $4=, $7, $4
+ i32.store $discard=, 4($7), $4
+ i32.const $5=, 8
+ i32.add $5=, $7, $5
+ i32.const $6=, 4
+ i32.add $6=, $7, $6
+ call foo@FUNCTION, $5, $6
+ i32.const $push0=, 0
+ i32.const $2=, 16
+ i32.add $7=, $7, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ return $pop0
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20080519-1.c.s b/test/torture-s/20080519-1.c.s
new file mode 100644
index 000000000..0bf4e5f48
--- /dev/null
+++ b/test/torture-s/20080519-1.c.s
@@ -0,0 +1,166 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20080519-1.c"
+ .section .text.merge_overlapping_regs,"ax",@progbits
+ .hidden merge_overlapping_regs
+ .globl merge_overlapping_regs
+ .type merge_overlapping_regs,@function
+merge_overlapping_regs: # @merge_overlapping_regs
+ .param i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($0)
+ i32.const $push4=, -1
+ i32.ne $push1=, $pop0, $pop4
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load $push2=, 4($0)
+ i32.const $push5=, -1
+ i32.ne $push3=, $pop2, $pop5
+ br_if $pop3, 0 # 0: down to label0
+# BB#2: # %if.end
+ return
+.LBB0_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size merge_overlapping_regs, .Lfunc_end0-merge_overlapping_regs
+
+ .section .text.regrename_optimize,"ax",@progbits
+ .hidden regrename_optimize
+ .globl regrename_optimize
+ .type regrename_optimize,@function
+regrename_optimize: # @regrename_optimize
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $11=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $11=, 0($7), $11
+ i32.const $push1=, 0
+ i32.store $push2=, 8($11), $pop1
+ i32.store $2=, 12($11), $pop2
+ i32.const $1=, -1
+ copy_local $3=, $2
+ block
+ i32.load $push24=, 0($0)
+ tee_local $push25=, $4=, $pop24
+ i32.const $push32=, 0
+ i32.eq $push33=, $pop25, $pop32
+ br_if $pop33, 0 # 0: down to label1
+.LBB1_1: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label2:
+ copy_local $push0=, $0
+ i32.load $push3=, 4($pop0)
+ i32.const $push4=, 3
+ i32.shl $push5=, $pop3, $pop4
+ tee_local $push28=, $5=, $pop5
+ i32.load $push6=, reg_class_contents($pop28):p2align=3
+ i32.const $push27=, -1
+ i32.xor $push7=, $pop6, $pop27
+ i32.or $3=, $3, $pop7
+ copy_local $0=, $4
+ i32.load $4=, 0($0)
+ i32.load $push8=, reg_class_contents+4($5)
+ i32.const $push26=, -1
+ i32.xor $push9=, $pop8, $pop26
+ i32.or $2=, $2, $pop9
+ i32.const $push10=, 1
+ i32.add $1=, $1, $pop10
+ br_if $4, 0 # 0: up to label2
+# BB#2: # %for.end
+ end_loop # label3:
+ i32.store $4=, 8($11), $3
+ i32.const $push11=, 4
+ i32.const $9=, 8
+ i32.add $9=, $11, $9
+ i32.add $push12=, $9, $pop11
+ tee_local $push29=, $3=, $pop12
+ i32.store $discard=, 0($pop29), $2
+ i32.const $push13=, 0
+ i32.lt_s $push14=, $1, $pop13
+ br_if $pop14, 0 # 0: down to label1
+# BB#3: # %if.end
+ i32.load $push15=, 4($0)
+ i32.const $push16=, 3
+ i32.shl $push17=, $pop15, $pop16
+ tee_local $push31=, $0=, $pop17
+ i32.load $1=, reg_class_contents($pop31):p2align=3
+ i32.load $push21=, reg_class_contents+4($0)
+ i32.const $push18=, -1
+ i32.xor $push22=, $pop21, $pop18
+ i32.or $push23=, $2, $pop22
+ i32.store $discard=, 0($3), $pop23
+ i32.const $push30=, -1
+ i32.xor $push19=, $1, $pop30
+ i32.or $push20=, $4, $pop19
+ i32.store $discard=, 8($11), $pop20
+ i32.const $10=, 8
+ i32.add $10=, $11, $10
+ call merge_overlapping_regs@FUNCTION, $10
+.LBB1_4: # %cleanup
+ end_block # label1:
+ i32.const $8=, 16
+ i32.add $11=, $11, $8
+ i32.const $8=, __stack_pointer
+ i32.store $11=, 0($8), $11
+ return
+ .endfunc
+.Lfunc_end1:
+ .size regrename_optimize, .Lfunc_end1-regrename_optimize
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $4=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $4=, 0($1), $4
+ i32.const $push2=, 4
+ i32.or $push3=, $4, $pop2
+ i32.const $push4=, 1
+ i32.store $discard=, 0($pop3), $pop4
+ i32.const $push6=, 0
+ i64.const $push5=, -1
+ i64.store $discard=, reg_class_contents($pop6):p2align=4, $pop5
+ i32.const $push8=, 0
+ i64.const $push0=, 0
+ i64.store $push1=, 8($4), $pop0
+ i64.store $discard=, reg_class_contents+8($pop8), $pop1
+ i32.const $3=, 8
+ i32.add $3=, $4, $3
+ i32.store $discard=, 0($4):p2align=3, $3
+ call regrename_optimize@FUNCTION, $4
+ i32.const $push7=, 0
+ i32.const $2=, 16
+ i32.add $4=, $4, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ return $pop7
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden reg_class_contents # @reg_class_contents
+ .type reg_class_contents,@object
+ .section .bss.reg_class_contents,"aw",@nobits
+ .globl reg_class_contents
+ .p2align 4
+reg_class_contents:
+ .skip 16
+ .size reg_class_contents, 16
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20080522-1.c.s b/test/torture-s/20080522-1.c.s
index ed7d36a2f..2f174361d 100644
--- a/test/torture-s/20080522-1.c.s
+++ b/test/torture-s/20080522-1.c.s
@@ -7,15 +7,15 @@
foo: # @foo
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push0=, 1
- i32.store $discard=, i($1), $pop0
- i32.const $push1=, 2
- i32.store $discard=, 0($0), $pop1
- i32.load $push2=, i($1)
- return $pop2
+ i32.const $push0=, 0
+ i32.const $push1=, 1
+ i32.store $discard=, i($pop0), $pop1
+ i32.const $push2=, 2
+ i32.store $discard=, 0($0), $pop2
+ i32.const $push4=, 0
+ i32.load $push3=, i($pop4)
+ return $pop3
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -45,58 +45,64 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $4=, __stack_pointer
- i32.load $4=, 0($4)
- i32.const $5=, 16
- i32.sub $9=, $4, $5
- i32.const $5=, __stack_pointer
- i32.store $9=, 0($5), $9
- i32.const $1=, i
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $5=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $5=, 0($1), $5
i32.const $push0=, 0
- i32.store $0=, 12($9), $pop0
- i32.call $2=, foo@FUNCTION, $1
- i32.const $3=, 2
+ i32.store $discard=, 12($5), $pop0
block
- i32.ne $push1=, $2, $3
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push16=, i
+ i32.call $push1=, foo@FUNCTION, $pop16
+ i32.const $push2=, 2
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- i32.call $2=, bar@FUNCTION, $1
- i32.const $1=, 1
block
- i32.ne $push2=, $2, $1
- br_if $pop2, 0 # 0: down to label1
+ i32.const $push18=, i
+ i32.call $push4=, bar@FUNCTION, $pop18
+ i32.const $push17=, 1
+ i32.ne $push5=, $pop4, $pop17
+ br_if $pop5, 0 # 0: down to label1
# BB#2: # %if.end4
- i32.const $7=, 12
- i32.add $7=, $9, $7
+ i32.const $3=, 12
+ i32.add $3=, $5, $3
block
- i32.call $push3=, foo@FUNCTION, $7
- i32.ne $push4=, $pop3, $1
- br_if $pop4, 0 # 0: down to label2
+ i32.call $push6=, foo@FUNCTION, $3
+ i32.const $push19=, 1
+ i32.ne $push7=, $pop6, $pop19
+ br_if $pop7, 0 # 0: down to label2
# BB#3: # %if.end8
block
- i32.load $push5=, 12($9)
- i32.ne $push6=, $pop5, $3
- br_if $pop6, 0 # 0: down to label3
+ i32.load $push8=, 12($5)
+ i32.const $push20=, 2
+ i32.ne $push9=, $pop8, $pop20
+ br_if $pop9, 0 # 0: down to label3
# BB#4: # %if.end11
- i32.const $8=, 12
- i32.add $8=, $9, $8
+ i32.const $4=, 12
+ i32.add $4=, $5, $4
block
- i32.call $push7=, bar@FUNCTION, $8
- i32.ne $push8=, $pop7, $3
- br_if $pop8, 0 # 0: down to label4
+ i32.call $push10=, bar@FUNCTION, $4
+ i32.const $push21=, 2
+ i32.ne $push11=, $pop10, $pop21
+ br_if $pop11, 0 # 0: down to label4
# BB#5: # %if.end15
block
- i32.load $push9=, 12($9)
- i32.ne $push10=, $pop9, $3
- br_if $pop10, 0 # 0: down to label5
+ i32.load $push12=, 12($5)
+ i32.const $push13=, 2
+ i32.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label5
# BB#6: # %if.end18
- i32.const $6=, 16
- i32.add $9=, $9, $6
- i32.const $6=, __stack_pointer
- i32.store $9=, 0($6), $9
- return $0
+ i32.const $push15=, 0
+ i32.const $2=, 16
+ i32.add $5=, $5, $2
+ i32.const $2=, __stack_pointer
+ i32.store $5=, 0($2), $5
+ return $pop15
.LBB2_7: # %if.then17
end_block # label5:
call abort@FUNCTION
diff --git a/test/torture-s/20080604-1.c.s b/test/torture-s/20080604-1.c.s
index 1864c6bb7..8b2eb6c54 100644
--- a/test/torture-s/20080604-1.c.s
+++ b/test/torture-s/20080604-1.c.s
@@ -28,26 +28,27 @@ foo: # @foo
.type baz,@function
baz: # @baz
.param i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 16
- i32.sub $4=, $1, $2
i32.const $2=, __stack_pointer
- i32.store $4=, 0($2), $4
- i32.const $push0=, x
- i32.const $4=, 12
- i32.add $4=, $4, $4
- i32.select $0=, $0, $4, $pop0
- call foo@FUNCTION
- i32.const $push1=, .L.str
- i32.store $push2=, 0($0), $pop1
- i32.store $discard=, 0($0), $pop2
+ i32.load $2=, 0($2)
i32.const $3=, 16
- i32.add $4=, $4, $3
+ i32.sub $6=, $2, $3
i32.const $3=, __stack_pointer
- i32.store $4=, 0($3), $4
+ i32.store $6=, 0($3), $6
+ i32.const $push0=, x
+ i32.const $5=, 12
+ i32.add $5=, $6, $5
+ i32.select $push1=, $0, $5, $pop0
+ tee_local $push3=, $0=, $pop1
+ i32.const $push2=, .L.str
+ i32.store $1=, 0($pop3), $pop2
+ call foo@FUNCTION
+ i32.store $discard=, 0($0), $1
+ i32.const $4=, 16
+ i32.add $6=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
return
.endfunc
.Lfunc_end1:
@@ -61,12 +62,14 @@ main: # @main
.result i32
.local i32
# BB#0: # %if.end
- i32.const $0=, 0
- call foo@FUNCTION
+ i32.const $push1=, 0
i32.const $push0=, .L.str
- i32.store $push1=, x($0), $pop0
- i32.store $discard=, x($0), $pop1
- return $0
+ i32.store $0=, x($pop1), $pop0
+ call foo@FUNCTION
+ i32.const $push3=, 0
+ i32.store $discard=, x($pop3), $0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -75,7 +78,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.skip 4
.size x, 4
diff --git a/test/torture-s/20080719-1.c.s b/test/torture-s/20080719-1.c.s
index cbf6346fe..8decf7c27 100644
--- a/test/torture-s/20080719-1.c.s
+++ b/test/torture-s/20080719-1.c.s
@@ -37,7 +37,7 @@ main: # @main
.type cfb_tab8_be,@object # @cfb_tab8_be
.section .rodata.cfb_tab8_be,"a",@progbits
- .align 4
+ .p2align 4
cfb_tab8_be:
.int32 0 # 0x0
.int32 255 # 0xff
@@ -59,7 +59,7 @@ cfb_tab8_be:
.type cfb_tab16_be,@object # @cfb_tab16_be
.section .rodata.cfb_tab16_be,"a",@progbits
- .align 4
+ .p2align 4
cfb_tab16_be:
.int32 0 # 0x0
.int32 65535 # 0xffff
@@ -69,7 +69,7 @@ cfb_tab16_be:
.type cfb_tab32,@object # @cfb_tab32
.section .rodata.cfb_tab32,"a",@progbits
- .align 2
+ .p2align 2
cfb_tab32:
.int32 0 # 0x0
.int32 4294967295 # 0xffffffff
diff --git a/test/torture-s/20081103-1.c.s b/test/torture-s/20081103-1.c.s
new file mode 100644
index 000000000..08b7d36b9
--- /dev/null
+++ b/test/torture-s/20081103-1.c.s
@@ -0,0 +1,75 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20081103-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32
+# BB#0: # %entry
+ block
+ i32.load $push2=, 1($0):p2align=0
+ i32.const $push0=, 0
+ i32.load $push1=, A($pop0)
+ i32.ne $push3=, $pop2, $pop1
+ br_if $pop3, 0 # 0: down to label0
+# BB#1: # %if.end
+ return
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ block
+ i32.const $push7=, 0
+ i32.load $push4=, A($pop7)
+ i32.const $push1=, 1
+ i32.or $push2=, $3, $pop1
+ i32.const $push6=, 0
+ i32.load $push0=, A($pop6)
+ i32.store $push3=, 0($pop2):p2align=0, $pop0
+ i32.ne $push5=, $pop4, $pop3
+ br_if $pop5, 0 # 0: down to label1
+# BB#1: # %foo.exit
+ i32.const $push8=, 0
+ i32.const $2=, 16
+ i32.add $3=, $3, $2
+ i32.const $2=, __stack_pointer
+ i32.store $3=, 0($2), $3
+ return $pop8
+.LBB1_2: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden A # @A
+ .type A,@object
+ .section .data.A,"aw",@progbits
+ .globl A
+ .p2align 2
+A:
+ .ascii "1234"
+ .size A, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20081117-1.c.s b/test/torture-s/20081117-1.c.s
new file mode 100644
index 000000000..16c4d9ceb
--- /dev/null
+++ b/test/torture-s/20081117-1.c.s
@@ -0,0 +1,78 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20081117-1.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32
+ .result i32
+# BB#0: # %entry
+ i64.load $push0=, 0($0)
+ i64.const $push1=, 16
+ i64.shr_u $push2=, $pop0, $pop1
+ i32.wrap/i64 $push3=, $pop2
+ i32.eq $push4=, $pop3, $1
+ return $pop4
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $4=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $4=, 0($1), $4
+ i32.const $push3=, 0
+ i64.load $push0=, s($pop3)
+ i64.store $discard=, 8($4), $pop0
+ i32.const $push1=, -2023406815
+ i32.const $3=, 8
+ i32.add $3=, $4, $3
+ block
+ i32.call $push2=, f@FUNCTION, $3, $pop1
+ i32.const $push5=, 0
+ i32.eq $push6=, $pop2, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push4=, 0
+ i32.const $2=, 16
+ i32.add $4=, $4, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ return $pop4
+.LBB1_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden s # @s
+ .type s,@object
+ .section .data.s,"aw",@progbits
+ .globl s
+ .p2align 3
+s:
+ .int8 1 # 0x1
+ .int8 0 # 0x0
+ .int8 33 # 0x21
+ .int8 67 # 0x43
+ .int8 101 # 0x65
+ .int8 135 # 0x87
+ .int8 2 # 0x2
+ .int8 0 # 0x0
+ .size s, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20081218-1.c.s b/test/torture-s/20081218-1.c.s
index cd1f45886..cb3b07394 100644
--- a/test/torture-s/20081218-1.c.s
+++ b/test/torture-s/20081218-1.c.s
@@ -10,7 +10,7 @@ foo: # @foo
i32.const $push0=, a
i32.const $push2=, 38
i32.const $push1=, 520
- call memset@FUNCTION, $pop0, $pop2, $pop1
+ i32.call $discard=, memset@FUNCTION, $pop0, $pop2, $pop1
i32.const $push3=, 640034342
return $pop3
.endfunc
@@ -22,17 +22,14 @@ foo: # @foo
.globl bar
.type bar,@function
bar: # @bar
- .local i32
# BB#0: # %entry
i32.const $push0=, a
i32.const $push2=, 54
i32.const $push1=, 520
- call memset@FUNCTION, $pop0, $pop2, $pop1
- i32.const $0=, 0
- i32.const $push3=, 909522486
- i32.store $discard=, a($0), $pop3
+ i32.call $discard=, memset@FUNCTION, $pop0, $pop2, $pop1
+ i32.const $push3=, 0
i32.const $push4=, 909588022
- i32.store $discard=, a+4($0), $pop4
+ i32.store $discard=, a+4($pop3), $pop4
return
.endfunc
.Lfunc_end1:
@@ -44,56 +41,57 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.call $0=, foo@FUNCTION
- i32.const $3=, 0
+ i32.const $0=, 0
block
- i32.const $push0=, 640034342
- i32.ne $push1=, $0, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.call $push0=, foo@FUNCTION
+ i32.const $push1=, 640034342
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
.LBB2_1: # %for.body
# =>This Inner Loop Header: Depth=1
block
loop # label2:
- i32.const $0=, a
- i32.add $push2=, $0, $3
- i32.load8_u $push3=, 0($pop2)
+ i32.load8_u $push3=, a($0)
i32.const $push4=, 38
i32.ne $push5=, $pop3, $pop4
br_if $pop5, 2 # 2: down to label1
# BB#2: # %for.cond
# in Loop: Header=BB2_1 Depth=1
- i32.const $1=, 1
- i32.add $3=, $3, $1
- i32.const $2=, 519
- i32.le_u $push6=, $3, $2
- br_if $pop6, 0 # 0: up to label2
+ i32.const $push6=, 1
+ i32.add $0=, $0, $pop6
+ i32.const $push7=, 519
+ i32.le_u $push8=, $0, $pop7
+ br_if $pop8, 0 # 0: up to label2
# BB#3: # %for.end
end_loop # label3:
call bar@FUNCTION
- i32.const $3=, 0
+ i32.const $0=, 0
block
- i32.load $push7=, a+4($3)
- i32.const $push8=, 909588022
- i32.ne $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label4
+ i32.const $push17=, 0
+ i32.load $push9=, a+4($pop17)
+ i32.const $push10=, 909588022
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label4
# BB#4: # %if.end9
- i32.const $push10=, 909522486
- i32.store $discard=, a+4($3), $pop10
+ i32.const $push18=, 0
+ i32.const $push12=, 909522486
+ i32.store $discard=, a+4($pop18), $pop12
.LBB2_5: # %for.body13
# =>This Inner Loop Header: Depth=1
block
loop # label6:
- i32.add $push11=, $0, $3
- i32.load8_u $push12=, 0($pop11)
- i32.const $push13=, 54
- i32.ne $push14=, $pop12, $pop13
+ i32.load8_u $push13=, a($0)
+ i32.const $push21=, 54
+ i32.ne $push14=, $pop13, $pop21
br_if $pop14, 2 # 2: down to label5
# BB#6: # %for.cond10
# in Loop: Header=BB2_5 Depth=1
- i32.add $3=, $3, $1
- i32.le_u $push15=, $3, $2
+ i32.const $push20=, 1
+ i32.add $0=, $0, $pop20
+ i32.const $push19=, 519
+ i32.le_u $push15=, $0, $pop19
br_if $pop15, 0 # 0: up to label6
# BB#7: # %for.end22
end_loop # label7:
@@ -123,7 +121,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 520
.size a, 520
diff --git a/test/torture-s/20090207-1.c.s b/test/torture-s/20090207-1.c.s
index 266d08921..9c4deb172 100644
--- a/test/torture-s/20090207-1.c.s
+++ b/test/torture-s/20090207-1.c.s
@@ -7,28 +7,27 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 128
+ i32.sub $4=, $1, $2
i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
+ i32.store $4=, 0($2), $4
+ i64.const $push0=, 12884901889
+ i64.store $discard=, 0($4):p2align=4, $pop0
+ i32.const $push1=, 2
+ i32.shl $push2=, $0, $pop1
+ i32.add $push3=, $4, $pop2
+ i32.const $push5=, 2
+ i32.store $discard=, 0($pop3), $pop5
+ i32.load $push4=, 0($4):p2align=4
i32.const $3=, 128
- i32.sub $5=, $2, $3
+ i32.add $4=, $4, $3
i32.const $3=, __stack_pointer
- i32.store $5=, 0($3), $5
- i64.const $push0=, 12884901889
- i64.store $discard=, 0($5), $pop0
- i32.const $1=, 2
- i32.shl $push1=, $0, $1
- i32.const $5=, 0
- i32.add $5=, $5, $5
- i32.add $push2=, $5, $pop1
- i32.store $discard=, 0($pop2), $1
- i32.load $push3=, 0($5)
- i32.const $4=, 128
- i32.add $5=, $5, $4
- i32.const $4=, __stack_pointer
- i32.store $5=, 0($4), $5
- return $pop3
+ i32.store $4=, 0($3), $4
+ return $pop4
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/20090527-1.c.s b/test/torture-s/20090527-1.c.s
index a3fa54cba..88a29001b 100644
--- a/test/torture-s/20090527-1.c.s
+++ b/test/torture-s/20090527-1.c.s
@@ -6,23 +6,25 @@
.type new_unit,@function
new_unit: # @new_unit
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.load $2=, 4($0)
- i32.const $1=, 1
block
- i32.ne $push0=, $2, $1
+ i32.load $push7=, 4($0)
+ tee_local $push9=, $1=, $pop7
+ i32.const $push8=, 1
+ i32.ne $push0=, $pop9, $pop8
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.then
i32.const $push2=, 4
i32.add $push3=, $0, $pop2
i32.const $push1=, 0
- i32.store $2=, 0($pop3), $pop1
+ i32.store $1=, 0($pop3), $pop1
.LBB0_2: # %if.end
end_block # label0:
block
i32.load $push4=, 0($0)
- i32.ne $push5=, $pop4, $1
+ i32.const $push10=, 1
+ i32.ne $push5=, $pop4, $pop10
br_if $pop5, 0 # 0: down to label1
# BB#3: # %if.then3
i32.const $push6=, 0
@@ -30,7 +32,7 @@ new_unit: # @new_unit
.LBB0_4: # %if.end5
end_block # label1:
block
- br_if $2, 0 # 0: down to label2
+ br_if $1, 0 # 0: down to label2
# BB#5: # %sw.epilog
return
.LBB0_6: # %sw.default
diff --git a/test/torture-s/20090623-1.c.s b/test/torture-s/20090623-1.c.s
new file mode 100644
index 000000000..f044fbe5b
--- /dev/null
+++ b/test/torture-s/20090623-1.c.s
@@ -0,0 +1,57 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20090623-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, x($pop0)
+ i32.store $push2=, 0($pop1), $0
+ return $pop2
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %if.end
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $4=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $4=, 0($1), $4
+ i32.const $push0=, 0
+ i32.const $3=, 12
+ i32.add $3=, $4, $3
+ i32.store $discard=, x($pop0), $3
+ i32.const $push1=, 0
+ i32.const $2=, 16
+ i32.add $4=, $4, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ return $pop1
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden x # @x
+ .type x,@object
+ .section .bss.x,"aw",@nobits
+ .globl x
+ .p2align 2
+x:
+ .int32 0
+ .size x, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/20090814-1.c.s b/test/torture-s/20090814-1.c.s
index a161cce09..a951dd5d7 100644
--- a/test/torture-s/20090814-1.c.s
+++ b/test/torture-s/20090814-1.c.s
@@ -39,22 +39,22 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push7=, 0
+ i32.const $push2=, 1
+ i32.store $discard=, i($pop7), $pop2
+ i32.const $push6=, 0
+ i64.const $push0=, 184683593727
+ i64.store $discard=, a($pop6):p2align=2, $pop0
block
- i32.const $push0=, -1
- i32.store $discard=, a($0), $pop0
- i32.const $push4=, 1
- i32.store $discard=, i($0), $pop4
i32.const $push1=, a
- i32.call $push5=, foo@FUNCTION, $pop1
- i32.const $push2=, 42
- i32.store $push3=, a+4($0), $pop2
- i32.ne $push6=, $pop5, $pop3
- br_if $pop6, 0 # 0: down to label0
+ i32.call $push3=, foo@FUNCTION, $pop1
+ i32.const $push4=, 42
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push8=, 0
+ return $pop8
.LBB2_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -67,7 +67,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -76,7 +76,7 @@ i:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 8
.size a, 8
diff --git a/test/torture-s/20100316-1.c.s b/test/torture-s/20100316-1.c.s
index eac3c44e6..e991b9a85 100644
--- a/test/torture-s/20100316-1.c.s
+++ b/test/torture-s/20100316-1.c.s
@@ -8,7 +8,7 @@ foo: # @foo
.param i32
.result i32
# BB#0: # %entry
- i32.load16_u $push0=, 4($0)
+ i32.load16_u $push0=, 4($0):p2align=2
i32.const $push1=, 1023
i32.and $push2=, $pop0, $pop1
return $pop2
@@ -22,23 +22,26 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load16_u $1=, f+4($0)
- block
+ i32.const $push9=, 0
+ i32.load16_u $0=, f+4($pop9):p2align=2
+ i32.const $push8=, 0
i32.const $push0=, -1
- i32.store $discard=, f($0), $pop0
+ i32.store $discard=, f($pop8), $pop0
+ i32.const $push7=, 0
i32.const $push2=, 57344
- i32.and $push3=, $1, $pop2
+ i32.and $push3=, $0, $pop2
i32.const $push4=, 7168
i32.or $push5=, $pop3, $pop4
- i32.store16 $discard=, f+4($0), $pop5
+ i32.store16 $discard=, f+4($pop7):p2align=2, $pop5
+ block
i32.const $push1=, f
i32.call $push6=, foo@FUNCTION, $pop1
br_if $pop6, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push10=, 0
+ return $pop10
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -51,7 +54,7 @@ main: # @main
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 2
+ .p2align 2
f:
.skip 8
.size f, 8
diff --git a/test/torture-s/20100416-1.c.s b/test/torture-s/20100416-1.c.s
index ea1a0f304..cca218895 100644
--- a/test/torture-s/20100416-1.c.s
+++ b/test/torture-s/20100416-1.c.s
@@ -7,15 +7,15 @@
movegt: # @movegt
.param i32, i32, i64
.result i32
- .local i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.gt_s $push0=, $1, $3
- i64.const $push1=, -1152921504606846977
- i64.gt_s $push2=, $2, $pop1
- i32.select $push3=, $pop2, $0, $1
- i32.select $push4=, $pop0, $pop3, $3
- return $pop4
+ i32.const $push0=, 0
+ i32.gt_s $push1=, $1, $pop0
+ i64.const $push2=, -1152921504606846977
+ i64.gt_s $push3=, $2, $pop2
+ i32.select $push4=, $pop3, $0, $1
+ i32.const $push6=, 0
+ i32.select $push5=, $pop1, $pop4, $pop6
+ return $pop5
.endfunc
.Lfunc_end0:
.size movegt, .Lfunc_end0-movegt
@@ -26,49 +26,70 @@ movegt: # @movegt
.type main,@function
main: # @main
.result i32
- .local i32, i64, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i64.const $1=, -1152921504606846977
- i32.const $2=, 1
- i32.const $3=, -1
block
- i64.load $push0=, tests($0)
- i64.gt_s $push1=, $pop0, $1
- i32.select $push2=, $pop1, $3, $2
- i32.load $push3=, tests+8($0)
+ i32.const $push32=, 0
+ i64.load $push0=, tests($pop32):p2align=4
+ i64.const $push31=, -1152921504606846977
+ i64.gt_s $push1=, $pop0, $pop31
+ i32.const $push30=, -1
+ i32.const $push29=, 1
+ i32.select $push2=, $pop1, $pop30, $pop29
+ i32.const $push28=, 0
+ i32.load $push3=, tests+8($pop28):p2align=3
i32.ne $push4=, $pop2, $pop3
br_if $pop4, 0 # 0: down to label0
# BB#1: # %for.cond
- i64.load $push5=, tests+16($0)
- i64.gt_s $push6=, $pop5, $1
- i32.select $push7=, $pop6, $3, $2
- i32.load $push8=, tests+24($0)
+ i32.const $push37=, 0
+ i64.load $push5=, tests+16($pop37):p2align=4
+ i64.const $push36=, -1152921504606846977
+ i64.gt_s $push6=, $pop5, $pop36
+ i32.const $push35=, -1
+ i32.const $push34=, 1
+ i32.select $push7=, $pop6, $pop35, $pop34
+ i32.const $push33=, 0
+ i32.load $push8=, tests+24($pop33):p2align=3
i32.ne $push9=, $pop7, $pop8
br_if $pop9, 0 # 0: down to label0
# BB#2: # %for.cond.1
- i64.load $push10=, tests+32($0)
- i64.gt_s $push11=, $pop10, $1
- i32.select $push12=, $pop11, $3, $2
- i32.load $push13=, tests+40($0)
+ i32.const $push42=, 0
+ i64.load $push10=, tests+32($pop42):p2align=4
+ i64.const $push41=, -1152921504606846977
+ i64.gt_s $push11=, $pop10, $pop41
+ i32.const $push40=, -1
+ i32.const $push39=, 1
+ i32.select $push12=, $pop11, $pop40, $pop39
+ i32.const $push38=, 0
+ i32.load $push13=, tests+40($pop38):p2align=3
i32.ne $push14=, $pop12, $pop13
br_if $pop14, 0 # 0: down to label0
# BB#3: # %for.cond.2
- i64.load $push15=, tests+48($0)
- i64.gt_s $push16=, $pop15, $1
- i32.select $push17=, $pop16, $3, $2
- i32.load $push18=, tests+56($0)
+ i32.const $push47=, 0
+ i64.load $push15=, tests+48($pop47):p2align=4
+ i64.const $push46=, -1152921504606846977
+ i64.gt_s $push16=, $pop15, $pop46
+ i32.const $push45=, -1
+ i32.const $push44=, 1
+ i32.select $push17=, $pop16, $pop45, $pop44
+ i32.const $push43=, 0
+ i32.load $push18=, tests+56($pop43):p2align=3
i32.ne $push19=, $pop17, $pop18
br_if $pop19, 0 # 0: down to label0
# BB#4: # %for.cond.3
- i64.load $push20=, tests+64($0)
- i64.gt_s $push21=, $pop20, $1
- i32.select $push22=, $pop21, $3, $2
- i32.load $push23=, tests+72($0)
- i32.ne $push24=, $pop22, $pop23
- br_if $pop24, 0 # 0: down to label0
+ i32.const $push49=, 0
+ i64.load $push20=, tests+64($pop49):p2align=4
+ i64.const $push21=, -1152921504606846977
+ i64.gt_s $push22=, $pop20, $pop21
+ i32.const $push24=, -1
+ i32.const $push23=, 1
+ i32.select $push25=, $pop22, $pop24, $pop23
+ i32.const $push48=, 0
+ i32.load $push26=, tests+72($pop48):p2align=3
+ i32.ne $push27=, $pop25, $pop26
+ br_if $pop27, 0 # 0: down to label0
# BB#5: # %for.cond.4
- return $0
+ i32.const $push50=, 0
+ return $pop50
.LBB1_6: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -81,7 +102,7 @@ main: # @main
.type tests,@object
.section .data.tests,"aw",@progbits
.globl tests
- .align 4
+ .p2align 4
tests:
.int64 -1152921504606846976 # 0xf000000000000000
.int32 4294967295 # 0xffffffff
diff --git a/test/torture-s/20100708-1.c.s b/test/torture-s/20100708-1.c.s
index 82b16da0a..ea2b44df1 100644
--- a/test/torture-s/20100708-1.c.s
+++ b/test/torture-s/20100708-1.c.s
@@ -6,151 +6,12 @@
.type f,@function
f: # @f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $push0=, 0
- i32.store $1=, 8($0), $pop0
- i32.const $push1=, 12
- i32.add $push2=, $0, $pop1
- i32.store $discard=, 0($pop2), $1
- i32.const $push3=, 16
- i32.add $push4=, $0, $pop3
- i32.store $discard=, 0($pop4), $1
- i32.const $push5=, 20
- i32.add $push6=, $0, $pop5
- i32.store $discard=, 0($pop6), $1
- i32.const $push7=, 24
- i32.add $push8=, $0, $pop7
- i32.store $discard=, 0($pop8), $1
- i32.const $push9=, 28
- i32.add $push10=, $0, $pop9
- i32.store $discard=, 0($pop10), $1
- i32.const $push11=, 32
- i32.add $push12=, $0, $pop11
- i32.store $discard=, 0($pop12), $1
- i32.const $push13=, 36
- i32.add $push14=, $0, $pop13
- i32.store $discard=, 0($pop14), $1
- i32.const $push15=, 40
- i32.add $push16=, $0, $pop15
- i32.store $discard=, 0($pop16), $1
- i32.const $push17=, 44
- i32.add $push18=, $0, $pop17
- i32.store $discard=, 0($pop18), $1
- i32.const $push19=, 48
- i32.add $push20=, $0, $pop19
- i32.store $discard=, 0($pop20), $1
- i32.const $push21=, 52
- i32.add $push22=, $0, $pop21
- i32.store $discard=, 0($pop22), $1
- i32.const $push23=, 56
- i32.add $push24=, $0, $pop23
- i32.store $discard=, 0($pop24), $1
- i32.const $push25=, 60
- i32.add $push26=, $0, $pop25
- i32.store $discard=, 0($pop26), $1
- i32.const $push27=, 64
- i32.add $push28=, $0, $pop27
- i32.store $discard=, 0($pop28), $1
- i32.const $push29=, 68
- i32.add $push30=, $0, $pop29
- i32.store $discard=, 0($pop30), $1
- i32.const $push31=, 72
- i32.add $push32=, $0, $pop31
- i32.store $discard=, 0($pop32), $1
- i32.const $push33=, 76
- i32.add $push34=, $0, $pop33
- i32.store $discard=, 0($pop34), $1
- i32.const $push35=, 80
- i32.add $push36=, $0, $pop35
- i32.store $discard=, 0($pop36), $1
- i32.const $push37=, 84
- i32.add $push38=, $0, $pop37
- i32.store $discard=, 0($pop38), $1
- i32.const $push39=, 88
- i32.add $push40=, $0, $pop39
- i32.store $discard=, 0($pop40), $1
- i32.const $push41=, 92
- i32.add $push42=, $0, $pop41
- i32.store $discard=, 0($pop42), $1
- i32.const $push43=, 96
- i32.add $push44=, $0, $pop43
- i32.store $discard=, 0($pop44), $1
- i32.const $push45=, 100
- i32.add $push46=, $0, $pop45
- i32.store $discard=, 0($pop46), $1
- i32.const $push47=, 104
- i32.add $push48=, $0, $pop47
- i32.store $discard=, 0($pop48), $1
- i32.const $push49=, 108
- i32.add $push50=, $0, $pop49
- i32.store $discard=, 0($pop50), $1
- i32.const $push51=, 112
- i32.add $push52=, $0, $pop51
- i32.store $discard=, 0($pop52), $1
- i32.const $push53=, 116
- i32.add $push54=, $0, $pop53
- i32.store $discard=, 0($pop54), $1
- i32.const $push55=, 120
- i32.add $push56=, $0, $pop55
- i32.store $discard=, 0($pop56), $1
- i32.const $push57=, 124
- i32.add $push58=, $0, $pop57
- i32.store $discard=, 0($pop58), $1
- i32.const $push59=, 128
- i32.add $push60=, $0, $pop59
- i32.store $discard=, 0($pop60), $1
- i32.const $push61=, 132
- i32.add $push62=, $0, $pop61
- i32.store $discard=, 0($pop62), $1
- i32.const $push63=, 136
- i32.add $push64=, $0, $pop63
- i32.store $discard=, 0($pop64), $1
- i32.const $push65=, 140
- i32.add $push66=, $0, $pop65
- i32.store $discard=, 0($pop66), $1
- i32.const $push67=, 144
- i32.add $push68=, $0, $pop67
- i32.store $discard=, 0($pop68), $1
- i32.const $push69=, 148
- i32.add $push70=, $0, $pop69
- i32.store $discard=, 0($pop70), $1
- i32.const $push71=, 152
- i32.add $push72=, $0, $pop71
- i32.store $discard=, 0($pop72), $1
- i32.const $push73=, 156
- i32.add $push74=, $0, $pop73
- i32.store $discard=, 0($pop74), $1
- i32.const $push75=, 160
- i32.add $push76=, $0, $pop75
- i32.store $discard=, 0($pop76), $1
- i32.const $push77=, 164
- i32.add $push78=, $0, $pop77
- i32.store $discard=, 0($pop78), $1
- i32.const $push79=, 168
- i32.add $push80=, $0, $pop79
- i32.store $discard=, 0($pop80), $1
- i32.const $push81=, 172
- i32.add $push82=, $0, $pop81
- i32.store $discard=, 0($pop82), $1
- i32.const $push83=, 176
- i32.add $push84=, $0, $pop83
- i32.store $discard=, 0($pop84), $1
- i32.const $push85=, 180
- i32.add $push86=, $0, $pop85
- i32.store $discard=, 0($pop86), $1
- i32.const $push87=, 184
- i32.add $push88=, $0, $pop87
- i32.store $discard=, 0($pop88), $1
- i32.const $push89=, 188
- i32.add $push90=, $0, $pop89
- i32.store $discard=, 0($pop90), $1
- i32.const $push91=, 192
- i32.add $push92=, $0, $pop91
- i32.store $discard=, 0($pop92), $1
- i32.const $push93=, 196
- i32.add $push94=, $0, $pop93
- i32.store $discard=, 0($pop94), $1
+ i32.const $push0=, 8
+ i32.add $push1=, $0, $pop0
+ i32.const $push3=, 0
+ i32.const $push2=, 192
+ i32.call $discard=, memset@FUNCTION, $pop1, $pop3, $pop2
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/20100805-1.c.s b/test/torture-s/20100805-1.c.s
index b8c5adea7..753c62291 100644
--- a/test/torture-s/20100805-1.c.s
+++ b/test/torture-s/20100805-1.c.s
@@ -7,18 +7,18 @@
foo: # @foo
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 1
- i32.and $0=, $0, $2
+ i32.const $push4=, 1
+ i32.and $0=, $0, $pop4
block
- i32.const $push4=, 0
- i32.eq $push5=, $1, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push6=, 0
+ i32.eq $push7=, $1, $pop6
+ br_if $pop7, 0 # 0: down to label0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.shl $push0=, $0, $2
+ i32.const $push5=, 1
+ i32.shl $push0=, $0, $pop5
i32.const $push1=, 31
i32.shr_u $push2=, $0, $pop1
i32.or $0=, $pop0, $pop2
diff --git a/test/torture-s/20100827-1.c.s b/test/torture-s/20100827-1.c.s
index e23552f7a..c51445731 100644
--- a/test/torture-s/20100827-1.c.s
+++ b/test/torture-s/20100827-1.c.s
@@ -7,28 +7,30 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $3=, 0
+ i32.const $1=, 0
block
i32.load8_u $push0=, 0($0)
- i32.const $push3=, 0
- i32.eq $push4=, $pop0, $pop3
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push7=, 0
+ i32.eq $push8=, $pop0, $pop7
+ br_if $pop8, 0 # 0: down to label0
.LBB0_1: # %if.end
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.add $1=, $0, $3
- i32.const $push5=, 0
- i32.eq $push6=, $1, $pop5
- br_if $pop6, 1 # 1: down to label2
+ i32.add $push1=, $0, $1
+ tee_local $push5=, $2=, $pop1
+ i32.const $push9=, 0
+ i32.eq $push10=, $pop5, $pop9
+ br_if $pop10, 1 # 1: down to label2
# BB#2: # %if.end5
# in Loop: Header=BB0_1 Depth=1
- i32.const $2=, 1
- i32.add $3=, $3, $2
- i32.add $push1=, $1, $2
- i32.load8_u $push2=, 0($pop1)
- br_if $pop2, 0 # 0: up to label1
+ i32.const $push2=, 1
+ i32.add $1=, $1, $pop2
+ i32.const $push6=, 1
+ i32.add $push3=, $2, $pop6
+ i32.load8_u $push4=, 0($pop3)
+ br_if $pop4, 0 # 0: up to label1
br 2 # 2: down to label0
.LBB0_3: # %if.then4
end_loop # label2:
@@ -36,7 +38,7 @@ foo: # @foo
unreachable
.LBB0_4: # %do.end
end_block # label0:
- return $3
+ return $1
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/20101011-1.c.s b/test/torture-s/20101011-1.c.s
index 23ad41f3f..404243622 100644
--- a/test/torture-s/20101011-1.c.s
+++ b/test/torture-s/20101011-1.c.s
@@ -34,7 +34,7 @@ main: # @main
.type k,@object
.section .bss.k,"aw",@nobits
.globl k
- .align 2
+ .p2align 2
k:
.int32 0 # 0x0
.size k, 4
diff --git a/test/torture-s/20101025-1.c.s b/test/torture-s/20101025-1.c.s
index 76267a3d9..0f599803c 100644
--- a/test/torture-s/20101025-1.c.s
+++ b/test/torture-s/20101025-1.c.s
@@ -20,15 +20,16 @@ f2: # @f2
.type f3,@function
f3: # @f3
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, g_6($0)
- i32.const $push1=, 1
- i32.store $discard=, 0($pop0), $pop1
- i32.load $push2=, g_7($0)
- call f2@FUNCTION, $pop2
- return $0
+ i32.const $push0=, 0
+ i32.load $push1=, g_6($pop0)
+ i32.const $push2=, 1
+ i32.store $discard=, 0($pop1), $pop2
+ i32.const $push5=, 0
+ i32.load $push3=, g_7($pop5)
+ call f2@FUNCTION, $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end1:
.size f3, .Lfunc_end1-f3
@@ -39,17 +40,17 @@ f3: # @f3
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
i32.call $discard=, f3@FUNCTION
- i32.const $0=, 0
block
- i32.load $push0=, g_3($0)
+ i32.const $push3=, 0
+ i32.load $push0=, g_3($pop3)
i32.const $push1=, 1
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.LBB2_2: # %if.then
end_block # label0:
@@ -63,14 +64,14 @@ main: # @main
.type g_3,@object
.section .bss.g_3,"aw",@nobits
.globl g_3
- .align 2
+ .p2align 2
g_3:
.int32 0 # 0x0
.size g_3, 4
.type g_6,@object # @g_6
.section .data.g_6,"aw",@progbits
- .align 2
+ .p2align 2
g_6:
.int32 g_7
.size g_6, 4
diff --git a/test/torture-s/20111208-1.c.s b/test/torture-s/20111208-1.c.s
index 257fbaace..832072ad0 100644
--- a/test/torture-s/20111208-1.c.s
+++ b/test/torture-s/20111208-1.c.s
@@ -7,71 +7,57 @@
pack_unpack: # @pack_unpack
.param i32, i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $5=, __stack_pointer
- i32.load $5=, 0($5)
- i32.const $6=, 16
- i32.sub $8=, $5, $6
- i32.const $6=, __stack_pointer
- i32.store $8=, 0($6), $8
i32.call $push0=, strlen@FUNCTION, $1
i32.add $2=, $1, $pop0
.LBB0_1: # %while.cond.outer
# =>This Loop Header: Depth=1
# Child Loop BB0_2 Depth 2
loop # label0:
- copy_local $4=, $1
+ copy_local $3=, $1
.LBB0_2: # %while.cond
# Parent Loop BB0_1 Depth=1
# => This Inner Loop Header: Depth=2
block
loop # label3:
- i32.ge_u $push1=, $4, $2
+ i32.ge_u $push1=, $3, $2
br_if $pop1, 4 # 4: down to label1
# BB#3: # %while.body
# in Loop: Header=BB0_2 Depth=2
- i32.load8_s $3=, 0($4)
- i32.const $push3=, 1
- i32.add $1=, $4, $pop3
- i32.const $push4=, 108
- i32.eq $push5=, $3, $pop4
- br_if $pop5, 2 # 2: down to label2
+ i32.const $push9=, 1
+ i32.add $1=, $3, $pop9
+ i32.load8_s $push3=, 0($3)
+ tee_local $push8=, $4=, $pop3
+ i32.const $push7=, 108
+ i32.eq $push4=, $pop8, $pop7
+ br_if $pop4, 2 # 2: down to label2
# BB#4: # %while.body
# in Loop: Header=BB0_2 Depth=2
- copy_local $4=, $1
- i32.const $push6=, 115
- i32.ne $push7=, $3, $pop6
- br_if $pop7, 0 # 0: up to label3
+ copy_local $3=, $1
+ i32.const $push10=, 115
+ i32.ne $push5=, $4, $pop10
+ br_if $pop5, 0 # 0: up to label3
# BB#5: # %sw.bb4
# in Loop: Header=BB0_1 Depth=1
end_loop # label4:
- i32.const $4=, 2
- i32.const $9=, 8
- i32.add $9=, $8, $9
- i32.call $discard=, memcpy@FUNCTION, $9, $0, $4
- i32.add $0=, $0, $4
- i32.load16_s $push9=, 8($8)
- call do_something@FUNCTION, $pop9
+ i32.const $push11=, 2
+ i32.add $3=, $0, $pop11
+ i32.load16_s $push6=, 0($0):p2align=0
+ call do_something@FUNCTION, $pop6
+ copy_local $0=, $3
br 1 # 1: up to label0
.LBB0_6: # %sw.bb8
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
- i32.const $4=, 4
- i32.const $8=, 0
- i32.add $8=, $8, $8
- i32.call $discard=, memcpy@FUNCTION, $8, $0, $4
- i32.add $0=, $0, $4
- i32.load $push8=, 0($8)
- call do_something@FUNCTION, $pop8
+ i32.load $3=, 0($0):p2align=0
+ i32.const $push12=, 4
+ i32.add $0=, $0, $pop12
+ call do_something@FUNCTION, $3
br 0 # 0: up to label0
.LBB0_7: # %while.end
end_loop # label1:
i32.load8_s $push2=, 0($0)
- i32.const $7=, 16
- i32.add $8=, $8, $7
- i32.const $7=, __stack_pointer
- i32.store $8=, 0($7), $8
return $pop2
.endfunc
.Lfunc_end0:
@@ -95,17 +81,65 @@ do_something: # @do_something
.type main,@function
main: # @main
.result i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $1=, .L.str
+ i32.const $0=, .L.str.1
+.LBB2_1: # %while.cond.outer.i
+ # =>This Loop Header: Depth=1
+ # Child Loop BB2_2 Depth 2
+ loop # label5:
+ copy_local $2=, $0
+.LBB2_2: # %while.cond.i
+ # Parent Loop BB2_1 Depth=1
+ # => This Inner Loop Header: Depth=2
block
- i32.const $push1=, .L.str
- i32.const $push0=, .L.str.1
- i32.call $push2=, pack_unpack@FUNCTION, $pop1, $pop0
- br_if $pop2, 0 # 0: down to label5
-# BB#1: # %if.end
- i32.const $push3=, 0
- return $pop3
-.LBB2_2: # %if.then
- end_block # label5:
+ loop # label8:
+ i32.const $push7=, .L.str.1+2
+ i32.ge_u $push0=, $2, $pop7
+ br_if $pop0, 4 # 4: down to label6
+# BB#3: # %while.body.i
+ # in Loop: Header=BB2_2 Depth=2
+ i32.const $push10=, 1
+ i32.add $0=, $2, $pop10
+ i32.load8_s $push3=, 0($2)
+ tee_local $push9=, $3=, $pop3
+ i32.const $push8=, 108
+ i32.eq $push4=, $pop9, $pop8
+ br_if $pop4, 2 # 2: down to label7
+# BB#4: # %while.body.i
+ # in Loop: Header=BB2_2 Depth=2
+ copy_local $2=, $0
+ i32.const $push11=, 115
+ i32.ne $push5=, $3, $pop11
+ br_if $pop5, 0 # 0: up to label8
+# BB#5: # %sw.bb4.i
+ # in Loop: Header=BB2_1 Depth=1
+ end_loop # label9:
+ i32.const $push12=, 2
+ i32.add $2=, $1, $pop12
+ i32.load16_s $push6=, 0($1):p2align=0
+ call do_something@FUNCTION, $pop6
+ copy_local $1=, $2
+ br 1 # 1: up to label5
+.LBB2_6: # %sw.bb8.i
+ # in Loop: Header=BB2_1 Depth=1
+ end_block # label7:
+ i32.load $2=, 0($1):p2align=0
+ i32.const $push13=, 4
+ i32.add $1=, $1, $pop13
+ call do_something@FUNCTION, $2
+ br 0 # 0: up to label5
+.LBB2_7: # %pack_unpack.exit
+ end_loop # label6:
+ block
+ i32.load8_u $push1=, 0($1)
+ br_if $pop1, 0 # 0: down to label10
+# BB#8: # %if.end
+ i32.const $push2=, 0
+ return $pop2
+.LBB2_9: # %if.then
+ end_block # label10:
call abort@FUNCTION
unreachable
.endfunc
@@ -127,7 +161,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
diff --git a/test/torture-s/20111212-1.c.s b/test/torture-s/20111212-1.c.s
index 7d02b847c..5c127ecb4 100644
--- a/test/torture-s/20111212-1.c.s
+++ b/test/torture-s/20111212-1.c.s
@@ -6,36 +6,15 @@
.type frob_entry,@function
frob_entry: # @frob_entry
.param i32
- .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $push0=, 3
- i32.add $1=, $0, $pop0
- i32.const $push3=, 2
- i32.add $3=, $0, $pop3
- i32.const $2=, 8
block
- i32.const $push8=, 1
- i32.add $4=, $0, $pop8
- i32.load8_u $push1=, 0($1)
- i32.shl $push2=, $pop1, $2
- i32.load8_u $push4=, 0($3)
- i32.or $push5=, $pop2, $pop4
- i32.const $push6=, 16
- i32.shl $push7=, $pop5, $pop6
- i32.load8_u $push9=, 0($4)
- i32.shl $push10=, $pop9, $2
- i32.load8_u $push11=, 0($0)
- i32.or $push12=, $pop10, $pop11
- i32.or $push13=, $pop7, $pop12
- i32.const $push14=, 63
- i32.gt_u $push15=, $pop13, $pop14
- br_if $pop15, 0 # 0: down to label0
+ i32.load $push0=, 0($0):p2align=0
+ i32.const $push1=, 63
+ i32.gt_u $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.then
- i32.const $push16=, 255
- i32.store8 $push17=, 0($0), $pop16
- i32.store8 $push18=, 0($1), $pop17
- i32.store8 $push19=, 0($3), $pop18
- i32.store8 $discard=, 0($4), $pop19
+ i32.const $push3=, -1
+ i32.store $discard=, 0($0):p2align=0, $pop3
.LBB0_2: # %if.end
end_block # label0:
return
diff --git a/test/torture-s/20111227-1.c.s b/test/torture-s/20111227-1.c.s
index 060b5ab03..f7ad1be80 100644
--- a/test/torture-s/20111227-1.c.s
+++ b/test/torture-s/20111227-1.c.s
@@ -31,17 +31,18 @@ foo: # @foo
i32.load16_u $0=, 0($0)
block
block
- i32.const $push2=, 0
- i32.eq $push3=, $1, $pop2
- br_if $pop3, 0 # 0: down to label2
+ i32.const $push4=, 0
+ i32.eq $push5=, $1, $pop4
+ br_if $pop5, 0 # 0: down to label2
# BB#1: # %if.then
call bar@FUNCTION, $0
br 1 # 1: down to label1
.LBB1_2: # %if.else
end_block # label2:
- i32.const $1=, 16
- i32.shl $push1=, $0, $1
- i32.shr_s $push0=, $pop1, $1
+ i32.const $push1=, 16
+ i32.shl $push2=, $0, $pop1
+ i32.const $push3=, 16
+ i32.shr_s $push0=, $pop2, $pop3
call bar@FUNCTION, $pop0
.LBB1_3: # %if.end
end_block # label1:
@@ -56,12 +57,12 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
i32.const $push0=, v
- call foo@FUNCTION, $pop0, $0
- return $0
+ i32.const $push1=, 0
+ call foo@FUNCTION, $pop0, $pop1
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -70,7 +71,7 @@ main: # @main
.type v,@object
.section .data.v,"aw",@progbits
.globl v
- .align 1
+ .p2align 1
v:
.int16 65535 # 0xffff
.size v, 2
diff --git a/test/torture-s/20111227-2.c.s b/test/torture-s/20111227-2.c.s
index 45f17dda6..0de0edb99 100644
--- a/test/torture-s/20111227-2.c.s
+++ b/test/torture-s/20111227-2.c.s
@@ -6,15 +6,14 @@
.type bar,@function
bar: # @bar
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
block
i32.const $push1=, 2
i32.ne $push2=, $0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %entry
- i32.load16_u $push0=, s($1)
+ i32.const $push16=, 0
+ i32.load16_u $push0=, s($pop16)
i32.const $push3=, 65535
i32.and $push4=, $pop0, $pop3
i32.const $push5=, 255
@@ -30,7 +29,8 @@ bar: # @bar
i32.ne $push9=, $0, $pop8
br_if $pop9, 0 # 0: down to label1
# BB#4: # %if.end
- i32.load $push7=, i($1)
+ i32.const $push17=, 0
+ i32.load $push7=, i($pop17)
i32.const $push10=, 255
i32.eq $push11=, $pop7, $pop10
br_if $pop11, 0 # 0: down to label1
@@ -42,10 +42,11 @@ bar: # @bar
block
br_if $0, 0 # 0: down to label2
# BB#7: # %if.end9
- i32.load $push12=, l($1)
- i32.const $push13=, 255
- i32.eq $push14=, $pop12, $pop13
- br_if $pop14, 0 # 0: down to label2
+ i32.const $push13=, 0
+ i32.load $push12=, l($pop13)
+ i32.const $push14=, 255
+ i32.eq $push15=, $pop12, $pop14
+ br_if $pop15, 0 # 0: down to label2
# BB#8: # %if.then15
call abort@FUNCTION
unreachable
@@ -62,15 +63,15 @@ bar: # @bar
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.load8_u $2=, v($3)
+ i32.const $push6=, 0
+ i32.load8_u $2=, v($pop6)
block
block
- i32.const $push4=, 0
- i32.eq $push5=, $1, $pop4
- br_if $pop5, 0 # 0: down to label4
+ i32.const $push8=, 0
+ i32.eq $push9=, $1, $pop8
+ br_if $pop9, 0 # 0: down to label4
# BB#1: # %entry
block
i32.const $push0=, 1
@@ -81,15 +82,18 @@ foo: # @foo
i32.ne $push3=, $1, $pop2
br_if $pop3, 2 # 2: down to label3
# BB#3: # %if.then
- i32.store16 $discard=, s($3), $2
+ i32.const $push5=, 0
+ i32.store16 $discard=, s($pop5), $2
br 2 # 2: down to label3
.LBB1_4: # %if.then3
end_block # label5:
- i32.store $discard=, i($3), $2
+ i32.const $push4=, 0
+ i32.store $discard=, i($pop4), $2
br 1 # 1: down to label3
.LBB1_5: # %if.then8
end_block # label4:
- i32.store $discard=, l($3), $2
+ i32.const $push7=, 0
+ i32.store $discard=, l($pop7), $2
.LBB1_6: # %if.end11
end_block # label3:
call bar@FUNCTION, $1
@@ -106,13 +110,14 @@ main: # @main
.result i32
.local i32
# BB#0: # %entry
- i32.const $0=, 0
- call foo@FUNCTION, $0, $0
- i32.const $push0=, 1
+ i32.const $push0=, 0
call foo@FUNCTION, $0, $pop0
- i32.const $push1=, 2
+ i32.const $push1=, 1
call foo@FUNCTION, $0, $pop1
- return $0
+ i32.const $push2=, 2
+ call foo@FUNCTION, $0, $pop2
+ i32.const $push3=, 0
+ return $pop3
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -129,7 +134,7 @@ v:
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 1
+ .p2align 1
s:
.int16 0 # 0x0
.size s, 2
@@ -138,7 +143,7 @@ s:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -147,7 +152,7 @@ i:
.type l,@object
.section .bss.l,"aw",@nobits
.globl l
- .align 2
+ .p2align 2
l:
.int32 0 # 0x0
.size l, 4
diff --git a/test/torture-s/20111227-3.c.s b/test/torture-s/20111227-3.c.s
index f3fcfcceb..d99458a90 100644
--- a/test/torture-s/20111227-3.c.s
+++ b/test/torture-s/20111227-3.c.s
@@ -6,33 +6,34 @@
.type bar,@function
bar: # @bar
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
block
i32.const $push1=, 2
i32.ne $push2=, $0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %entry
- i32.const $2=, 65535
- i32.load16_u $push0=, s($1)
- i32.and $push3=, $pop0, $2
- i32.eq $push4=, $pop3, $2
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push16=, 0
+ i32.load16_u $push0=, s($pop16)
+ i32.const $push3=, 65535
+ i32.and $push4=, $pop0, $pop3
+ i32.const $push15=, 65535
+ i32.eq $push5=, $pop4, $pop15
+ br_if $pop5, 0 # 0: down to label0
# BB#2: # %if.then
call abort@FUNCTION
unreachable
.LBB0_3: # %if.end
end_block # label0:
block
- i32.const $push6=, 1
- i32.ne $push7=, $0, $pop6
- br_if $pop7, 0 # 0: down to label1
+ i32.const $push7=, 1
+ i32.ne $push8=, $0, $pop7
+ br_if $pop8, 0 # 0: down to label1
# BB#4: # %if.end
- i32.load $push5=, i($1)
- i32.const $push8=, -1
- i32.eq $push9=, $pop5, $pop8
- br_if $pop9, 0 # 0: down to label1
+ i32.const $push17=, 0
+ i32.load $push6=, i($pop17)
+ i32.const $push9=, -1
+ i32.eq $push10=, $pop6, $pop9
+ br_if $pop10, 0 # 0: down to label1
# BB#5: # %if.then8
call abort@FUNCTION
unreachable
@@ -41,10 +42,11 @@ bar: # @bar
block
br_if $0, 0 # 0: down to label2
# BB#7: # %if.end9
- i32.load $push10=, l($1)
- i32.const $push11=, -1
- i32.eq $push12=, $pop10, $pop11
- br_if $pop12, 0 # 0: down to label2
+ i32.const $push12=, 0
+ i32.load $push11=, l($pop12)
+ i32.const $push13=, -1
+ i32.eq $push14=, $pop11, $pop13
+ br_if $pop14, 0 # 0: down to label2
# BB#8: # %if.then15
call abort@FUNCTION
unreachable
@@ -61,15 +63,15 @@ bar: # @bar
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.load8_s $2=, v($3)
+ i32.const $push6=, 0
+ i32.load8_s $2=, v($pop6)
block
block
- i32.const $push4=, 0
- i32.eq $push5=, $1, $pop4
- br_if $pop5, 0 # 0: down to label4
+ i32.const $push8=, 0
+ i32.eq $push9=, $1, $pop8
+ br_if $pop9, 0 # 0: down to label4
# BB#1: # %entry
block
i32.const $push0=, 1
@@ -80,15 +82,18 @@ foo: # @foo
i32.ne $push3=, $1, $pop2
br_if $pop3, 2 # 2: down to label3
# BB#3: # %if.then
- i32.store16 $discard=, s($3), $2
+ i32.const $push5=, 0
+ i32.store16 $discard=, s($pop5), $2
br 2 # 2: down to label3
.LBB1_4: # %if.then3
end_block # label5:
- i32.store $discard=, i($3), $2
+ i32.const $push4=, 0
+ i32.store $discard=, i($pop4), $2
br 1 # 1: down to label3
.LBB1_5: # %if.then8
end_block # label4:
- i32.store $discard=, l($3), $2
+ i32.const $push7=, 0
+ i32.store $discard=, l($pop7), $2
.LBB1_6: # %if.end11
end_block # label3:
call bar@FUNCTION, $1
@@ -105,13 +110,14 @@ main: # @main
.result i32
.local i32
# BB#0: # %entry
- i32.const $0=, 0
- call foo@FUNCTION, $0, $0
- i32.const $push0=, 1
+ i32.const $push0=, 0
call foo@FUNCTION, $0, $pop0
- i32.const $push1=, 2
+ i32.const $push1=, 1
call foo@FUNCTION, $0, $pop1
- return $0
+ i32.const $push2=, 2
+ call foo@FUNCTION, $0, $pop2
+ i32.const $push3=, 0
+ return $pop3
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -128,7 +134,7 @@ v:
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 1
+ .p2align 1
s:
.int16 0 # 0x0
.size s, 2
@@ -137,7 +143,7 @@ s:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -146,7 +152,7 @@ i:
.type l,@object
.section .bss.l,"aw",@nobits
.globl l
- .align 2
+ .p2align 2
l:
.int32 0 # 0x0
.size l, 4
diff --git a/test/torture-s/20120105-1.c.s b/test/torture-s/20120105-1.c.s
index 3fc70492e..605ff5fe4 100644
--- a/test/torture-s/20120105-1.c.s
+++ b/test/torture-s/20120105-1.c.s
@@ -6,37 +6,31 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $1=, __stack_pointer
i32.load $1=, 0($1)
i32.const $2=, 16
- i32.sub $7=, $1, $2
+ i32.sub $4=, $1, $2
i32.const $2=, __stack_pointer
- i32.store $7=, 0($2), $7
+ i32.store $4=, 0($2), $4
+ i32.const $push4=, 8
+ i32.add $push5=, $4, $pop4
i32.const $push0=, 12
- i32.const $4=, 0
- i32.add $4=, $7, $4
i32.add $push1=, $4, $pop0
i32.const $push2=, 0
- i32.store8 $0=, 0($pop1), $pop2
- i32.const $push3=, 8
- i32.const $5=, 0
- i32.add $5=, $7, $5
- i32.add $push4=, $5, $pop3
- i32.store $discard=, 0($pop4), $0
- i64.const $push5=, 0
- i64.store $discard=, 0($7), $pop5
- i32.const $push6=, 1
- i32.const $6=, 0
- i32.add $6=, $7, $6
- i32.or $push7=, $6, $pop6
- i32.call $push8=, extract@FUNCTION, $pop7
- i32.store $discard=, i($0), $pop8
+ i32.store8 $push3=, 0($pop1):p2align=2, $pop2
+ i32.store $0=, 0($pop5), $pop3
+ i64.const $push6=, 0
+ i64.store $discard=, 0($4):p2align=2, $pop6
+ i32.const $push7=, 1
+ i32.or $push8=, $4, $pop7
+ i32.call $push9=, extract@FUNCTION, $pop8
+ i32.store $discard=, i($0), $pop9
i32.const $3=, 16
- i32.add $7=, $7, $3
+ i32.add $4=, $4, $3
i32.const $3=, __stack_pointer
- i32.store $7=, 0($3), $7
+ i32.store $4=, 0($3), $4
return $0
.endfunc
.Lfunc_end0:
@@ -47,27 +41,9 @@ main: # @main
extract: # @extract
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 8
- i32.const $push0=, 3
- i32.add $push1=, $0, $pop0
- i32.load8_u $push2=, 0($pop1)
- i32.shl $push3=, $pop2, $1
- i32.const $push4=, 2
- i32.add $push5=, $0, $pop4
- i32.load8_u $push6=, 0($pop5)
- i32.or $push7=, $pop3, $pop6
- i32.const $push8=, 16
- i32.shl $push9=, $pop7, $pop8
- i32.const $push10=, 1
- i32.add $push11=, $0, $pop10
- i32.load8_u $push12=, 0($pop11)
- i32.shl $push13=, $pop12, $1
- i32.load8_u $push14=, 0($0)
- i32.or $push15=, $pop13, $pop14
- i32.or $push16=, $pop9, $pop15
- return $pop16
+ i32.load $push0=, 0($0):p2align=0
+ return $pop0
.endfunc
.Lfunc_end1:
.size extract, .Lfunc_end1-extract
@@ -76,7 +52,7 @@ extract: # @extract
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/20120207-1.c.s b/test/torture-s/20120207-1.c.s
index d1a293c71..73b52fa35 100644
--- a/test/torture-s/20120207-1.c.s
+++ b/test/torture-s/20120207-1.c.s
@@ -8,12 +8,10 @@ test: # @test
.param i32
.result i32
# BB#0: # %entry
- i32.const $push0=, .L.str
- i32.add $push1=, $pop0, $0
- i32.const $push2=, -1
- i32.add $push3=, $pop1, $pop2
- i32.load8_s $push4=, 0($pop3)
- return $pop4
+ i32.const $push0=, .L.str-1
+ i32.add $push1=, $0, $pop0
+ i32.load8_s $push2=, 0($pop1)
+ return $pop2
.endfunc
.Lfunc_end0:
.size test, .Lfunc_end0-test
@@ -46,7 +44,7 @@ main: # @main
.type .L.str,@object # @.str
.section .rodata.str1.16,"aMS",@progbits,1
- .align 4
+ .p2align 4
.L.str:
.asciz "0123456789"
.size .L.str, 11
diff --git a/test/torture-s/20120427-1.c.s b/test/torture-s/20120427-1.c.s
index 770768487..8806b8daf 100644
--- a/test/torture-s/20120427-1.c.s
+++ b/test/torture-s/20120427-1.c.s
@@ -7,33 +7,36 @@
sreal_compare: # @sreal_compare
.param i32, i32
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.load $2=, 4($0)
- i32.load $3=, 4($1)
- i32.const $4=, 1
- copy_local $5=, $4
+ i32.const $2=, 1
block
- i32.gt_s $push0=, $2, $3
- br_if $pop0, 0 # 0: down to label0
+ i32.load $push0=, 4($0)
+ tee_local $push11=, $4=, $pop0
+ i32.load $push1=, 4($1)
+ tee_local $push10=, $3=, $pop1
+ i32.gt_s $push4=, $pop11, $pop10
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $5=, -1
- i32.lt_s $push1=, $2, $3
- br_if $pop1, 0 # 0: down to label0
+ i32.const $2=, -1
+ i32.lt_s $push5=, $4, $3
+ br_if $pop5, 0 # 0: down to label0
# BB#2: # %if.end6
- i32.load $2=, 0($0)
- i32.load $3=, 0($1)
- copy_local $5=, $4
- i32.gt_u $push2=, $2, $3
- br_if $pop2, 0 # 0: down to label0
+ i32.const $2=, 1
+ i32.load $push2=, 0($0)
+ tee_local $push13=, $0=, $pop2
+ i32.load $push3=, 0($1)
+ tee_local $push12=, $1=, $pop3
+ i32.gt_u $push6=, $pop13, $pop12
+ br_if $pop6, 0 # 0: down to label0
# BB#3: # %if.end10
- i32.lt_u $push3=, $2, $3
- i32.const $push5=, -1
- i32.const $push4=, 0
- i32.select $5=, $pop3, $pop5, $pop4
+ i32.lt_u $push7=, $0, $1
+ i32.const $push9=, -1
+ i32.const $push8=, 0
+ i32.select $2=, $pop7, $pop9, $pop8
.LBB0_4: # %return
end_block # label0:
- return $5
+ return $2
.endfunc
.Lfunc_end0:
.size sreal_compare, .Lfunc_end0-sreal_compare
@@ -44,196 +47,230 @@ sreal_compare: # @sreal_compare
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $6=, 0
- i32.load $0=, a+4($6)
- i32.load $1=, a($6)
- i32.load $2=, a+12($6)
- i32.load $3=, a+8($6)
- i32.load $4=, a+20($6)
- i32.load $5=, a+16($6)
+ i32.const $push60=, 0
+ i32.load $0=, a+4($pop60)
+ i32.const $push59=, 0
+ i32.load $1=, a($pop59):p2align=4
+ i32.const $push58=, 0
+ i32.load $2=, a+12($pop58)
+ i32.const $push57=, 0
+ i32.load $3=, a+8($pop57):p2align=3
+ i32.const $push56=, 0
+ i32.load $4=, a+20($pop56)
+ i32.const $push55=, 0
+ i32.load $5=, a+16($pop55):p2align=4
.LBB1_1: # %for.cond1.preheader
# =>This Inner Loop Header: Depth=1
block
loop # label2:
- i32.const $10=, 3
- i32.const $push1=, a
- i32.shl $push0=, $6, $10
- i32.add $8=, $pop1, $pop0
- i32.const $11=, 4
- i32.add $7=, $8, $11
+ i32.const $push65=, 3
+ i32.shl $push7=, $6, $pop65
+ tee_local $push64=, $8=, $pop7
+ i32.const $push63=, a+4
+ i32.add $7=, $pop64, $pop63
+ i32.const $push62=, a
+ i32.add $8=, $8, $pop62
block
block
block
block
- i32.const $push2=, -1
- i32.le_s $push3=, $6, $pop2
- br_if $pop3, 0 # 0: down to label7
+ i32.const $push61=, -1
+ i32.le_s $push8=, $6, $pop61
+ br_if $pop8, 0 # 0: down to label7
# BB#2: # %if.end
# in Loop: Header=BB1_1 Depth=1
- i32.load $9=, 0($7)
block
block
- i32.const $push44=, 0
- i32.eq $push45=, $6, $pop44
- br_if $pop45, 0 # 0: down to label9
-# BB#3: # %land.lhs.true16
+ i32.const $push80=, 0
+ i32.eq $push81=, $6, $pop80
+ br_if $pop81, 0 # 0: down to label9
+# BB#3: # %if.end14
+ # in Loop: Header=BB1_1 Depth=1
+ i32.const $push67=, 1
+ i32.lt_s $push9=, $6, $pop67
+ br_if $pop9, 3 # 3: down to label6
+# BB#4: # %land.lhs.true16
# in Loop: Header=BB1_1 Depth=1
block
block
- i32.gt_s $push4=, $9, $0
- br_if $pop4, 0 # 0: down to label11
-# BB#4: # %if.end.i45
+ i32.load $push1=, 0($7)
+ tee_local $push68=, $9=, $pop1
+ i32.gt_s $push10=, $pop68, $0
+ br_if $pop10, 0 # 0: down to label11
+# BB#5: # %if.end.i45
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push5=, $9, $0
- br_if $pop5, 1 # 1: down to label10
-# BB#5: # %if.end6.i49
+ i32.lt_s $push11=, $9, $0
+ br_if $pop11, 1 # 1: down to label10
+# BB#6: # %if.end6.i49
# in Loop: Header=BB1_1 Depth=1
- i32.load $push6=, 0($8)
- i32.le_u $push7=, $pop6, $1
- br_if $pop7, 1 # 1: down to label10
-.LBB1_6: # %if.end.1
+ i32.load $push12=, 0($8):p2align=3
+ i32.le_u $push13=, $pop12, $1
+ br_if $pop13, 1 # 1: down to label10
+.LBB1_7: # %if.end.1
# in Loop: Header=BB1_1 Depth=1
end_block # label11:
- i32.load $9=, 0($7)
block
- i32.const $push8=, 1
- i32.ne $push9=, $6, $pop8
- br_if $pop9, 0 # 0: down to label12
-# BB#7: # %land.lhs.true8.1
+ i32.const $push70=, 1
+ i32.ne $push14=, $6, $pop70
+ br_if $pop14, 0 # 0: down to label12
+# BB#8: # %land.lhs.true8.1
# in Loop: Header=BB1_1 Depth=1
- i32.ne $push23=, $9, $2
- br_if $pop23, 3 # 3: down to label8
-# BB#8: # %if.end6.i63.1
+ i32.load $push33=, 0($7)
+ i32.ne $push34=, $pop33, $2
+ br_if $pop34, 3 # 3: down to label8
+# BB#9: # %if.end6.i63.1
# in Loop: Header=BB1_1 Depth=1
- i32.load $push24=, 0($8)
- i32.eq $push25=, $pop24, $3
- br_if $pop25, 6 # 6: down to label5
+ i32.load $push35=, 0($8):p2align=3
+ i32.eq $push36=, $pop35, $3
+ br_if $pop36, 6 # 6: down to label5
br 3 # 3: down to label8
-.LBB1_9: # %land.lhs.true16.1
+.LBB1_10: # %if.end14.1
# in Loop: Header=BB1_1 Depth=1
end_block # label12:
+ i32.const $push71=, 2
+ i32.lt_s $push15=, $6, $pop71
+ br_if $pop15, 5 # 5: down to label5
+# BB#11: # %land.lhs.true16.1
+ # in Loop: Header=BB1_1 Depth=1
block
- i32.gt_s $push10=, $9, $2
- br_if $pop10, 0 # 0: down to label13
-# BB#10: # %if.end.i45.1
+ i32.load $push3=, 0($7)
+ tee_local $push72=, $9=, $pop3
+ i32.gt_s $push16=, $pop72, $2
+ br_if $pop16, 0 # 0: down to label13
+# BB#12: # %if.end.i45.1
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push11=, $9, $2
- br_if $pop11, 1 # 1: down to label10
-# BB#11: # %if.end6.i49.1
+ i32.lt_s $push17=, $9, $2
+ br_if $pop17, 1 # 1: down to label10
+# BB#13: # %if.end6.i49.1
# in Loop: Header=BB1_1 Depth=1
- i32.load $push12=, 0($8)
- i32.le_u $push13=, $pop12, $3
- br_if $pop13, 1 # 1: down to label10
-.LBB1_12: # %if.end.2
+ i32.load $push18=, 0($8):p2align=3
+ i32.le_u $push19=, $pop18, $3
+ br_if $pop19, 1 # 1: down to label10
+.LBB1_14: # %if.end.2
# in Loop: Header=BB1_1 Depth=1
end_block # label13:
- i32.load $7=, 0($7)
block
- i32.const $push14=, 2
- i32.ne $push15=, $6, $pop14
- br_if $pop15, 0 # 0: down to label14
-# BB#13: # %land.lhs.true8.2
+ i32.const $push74=, 2
+ i32.ne $push20=, $6, $pop74
+ br_if $pop20, 0 # 0: down to label14
+# BB#15: # %land.lhs.true8.2
# in Loop: Header=BB1_1 Depth=1
- i32.ne $push20=, $7, $4
- br_if $pop20, 3 # 3: down to label8
-# BB#14: # %if.end6.i63.2
+ i32.load $push29=, 0($7)
+ i32.ne $push30=, $pop29, $4
+ br_if $pop30, 3 # 3: down to label8
+# BB#16: # %if.end6.i63.2
# in Loop: Header=BB1_1 Depth=1
- copy_local $6=, $10
- i32.load $push21=, 0($8)
- i32.eq $push22=, $pop21, $5
- br_if $pop22, 8 # 8: up to label2
+ i32.const $6=, 3
+ i32.load $push31=, 0($8):p2align=3
+ i32.eq $push32=, $pop31, $5
+ br_if $pop32, 8 # 8: up to label2
br 3 # 3: down to label8
-.LBB1_15: # %land.lhs.true16.2
+.LBB1_17: # %if.end14.2
# in Loop: Header=BB1_1 Depth=1
end_block # label14:
- i32.gt_s $push16=, $7, $4
- br_if $pop16, 6 # 6: down to label4
-# BB#16: # %if.end.i45.2
- # in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push17=, $7, $4
- br_if $pop17, 0 # 0: down to label10
-# BB#17: # %if.end6.i49.2
- # in Loop: Header=BB1_1 Depth=1
- i32.load $push18=, 0($8)
- i32.gt_u $push19=, $pop18, $5
- br_if $pop19, 6 # 6: down to label4
-.LBB1_18: # %if.then21
+ i32.const $push75=, 3
+ i32.lt_s $push21=, $6, $pop75
+ br_if $pop21, 6 # 6: down to label4
+# BB#18: # %land.lhs.true16.2
+ i32.load $push5=, 0($7)
+ tee_local $push77=, $6=, $pop5
+ i32.const $push22=, 0
+ i32.load $push6=, a+20($pop22)
+ tee_local $push76=, $7=, $pop6
+ i32.gt_s $push23=, $pop77, $pop76
+ br_if $pop23, 8 # 8: down to label3
+# BB#19: # %if.end.i45.2
+ i32.lt_s $push24=, $6, $7
+ br_if $pop24, 0 # 0: down to label10
+# BB#20: # %if.end6.i49.2
+ i32.load $push25=, 0($8):p2align=3
+ i32.const $push26=, 0
+ i32.load $push27=, a+16($pop26):p2align=4
+ i32.gt_u $push28=, $pop25, $pop27
+ br_if $pop28, 8 # 8: down to label3
+.LBB1_21: # %if.then21
end_block # label10:
call abort@FUNCTION
unreachable
-.LBB1_19: # %land.lhs.true8
+.LBB1_22: # %land.lhs.true8
# in Loop: Header=BB1_1 Depth=1
end_block # label9:
- i32.ne $push26=, $9, $0
- br_if $pop26, 0 # 0: down to label8
-# BB#20: # %if.end6.i63
+ i32.load $push37=, 0($7)
+ i32.ne $push38=, $pop37, $0
+ br_if $pop38, 0 # 0: down to label8
+# BB#23: # %if.end6.i63
# in Loop: Header=BB1_1 Depth=1
- i32.load $push27=, 0($8)
- i32.eq $push28=, $pop27, $1
- br_if $pop28, 2 # 2: down to label6
-.LBB1_21: # %if.then13
+ i32.load $push39=, 0($8):p2align=3
+ i32.eq $push40=, $pop39, $1
+ br_if $pop40, 2 # 2: down to label6
+.LBB1_24: # %if.then13
end_block # label8:
call abort@FUNCTION
unreachable
-.LBB1_22: # %land.lhs.true
+.LBB1_25: # %land.lhs.true
# in Loop: Header=BB1_1 Depth=1
end_block # label7:
- i32.load $10=, 0($7)
- i32.gt_s $push29=, $10, $0
- br_if $pop29, 5 # 5: down to label1
-# BB#23: # %if.end.i
+ i32.load $push0=, 0($7)
+ tee_local $push66=, $9=, $pop0
+ i32.gt_s $push41=, $pop66, $0
+ br_if $pop41, 5 # 5: down to label1
+# BB#26: # %if.end.i
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push30=, $10, $0
- br_if $pop30, 0 # 0: down to label6
-# BB#24: # %if.end6.i
+ i32.lt_s $push42=, $9, $0
+ br_if $pop42, 0 # 0: down to label6
+# BB#27: # %if.end6.i
# in Loop: Header=BB1_1 Depth=1
- i32.load $push31=, 0($8)
- i32.ge_u $push32=, $pop31, $1
- br_if $pop32, 5 # 5: down to label1
-.LBB1_25: # %land.lhs.true.1
+ i32.load $push43=, 0($8):p2align=3
+ i32.ge_u $push44=, $pop43, $1
+ br_if $pop44, 5 # 5: down to label1
+.LBB1_28: # %land.lhs.true.1
# in Loop: Header=BB1_1 Depth=1
end_block # label6:
- i32.load $10=, 0($7)
- i32.gt_s $push33=, $10, $2
- br_if $pop33, 4 # 4: down to label1
-# BB#26: # %if.end.i.1
+ i32.load $push2=, 0($7)
+ tee_local $push69=, $9=, $pop2
+ i32.gt_s $push45=, $pop69, $2
+ br_if $pop45, 4 # 4: down to label1
+# BB#29: # %if.end.i.1
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push34=, $10, $2
- br_if $pop34, 0 # 0: down to label5
-# BB#27: # %if.end6.i.1
+ i32.lt_s $push46=, $9, $2
+ br_if $pop46, 0 # 0: down to label5
+# BB#30: # %if.end6.i.1
# in Loop: Header=BB1_1 Depth=1
- i32.load $push35=, 0($8)
- i32.ge_u $push36=, $pop35, $3
- br_if $pop36, 4 # 4: down to label1
-.LBB1_28: # %land.lhs.true.2
+ i32.load $push47=, 0($8):p2align=3
+ i32.ge_u $push48=, $pop47, $3
+ br_if $pop48, 4 # 4: down to label1
+.LBB1_31: # %land.lhs.true.2
# in Loop: Header=BB1_1 Depth=1
end_block # label5:
- i32.load $7=, 0($7)
- i32.gt_s $push37=, $7, $4
- br_if $pop37, 3 # 3: down to label1
-# BB#29: # %if.end.i.2
+ i32.load $push4=, 0($7)
+ tee_local $push73=, $7=, $pop4
+ i32.gt_s $push49=, $pop73, $4
+ br_if $pop49, 3 # 3: down to label1
+# BB#32: # %if.end.i.2
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push38=, $7, $4
- br_if $pop38, 0 # 0: down to label4
-# BB#30: # %if.end6.i.2
+ i32.lt_s $push50=, $7, $4
+ br_if $pop50, 0 # 0: down to label4
+# BB#33: # %if.end6.i.2
# in Loop: Header=BB1_1 Depth=1
- i32.load $push39=, 0($8)
- i32.ge_u $push40=, $pop39, $5
- br_if $pop40, 3 # 3: down to label1
-.LBB1_31: # %for.inc.2
+ i32.load $push51=, 0($8):p2align=3
+ i32.ge_u $push52=, $pop51, $5
+ br_if $pop52, 3 # 3: down to label1
+.LBB1_34: # %for.inc.2
# in Loop: Header=BB1_1 Depth=1
end_block # label4:
- i32.const $push41=, 1
- i32.add $6=, $6, $pop41
- i32.lt_s $push42=, $6, $11
- br_if $pop42, 0 # 0: up to label2
-# BB#32: # %for.end25
+ i32.const $push79=, 1
+ i32.add $6=, $6, $pop79
+ i32.const $push78=, 4
+ i32.lt_s $push53=, $6, $pop78
+ br_if $pop53, 0 # 0: up to label2
+.LBB1_35: # %for.end25
end_loop # label3:
- i32.const $push43=, 0
- return $pop43
-.LBB1_33: # %if.then
+ i32.const $push54=, 0
+ return $pop54
+.LBB1_36: # %if.then
end_block # label1:
call abort@FUNCTION
unreachable
@@ -245,7 +282,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 4
+ .p2align 4
a:
.skip 8
.int32 1 # 0x1
diff --git a/test/torture-s/20120427-2.c.s b/test/torture-s/20120427-2.c.s
index 4c561f2e8..d367abc32 100644
--- a/test/torture-s/20120427-2.c.s
+++ b/test/torture-s/20120427-2.c.s
@@ -7,33 +7,36 @@
sreal_compare: # @sreal_compare
.param i32, i32
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.load $2=, 4($0)
- i32.load $3=, 4($1)
- i32.const $4=, 1
- copy_local $5=, $4
+ i32.const $2=, 1
block
- i32.gt_s $push0=, $2, $3
- br_if $pop0, 0 # 0: down to label0
+ i32.load $push0=, 4($0)
+ tee_local $push11=, $4=, $pop0
+ i32.load $push1=, 4($1)
+ tee_local $push10=, $3=, $pop1
+ i32.gt_s $push4=, $pop11, $pop10
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $5=, -1
- i32.lt_s $push1=, $2, $3
- br_if $pop1, 0 # 0: down to label0
+ i32.const $2=, -1
+ i32.lt_s $push5=, $4, $3
+ br_if $pop5, 0 # 0: down to label0
# BB#2: # %if.end6
- i32.load $2=, 0($0)
- i32.load $3=, 0($1)
- copy_local $5=, $4
- i32.gt_u $push2=, $2, $3
- br_if $pop2, 0 # 0: down to label0
+ i32.const $2=, 1
+ i32.load $push2=, 0($0)
+ tee_local $push13=, $0=, $pop2
+ i32.load $push3=, 0($1)
+ tee_local $push12=, $1=, $pop3
+ i32.gt_u $push6=, $pop13, $pop12
+ br_if $pop6, 0 # 0: down to label0
# BB#3: # %if.end10
- i32.lt_u $push3=, $2, $3
- i32.const $push5=, -1
- i32.const $push4=, 0
- i32.select $5=, $pop3, $pop5, $pop4
+ i32.lt_u $push7=, $0, $1
+ i32.const $push9=, -1
+ i32.const $push8=, 0
+ i32.select $2=, $pop7, $pop9, $pop8
.LBB0_4: # %return
end_block # label0:
- return $5
+ return $2
.endfunc
.Lfunc_end0:
.size sreal_compare, .Lfunc_end0-sreal_compare
@@ -44,196 +47,230 @@ sreal_compare: # @sreal_compare
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $6=, 0
- i32.load $0=, a+4($6)
- i32.load $1=, a($6)
- i32.load $2=, a+12($6)
- i32.load $3=, a+8($6)
- i32.load $4=, a+20($6)
- i32.load $5=, a+16($6)
+ i32.const $push60=, 0
+ i32.load $0=, a+4($pop60)
+ i32.const $push59=, 0
+ i32.load $1=, a($pop59):p2align=4
+ i32.const $push58=, 0
+ i32.load $2=, a+12($pop58)
+ i32.const $push57=, 0
+ i32.load $3=, a+8($pop57):p2align=3
+ i32.const $push56=, 0
+ i32.load $4=, a+20($pop56)
+ i32.const $push55=, 0
+ i32.load $5=, a+16($pop55):p2align=4
.LBB1_1: # %for.cond1.preheader
# =>This Inner Loop Header: Depth=1
block
loop # label2:
- i32.const $10=, 3
- i32.const $push1=, a
- i32.shl $push0=, $6, $10
- i32.add $8=, $pop1, $pop0
- i32.const $11=, 4
- i32.add $7=, $8, $11
+ i32.const $push65=, 3
+ i32.shl $push7=, $6, $pop65
+ tee_local $push64=, $8=, $pop7
+ i32.const $push63=, a+4
+ i32.add $7=, $pop64, $pop63
+ i32.const $push62=, a
+ i32.add $8=, $8, $pop62
block
block
block
block
- i32.const $push2=, -1
- i32.le_s $push3=, $6, $pop2
- br_if $pop3, 0 # 0: down to label7
+ i32.const $push61=, -1
+ i32.le_s $push8=, $6, $pop61
+ br_if $pop8, 0 # 0: down to label7
# BB#2: # %if.end
# in Loop: Header=BB1_1 Depth=1
- i32.load $9=, 0($7)
block
block
- i32.const $push44=, 0
- i32.eq $push45=, $6, $pop44
- br_if $pop45, 0 # 0: down to label9
-# BB#3: # %land.lhs.true16
+ i32.const $push80=, 0
+ i32.eq $push81=, $6, $pop80
+ br_if $pop81, 0 # 0: down to label9
+# BB#3: # %if.end14
+ # in Loop: Header=BB1_1 Depth=1
+ i32.const $push67=, 1
+ i32.lt_s $push9=, $6, $pop67
+ br_if $pop9, 3 # 3: down to label6
+# BB#4: # %land.lhs.true16
# in Loop: Header=BB1_1 Depth=1
block
block
- i32.gt_s $push4=, $9, $0
- br_if $pop4, 0 # 0: down to label11
-# BB#4: # %if.end.i45
+ i32.load $push1=, 0($7)
+ tee_local $push68=, $9=, $pop1
+ i32.gt_s $push10=, $pop68, $0
+ br_if $pop10, 0 # 0: down to label11
+# BB#5: # %if.end.i45
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push5=, $9, $0
- br_if $pop5, 1 # 1: down to label10
-# BB#5: # %if.end6.i49
+ i32.lt_s $push11=, $9, $0
+ br_if $pop11, 1 # 1: down to label10
+# BB#6: # %if.end6.i49
# in Loop: Header=BB1_1 Depth=1
- i32.load $push6=, 0($8)
- i32.le_u $push7=, $pop6, $1
- br_if $pop7, 1 # 1: down to label10
-.LBB1_6: # %if.end.1
+ i32.load $push12=, 0($8):p2align=3
+ i32.le_u $push13=, $pop12, $1
+ br_if $pop13, 1 # 1: down to label10
+.LBB1_7: # %if.end.1
# in Loop: Header=BB1_1 Depth=1
end_block # label11:
- i32.load $9=, 0($7)
block
- i32.const $push8=, 1
- i32.ne $push9=, $6, $pop8
- br_if $pop9, 0 # 0: down to label12
-# BB#7: # %land.lhs.true8.1
+ i32.const $push70=, 1
+ i32.ne $push14=, $6, $pop70
+ br_if $pop14, 0 # 0: down to label12
+# BB#8: # %land.lhs.true8.1
# in Loop: Header=BB1_1 Depth=1
- i32.ne $push23=, $9, $2
- br_if $pop23, 3 # 3: down to label8
-# BB#8: # %if.end6.i63.1
+ i32.load $push33=, 0($7)
+ i32.ne $push34=, $pop33, $2
+ br_if $pop34, 3 # 3: down to label8
+# BB#9: # %if.end6.i63.1
# in Loop: Header=BB1_1 Depth=1
- i32.load $push24=, 0($8)
- i32.eq $push25=, $pop24, $3
- br_if $pop25, 6 # 6: down to label5
+ i32.load $push35=, 0($8):p2align=3
+ i32.eq $push36=, $pop35, $3
+ br_if $pop36, 6 # 6: down to label5
br 3 # 3: down to label8
-.LBB1_9: # %land.lhs.true16.1
+.LBB1_10: # %if.end14.1
# in Loop: Header=BB1_1 Depth=1
end_block # label12:
+ i32.const $push71=, 2
+ i32.lt_s $push15=, $6, $pop71
+ br_if $pop15, 5 # 5: down to label5
+# BB#11: # %land.lhs.true16.1
+ # in Loop: Header=BB1_1 Depth=1
block
- i32.gt_s $push10=, $9, $2
- br_if $pop10, 0 # 0: down to label13
-# BB#10: # %if.end.i45.1
+ i32.load $push3=, 0($7)
+ tee_local $push72=, $9=, $pop3
+ i32.gt_s $push16=, $pop72, $2
+ br_if $pop16, 0 # 0: down to label13
+# BB#12: # %if.end.i45.1
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push11=, $9, $2
- br_if $pop11, 1 # 1: down to label10
-# BB#11: # %if.end6.i49.1
+ i32.lt_s $push17=, $9, $2
+ br_if $pop17, 1 # 1: down to label10
+# BB#13: # %if.end6.i49.1
# in Loop: Header=BB1_1 Depth=1
- i32.load $push12=, 0($8)
- i32.le_u $push13=, $pop12, $3
- br_if $pop13, 1 # 1: down to label10
-.LBB1_12: # %if.end.2
+ i32.load $push18=, 0($8):p2align=3
+ i32.le_u $push19=, $pop18, $3
+ br_if $pop19, 1 # 1: down to label10
+.LBB1_14: # %if.end.2
# in Loop: Header=BB1_1 Depth=1
end_block # label13:
- i32.load $7=, 0($7)
block
- i32.const $push14=, 2
- i32.ne $push15=, $6, $pop14
- br_if $pop15, 0 # 0: down to label14
-# BB#13: # %land.lhs.true8.2
+ i32.const $push74=, 2
+ i32.ne $push20=, $6, $pop74
+ br_if $pop20, 0 # 0: down to label14
+# BB#15: # %land.lhs.true8.2
# in Loop: Header=BB1_1 Depth=1
- i32.ne $push20=, $7, $4
- br_if $pop20, 3 # 3: down to label8
-# BB#14: # %if.end6.i63.2
+ i32.load $push29=, 0($7)
+ i32.ne $push30=, $pop29, $4
+ br_if $pop30, 3 # 3: down to label8
+# BB#16: # %if.end6.i63.2
# in Loop: Header=BB1_1 Depth=1
- copy_local $6=, $10
- i32.load $push21=, 0($8)
- i32.eq $push22=, $pop21, $5
- br_if $pop22, 8 # 8: up to label2
+ i32.const $6=, 3
+ i32.load $push31=, 0($8):p2align=3
+ i32.eq $push32=, $pop31, $5
+ br_if $pop32, 8 # 8: up to label2
br 3 # 3: down to label8
-.LBB1_15: # %land.lhs.true16.2
+.LBB1_17: # %if.end14.2
# in Loop: Header=BB1_1 Depth=1
end_block # label14:
- i32.gt_s $push16=, $7, $4
- br_if $pop16, 6 # 6: down to label4
-# BB#16: # %if.end.i45.2
- # in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push17=, $7, $4
- br_if $pop17, 0 # 0: down to label10
-# BB#17: # %if.end6.i49.2
- # in Loop: Header=BB1_1 Depth=1
- i32.load $push18=, 0($8)
- i32.gt_u $push19=, $pop18, $5
- br_if $pop19, 6 # 6: down to label4
-.LBB1_18: # %if.then21
+ i32.const $push75=, 3
+ i32.lt_s $push21=, $6, $pop75
+ br_if $pop21, 6 # 6: down to label4
+# BB#18: # %land.lhs.true16.2
+ i32.load $push5=, 0($7)
+ tee_local $push77=, $6=, $pop5
+ i32.const $push22=, 0
+ i32.load $push6=, a+20($pop22)
+ tee_local $push76=, $7=, $pop6
+ i32.gt_s $push23=, $pop77, $pop76
+ br_if $pop23, 8 # 8: down to label3
+# BB#19: # %if.end.i45.2
+ i32.lt_s $push24=, $6, $7
+ br_if $pop24, 0 # 0: down to label10
+# BB#20: # %if.end6.i49.2
+ i32.load $push25=, 0($8):p2align=3
+ i32.const $push26=, 0
+ i32.load $push27=, a+16($pop26):p2align=4
+ i32.gt_u $push28=, $pop25, $pop27
+ br_if $pop28, 8 # 8: down to label3
+.LBB1_21: # %if.then21
end_block # label10:
call abort@FUNCTION
unreachable
-.LBB1_19: # %land.lhs.true8
+.LBB1_22: # %land.lhs.true8
# in Loop: Header=BB1_1 Depth=1
end_block # label9:
- i32.ne $push26=, $9, $0
- br_if $pop26, 0 # 0: down to label8
-# BB#20: # %if.end6.i63
+ i32.load $push37=, 0($7)
+ i32.ne $push38=, $pop37, $0
+ br_if $pop38, 0 # 0: down to label8
+# BB#23: # %if.end6.i63
# in Loop: Header=BB1_1 Depth=1
- i32.load $push27=, 0($8)
- i32.eq $push28=, $pop27, $1
- br_if $pop28, 2 # 2: down to label6
-.LBB1_21: # %if.then13
+ i32.load $push39=, 0($8):p2align=3
+ i32.eq $push40=, $pop39, $1
+ br_if $pop40, 2 # 2: down to label6
+.LBB1_24: # %if.then13
end_block # label8:
call abort@FUNCTION
unreachable
-.LBB1_22: # %land.lhs.true
+.LBB1_25: # %land.lhs.true
# in Loop: Header=BB1_1 Depth=1
end_block # label7:
- i32.load $10=, 0($7)
- i32.gt_s $push29=, $10, $0
- br_if $pop29, 5 # 5: down to label1
-# BB#23: # %if.end.i
+ i32.load $push0=, 0($7)
+ tee_local $push66=, $9=, $pop0
+ i32.gt_s $push41=, $pop66, $0
+ br_if $pop41, 5 # 5: down to label1
+# BB#26: # %if.end.i
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push30=, $10, $0
- br_if $pop30, 0 # 0: down to label6
-# BB#24: # %if.end6.i
+ i32.lt_s $push42=, $9, $0
+ br_if $pop42, 0 # 0: down to label6
+# BB#27: # %if.end6.i
# in Loop: Header=BB1_1 Depth=1
- i32.load $push31=, 0($8)
- i32.ge_u $push32=, $pop31, $1
- br_if $pop32, 5 # 5: down to label1
-.LBB1_25: # %land.lhs.true.1
+ i32.load $push43=, 0($8):p2align=3
+ i32.ge_u $push44=, $pop43, $1
+ br_if $pop44, 5 # 5: down to label1
+.LBB1_28: # %land.lhs.true.1
# in Loop: Header=BB1_1 Depth=1
end_block # label6:
- i32.load $10=, 0($7)
- i32.gt_s $push33=, $10, $2
- br_if $pop33, 4 # 4: down to label1
-# BB#26: # %if.end.i.1
+ i32.load $push2=, 0($7)
+ tee_local $push69=, $9=, $pop2
+ i32.gt_s $push45=, $pop69, $2
+ br_if $pop45, 4 # 4: down to label1
+# BB#29: # %if.end.i.1
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push34=, $10, $2
- br_if $pop34, 0 # 0: down to label5
-# BB#27: # %if.end6.i.1
+ i32.lt_s $push46=, $9, $2
+ br_if $pop46, 0 # 0: down to label5
+# BB#30: # %if.end6.i.1
# in Loop: Header=BB1_1 Depth=1
- i32.load $push35=, 0($8)
- i32.ge_u $push36=, $pop35, $3
- br_if $pop36, 4 # 4: down to label1
-.LBB1_28: # %land.lhs.true.2
+ i32.load $push47=, 0($8):p2align=3
+ i32.ge_u $push48=, $pop47, $3
+ br_if $pop48, 4 # 4: down to label1
+.LBB1_31: # %land.lhs.true.2
# in Loop: Header=BB1_1 Depth=1
end_block # label5:
- i32.load $7=, 0($7)
- i32.gt_s $push37=, $7, $4
- br_if $pop37, 3 # 3: down to label1
-# BB#29: # %if.end.i.2
+ i32.load $push4=, 0($7)
+ tee_local $push73=, $7=, $pop4
+ i32.gt_s $push49=, $pop73, $4
+ br_if $pop49, 3 # 3: down to label1
+# BB#32: # %if.end.i.2
# in Loop: Header=BB1_1 Depth=1
- i32.lt_s $push38=, $7, $4
- br_if $pop38, 0 # 0: down to label4
-# BB#30: # %if.end6.i.2
+ i32.lt_s $push50=, $7, $4
+ br_if $pop50, 0 # 0: down to label4
+# BB#33: # %if.end6.i.2
# in Loop: Header=BB1_1 Depth=1
- i32.load $push39=, 0($8)
- i32.ge_u $push40=, $pop39, $5
- br_if $pop40, 3 # 3: down to label1
-.LBB1_31: # %for.inc.2
+ i32.load $push51=, 0($8):p2align=3
+ i32.ge_u $push52=, $pop51, $5
+ br_if $pop52, 3 # 3: down to label1
+.LBB1_34: # %for.inc.2
# in Loop: Header=BB1_1 Depth=1
end_block # label4:
- i32.const $push41=, 1
- i32.add $6=, $6, $pop41
- i32.lt_s $push42=, $6, $11
- br_if $pop42, 0 # 0: up to label2
-# BB#32: # %for.end25
+ i32.const $push79=, 1
+ i32.add $6=, $6, $pop79
+ i32.const $push78=, 4
+ i32.lt_s $push53=, $6, $pop78
+ br_if $pop53, 0 # 0: up to label2
+.LBB1_35: # %for.end25
end_loop # label3:
- i32.const $push43=, 0
- return $pop43
-.LBB1_33: # %if.then
+ i32.const $push54=, 0
+ return $pop54
+.LBB1_36: # %if.then
end_block # label1:
call abort@FUNCTION
unreachable
@@ -245,7 +282,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 4
+ .p2align 4
a:
.skip 8
.int32 1 # 0x1
diff --git a/test/torture-s/20120808-1.c.s b/test/torture-s/20120808-1.c.s
index fd24fb2d6..f6efc9368 100644
--- a/test/torture-s/20120808-1.c.s
+++ b/test/torture-s/20120808-1.c.s
@@ -6,124 +6,123 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i64, i32, i32, i32
# BB#0: # %entry
- i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 32
- i32.sub $15=, $9, $10
- i32.const $10=, __stack_pointer
- i32.store $15=, 0($10), $15
- i32.const $push0=, 24
- i32.const $11=, 0
- i32.add $11=, $15, $11
- i32.add $push1=, $11, $pop0
- i64.const $push2=, 0
- i64.store $5=, 0($pop1), $pop2
- i32.const $3=, 16
- i32.const $12=, 0
- i32.add $12=, $15, $12
- i32.add $push3=, $12, $3
- i64.store $discard=, 0($pop3), $5
- i32.const $push4=, 8
- i32.const $13=, 0
- i32.add $13=, $15, $13
- i32.or $push5=, $13, $pop4
- i64.store $push6=, 0($pop5), $5
- i64.store $discard=, 0($15), $pop6
- i32.const $7=, 0
- i32.load $1=, i($7)
- i32.const $4=, 1
- i32.const $push7=, d
- i32.add $push8=, $1, $pop7
- i32.add $0=, $pop8, $4
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 32
+ i32.sub $8=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ i32.const $push8=, 8
+ i32.or $push9=, $8, $pop8
+ i32.const $push5=, 16
+ i32.add $push6=, $8, $pop5
+ i32.const $push1=, 24
+ i32.add $push2=, $8, $pop1
+ i64.const $push3=, 0
+ i64.store $push4=, 0($pop2), $pop3
+ i64.store $push7=, 0($pop6):p2align=4, $pop4
+ i64.store $push10=, 0($pop9), $pop7
+ i64.store $discard=, 0($8):p2align=4, $pop10
+ i32.const $push44=, 0
+ i32.load $push11=, i($pop44)
+ i32.const $push12=, d+1
+ i32.add $0=, $pop11, $pop12
+ i32.const $2=, 0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.add $1=, $0, $7
- i32.load8_u $2=, 0($1)
+ i32.add $push0=, $0, $2
+ tee_local $push46=, $4=, $pop0
+ i32.load8_u $1=, 0($pop46)
block
block
- i32.const $push9=, 25
- i32.eq $push10=, $7, $pop9
- br_if $pop10, 0 # 0: down to label3
+ i32.const $push45=, 25
+ i32.eq $push13=, $2, $pop45
+ br_if $pop13, 0 # 0: down to label3
# BB#2: # %for.body
# in Loop: Header=BB0_1 Depth=1
block
- i32.const $push11=, 2
- i32.eq $push12=, $7, $pop11
- br_if $pop12, 0 # 0: down to label4
+ i32.const $push47=, 2
+ i32.eq $push14=, $2, $pop47
+ br_if $pop14, 0 # 0: down to label4
# BB#3: # %for.body
# in Loop: Header=BB0_1 Depth=1
- i32.const $8=, 255
- i32.ne $push13=, $7, $4
- br_if $pop13, 2 # 2: down to label2
+ i32.const $3=, 255
+ i32.const $push48=, 1
+ i32.ne $push15=, $2, $pop48
+ br_if $pop15, 2 # 2: down to label2
# BB#4: # %sw.bb
# in Loop: Header=BB0_1 Depth=1
- i32.const $8=, 253
+ i32.const $3=, 253
br 2 # 2: down to label2
.LBB0_5: # %sw.bb1
# in Loop: Header=BB0_1 Depth=1
end_block # label4:
- i32.const $8=, 251
+ i32.const $3=, 251
br 1 # 1: down to label2
.LBB0_6: # %sw.bb3
# in Loop: Header=BB0_1 Depth=1
end_block # label3:
- i32.const $8=, 254
+ i32.const $3=, 254
.LBB0_7: # %sw.epilog
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
- i32.const $14=, 0
- i32.add $14=, $15, $14
- i32.add $push15=, $14, $7
- i32.or $push14=, $8, $2
- i32.store8 $discard=, 0($pop15), $pop14
- i32.const $8=, 0
- i32.store $discard=, cp($8), $1
- i32.add $7=, $7, $4
- i32.const $push16=, 30
- i32.ne $push17=, $7, $pop16
- br_if $pop17, 0 # 0: up to label0
+ i32.add $push17=, $8, $2
+ i32.or $push16=, $3, $1
+ i32.store8 $discard=, 0($pop17), $pop16
+ i32.const $push51=, 0
+ i32.store $discard=, cp($pop51), $4
+ i32.const $push50=, 1
+ i32.add $2=, $2, $pop50
+ i32.const $push49=, 30
+ i32.ne $push18=, $2, $pop49
+ br_if $pop18, 0 # 0: up to label0
# BB#8: # %for.end
end_loop # label1:
- i64.load $5=, 0($15)
block
- i64.const $push22=, 65535
- i64.and $push23=, $5, $pop22
- i64.const $push24=, 65023
- i64.ne $push25=, $pop23, $pop24
- br_if $pop25, 0 # 0: down to label5
-# BB#9: # %for.end
- i32.wrap/i64 $push21=, $5
- i32.shr_u $push18=, $pop21, $3
- i32.const $push26=, 255
- i32.and $push27=, $pop18, $pop26
- i32.const $push28=, 251
- i32.ne $push29=, $pop27, $pop28
+ i64.load $push22=, 0($8):p2align=4
+ tee_local $push52=, $5=, $pop22
+ i64.const $push25=, 65535
+ i64.and $push26=, $pop52, $pop25
+ i64.const $push28=, 65023
+ i64.ne $push29=, $pop26, $pop28
br_if $pop29, 0 # 0: down to label5
+# BB#9: # %for.end
+ i32.wrap/i64 $push23=, $5
+ i32.const $push24=, 16
+ i32.shr_u $push19=, $pop23, $pop24
+ i32.const $push30=, 255
+ i32.and $push31=, $pop19, $pop30
+ i32.const $push32=, 251
+ i32.ne $push33=, $pop31, $pop32
+ br_if $pop33, 0 # 0: down to label5
# BB#10: # %for.end
- i32.load $push19=, 0($15)
- i32.const $push30=, -16777216
- i32.lt_u $push31=, $pop19, $pop30
- br_if $pop31, 0 # 0: down to label5
+ i32.load $push20=, 0($8):p2align=4
+ i32.const $push34=, -16777216
+ i32.lt_u $push35=, $pop20, $pop34
+ br_if $pop35, 0 # 0: down to label5
# BB#11: # %for.end
- i64.const $6=, 1095216660480
- i64.and $push20=, $5, $6
- i64.ne $push32=, $pop20, $6
- br_if $pop32, 0 # 0: down to label5
+ i64.const $push27=, 1095216660480
+ i64.and $push21=, $5, $pop27
+ i64.const $push36=, 1095216660480
+ i64.ne $push37=, $pop21, $pop36
+ br_if $pop37, 0 # 0: down to label5
# BB#12: # %lor.lhs.false29
- i32.load8_u $push33=, 25($15)
- i32.const $push34=, 254
- i32.ne $push35=, $pop33, $pop34
- br_if $pop35, 0 # 0: down to label5
+ i32.load8_u $push38=, 25($8)
+ i32.const $push39=, 254
+ i32.ne $push40=, $pop38, $pop39
+ br_if $pop40, 0 # 0: down to label5
# BB#13: # %lor.lhs.false34
- i32.load $push36=, cp($8)
- i32.const $push37=, d+30
- i32.ne $push38=, $pop36, $pop37
- br_if $pop38, 0 # 0: down to label5
+ i32.const $push53=, 0
+ i32.load $push41=, cp($pop53)
+ i32.const $push42=, d+30
+ i32.ne $push43=, $pop41, $pop42
+ br_if $pop43, 0 # 0: down to label5
# BB#14: # %if.end
- call exit@FUNCTION, $8
+ i32.const $push54=, 0
+ call exit@FUNCTION, $pop54
unreachable
.LBB0_15: # %if.then
end_block # label5:
@@ -137,7 +136,7 @@ main: # @main
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 4
+ .p2align 4
d:
.skip 32
.size d, 32
@@ -146,7 +145,7 @@ d:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -155,7 +154,7 @@ i:
.type cp,@object
.section .bss.cp,"aw",@nobits
.globl cp
- .align 2
+ .p2align 2
cp:
.int32 0
.size cp, 4
diff --git a/test/torture-s/20120817-1.c.s b/test/torture-s/20120817-1.c.s
index 5a4e013cc..0ce4b7547 100644
--- a/test/torture-s/20120817-1.c.s
+++ b/test/torture-s/20120817-1.c.s
@@ -49,7 +49,7 @@ main: # @main
.type foo,@object
.section .bss.foo,"aw",@nobits
.globl foo
- .align 2
+ .p2align 2
foo:
.int32 0 # 0x0
.size foo, 4
diff --git a/test/torture-s/20120919-1.c.s b/test/torture-s/20120919-1.c.s
index 42d301aa1..b6ae0dca2 100644
--- a/test/torture-s/20120919-1.c.s
+++ b/test/torture-s/20120919-1.c.s
@@ -25,74 +25,80 @@ init: # @init
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, f64, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, f64, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 6144
+ i32.sub $13=, $8, $9
i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 6144
- i32.sub $14=, $9, $10
- i32.const $10=, __stack_pointer
- i32.store $14=, 0($10), $14
- i32.const $push0=, 1
- i32.store $4=, 12($14), $pop0
- i32.const $12=, 12
- i32.add $12=, $14, $12
- i32.const $13=, 16
- i32.add $13=, $14, $13
- call init@FUNCTION, $12, $13
- i32.load $0=, 12($14)
- i32.const $8=, 0
+ i32.store $13=, 0($9), $13
+ i32.const $push1=, 1
+ i32.store $3=, 12($13), $pop1
+ i32.const $11=, 12
+ i32.add $11=, $13, $11
+ i32.const $12=, 16
+ i32.add $12=, $13, $12
+ call init@FUNCTION, $11, $12
block
- i32.lt_s $push1=, $0, $8
- br_if $pop1, 0 # 0: down to label1
+ i32.load $push0=, 12($13)
+ tee_local $push15=, $6=, $pop0
+ i32.const $push14=, 0
+ i32.lt_s $push2=, $pop15, $pop14
+ br_if $pop2, 0 # 0: down to label1
# BB#1: # %while.body.lr.ph
- i32.load $1=, pd($8)
- i32.load $2=, pi($8)
- i32.const $7=, -1
+ i32.const $push17=, 0
+ i32.load $0=, pd($pop17)
+ i32.const $push16=, 0
+ i32.load $1=, pi($pop16)
+ i32.const $4=, -1
+ i32.const $5=, 0
.LBB1_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label2:
block
- br_if $7, 0 # 0: down to label4
+ br_if $4, 0 # 0: down to label4
# BB#3: # %if.then
# in Loop: Header=BB1_2 Depth=1
- f64.load $5=, 0($1)
- i32.load $3=, 0($2)
+ i32.load $2=, 0($1)
block
- f64.const $push2=, 0x0p0
- f64.le $push3=, $5, $pop2
- f64.ne $push4=, $5, $5
- i32.or $push5=, $pop3, $pop4
- br_if $pop5, 0 # 0: down to label5
+ f64.load $push3=, 0($0)
+ tee_local $push19=, $7=, $pop3
+ f64.const $push18=, 0x0p0
+ f64.le $push4=, $pop19, $pop18
+ f64.ne $push5=, $7, $7
+ i32.or $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label5
# BB#4: # %if.then3
# in Loop: Header=BB1_2 Depth=1
- i32.const $6=, 0
- i32.gt_s $push6=, $3, $6
- i32.select $push7=, $pop6, $3, $6
- i32.add $8=, $pop7, $8
+ i32.const $push21=, 0
+ i32.gt_s $push7=, $2, $pop21
+ i32.const $push20=, 0
+ i32.select $push8=, $pop7, $2, $pop20
+ i32.add $5=, $pop8, $5
.LBB1_5: # %if.end8
# in Loop: Header=BB1_2 Depth=1
end_block # label5:
- f64.convert_s/i32 $push8=, $3
- f64.store $discard=, 0($1), $pop8
+ f64.convert_s/i32 $push9=, $2
+ f64.store $discard=, 0($0), $pop9
.LBB1_6: # %if.end11
# in Loop: Header=BB1_2 Depth=1
end_block # label4:
- i32.add $7=, $7, $4
- i32.lt_s $push9=, $7, $0
- br_if $pop9, 0 # 0: up to label2
+ i32.add $4=, $4, $3
+ i32.lt_s $push10=, $4, $6
+ br_if $pop10, 0 # 0: up to label2
# BB#7: # %while.end
end_loop # label3:
- i32.const $push10=, 1234567890
- i32.ne $push11=, $8, $pop10
- br_if $pop11, 0 # 0: down to label1
+ i32.const $push11=, 1234567890
+ i32.ne $push12=, $5, $pop11
+ br_if $pop12, 0 # 0: down to label1
# BB#8: # %if.end15
- i32.const $push12=, 0
- i32.const $11=, 6144
- i32.add $14=, $14, $11
- i32.const $11=, __stack_pointer
- i32.store $14=, 0($11), $14
- return $pop12
+ i32.const $push13=, 0
+ i32.const $10=, 6144
+ i32.add $13=, $13, $10
+ i32.const $10=, __stack_pointer
+ i32.store $13=, 0($10), $13
+ return $pop13
.LBB1_9: # %if.then14
end_block # label1:
call abort@FUNCTION
@@ -105,7 +111,7 @@ main: # @main
.type vd,@object
.section .data.vd,"aw",@progbits
.globl vd
- .align 4
+ .p2align 4
vd:
.int64 4607182418800017408 # double 1
.int64 0 # double 0
@@ -115,7 +121,7 @@ vd:
.type vi,@object
.section .data.vi,"aw",@progbits
.globl vi
- .align 2
+ .p2align 2
vi:
.int32 1234567890 # 0x499602d2
.int32 0 # 0x0
@@ -125,7 +131,7 @@ vi:
.type pd,@object
.section .data.pd,"aw",@progbits
.globl pd
- .align 2
+ .p2align 2
pd:
.int32 vd
.size pd, 4
@@ -134,7 +140,7 @@ pd:
.type pi,@object
.section .data.pi,"aw",@progbits
.globl pi
- .align 2
+ .p2align 2
pi:
.int32 vi
.size pi, 4
diff --git a/test/torture-s/20121108-1.c.s b/test/torture-s/20121108-1.c.s
index 2733a105c..fdf00439f 100644
--- a/test/torture-s/20121108-1.c.s
+++ b/test/torture-s/20121108-1.c.s
@@ -48,86 +48,100 @@ strtoul1: # @strtoul1
string_to_ip: # @string_to_ip
.param i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 16
- i32.sub $12=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $12=, 0($7), $12
- i32.const $5=, 0
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $9=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $9=, 0($3), $9
+ i32.const $1=, 0
block
- i32.const $push14=, 0
- i32.eq $push15=, $0, $pop14
- br_if $pop15, 0 # 0: down to label1
+ i32.const $push40=, 0
+ i32.eq $push41=, $0, $pop40
+ br_if $pop41, 0 # 0: down to label1
# BB#1: # %if.end9
- i32.const $9=, 12
- i32.add $9=, $12, $9
- i32.call $5=, strtoul1@FUNCTION, $0, $9, $0
- i32.load $0=, 12($12)
- i32.const $3=, 1
- i32.load8_u $push0=, 0($0)
- i32.add $push1=, $0, $3
- i32.select $1=, $pop0, $pop1, $0
- i32.const $0=, 8
+ i32.const $5=, 12
+ i32.add $5=, $9, $5
+ i32.call $push3=, strtoul1@FUNCTION, $0, $5, $0
+ i32.const $push29=, 8
+ i32.shl $push7=, $pop3, $pop29
+ i32.const $push8=, 65280
+ i32.and $0=, $pop7, $pop8
block
block
- i32.shl $push2=, $5, $0
- i32.const $push3=, 65280
- i32.and $5=, $pop2, $pop3
- i32.const $push16=, 0
- i32.eq $push17=, $1, $pop16
- br_if $pop17, 0 # 0: down to label3
+ i32.load $push4=, 12($9)
+ tee_local $push28=, $1=, $pop4
+ i32.load8_u $push5=, 0($pop28)
+ i32.const $push27=, 1
+ i32.add $push6=, $1, $pop27
+ i32.select $push0=, $pop5, $pop6, $1
+ tee_local $push26=, $1=, $pop0
+ i32.const $push42=, 0
+ i32.eq $push43=, $pop26, $pop42
+ br_if $pop43, 0 # 0: down to label3
# BB#2: # %if.end9.1
- i32.const $10=, 12
- i32.add $10=, $12, $10
- i32.call $4=, strtoul1@FUNCTION, $1, $10, $0
- i32.load $1=, 12($12)
- i32.load8_u $push5=, 0($1)
- i32.add $push6=, $1, $3
- i32.select $2=, $pop5, $pop6, $1
- i32.const $1=, 255
- i32.and $push4=, $4, $1
- i32.or $5=, $pop4, $5
- i32.const $push18=, 0
- i32.eq $push19=, $2, $pop18
- br_if $pop19, 0 # 0: down to label3
+ i32.const $6=, 12
+ i32.add $6=, $9, $6
+ i32.call $push9=, strtoul1@FUNCTION, $1, $6, $0
+ i32.const $push33=, 255
+ i32.and $push10=, $pop9, $pop33
+ i32.or $0=, $pop10, $0
+ i32.load $push11=, 12($9)
+ tee_local $push32=, $1=, $pop11
+ i32.load8_u $push12=, 0($pop32)
+ i32.const $push31=, 1
+ i32.add $push13=, $1, $pop31
+ i32.select $push1=, $pop12, $pop13, $1
+ tee_local $push30=, $1=, $pop1
+ i32.const $push44=, 0
+ i32.eq $push45=, $pop30, $pop44
+ br_if $pop45, 0 # 0: down to label3
# BB#3: # %if.end9.2
- i32.const $11=, 12
- i32.add $11=, $12, $11
- i32.call $4=, strtoul1@FUNCTION, $2, $11, $0
- i32.load $2=, 12($12)
- i32.load8_u $push9=, 0($2)
- i32.add $push10=, $2, $3
- i32.select $3=, $pop9, $pop10, $2
- i32.and $push8=, $4, $1
- i32.shl $push7=, $5, $0
- i32.or $5=, $pop8, $pop7
- i32.const $push20=, 0
- i32.eq $push21=, $3, $pop20
- br_if $pop21, 1 # 1: down to label2
+ i32.const $7=, 12
+ i32.add $7=, $9, $7
+ i32.call $push14=, strtoul1@FUNCTION, $1, $7, $0
+ i32.const $push38=, 255
+ i32.and $push16=, $pop14, $pop38
+ i32.const $push37=, 8
+ i32.shl $push15=, $0, $pop37
+ i32.or $0=, $pop16, $pop15
+ i32.load $push17=, 12($9)
+ tee_local $push36=, $1=, $pop17
+ i32.load8_u $push18=, 0($pop36)
+ i32.const $push19=, 1
+ i32.add $push20=, $1, $pop19
+ i32.select $push2=, $pop18, $pop20, $1
+ tee_local $push35=, $1=, $pop2
+ i32.const $push46=, 0
+ i32.eq $push47=, $pop35, $pop46
+ br_if $pop47, 1 # 1: down to label2
# BB#4: # %if.then3.3
- i32.const $12=, 12
- i32.add $12=, $12, $12
- i32.call $push11=, strtoul1@FUNCTION, $3, $12, $0
- i32.and $push13=, $pop11, $1
- i32.shl $push12=, $5, $0
- i32.or $5=, $pop13, $pop12
+ i32.const $8=, 12
+ i32.add $8=, $9, $8
+ i32.call $push21=, strtoul1@FUNCTION, $1, $8, $0
+ i32.const $push23=, 255
+ i32.and $push24=, $pop21, $pop23
+ i32.const $push39=, 8
+ i32.shl $push22=, $0, $pop39
+ i32.or $1=, $pop24, $pop22
br 2 # 2: down to label1
.LBB1_5: # %if.end9.2.thread
end_block # label3:
- i32.shl $5=, $5, $0
+ i32.const $push34=, 8
+ i32.shl $0=, $0, $pop34
.LBB1_6: # %cond.end.3
end_block # label2:
- i32.shl $5=, $5, $0
+ i32.const $push25=, 8
+ i32.shl $1=, $0, $pop25
.LBB1_7: # %cleanup
end_block # label1:
- i32.const $8=, 16
- i32.add $12=, $12, $8
- i32.const $8=, __stack_pointer
- i32.store $12=, 0($8), $12
- return $5
+ i32.const $4=, 16
+ i32.add $9=, $9, $4
+ i32.const $4=, __stack_pointer
+ i32.store $9=, 0($4), $9
+ return $1
.endfunc
.Lfunc_end1:
.size string_to_ip, .Lfunc_end1-string_to_ip
@@ -138,59 +152,62 @@ string_to_ip: # @string_to_ip
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $11=, __stack_pointer
- i32.load $11=, 0($11)
- i32.const $12=, 16
- i32.sub $14=, $11, $12
- i32.const $12=, __stack_pointer
- i32.store $14=, 0($12), $14
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 16
+ i32.sub $12=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $12=, 0($10), $12
i32.const $push0=, temp
- i32.call $2=, string_to_ip@FUNCTION, $pop0
+ i32.call $0=, string_to_ip@FUNCTION, $pop0
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $12=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $12=, 0($2), $12
+ i32.store $discard=, 0($12), $0
+ i32.const $push1=, .L.str
+ i32.call $discard=, printf@FUNCTION, $pop1
i32.const $3=, __stack_pointer
i32.load $3=, 0($3)
i32.const $4=, 4
- i32.sub $14=, $3, $4
+ i32.add $12=, $3, $4
i32.const $4=, __stack_pointer
- i32.store $14=, 0($4), $14
- i32.const $1=, .L.str
- i32.store $0=, 0($14), $2
- i32.call $discard=, iprintf@FUNCTION, $1
+ i32.store $12=, 0($4), $12
i32.const $5=, __stack_pointer
i32.load $5=, 0($5)
i32.const $6=, 4
- i32.add $14=, $5, $6
+ i32.sub $12=, $5, $6
i32.const $6=, __stack_pointer
- i32.store $14=, 0($6), $14
- i32.const $2=, 0
+ i32.store $12=, 0($6), $12
+ i32.const $push8=, 0
+ i32.load $push2=, result($pop8)
+ i32.store $discard=, 0($12), $pop2
+ i32.const $push7=, .L.str
+ i32.call $discard=, printf@FUNCTION, $pop7
i32.const $7=, __stack_pointer
i32.load $7=, 0($7)
i32.const $8=, 4
- i32.sub $14=, $7, $8
+ i32.add $12=, $7, $8
i32.const $8=, __stack_pointer
- i32.store $14=, 0($8), $14
- i32.load $push1=, result($2)
- i32.store $discard=, 0($14), $pop1
- i32.call $discard=, iprintf@FUNCTION, $1
- i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 4
- i32.add $14=, $9, $10
- i32.const $10=, __stack_pointer
- i32.store $14=, 0($10), $14
+ i32.store $12=, 0($8), $12
block
- i32.load $push2=, result($2)
- i32.ne $push3=, $0, $pop2
- br_if $pop3, 0 # 0: down to label4
+ i32.const $push6=, 0
+ i32.load $push3=, result($pop6)
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 0 # 0: down to label4
# BB#1: # %if.end
- i32.const $push4=, .Lstr
- i32.call $discard=, puts@FUNCTION, $pop4
- i32.const $13=, 16
- i32.add $14=, $14, $13
- i32.const $13=, __stack_pointer
- i32.store $14=, 0($13), $14
- return $2
+ i32.const $push5=, .Lstr
+ i32.call $discard=, puts@FUNCTION, $pop5
+ i32.const $push9=, 0
+ i32.const $11=, 16
+ i32.add $12=, $12, $11
+ i32.const $11=, __stack_pointer
+ i32.store $12=, 0($11), $12
+ return $pop9
.LBB2_2: # %if.then
end_block # label4:
call abort@FUNCTION
@@ -203,7 +220,7 @@ main: # @main
.type temp,@object
.section .data.temp,"aw",@progbits
.globl temp
- .align 4
+ .p2align 4
temp:
.asciz "192.168.190.160"
.size temp, 16
@@ -212,7 +229,7 @@ temp:
.type result,@object
.section .data.result,"aw",@progbits
.globl result
- .align 2
+ .p2align 2
result:
.int32 3232284320 # 0xc0a8bea0
.size result, 4
diff --git a/test/torture-s/20131127-1.c.s b/test/torture-s/20131127-1.c.s
index 371dc2433..99ca42004 100644
--- a/test/torture-s/20131127-1.c.s
+++ b/test/torture-s/20131127-1.c.s
@@ -6,10 +6,21 @@
.type fn1,@function
fn1: # @fn1
.param i32
+ .local i64
# BB#0: # %entry
- i32.const $push0=, c
- i32.const $push1=, 14
- call memcpy@FUNCTION, $0, $pop0, $pop1
+ i32.const $push0=, 12
+ i32.add $push1=, $0, $pop0
+ i32.const $push2=, 0
+ i32.load16_u $push3=, c+12($pop2):p2align=0
+ i32.store16 $discard=, 0($pop1):p2align=0, $pop3
+ i32.const $push8=, 0
+ i64.load $1=, c($pop8):p2align=0
+ i32.const $push4=, 8
+ i32.add $push5=, $0, $pop4
+ i32.const $push7=, 0
+ i32.load $push6=, c+8($pop7):p2align=0
+ i32.store $discard=, 0($pop5):p2align=0, $pop6
+ i64.store $discard=, 0($0):p2align=0, $1
return
.endfunc
.Lfunc_end0:
@@ -20,100 +31,30 @@ fn1: # @fn1
.globl fn2
.type fn2,@function
fn2: # @fn2
- .local i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i64, i32
# BB#0: # %entry
- i32.const $10=, __stack_pointer
- i32.load $10=, 0($10)
- i32.const $11=, 16
- i32.sub $16=, $10, $11
- i32.const $11=, __stack_pointer
- i32.store $16=, 0($11), $16
- i32.const $0=, 1
- i32.const $1=, 0
- i32.const $7=, 8
- i32.const $2=, 3
- i32.const $3=, c+8
- i32.add $push8=, $3, $2
- i32.load8_u $4=, 0($pop8)
- i32.const $5=, 2
- i32.add $push10=, $3, $5
- i32.load8_u $6=, 0($pop10)
- i32.const $push6=, 12
- i32.const $13=, 0
- i32.add $13=, $16, $13
- i32.add $push7=, $13, $pop6
- i32.const $push0=, c+12
- i32.add $push1=, $pop0, $0
- i32.load8_u $push2=, 0($pop1)
- i32.shl $push3=, $pop2, $7
- i32.load8_u $push4=, c+12($1)
- i32.or $push5=, $pop3, $pop4
- i32.store16 $discard=, 0($pop7), $pop5
- i32.const $14=, 0
- i32.add $14=, $16, $14
- i32.add $push20=, $14, $7
- i32.shl $push9=, $4, $7
- i32.or $push11=, $pop9, $6
- i32.const $push12=, 16
- i32.shl $push13=, $pop11, $pop12
- i32.add $push14=, $3, $0
- i32.load8_u $push15=, 0($pop14)
- i32.shl $push16=, $pop15, $7
- i32.load8_u $push17=, c+8($1)
- i32.or $push18=, $pop16, $pop17
- i32.or $push19=, $pop13, $pop18
- i32.store $discard=, 0($pop20), $pop19
- i32.const $7=, c
- i64.const $8=, 8
- i64.const $9=, 16
- i32.const $3=, 14
- i32.const $push29=, 7
- i32.add $push30=, $7, $pop29
- i64.load8_u $push31=, 0($pop30)
- i64.shl $push32=, $pop31, $8
- i32.const $push33=, 6
- i32.add $push34=, $7, $pop33
- i64.load8_u $push35=, 0($pop34)
- i64.or $push36=, $pop32, $pop35
- i64.shl $push37=, $pop36, $9
- i32.const $push21=, 5
- i32.add $push22=, $7, $pop21
- i64.load8_u $push23=, 0($pop22)
- i64.shl $push24=, $pop23, $8
- i32.const $push25=, 4
- i32.add $push26=, $7, $pop25
- i64.load8_u $push27=, 0($pop26)
- i64.or $push28=, $pop24, $pop27
- i64.or $push38=, $pop37, $pop28
- i64.const $push39=, 32
- i64.shl $push40=, $pop38, $pop39
- i32.add $push41=, $7, $2
- i64.load8_u $push42=, 0($pop41)
- i64.shl $push43=, $pop42, $8
- i32.add $push44=, $7, $5
- i64.load8_u $push45=, 0($pop44)
- i64.or $push46=, $pop43, $pop45
- i64.shl $push47=, $pop46, $9
- i32.add $push48=, $7, $0
- i64.load8_u $push49=, 0($pop48)
- i64.shl $push50=, $pop49, $8
- i64.load8_u $push51=, c($1)
- i64.or $push52=, $pop50, $pop51
- i64.or $push53=, $pop47, $pop52
- i64.or $push54=, $pop40, $pop53
- i64.store $discard=, 0($16), $pop54
- i32.const $push55=, b
- i32.const $15=, 0
- i32.add $15=, $16, $15
- call memcpy@FUNCTION, $pop55, $15, $3
- i32.store16 $discard=, a($1), $1
- i32.const $push57=, d
- i32.const $push56=, e
- call memcpy@FUNCTION, $pop57, $pop56, $3
- i32.const $12=, 16
- i32.add $16=, $16, $12
- i32.const $12=, __stack_pointer
- i32.store $16=, 0($12), $16
+ i32.const $push0=, 0
+ i32.load $4=, c+8($pop0):p2align=0
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load16_u $push1=, c+12($pop9):p2align=0
+ i32.store16 $discard=, b+12($pop10):p2align=0, $pop1
+ i32.const $push8=, 0
+ i32.store $discard=, b+8($pop8):p2align=0, $4
+ i32.const $push7=, 0
+ i64.load $0=, c($pop7):p2align=0
+ i32.const $push6=, 0
+ i32.const $push5=, 0
+ i32.store16 $push2=, a($pop6), $pop5
+ tee_local $push4=, $4=, $pop2
+ i32.load16_u $1=, e+12($pop4):p2align=0
+ i32.load $2=, e+8($4):p2align=0
+ i64.load $3=, e($4):p2align=0
+ i32.const $push3=, 0
+ i64.store $discard=, b($pop3):p2align=0, $0
+ i32.store16 $discard=, d+12($4):p2align=0, $1
+ i32.store $discard=, d+8($4):p2align=0, $2
+ i64.store $discard=, d($4):p2align=0, $3
return
.endfunc
.Lfunc_end1:
@@ -125,101 +66,31 @@ fn2: # @fn2
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i64, i32
# BB#0: # %entry
- i32.const $10=, __stack_pointer
- i32.load $10=, 0($10)
- i32.const $11=, 16
- i32.sub $16=, $10, $11
- i32.const $11=, __stack_pointer
- i32.store $16=, 0($11), $16
- i32.const $0=, 1
- i32.const $1=, 0
- i32.const $7=, 8
- i32.const $2=, 3
- i32.const $3=, c+8
- i32.add $push8=, $3, $2
- i32.load8_u $4=, 0($pop8)
- i32.const $5=, 2
- i32.add $push10=, $3, $5
- i32.load8_u $6=, 0($pop10)
- i32.const $push6=, 12
- i32.const $13=, 0
- i32.add $13=, $16, $13
- i32.add $push7=, $13, $pop6
- i32.const $push0=, c+12
- i32.add $push1=, $pop0, $0
- i32.load8_u $push2=, 0($pop1)
- i32.shl $push3=, $pop2, $7
- i32.load8_u $push4=, c+12($1)
- i32.or $push5=, $pop3, $pop4
- i32.store16 $discard=, 0($pop7), $pop5
- i32.const $14=, 0
- i32.add $14=, $16, $14
- i32.add $push20=, $14, $7
- i32.shl $push9=, $4, $7
- i32.or $push11=, $pop9, $6
- i32.const $push12=, 16
- i32.shl $push13=, $pop11, $pop12
- i32.add $push14=, $3, $0
- i32.load8_u $push15=, 0($pop14)
- i32.shl $push16=, $pop15, $7
- i32.load8_u $push17=, c+8($1)
- i32.or $push18=, $pop16, $pop17
- i32.or $push19=, $pop13, $pop18
- i32.store $discard=, 0($pop20), $pop19
- i32.const $7=, c
- i64.const $8=, 8
- i64.const $9=, 16
- i32.const $3=, 14
- i32.const $push29=, 7
- i32.add $push30=, $7, $pop29
- i64.load8_u $push31=, 0($pop30)
- i64.shl $push32=, $pop31, $8
- i32.const $push33=, 6
- i32.add $push34=, $7, $pop33
- i64.load8_u $push35=, 0($pop34)
- i64.or $push36=, $pop32, $pop35
- i64.shl $push37=, $pop36, $9
- i32.const $push21=, 5
- i32.add $push22=, $7, $pop21
- i64.load8_u $push23=, 0($pop22)
- i64.shl $push24=, $pop23, $8
- i32.const $push25=, 4
- i32.add $push26=, $7, $pop25
- i64.load8_u $push27=, 0($pop26)
- i64.or $push28=, $pop24, $pop27
- i64.or $push38=, $pop37, $pop28
- i64.const $push39=, 32
- i64.shl $push40=, $pop38, $pop39
- i32.add $push41=, $7, $2
- i64.load8_u $push42=, 0($pop41)
- i64.shl $push43=, $pop42, $8
- i32.add $push44=, $7, $5
- i64.load8_u $push45=, 0($pop44)
- i64.or $push46=, $pop43, $pop45
- i64.shl $push47=, $pop46, $9
- i32.add $push48=, $7, $0
- i64.load8_u $push49=, 0($pop48)
- i64.shl $push50=, $pop49, $8
- i64.load8_u $push51=, c($1)
- i64.or $push52=, $pop50, $pop51
- i64.or $push53=, $pop47, $pop52
- i64.or $push54=, $pop40, $pop53
- i64.store $discard=, 0($16), $pop54
- i32.const $push55=, b
- i32.const $15=, 0
- i32.add $15=, $16, $15
- call memcpy@FUNCTION, $pop55, $15, $3
- i32.const $push58=, d
- i32.const $push57=, e
- call memcpy@FUNCTION, $pop58, $pop57, $3
- i32.store16 $push56=, a($1), $1
- i32.const $12=, 16
- i32.add $16=, $16, $12
- i32.const $12=, __stack_pointer
- i32.store $16=, 0($12), $16
- return $pop56
+ i32.const $push0=, 0
+ i32.load $4=, c+8($pop0):p2align=0
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load16_u $push1=, c+12($pop9):p2align=0
+ i32.store16 $discard=, b+12($pop10):p2align=0, $pop1
+ i32.const $push8=, 0
+ i32.store $discard=, b+8($pop8):p2align=0, $4
+ i32.const $push7=, 0
+ i64.load $0=, c($pop7):p2align=0
+ i32.const $push6=, 0
+ i32.const $push5=, 0
+ i32.store16 $push2=, a($pop6), $pop5
+ tee_local $push4=, $4=, $pop2
+ i32.load16_u $1=, e+12($pop4):p2align=0
+ i32.load $2=, e+8($4):p2align=0
+ i64.load $3=, e($4):p2align=0
+ i32.const $push3=, 0
+ i64.store $discard=, b($pop3):p2align=0, $0
+ i32.store16 $discard=, d+12($4):p2align=0, $1
+ i32.store $discard=, d+8($4):p2align=0, $2
+ i64.store $discard=, d($4):p2align=0, $3
+ return $4
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -228,7 +99,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 1
+ .p2align 1
a:
.int16 1 # 0x1
.size a, 2
diff --git a/test/torture-s/20140212-1.c.s b/test/torture-s/20140212-1.c.s
index 277ba82e0..8ee3bfccd 100644
--- a/test/torture-s/20140212-1.c.s
+++ b/test/torture-s/20140212-1.c.s
@@ -7,50 +7,58 @@
fn1: # @fn1
.local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, 0
- i32.store $discard=, e($5), $5
- i32.store $discard=, c($5), $5
- i32.load $push0=, a($5)
- i32.ne $push1=, $pop0, $5
- i32.load $push2=, b($5)
- i32.ne $push3=, $pop2, $5
- i32.and $0=, $pop1, $pop3
- i32.load $3=, d($5)
- i32.load $4=, f($5)
- i32.const $push4=, 54
- i32.select $1=, $0, $pop4, $5
- i32.const $push5=, 147
- i32.mul $2=, $1, $pop5
+ i32.const $push2=, 0
+ i32.const $push17=, 0
+ i32.store $push3=, e($pop2), $pop17
+ tee_local $push16=, $5=, $pop3
+ i32.store $push4=, c($pop16), $5
+ tee_local $push15=, $5=, $pop4
+ i32.load $1=, d($pop15)
+ i32.load $2=, f($5)
+ i32.load $push5=, a($5)
+ i32.ne $push6=, $pop5, $5
+ i32.load $push7=, b($5)
+ i32.ne $push8=, $pop7, $5
+ i32.and $push0=, $pop6, $pop8
+ tee_local $push14=, $4=, $pop0
+ i32.const $push9=, 54
+ i32.select $push1=, $pop14, $pop9, $5
+ tee_local $push13=, $3=, $pop1
+ i32.const $push10=, 147
+ i32.mul $0=, $pop13, $pop10
.LBB0_1: # %for.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
block
block
- i32.const $push9=, 0
- i32.eq $push10=, $3, $pop9
- br_if $pop10, 0 # 0: down to label3
+ i32.const $push22=, 0
+ i32.eq $push23=, $1, $pop22
+ br_if $pop23, 0 # 0: down to label3
# BB#2: # %if.then
# in Loop: Header=BB0_1 Depth=1
- i32.const $push6=, 1
- i32.store $discard=, c($5), $pop6
+ i32.const $push18=, 1
+ i32.store $discard=, c($5), $pop18
br 1 # 1: down to label2
.LBB0_3: # %if.else
# in Loop: Header=BB0_1 Depth=1
end_block # label3:
- i32.const $push7=, 9
- i32.store $push8=, i($5), $pop7
- i32.store $discard=, h($5), $pop8
+ i32.const $push19=, 9
+ i32.store $push11=, i($5), $pop19
+ i32.store $discard=, h($5), $pop11
.LBB0_4: # %if.end
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
- i32.const $push11=, 0
- i32.eq $push12=, $4, $pop11
- br_if $pop12, 0 # 0: up to label0
+ i32.const $push24=, 0
+ i32.eq $push25=, $2, $pop24
+ br_if $pop25, 0 # 0: up to label0
# BB#5: # %if.then15
end_loop # label1:
- i32.store $discard=, k($5), $0
- i32.store8 $discard=, j($5), $1
- i32.store8 $discard=, g($5), $2
+ i32.const $push12=, 0
+ i32.store $discard=, k($pop12), $4
+ i32.const $push21=, 0
+ i32.store8 $discard=, j($pop21), $3
+ i32.const $push20=, 0
+ i32.store8 $discard=, g($pop20), $0
return
.endfunc
.Lfunc_end0:
@@ -64,59 +72,65 @@ main: # @main
.result i32
.local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $4=, 0
- i32.store $discard=, e($4), $4
- i32.store $5=, c($4), $4
- i32.load $2=, d($5)
- i32.load $3=, f($5)
- i32.load $push0=, a($5)
- i32.ne $push1=, $pop0, $5
- i32.load $push2=, b($5)
- i32.ne $push3=, $pop2, $5
- i32.and $0=, $pop1, $pop3
- i32.const $push4=, 54
- i32.select $1=, $0, $pop4, $5
+ i32.const $push1=, 0
+ i32.const $push18=, 0
+ i32.store $push2=, e($pop1), $pop18
+ tee_local $push17=, $5=, $pop2
+ i32.store $push3=, c($pop17), $5
+ tee_local $push16=, $5=, $pop3
+ i32.load $1=, d($pop16)
+ i32.load $2=, f($5)
+ i32.load $push4=, a($5)
+ i32.ne $push5=, $pop4, $5
+ i32.load $push6=, b($5)
+ i32.ne $push7=, $pop6, $5
+ i32.and $push0=, $pop5, $pop7
+ tee_local $push15=, $4=, $pop0
+ i32.const $push8=, 54
+ i32.select $0=, $pop15, $pop8, $5
+ copy_local $3=, $5
.LBB1_1: # %for.cond.i
# =>This Inner Loop Header: Depth=1
loop # label4:
block
block
- i32.const $push13=, 0
- i32.eq $push14=, $2, $pop13
- br_if $pop14, 0 # 0: down to label7
+ i32.const $push24=, 0
+ i32.eq $push25=, $1, $pop24
+ br_if $pop25, 0 # 0: down to label7
# BB#2: # %if.then.i
# in Loop: Header=BB1_1 Depth=1
- i32.const $push6=, 0
- i32.const $push5=, 1
- i32.store $5=, c($pop6), $pop5
+ i32.const $push9=, 1
+ i32.store $3=, c($5), $pop9
br 1 # 1: down to label6
.LBB1_3: # %if.else.i
# in Loop: Header=BB1_1 Depth=1
end_block # label7:
- i32.const $4=, 0
- i32.const $push7=, 9
- i32.store $push8=, i($4), $pop7
- i32.store $discard=, h($4), $pop8
+ i32.const $push19=, 9
+ i32.store $push10=, i($5), $pop19
+ i32.store $discard=, h($5), $pop10
.LBB1_4: # %if.end.i
# in Loop: Header=BB1_1 Depth=1
end_block # label6:
- i32.const $push15=, 0
- i32.eq $push16=, $3, $pop15
- br_if $pop16, 0 # 0: up to label4
+ i32.const $push26=, 0
+ i32.eq $push27=, $2, $pop26
+ br_if $pop27, 0 # 0: up to label4
# BB#5: # %fn1.exit
end_loop # label5:
- i32.const $4=, 0
- i32.store $discard=, k($4), $0
- i32.store8 $discard=, j($4), $1
+ i32.const $push22=, 0
+ i32.store $discard=, k($pop22), $4
+ i32.const $push21=, 0
+ i32.store8 $discard=, j($pop21), $0
+ i32.const $push20=, 0
+ i32.const $push11=, 147
+ i32.mul $push12=, $0, $pop11
+ i32.store8 $discard=, g($pop20), $pop12
block
- i32.const $push9=, 147
- i32.mul $push10=, $1, $pop9
- i32.store8 $discard=, g($4), $pop10
- i32.const $push11=, 1
- i32.ne $push12=, $5, $pop11
- br_if $pop12, 0 # 0: down to label8
+ i32.const $push13=, 1
+ i32.ne $push14=, $3, $pop13
+ br_if $pop14, 0 # 0: down to label8
# BB#6: # %if.end
- return $4
+ i32.const $push23=, 0
+ return $pop23
.LBB1_7: # %if.then
end_block # label8:
call abort@FUNCTION
@@ -129,7 +143,7 @@ main: # @main
.type d,@object
.section .data.d,"aw",@progbits
.globl d
- .align 2
+ .p2align 2
d:
.int32 1 # 0x1
.size d, 4
@@ -138,7 +152,7 @@ d:
.type f,@object
.section .data.f,"aw",@progbits
.globl f
- .align 2
+ .p2align 2
f:
.int32 1 # 0x1
.size f, 4
@@ -147,7 +161,7 @@ f:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
@@ -156,7 +170,7 @@ e:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -165,7 +179,7 @@ c:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -174,7 +188,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -183,7 +197,7 @@ b:
.type k,@object
.section .bss.k,"aw",@nobits
.globl k
- .align 2
+ .p2align 2
k:
.int32 0 # 0x0
.size k, 4
@@ -208,7 +222,7 @@ g:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -217,7 +231,7 @@ i:
.type h,@object
.section .bss.h,"aw",@nobits
.globl h
- .align 2
+ .p2align 2
h:
.int32 0 # 0x0
.size h, 4
diff --git a/test/torture-s/20140326-1.c.s b/test/torture-s/20140326-1.c.s
index 0daba7890..4c4fb001b 100644
--- a/test/torture-s/20140326-1.c.s
+++ b/test/torture-s/20140326-1.c.s
@@ -17,7 +17,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
diff --git a/test/torture-s/20140425-1.c.s b/test/torture-s/20140425-1.c.s
index c4d70faee..e392714b5 100644
--- a/test/torture-s/20140425-1.c.s
+++ b/test/torture-s/20140425-1.c.s
@@ -17,21 +17,22 @@ main: # @main
i32.const $4=, 12
i32.add $4=, $5, $4
call set@FUNCTION, $4
- i32.load $0=, 12($5)
+ i32.const $push1=, 2
+ i32.load $push0=, 12($5)
+ tee_local $push6=, $0=, $pop0
+ i32.shl $push2=, $pop1, $pop6
+ i32.store $discard=, 12($5), $pop2
block
- i32.const $push0=, 2
- i32.shl $push1=, $pop0, $0
- i32.store $discard=, 12($5), $pop1
- i32.const $push2=, 30
- i32.le_u $push3=, $0, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push3=, 30
+ i32.le_u $push4=, $0, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $push4=, 0
+ i32.const $push5=, 0
i32.const $3=, 16
i32.add $5=, $5, $3
i32.const $3=, __stack_pointer
i32.store $5=, 0($3), $5
- return $pop4
+ return $pop5
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/920411-1.c.s b/test/torture-s/920411-1.c.s
index 97ac154e7..d4802e0e2 100644
--- a/test/torture-s/920411-1.c.s
+++ b/test/torture-s/920411-1.c.s
@@ -7,40 +7,9 @@
f: # @f
.param i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 16
- i32.sub $6=, $1, $2
- i32.const $2=, __stack_pointer
- i32.store $6=, 0($2), $6
- i32.load8_u $push0=, 0($0)
- i32.store8 $discard=, 12($6), $pop0
- i32.const $push2=, 1
- i32.const $4=, 12
- i32.add $4=, $6, $4
- i32.or $push3=, $4, $pop2
- i32.load8_u $push1=, 1($0)
- i32.store8 $discard=, 0($pop3), $pop1
- i32.const $push5=, 2
- i32.const $5=, 12
- i32.add $5=, $6, $5
- i32.or $push6=, $5, $pop5
- i32.load8_u $push4=, 2($0)
- i32.store8 $discard=, 0($pop6), $pop4
- i32.const $push8=, 3
- i32.const $6=, 12
- i32.add $6=, $6, $6
- i32.or $push9=, $6, $pop8
- i32.load8_u $push7=, 3($0)
- i32.store8 $discard=, 0($pop9), $pop7
- i32.load $push10=, 12($6)
- i32.const $3=, 16
- i32.add $6=, $6, $3
- i32.const $3=, __stack_pointer
- i32.store $6=, 0($3), $6
- return $pop10
+ i32.load $push0=, 0($0):p2align=0
+ return $pop0
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/920429-1.c.s b/test/torture-s/920429-1.c.s
index 692696733..a818928a8 100644
--- a/test/torture-s/920429-1.c.s
+++ b/test/torture-s/920429-1.c.s
@@ -7,20 +7,25 @@
f: # @f
.param i32
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.load8_u $2=, 0($0)
- i32.const $1=, 1
- i32.const $3=, 0
- i32.shr_u $push1=, $2, $1
- i32.and $push2=, $pop1, $1
- i32.store $discard=, i($3), $pop2
- i32.const $push3=, 7
- i32.and $push4=, $2, $pop3
- i32.add $push5=, $pop4, $1
- i32.store $discard=, j($3), $pop5
- i32.add $push0=, $0, $1
- return $pop0
+ i32.const $push5=, 0
+ i32.load8_u $push2=, 0($0)
+ tee_local $push13=, $1=, $pop2
+ i32.const $push0=, 1
+ i32.shr_u $push3=, $pop13, $pop0
+ i32.const $push12=, 1
+ i32.and $push4=, $pop3, $pop12
+ i32.store $discard=, i($pop5), $pop4
+ i32.const $push11=, 0
+ i32.const $push6=, 7
+ i32.and $push7=, $1, $pop6
+ i32.const $push10=, 1
+ i32.add $push8=, $pop7, $pop10
+ i32.store $discard=, j($pop11), $pop8
+ i32.const $push9=, 1
+ i32.add $push1=, $0, $pop9
+ return $pop1
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
@@ -33,10 +38,12 @@ main: # @main
.result i32
.local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.store $discard=, i($0), $0
- i32.const $push0=, 2
- i32.store $discard=, j($0), $pop0
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.store $push1=, i($pop0), $pop4
+ tee_local $push3=, $0=, $pop1
+ i32.const $push2=, 2
+ i32.store $discard=, j($pop3), $pop2
call exit@FUNCTION, $0
unreachable
.endfunc
@@ -47,7 +54,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -56,7 +63,7 @@ i:
.type j,@object
.section .bss.j,"aw",@nobits
.globl j
- .align 2
+ .p2align 2
j:
.int32 0 # 0x0
.size j, 4
diff --git a/test/torture-s/920501-1.c.s b/test/torture-s/920501-1.c.s
index 8c3193afe..a735865f1 100644
--- a/test/torture-s/920501-1.c.s
+++ b/test/torture-s/920501-1.c.s
@@ -8,23 +8,21 @@ x: # @x
.result i32
.local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, s($0)
+ i32.const $push5=, 0
+ i32.load $push0=, s($pop5)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.then
- i32.load $0=, s+4($0)
+ i32.const $push7=, 0
+ i32.load $push1=, s+4($pop7)
+ tee_local $push6=, $0=, $pop1
i32.const $push2=, 2
- i32.shl $push3=, $0, $pop2
- i32.const $push1=, s
- i32.add $push4=, $pop3, $pop1
- i32.const $push5=, 4
- i32.add $push6=, $pop4, $pop5
- i32.store $discard=, 0($pop6), $0
+ i32.shl $push3=, $pop6, $pop2
+ i32.store $discard=, s+4($pop3), $0
.LBB0_2: # %if.end
end_block # label0:
- i32.const $push7=, 1
- return $pop7
+ i32.const $push4=, 1
+ return $pop4
.endfunc
.Lfunc_end0:
.size x, .Lfunc_end0-x
@@ -35,12 +33,12 @@ x: # @x
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.store $discard=, s($0), $0
- i32.store $push0=, s+4($0), $0
- call exit@FUNCTION, $pop0
+ i32.const $push1=, 0
+ i64.const $push0=, 0
+ i64.store $discard=, s($pop1):p2align=2, $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end1:
@@ -50,7 +48,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 8
.size s, 8
diff --git a/test/torture-s/920501-2.c.s b/test/torture-s/920501-2.c.s
index 78ab455e6..0e78dd87a 100644
--- a/test/torture-s/920501-2.c.s
+++ b/test/torture-s/920501-2.c.s
@@ -7,31 +7,33 @@
gcd_ll: # @gcd_ll
.param i64, i64
.result i32
- .local i64, i64
+ .local i64
# BB#0: # %entry
- i64.const $2=, 0
- copy_local $3=, $0
+ copy_local $2=, $0
block
- i64.eq $push0=, $1, $2
+ i64.const $push5=, 0
+ i64.eq $push0=, $1, $pop5
br_if $pop0, 0 # 0: down to label0
.LBB0_1: # %if.end
# =>This Inner Loop Header: Depth=1
loop # label1:
i64.rem_u $0=, $0, $1
- copy_local $3=, $1
- i64.eq $push1=, $0, $2
+ copy_local $2=, $1
+ i64.const $push6=, 0
+ i64.eq $push1=, $0, $pop6
br_if $pop1, 1 # 1: down to label2
# BB#2: # %if.end5
# in Loop: Header=BB0_1 Depth=1
i64.rem_u $1=, $1, $0
- copy_local $3=, $0
- i64.ne $push2=, $1, $2
- br_if $pop2, 0 # 0: up to label1
+ copy_local $2=, $0
+ i64.const $push2=, 0
+ i64.ne $push3=, $1, $pop2
+ br_if $pop3, 0 # 0: up to label1
.LBB0_3: # %return
end_loop # label2:
end_block # label0:
- i32.wrap/i64 $push3=, $3
- return $pop3
+ i32.wrap/i64 $push4=, $2
+ return $pop4
.endfunc
.Lfunc_end0:
.size gcd_ll, .Lfunc_end0-gcd_ll
@@ -43,58 +45,63 @@ gcd_ll: # @gcd_ll
powmod_ll: # @powmod_ll
.param i64, i32, i64
.result i64
- .local i32, i32, i32, i64
+ .local i32, i32, i64
# BB#0: # %entry
- i64.const $6=, 1
- i32.const $4=, -1
- copy_local $5=, $1
+ i64.const $5=, 1
+ i32.const $3=, -1
+ copy_local $4=, $1
block
- i32.const $push9=, 0
- i32.eq $push10=, $1, $pop9
- br_if $pop10, 0 # 0: down to label3
+ i32.const $push15=, 0
+ i32.eq $push16=, $1, $pop15
+ br_if $pop16, 0 # 0: down to label3
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.const $3=, 1
- i32.shr_u $5=, $5, $3
- i32.add $4=, $4, $3
- br_if $5, 0 # 0: up to label4
+ i32.const $push8=, 1
+ i32.shr_u $4=, $4, $pop8
+ i32.const $push7=, 1
+ i32.add $3=, $3, $pop7
+ br_if $4, 0 # 0: up to label4
# BB#2: # %for.end
end_loop # label5:
- copy_local $6=, $0
- i32.lt_s $push0=, $4, $3
+ copy_local $5=, $0
+ i32.const $push9=, 1
+ i32.lt_s $push0=, $3, $pop9
br_if $pop0, 0 # 0: down to label3
# BB#3: # %for.body4.preheader
- i32.add $5=, $4, $3
- copy_local $6=, $0
+ i32.const $push10=, 1
+ i32.add $4=, $3, $pop10
+ copy_local $5=, $0
.LBB1_4: # %for.body4
# =>This Inner Loop Header: Depth=1
loop # label6:
+ i64.mul $push1=, $5, $5
+ i64.rem_u $5=, $pop1, $2
block
- i64.mul $push1=, $6, $6
- i64.rem_u $6=, $pop1, $2
- i32.const $push2=, -2
- i32.add $push3=, $5, $pop2
- i32.shl $push4=, $3, $pop3
- i32.and $push5=, $pop4, $1
- i32.const $push11=, 0
- i32.eq $push12=, $pop5, $pop11
- br_if $pop12, 0 # 0: down to label8
+ i32.const $push12=, 1
+ i32.const $push11=, -2
+ i32.add $push2=, $4, $pop11
+ i32.shl $push3=, $pop12, $pop2
+ i32.and $push4=, $pop3, $1
+ i32.const $push17=, 0
+ i32.eq $push18=, $pop4, $pop17
+ br_if $pop18, 0 # 0: down to label8
# BB#5: # %if.then5
# in Loop: Header=BB1_4 Depth=1
- i64.mul $push6=, $6, $0
- i64.rem_u $6=, $pop6, $2
+ i64.mul $push5=, $5, $0
+ i64.rem_u $5=, $pop5, $2
.LBB1_6: # %for.inc9
# in Loop: Header=BB1_4 Depth=1
end_block # label8:
- i32.const $push7=, -1
- i32.add $5=, $5, $pop7
- i32.gt_s $push8=, $5, $3
- br_if $pop8, 0 # 0: up to label6
+ i32.const $push14=, -1
+ i32.add $4=, $4, $pop14
+ i32.const $push13=, 1
+ i32.gt_s $push6=, $4, $pop13
+ br_if $pop6, 0 # 0: up to label6
.LBB1_7: # %cleanup
end_loop # label7:
end_block # label3:
- return $6
+ return $5
.endfunc
.Lfunc_end1:
.size powmod_ll, .Lfunc_end1-powmod_ll
@@ -105,18 +112,19 @@ powmod_ll: # @powmod_ll
.type facts,@function
facts: # @facts
.param i64, i32, i32, i32
- .local i64, i64, i64, i64, i64, i32, i64, i64, i64, i32, i64, i64, i64, i32, i32, i32
+ .local i64, i32, i64, i64, i64, i64, i64, i64, i32, i32, i32, i64
# BB#0: # %entry
- i64.extend_s/i32 $4=, $1
- i64.extend_s/i32 $11=, $2
+ i64.extend_s/i32 $7=, $2
+ i64.extend_s/i32 $push0=, $1
+ tee_local $push39=, $15=, $pop0
+ i64.const $push38=, 1
+ i64.add $4=, $pop39, $pop38
i64.const $6=, 1
- i64.add $5=, $4, $6
- copy_local $10=, $6
- copy_local $12=, $11
- i32.const $17=, factab
- i32.const $18=, 1
- i32.const $19=, 0
- copy_local $9=, $18
+ copy_local $8=, $7
+ i32.const $12=, factab
+ i32.const $14=, 0
+ i32.const $13=, 1
+ i32.const $5=, 1
.LBB2_1: # %for.body
# =>This Loop Header: Depth=1
# Child Loop BB2_2 Depth 2
@@ -127,227 +135,251 @@ facts: # @facts
# Child Loop BB2_19 Depth 2
# Child Loop BB2_24 Depth 2
loop # label9:
- copy_local $15=, $12
- copy_local $12=, $5
- copy_local $14=, $6
- i32.const $13=, -1
- copy_local $1=, $3
+ copy_local $10=, $8
+ copy_local $8=, $4
+ i64.const $9=, 1
+ i32.const $1=, -1
+ copy_local $2=, $3
block
- i32.const $push46=, 0
- i32.eq $push47=, $3, $pop46
- br_if $pop47, 0 # 0: down to label11
+ i32.const $push78=, 0
+ i32.eq $push79=, $3, $pop78
+ br_if $pop79, 0 # 0: down to label11
.LBB2_2: # %for.body.i
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label12:
- i32.const $2=, 1
- i32.shr_u $1=, $1, $2
- i32.add $13=, $13, $2
- br_if $1, 0 # 0: up to label12
+ i32.const $push41=, 1
+ i32.shr_u $2=, $2, $pop41
+ i32.const $push40=, 1
+ i32.add $1=, $1, $pop40
+ br_if $2, 0 # 0: up to label12
# BB#3: # %for.end.i
# in Loop: Header=BB2_1 Depth=1
end_loop # label13:
- copy_local $14=, $15
+ copy_local $9=, $10
block
- i32.lt_s $push0=, $13, $2
- br_if $pop0, 0 # 0: down to label14
+ i32.const $push42=, 1
+ i32.lt_s $push2=, $1, $pop42
+ br_if $pop2, 0 # 0: down to label14
# BB#4: # %for.body4.i.preheader
# in Loop: Header=BB2_1 Depth=1
- i32.add $1=, $13, $2
- copy_local $14=, $15
+ i32.const $push43=, 1
+ i32.add $2=, $1, $pop43
+ copy_local $9=, $10
.LBB2_5: # %for.body4.i
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label15:
+ i64.mul $push3=, $9, $9
+ i64.rem_u $9=, $pop3, $0
block
- i64.mul $push1=, $14, $14
- i64.rem_u $14=, $pop1, $0
- i32.const $push2=, -2
- i32.add $push3=, $1, $pop2
- i32.shl $push4=, $2, $pop3
- i32.and $push5=, $pop4, $3
- i32.const $push48=, 0
- i32.eq $push49=, $pop5, $pop48
- br_if $pop49, 0 # 0: down to label17
+ i32.const $push45=, 1
+ i32.const $push44=, -2
+ i32.add $push4=, $2, $pop44
+ i32.shl $push5=, $pop45, $pop4
+ i32.and $push6=, $pop5, $3
+ i32.const $push80=, 0
+ i32.eq $push81=, $pop6, $pop80
+ br_if $pop81, 0 # 0: down to label17
# BB#6: # %if.then5.i
# in Loop: Header=BB2_5 Depth=2
- i64.mul $push6=, $14, $15
- i64.rem_u $14=, $pop6, $0
+ i64.mul $push7=, $9, $10
+ i64.rem_u $9=, $pop7, $0
.LBB2_7: # %for.inc9.i
# in Loop: Header=BB2_5 Depth=2
end_block # label17:
- i32.const $push7=, -1
- i32.add $1=, $1, $pop7
- i32.gt_s $push8=, $1, $2
+ i32.const $push47=, -1
+ i32.add $2=, $2, $pop47
+ i32.const $push46=, 1
+ i32.gt_s $push8=, $2, $pop46
br_if $pop8, 0 # 0: up to label15
.LBB2_8: # %for.body.i114.preheader
# in Loop: Header=BB2_1 Depth=1
end_loop # label16:
end_block # label14:
- i64.add $12=, $14, $4
- i32.const $13=, -1
- copy_local $1=, $3
+ i64.add $8=, $9, $15
+ i32.const $1=, -1
+ copy_local $2=, $3
.LBB2_9: # %for.body.i114
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label18:
- i32.shr_u $1=, $1, $2
- i32.add $13=, $13, $2
- br_if $1, 0 # 0: up to label18
+ i32.const $push49=, 1
+ i32.shr_u $2=, $2, $pop49
+ i32.const $push48=, 1
+ i32.add $1=, $1, $pop48
+ br_if $2, 0 # 0: up to label18
# BB#10: # %for.end.i116
# in Loop: Header=BB2_1 Depth=1
end_loop # label19:
- copy_local $14=, $11
+ copy_local $9=, $7
block
- i32.lt_s $push9=, $13, $2
+ i32.const $push50=, 1
+ i32.lt_s $push9=, $1, $pop50
br_if $pop9, 0 # 0: down to label20
# BB#11: # %for.body4.i125.preheader
# in Loop: Header=BB2_1 Depth=1
- i32.add $1=, $13, $2
- copy_local $14=, $11
+ i32.const $push51=, 1
+ i32.add $2=, $1, $pop51
+ copy_local $9=, $7
.LBB2_12: # %for.body4.i125
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label21:
+ i64.mul $push10=, $9, $9
+ i64.rem_u $9=, $pop10, $0
block
- i64.mul $push10=, $14, $14
- i64.rem_u $14=, $pop10, $0
- i32.const $push11=, -2
- i32.add $push12=, $1, $pop11
- i32.shl $push13=, $2, $pop12
- i32.and $push14=, $pop13, $3
- i32.const $push50=, 0
- i32.eq $push51=, $pop14, $pop50
- br_if $pop51, 0 # 0: down to label23
+ i32.const $push53=, 1
+ i32.const $push52=, -2
+ i32.add $push11=, $2, $pop52
+ i32.shl $push12=, $pop53, $pop11
+ i32.and $push13=, $pop12, $3
+ i32.const $push82=, 0
+ i32.eq $push83=, $pop13, $pop82
+ br_if $pop83, 0 # 0: down to label23
# BB#13: # %if.then5.i128
# in Loop: Header=BB2_12 Depth=2
- i64.mul $push15=, $14, $11
- i64.rem_u $14=, $pop15, $0
+ i64.mul $push14=, $9, $7
+ i64.rem_u $9=, $pop14, $0
.LBB2_14: # %for.inc9.i131
# in Loop: Header=BB2_12 Depth=2
end_block # label23:
- i32.const $push16=, -1
- i32.add $1=, $1, $pop16
- i32.gt_s $push17=, $1, $2
- br_if $pop17, 0 # 0: up to label21
+ i32.const $push55=, -1
+ i32.add $2=, $2, $pop55
+ i32.const $push54=, 1
+ i32.gt_s $push15=, $2, $pop54
+ br_if $pop15, 0 # 0: up to label21
.LBB2_15: # %for.body.i88.preheader
# in Loop: Header=BB2_1 Depth=1
end_loop # label22:
end_block # label20:
- i64.add $15=, $14, $4
- i32.const $13=, -1
- copy_local $1=, $3
+ i64.add $10=, $9, $15
+ i32.const $1=, -1
+ copy_local $2=, $3
.LBB2_16: # %for.body.i88
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label24:
- i32.shr_u $1=, $1, $2
- i32.add $13=, $13, $2
- br_if $1, 0 # 0: up to label24
+ i32.const $push57=, 1
+ i32.shr_u $2=, $2, $pop57
+ i32.const $push56=, 1
+ i32.add $1=, $1, $pop56
+ br_if $2, 0 # 0: up to label24
# BB#17: # %for.end.i90
# in Loop: Header=BB2_1 Depth=1
end_loop # label25:
- copy_local $14=, $15
- i32.lt_s $push18=, $13, $2
- br_if $pop18, 0 # 0: down to label11
+ copy_local $9=, $10
+ i32.const $push58=, 1
+ i32.lt_s $push16=, $1, $pop58
+ br_if $pop16, 0 # 0: down to label11
# BB#18: # %for.body4.i99.preheader
# in Loop: Header=BB2_1 Depth=1
- i32.add $1=, $13, $2
- copy_local $14=, $15
+ i32.const $push59=, 1
+ i32.add $2=, $1, $pop59
+ copy_local $9=, $10
.LBB2_19: # %for.body4.i99
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label26:
+ i64.mul $push17=, $9, $9
+ i64.rem_u $9=, $pop17, $0
block
- i64.mul $push19=, $14, $14
- i64.rem_u $14=, $pop19, $0
- i32.const $push20=, -2
- i32.add $push21=, $1, $pop20
- i32.shl $push22=, $2, $pop21
- i32.and $push23=, $pop22, $3
- i32.const $push52=, 0
- i32.eq $push53=, $pop23, $pop52
- br_if $pop53, 0 # 0: down to label28
+ i32.const $push61=, 1
+ i32.const $push60=, -2
+ i32.add $push18=, $2, $pop60
+ i32.shl $push19=, $pop61, $pop18
+ i32.and $push20=, $pop19, $3
+ i32.const $push84=, 0
+ i32.eq $push85=, $pop20, $pop84
+ br_if $pop85, 0 # 0: down to label28
# BB#20: # %if.then5.i102
# in Loop: Header=BB2_19 Depth=2
- i64.mul $push24=, $14, $15
- i64.rem_u $14=, $pop24, $0
+ i64.mul $push21=, $9, $10
+ i64.rem_u $9=, $pop21, $0
.LBB2_21: # %for.inc9.i105
# in Loop: Header=BB2_19 Depth=2
end_block # label28:
- i32.const $push25=, -1
- i32.add $1=, $1, $pop25
- i32.gt_s $push26=, $1, $2
- br_if $pop26, 0 # 0: up to label26
+ i32.const $push63=, -1
+ i32.add $2=, $2, $pop63
+ i32.const $push62=, 1
+ i32.gt_s $push22=, $2, $pop62
+ br_if $pop22, 0 # 0: up to label26
.LBB2_22: # %powmod_ll.exit107
# in Loop: Header=BB2_1 Depth=1
end_loop # label27:
end_block # label11:
- i64.add $11=, $14, $4
- i64.const $7=, 4294967295
+ i64.add $7=, $9, $15
+ i64.gt_u $push23=, $8, $7
+ i64.sub $push24=, $8, $7
+ i64.sub $push25=, $7, $8
+ i64.select $push26=, $pop23, $pop24, $pop25
+ i64.const $push65=, 4294967295
+ i64.and $push28=, $pop26, $pop65
+ i64.const $push64=, 4294967295
+ i64.and $push27=, $6, $pop64
+ i64.mul $push29=, $pop28, $pop27
+ i64.rem_u $6=, $pop29, $0
block
- i64.gt_u $push27=, $12, $11
- i64.sub $push28=, $12, $11
- i64.sub $push29=, $11, $12
- i64.select $push30=, $pop27, $pop28, $pop29
- i64.and $push32=, $pop30, $7
- i64.and $push31=, $10, $7
- i64.mul $push33=, $pop32, $pop31
- i64.rem_u $10=, $pop33, $0
- i32.ne $push34=, $9, $18
- br_if $pop34, 0 # 0: down to label29
+ i32.ne $push30=, $5, $13
+ br_if $pop30, 0 # 0: down to label29
# BB#23: # %if.then19
# in Loop: Header=BB2_1 Depth=1
- i32.const $2=, 1
- i32.add $19=, $19, $2
- i64.and $14=, $10, $7
- i64.const $8=, 0
- copy_local $15=, $0
- copy_local $16=, $14
+ i64.const $push68=, 4294967295
+ i64.and $9=, $6, $pop68
+ i32.const $push67=, 1
+ i32.add $14=, $14, $pop67
+ copy_local $10=, $0
+ copy_local $11=, $9
block
- i64.eq $push35=, $0, $8
- br_if $pop35, 0 # 0: down to label30
+ i64.const $push66=, 0
+ i64.eq $push31=, $0, $pop66
+ br_if $pop31, 0 # 0: down to label30
.LBB2_24: # %if.end.i
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label31:
- i64.rem_u $14=, $14, $15
- copy_local $16=, $15
- i64.eq $push36=, $14, $8
- br_if $pop36, 1 # 1: down to label32
+ i64.rem_u $9=, $9, $10
+ copy_local $11=, $10
+ i64.const $push69=, 0
+ i64.eq $push32=, $9, $pop69
+ br_if $pop32, 1 # 1: down to label32
# BB#25: # %if.end5.i
# in Loop: Header=BB2_24 Depth=2
- i64.rem_u $15=, $15, $14
- copy_local $16=, $14
- i64.ne $push37=, $15, $8
- br_if $pop37, 0 # 0: up to label31
+ i64.rem_u $10=, $10, $9
+ copy_local $11=, $9
+ i64.const $push70=, 0
+ i64.ne $push33=, $10, $pop70
+ br_if $pop33, 0 # 0: up to label31
.LBB2_26: # %gcd_ll.exit
# in Loop: Header=BB2_1 Depth=1
end_loop # label32:
end_block # label30:
- i32.add $18=, $19, $18
- i32.wrap/i64 $1=, $16
- i32.eq $push38=, $1, $2
- br_if $pop38, 0 # 0: down to label29
+ i32.add $13=, $14, $13
+ i32.wrap/i64 $push1=, $11
+ tee_local $push72=, $2=, $pop1
+ i32.const $push71=, 1
+ i32.eq $push34=, $pop72, $pop71
+ br_if $pop34, 0 # 0: down to label29
# BB#27: # %if.then26
# in Loop: Header=BB2_1 Depth=1
- i32.store $discard=, 0($17), $1
- i32.const $push39=, 4
- i32.add $2=, $17, $pop39
- i64.and $push40=, $16, $7
- i64.div_u $0=, $0, $pop40
- copy_local $17=, $2
- i64.const $push41=, 1
- i64.eq $push42=, $0, $pop41
- br_if $pop42, 2 # 2: down to label10
+ i32.store $discard=, 0($12), $2
+ i32.const $push75=, 4
+ i32.add $2=, $12, $pop75
+ i64.const $push74=, 4294967295
+ i64.and $push35=, $11, $pop74
+ i64.div_u $0=, $0, $pop35
+ copy_local $12=, $2
+ i64.const $push73=, 1
+ i64.eq $push36=, $0, $pop73
+ br_if $pop36, 2 # 2: down to label10
.LBB2_28: # %for.inc
# in Loop: Header=BB2_1 Depth=1
end_block # label29:
- i32.const $push43=, 1
- i32.add $9=, $9, $pop43
- i32.const $push44=, 10000
- i32.lt_s $push45=, $9, $pop44
- br_if $pop45, 0 # 0: up to label9
+ i32.const $push77=, 1
+ i32.add $5=, $5, $pop77
+ i32.const $push76=, 10000
+ i32.lt_s $push37=, $5, $pop76
+ br_if $pop37, 0 # 0: up to label9
.LBB2_29: # %cleanup
end_loop # label10:
return
@@ -361,33 +393,36 @@ facts: # @facts
.type main,@function
main: # @main
.result i32
- .local i32, i64
+ .local i64
# BB#0: # %entry
i64.const $push5=, 134217727
i32.const $push4=, -1
i32.const $push3=, 3
i32.const $push2=, 27
call facts@FUNCTION, $pop5, $pop4, $pop3, $pop2
- i32.const $0=, 0
- i64.load $1=, factab($0)
block
- i32.wrap/i64 $push6=, $1
- i32.const $push7=, 7
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label33
+ i32.const $push17=, 0
+ i64.load $push6=, factab($pop17):p2align=4
+ tee_local $push16=, $0=, $pop6
+ i32.wrap/i64 $push7=, $pop16
+ i32.const $push8=, 7
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label33
# BB#1: # %entry
- i64.const $push9=, -4294967296
- i64.and $push0=, $1, $pop9
- i64.const $push10=, 313532612608
- i64.ne $push11=, $pop0, $pop10
- br_if $pop11, 0 # 0: down to label33
+ i64.const $push10=, -4294967296
+ i64.and $push0=, $0, $pop10
+ i64.const $push11=, 313532612608
+ i64.ne $push12=, $pop0, $pop11
+ br_if $pop12, 0 # 0: down to label33
# BB#2: # %entry
- i32.load $push1=, factab+8($0)
- i32.const $push12=, 262657
- i32.ne $push13=, $pop1, $pop12
- br_if $pop13, 0 # 0: down to label33
+ i32.const $push18=, 0
+ i32.load $push1=, factab+8($pop18):p2align=3
+ i32.const $push13=, 262657
+ i32.ne $push14=, $pop1, $pop13
+ br_if $pop14, 0 # 0: down to label33
# BB#3: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push15=, 0
+ call exit@FUNCTION, $pop15
unreachable
.LBB3_4: # %if.then
end_block # label33:
@@ -401,7 +436,7 @@ main: # @main
.type factab,@object
.section .bss.factab,"aw",@nobits
.globl factab
- .align 4
+ .p2align 4
factab:
.skip 40
.size factab, 40
diff --git a/test/torture-s/920501-8.c.s b/test/torture-s/920501-8.c.s
new file mode 100644
index 000000000..6e2be77b3
--- /dev/null
+++ b/test/torture-s/920501-8.c.s
@@ -0,0 +1,301 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/920501-8.c"
+ .section .text.va,"ax",@progbits
+ .hidden va
+ .globl va
+ .type va,@function
+va: # @va
+ .param i32, f64, i32
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $20=, __stack_pointer
+ i32.load $20=, 0($20)
+ i32.const $21=, 80
+ i32.sub $23=, $20, $21
+ copy_local $24=, $23
+ i32.const $21=, __stack_pointer
+ i32.store $23=, 0($21), $23
+ i32.store $push0=, 76($23), $24
+ i32.const $push1=, 3
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -4
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push108=, $15=, $pop4
+ i32.const $push5=, 4
+ i32.add $push6=, $pop108, $pop5
+ i32.store $discard=, 76($23), $pop6
+ i32.load $3=, 0($15)
+ i32.const $push7=, 7
+ i32.add $push8=, $15, $pop7
+ i32.const $push107=, -4
+ i32.and $push9=, $pop8, $pop107
+ tee_local $push106=, $15=, $pop9
+ i32.const $push105=, 4
+ i32.add $push10=, $pop106, $pop105
+ i32.store $discard=, 76($23), $pop10
+ i32.load $4=, 0($15)
+ i32.const $push104=, 7
+ i32.add $push11=, $15, $pop104
+ i32.const $push103=, -4
+ i32.and $push12=, $pop11, $pop103
+ tee_local $push102=, $15=, $pop12
+ i32.const $push101=, 4
+ i32.add $push13=, $pop102, $pop101
+ i32.store $discard=, 76($23), $pop13
+ i32.load $5=, 0($15)
+ i32.const $push100=, 7
+ i32.add $push14=, $15, $pop100
+ i32.const $push99=, -4
+ i32.and $push15=, $pop14, $pop99
+ tee_local $push98=, $15=, $pop15
+ i32.const $push97=, 4
+ i32.add $push16=, $pop98, $pop97
+ i32.store $discard=, 76($23), $pop16
+ i32.load $6=, 0($15)
+ i32.const $push96=, 7
+ i32.add $push17=, $15, $pop96
+ i32.const $push95=, -4
+ i32.and $push18=, $pop17, $pop95
+ tee_local $push94=, $15=, $pop18
+ i32.const $push93=, 4
+ i32.add $push19=, $pop94, $pop93
+ i32.store $discard=, 76($23), $pop19
+ i32.load $7=, 0($15)
+ i32.const $push92=, 7
+ i32.add $push20=, $15, $pop92
+ i32.const $push91=, -4
+ i32.and $push21=, $pop20, $pop91
+ tee_local $push90=, $15=, $pop21
+ i32.const $push89=, 4
+ i32.add $push22=, $pop90, $pop89
+ i32.store $discard=, 76($23), $pop22
+ i32.load $8=, 0($15)
+ i32.const $push88=, 7
+ i32.add $push23=, $15, $pop88
+ i32.const $push87=, -4
+ i32.and $push24=, $pop23, $pop87
+ tee_local $push86=, $15=, $pop24
+ i32.const $push85=, 4
+ i32.add $push25=, $pop86, $pop85
+ i32.store $discard=, 76($23), $pop25
+ i32.load $9=, 0($15)
+ i32.const $push84=, 7
+ i32.add $push26=, $15, $pop84
+ i32.const $push83=, -4
+ i32.and $push27=, $pop26, $pop83
+ tee_local $push82=, $15=, $pop27
+ i32.const $push81=, 4
+ i32.add $push28=, $pop82, $pop81
+ i32.store $discard=, 76($23), $pop28
+ i32.load $10=, 0($15)
+ i32.const $push80=, 7
+ i32.add $push29=, $15, $pop80
+ i32.const $push79=, -4
+ i32.and $push30=, $pop29, $pop79
+ tee_local $push78=, $15=, $pop30
+ i32.const $push77=, 4
+ i32.add $push31=, $pop78, $pop77
+ i32.store $discard=, 76($23), $pop31
+ i32.load $11=, 0($15)
+ i32.const $push76=, 7
+ i32.add $push32=, $15, $pop76
+ i32.const $push75=, -4
+ i32.and $push33=, $pop32, $pop75
+ tee_local $push74=, $15=, $pop33
+ i32.const $push73=, 4
+ i32.add $push34=, $pop74, $pop73
+ i32.store $discard=, 76($23), $pop34
+ i32.load $12=, 0($15)
+ i32.const $push72=, 7
+ i32.add $push35=, $15, $pop72
+ i32.const $push71=, -4
+ i32.and $push36=, $pop35, $pop71
+ tee_local $push70=, $15=, $pop36
+ i32.const $push69=, 4
+ i32.add $push37=, $pop70, $pop69
+ i32.store $discard=, 76($23), $pop37
+ i32.load $13=, 0($15)
+ i32.const $push68=, 7
+ i32.add $push38=, $15, $pop68
+ i32.const $push67=, -4
+ i32.and $push39=, $pop38, $pop67
+ tee_local $push66=, $15=, $pop39
+ i32.const $push65=, 4
+ i32.add $push40=, $pop66, $pop65
+ i32.store $discard=, 76($23), $pop40
+ i32.load $14=, 0($15)
+ i32.const $push64=, 7
+ i32.add $push41=, $15, $pop64
+ i32.const $push63=, -4
+ i32.and $push42=, $pop41, $pop63
+ tee_local $push62=, $15=, $pop42
+ i32.const $push61=, 4
+ i32.add $push43=, $pop62, $pop61
+ i32.store $discard=, 76($23), $pop43
+ i32.load $15=, 0($15)
+ i32.const $16=, __stack_pointer
+ i32.load $16=, 0($16)
+ i32.const $17=, 72
+ i32.sub $23=, $16, $17
+ i32.const $17=, __stack_pointer
+ i32.store $23=, 0($17), $23
+ i32.store $discard=, 0($23), $0
+ i32.const $push44=, 68
+ i32.add $0=, $23, $pop44
+ i32.store $discard=, 0($0), $15
+ i32.const $push45=, 64
+ i32.add $15=, $23, $pop45
+ i32.store $discard=, 0($15), $14
+ i32.const $push46=, 60
+ i32.add $15=, $23, $pop46
+ i32.store $discard=, 0($15), $13
+ i32.const $push47=, 56
+ i32.add $15=, $23, $pop47
+ i32.store $discard=, 0($15), $12
+ i32.const $push48=, 52
+ i32.add $15=, $23, $pop48
+ i32.store $discard=, 0($15), $11
+ i32.const $push49=, 48
+ i32.add $15=, $23, $pop49
+ i32.store $discard=, 0($15), $10
+ i32.const $push50=, 44
+ i32.add $15=, $23, $pop50
+ i32.store $discard=, 0($15), $9
+ i32.const $push51=, 40
+ i32.add $15=, $23, $pop51
+ i32.store $discard=, 0($15), $8
+ i32.const $push52=, 36
+ i32.add $15=, $23, $pop52
+ i32.store $discard=, 0($15), $7
+ i32.const $push53=, 32
+ i32.add $15=, $23, $pop53
+ i32.store $discard=, 0($15), $6
+ i32.const $push54=, 28
+ i32.add $15=, $23, $pop54
+ i32.store $discard=, 0($15), $5
+ i32.const $push55=, 24
+ i32.add $15=, $23, $pop55
+ i32.store $discard=, 0($15), $4
+ i32.const $push56=, 20
+ i32.add $15=, $23, $pop56
+ i32.store $discard=, 0($15), $3
+ i32.const $push57=, 16
+ i32.add $15=, $23, $pop57
+ i32.store $discard=, 0($15), $2
+ i32.const $push58=, 8
+ i32.add $15=, $23, $pop58
+ f64.store $discard=, 0($15), $1
+ i32.const $push60=, buf
+ i32.const $push59=, .L.str
+ i32.call $discard=, sprintf@FUNCTION, $pop60, $pop59
+ i32.const $18=, __stack_pointer
+ i32.load $18=, 0($18)
+ i32.const $19=, 72
+ i32.add $23=, $18, $19
+ i32.const $19=, __stack_pointer
+ i32.store $23=, 0($19), $23
+ i32.const $22=, 80
+ i32.add $23=, $24, $22
+ i32.const $22=, __stack_pointer
+ i32.store $23=, 0($22), $23
+ return $15
+ .endfunc
+.Lfunc_end0:
+ .size va, .Lfunc_end0-va
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 64
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 52
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i64.const $push0=, 17179869187
+ i64.store $discard=, 0($7):p2align=2, $pop0
+ i32.const $push1=, 48
+ i32.add $0=, $7, $pop1
+ i32.const $push2=, 15
+ i32.store $discard=, 0($0), $pop2
+ i32.const $push3=, 40
+ i32.add $0=, $7, $pop3
+ i64.const $push4=, 60129542157
+ i64.store $discard=, 0($0):p2align=2, $pop4
+ i32.const $push5=, 32
+ i32.add $0=, $7, $pop5
+ i64.const $push6=, 51539607563
+ i64.store $discard=, 0($0):p2align=2, $pop6
+ i32.const $push7=, 24
+ i32.add $0=, $7, $pop7
+ i64.const $push8=, 42949672969
+ i64.store $discard=, 0($0):p2align=2, $pop8
+ i32.const $push9=, 16
+ i32.add $0=, $7, $pop9
+ i64.const $push10=, 34359738375
+ i64.store $discard=, 0($0):p2align=2, $pop10
+ i32.const $push11=, 8
+ i32.add $0=, $7, $pop11
+ i64.const $push12=, 25769803781
+ i64.store $discard=, 0($0):p2align=2, $pop12
+ i32.const $push15=, 1
+ f64.const $push14=, 0x1p0
+ i32.const $push13=, 2
+ i32.call $discard=, va@FUNCTION, $pop15, $pop14, $pop13
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 52
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push17=, .L.str.1
+ i32.const $push16=, buf
+ i32.call $0=, strcmp@FUNCTION, $pop17, $pop16
+ block
+ br_if $0, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push18=, 0
+ call exit@FUNCTION, $pop18
+ unreachable
+.LBB1_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden buf # @buf
+ .type buf,@object
+ .section .bss.buf,"aw",@nobits
+ .globl buf
+ .p2align 4
+buf:
+ .skip 50
+ .size buf, 50
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "%d,%f,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d"
+ .size .L.str, 48
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "1,1.000000,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
+ .size .L.str.1, 45
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/920501-9.c.s b/test/torture-s/920501-9.c.s
index 7e86b2dbc..5c56a0c94 100644
--- a/test/torture-s/920501-9.c.s
+++ b/test/torture-s/920501-9.c.s
@@ -77,62 +77,63 @@ print_longlong: # @print_longlong
i32.const $12=, __stack_pointer
i32.load $12=, 0($12)
i32.const $13=, 16
- i32.sub $13=, $12, $13
+ i32.sub $15=, $12, $13
i32.const $13=, __stack_pointer
- i32.store $13=, 0($13), $13
- i64.const $push0=, 32
- i64.shr_u $push1=, $0, $pop0
- i32.wrap/i64 $2=, $pop1
- i32.wrap/i64 $3=, $0
+ i32.store $15=, 0($13), $15
+ i32.wrap/i64 $2=, $0
block
block
- i32.const $push5=, 0
- i32.eq $push6=, $2, $pop5
- br_if $pop6, 0 # 0: down to label1
+ i64.const $push1=, 32
+ i64.shr_u $push2=, $0, $pop1
+ i32.wrap/i64 $push0=, $pop2
+ tee_local $push6=, $3=, $pop0
+ i32.const $push7=, 0
+ i32.eq $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label1
# BB#1: # %if.then
i32.const $4=, __stack_pointer
i32.load $4=, 0($4)
i32.const $5=, 8
- i32.sub $13=, $4, $5
+ i32.sub $15=, $4, $5
i32.const $5=, __stack_pointer
- i32.store $13=, 0($5), $13
- i32.store $discard=, 0($13), $2
- i32.const $push2=, 4
- i32.add $2=, $13, $pop2
- i32.store $discard=, 0($2), $3
- i32.const $push3=, .L.str
- i32.call $discard=, siprintf@FUNCTION, $1, $pop3
+ i32.store $15=, 0($5), $15
+ i32.store $discard=, 0($15), $3
+ i32.const $push3=, 4
+ i32.add $3=, $15, $pop3
+ i32.store $discard=, 0($3), $2
+ i32.const $push4=, .L.str
+ i32.call $discard=, sprintf@FUNCTION, $1, $pop4
i32.const $6=, __stack_pointer
i32.load $6=, 0($6)
i32.const $7=, 8
- i32.add $13=, $6, $7
+ i32.add $15=, $6, $7
i32.const $7=, __stack_pointer
- i32.store $13=, 0($7), $13
+ i32.store $15=, 0($7), $15
br 1 # 1: down to label0
.LBB5_2: # %if.else
end_block # label1:
i32.const $8=, __stack_pointer
i32.load $8=, 0($8)
i32.const $9=, 4
- i32.sub $13=, $8, $9
+ i32.sub $15=, $8, $9
i32.const $9=, __stack_pointer
- i32.store $13=, 0($9), $13
- i32.store $discard=, 0($13), $3
- i32.const $push4=, .L.str.1
- i32.call $discard=, siprintf@FUNCTION, $1, $pop4
+ i32.store $15=, 0($9), $15
+ i32.store $discard=, 0($15), $2
+ i32.const $push5=, .L.str.1
+ i32.call $discard=, sprintf@FUNCTION, $1, $pop5
i32.const $10=, __stack_pointer
i32.load $10=, 0($10)
i32.const $11=, 4
- i32.add $13=, $10, $11
+ i32.add $15=, $10, $11
i32.const $11=, __stack_pointer
- i32.store $13=, 0($11), $13
+ i32.store $15=, 0($11), $15
.LBB5_3: # %if.end
end_block # label0:
i32.const $14=, 16
- i32.add $13=, $13, $14
+ i32.add $15=, $15, $14
i32.const $14=, __stack_pointer
- i32.store $13=, 0($14), $13
- return $2
+ i32.store $15=, 0($14), $15
+ return $1
.endfunc
.Lfunc_end5:
.size print_longlong, .Lfunc_end5-print_longlong
@@ -143,142 +144,141 @@ print_longlong: # @print_longlong
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $26=, __stack_pointer
- i32.load $26=, 0($26)
- i32.const $27=, 128
- i32.sub $38=, $26, $27
- i32.const $27=, __stack_pointer
- i32.store $38=, 0($27), $38
- i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 4
- i32.sub $38=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $38=, 0($7), $38
- i32.const $0=, .L.str.1
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 128
+ i32.sub $33=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $33=, 0($22), $33
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $33=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $33=, 0($2), $33
i32.const $push0=, 1
- i32.store $discard=, 0($38), $pop0
- i32.const $28=, 16
- i32.add $28=, $38, $28
- i32.call $discard=, siprintf@FUNCTION, $28, $0
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 4
- i32.add $38=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $38=, 0($9), $38
+ i32.store $discard=, 0($33), $pop0
+ i32.const $push12=, .L.str.1
+ i32.const $23=, 16
+ i32.add $23=, $33, $23
+ i32.call $discard=, sprintf@FUNCTION, $23, $pop12
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $33=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $33=, 0($4), $33
i32.const $push1=, .L.str.2
- i32.const $29=, 16
- i32.add $29=, $38, $29
+ i32.const $24=, 16
+ i32.add $24=, $33, $24
+ i32.call $0=, strcmp@FUNCTION, $pop1, $24
block
- i32.call $1=, strcmp@FUNCTION, $pop1, $29
- br_if $1, 0 # 0: down to label2
+ br_if $0, 0 # 0: down to label2
# BB#1: # %if.end
- i32.const $10=, __stack_pointer
- i32.load $10=, 0($10)
- i32.const $11=, 4
- i32.sub $38=, $10, $11
- i32.const $11=, __stack_pointer
- i32.store $38=, 0($11), $38
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 4
+ i32.sub $33=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $33=, 0($6), $33
i32.const $push2=, 305419896
- i32.store $2=, 0($38), $pop2
- i32.const $30=, 16
- i32.add $30=, $38, $30
- i32.call $discard=, siprintf@FUNCTION, $30, $0
- i32.const $12=, __stack_pointer
- i32.load $12=, 0($12)
- i32.const $13=, 4
- i32.add $38=, $12, $13
- i32.const $13=, __stack_pointer
- i32.store $38=, 0($13), $38
+ i32.store $discard=, 0($33), $pop2
+ i32.const $push13=, .L.str.1
+ i32.const $25=, 16
+ i32.add $25=, $33, $25
+ i32.call $discard=, sprintf@FUNCTION, $25, $pop13
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 4
+ i32.add $33=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $33=, 0($8), $33
i32.const $push3=, .L.str.3
- i32.const $31=, 16
- i32.add $31=, $38, $31
+ i32.const $26=, 16
+ i32.add $26=, $33, $26
+ i32.call $0=, strcmp@FUNCTION, $pop3, $26
block
- i32.call $1=, strcmp@FUNCTION, $pop3, $31
- br_if $1, 0 # 0: down to label3
+ br_if $0, 0 # 0: down to label3
# BB#2: # %if.end11
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 8
+ i32.sub $33=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $33=, 0($10), $33
+ i64.const $push4=, 1311768467732155613
+ i64.store $discard=, 0($33):p2align=2, $pop4
+ i32.const $push14=, .L.str
+ i32.const $27=, 16
+ i32.add $27=, $33, $27
+ i32.call $discard=, sprintf@FUNCTION, $27, $pop14
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 8
+ i32.add $33=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $33=, 0($12), $33
+ i32.const $push5=, .L.str.4
+ i32.const $28=, 16
+ i32.add $28=, $33, $28
+ i32.call $0=, strcmp@FUNCTION, $pop5, $28
+ block
+ br_if $0, 0 # 0: down to label4
+# BB#3: # %if.end19
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 8
+ i32.sub $33=, $13, $14
i32.const $14=, __stack_pointer
- i32.load $14=, 0($14)
- i32.const $15=, 8
- i32.sub $38=, $14, $15
+ i32.store $33=, 0($14), $33
+ i64.const $push6=, -1
+ i64.store $discard=, 0($33):p2align=2, $pop6
+ i32.const $push15=, .L.str
+ i32.const $29=, 16
+ i32.add $29=, $33, $29
+ i32.call $discard=, sprintf@FUNCTION, $29, $pop15
i32.const $15=, __stack_pointer
- i32.store $38=, 0($15), $38
- i32.const $push4=, -1430532899
- i32.store $3=, 0($38), $pop4
- i32.const $1=, 4
- i32.add $4=, $38, $1
- i32.const $5=, .L.str
- i32.store $discard=, 0($4), $2
- i32.const $32=, 16
- i32.add $32=, $38, $32
- i32.call $discard=, siprintf@FUNCTION, $32, $5
+ i32.load $15=, 0($15)
+ i32.const $16=, 8
+ i32.add $33=, $15, $16
i32.const $16=, __stack_pointer
- i32.load $16=, 0($16)
- i32.const $17=, 8
- i32.add $38=, $16, $17
- i32.const $17=, __stack_pointer
- i32.store $38=, 0($17), $38
- i32.const $push5=, .L.str.4
- i32.const $33=, 16
- i32.add $33=, $38, $33
+ i32.store $33=, 0($16), $33
+ i32.const $push7=, .L.str.5
+ i32.const $30=, 16
+ i32.add $30=, $33, $30
+ i32.call $0=, strcmp@FUNCTION, $pop7, $30
block
- i32.call $2=, strcmp@FUNCTION, $pop5, $33
- br_if $2, 0 # 0: down to label4
-# BB#3: # %if.end19
+ br_if $0, 0 # 0: down to label5
+# BB#4: # %if.end27
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 4
+ i32.sub $33=, $17, $18
i32.const $18=, __stack_pointer
- i32.load $18=, 0($18)
- i32.const $19=, 8
- i32.sub $38=, $18, $19
+ i32.store $33=, 0($18), $33
+ i32.const $push8=, -1430532899
+ i32.store $discard=, 0($33), $pop8
+ i32.const $push9=, .L.str.1
+ i32.const $31=, 16
+ i32.add $31=, $33, $31
+ i32.call $discard=, sprintf@FUNCTION, $31, $pop9
i32.const $19=, __stack_pointer
- i32.store $38=, 0($19), $38
- i32.const $push6=, -1
- i32.store $2=, 0($38), $pop6
- i32.add $1=, $38, $1
- i32.store $discard=, 0($1), $2
- i32.const $34=, 16
- i32.add $34=, $38, $34
- i32.call $discard=, siprintf@FUNCTION, $34, $5
+ i32.load $19=, 0($19)
+ i32.const $20=, 4
+ i32.add $33=, $19, $20
i32.const $20=, __stack_pointer
- i32.load $20=, 0($20)
- i32.const $21=, 8
- i32.add $38=, $20, $21
- i32.const $21=, __stack_pointer
- i32.store $38=, 0($21), $38
- i32.const $push7=, .L.str.5
- i32.const $35=, 16
- i32.add $35=, $38, $35
- block
- i32.call $1=, strcmp@FUNCTION, $pop7, $35
- br_if $1, 0 # 0: down to label5
-# BB#4: # %if.end27
- i32.const $22=, __stack_pointer
- i32.load $22=, 0($22)
- i32.const $23=, 4
- i32.sub $38=, $22, $23
- i32.const $23=, __stack_pointer
- i32.store $38=, 0($23), $38
- i32.store $discard=, 0($38), $3
- i32.const $36=, 16
- i32.add $36=, $38, $36
- i32.call $discard=, siprintf@FUNCTION, $36, $0
- i32.const $24=, __stack_pointer
- i32.load $24=, 0($24)
- i32.const $25=, 4
- i32.add $38=, $24, $25
- i32.const $25=, __stack_pointer
- i32.store $38=, 0($25), $38
- i32.const $push8=, .L.str.6
- i32.const $37=, 16
- i32.add $37=, $38, $37
+ i32.store $33=, 0($20), $33
+ i32.const $push10=, .L.str.6
+ i32.const $32=, 16
+ i32.add $32=, $33, $32
+ i32.call $0=, strcmp@FUNCTION, $pop10, $32
block
- i32.call $0=, strcmp@FUNCTION, $pop8, $37
br_if $0, 0 # 0: down to label6
# BB#5: # %if.end35
- i32.const $push9=, 0
- call exit@FUNCTION, $pop9
+ i32.const $push11=, 0
+ call exit@FUNCTION, $pop11
unreachable
.LBB6_6: # %if.then34
end_block # label6:
diff --git a/test/torture-s/920506-1.c.s b/test/torture-s/920506-1.c.s
index e5f76dbb5..582553225 100644
--- a/test/torture-s/920506-1.c.s
+++ b/test/torture-s/920506-1.c.s
@@ -6,14 +6,14 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, l($0)
+ i32.const $push1=, 0
+ i32.load $push0=, l($pop1)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %sw.bb
- call exit@FUNCTION, $0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.LBB0_2: # %sw.epilog
end_block # label0:
@@ -27,7 +27,7 @@ main: # @main
.type l,@object
.section .data.l,"aw",@progbits
.globl l
- .align 2
+ .p2align 2
l:
.int32 0 # 0x0
.int32 1 # 0x1
diff --git a/test/torture-s/920721-3.c.s b/test/torture-s/920721-3.c.s
index ef9a5220a..d3ae38d92 100644
--- a/test/torture-s/920721-3.c.s
+++ b/test/torture-s/920721-3.c.s
@@ -7,11 +7,10 @@
ru: # @ru
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 65535
block
- i32.and $push0=, $0, $1
+ i32.const $push8=, 65535
+ i32.and $push0=, $0, $pop8
i32.const $push1=, 5
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
@@ -19,7 +18,8 @@ ru: # @ru
block
i32.const $push3=, 2
i32.add $push4=, $0, $pop3
- i32.and $push5=, $pop4, $1
+ i32.const $push9=, 65535
+ i32.and $push5=, $pop4, $pop9
i32.const $push6=, 7
i32.ne $push7=, $pop5, $pop6
br_if $pop7, 0 # 0: down to label1
diff --git a/test/torture-s/920726-1.c.s b/test/torture-s/920726-1.c.s
new file mode 100644
index 000000000..1580f4560
--- /dev/null
+++ b/test/torture-s/920726-1.c.s
@@ -0,0 +1,275 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/920726-1.c"
+ .section .text.first,"ax",@progbits
+ .hidden first
+ .globl first
+ .type first,@function
+first: # @first
+ .param i32, i32
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 16
+ i32.sub $11=, $8, $9
+ copy_local $12=, $11
+ i32.const $9=, __stack_pointer
+ i32.store $11=, 0($9), $11
+ i32.store $discard=, 12($11), $12
+.LBB0_1: # %for.cond
+ # =>This Inner Loop Header: Depth=1
+ loop # label0:
+ block
+ block
+ i32.load8_u $push0=, 0($1)
+ tee_local $push9=, $3=, $pop0
+ i32.const $push8=, 105
+ i32.eq $push1=, $pop9, $pop8
+ br_if $pop1, 0 # 0: down to label3
+# BB#2: # %for.cond
+ # in Loop: Header=BB0_1 Depth=1
+ block
+ i32.const $push17=, 0
+ i32.eq $push18=, $3, $pop17
+ br_if $pop18, 0 # 0: down to label4
+# BB#3: # %if.else
+ # in Loop: Header=BB0_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $2=, $0, $pop15
+ i32.store8 $discard=, 0($0), $3
+ copy_local $0=, $2
+ br 2 # 2: down to label2
+.LBB0_4: # %for.end
+ end_block # label4:
+ i32.const $push7=, 0
+ i32.store8 $discard=, 0($0), $pop7
+ i32.const $10=, 16
+ i32.add $11=, $12, $10
+ i32.const $10=, __stack_pointer
+ i32.store $11=, 0($10), $11
+ return $0
+.LBB0_5: # %if.then
+ # in Loop: Header=BB0_1 Depth=1
+ end_block # label3:
+ i32.load $push2=, 12($11)
+ i32.const $push14=, 3
+ i32.add $push3=, $pop2, $pop14
+ i32.const $push13=, -4
+ i32.and $push4=, $pop3, $pop13
+ tee_local $push12=, $3=, $pop4
+ i32.const $push11=, 4
+ i32.add $push5=, $pop12, $pop11
+ i32.store $discard=, 12($11), $pop5
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 4
+ i32.sub $11=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $11=, 0($5), $11
+ i32.load $push6=, 0($3)
+ i32.store $discard=, 0($11), $pop6
+ i32.const $push10=, .L.str
+ i32.call $discard=, sprintf@FUNCTION, $0, $pop10
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 4
+ i32.add $11=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $11=, 0($7), $11
+ i32.call $3=, strlen@FUNCTION, $0
+ i32.add $0=, $0, $3
+.LBB0_6: # %for.inc
+ # in Loop: Header=BB0_1 Depth=1
+ end_block # label2:
+ i32.const $push16=, 1
+ i32.add $1=, $1, $pop16
+ br 0 # 0: up to label0
+.LBB0_7:
+ end_loop # label1:
+ .endfunc
+.Lfunc_end0:
+ .size first, .Lfunc_end0-first
+
+ .section .text.second,"ax",@progbits
+ .hidden second
+ .globl second
+ .type second,@function
+second: # @second
+ .param i32, i32
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 16
+ i32.sub $11=, $8, $9
+ copy_local $12=, $11
+ i32.const $9=, __stack_pointer
+ i32.store $11=, 0($9), $11
+ i32.store $discard=, 12($11), $12
+.LBB1_1: # %for.cond
+ # =>This Inner Loop Header: Depth=1
+ loop # label5:
+ block
+ block
+ i32.load8_u $push0=, 0($1)
+ tee_local $push9=, $3=, $pop0
+ i32.const $push8=, 105
+ i32.eq $push1=, $pop9, $pop8
+ br_if $pop1, 0 # 0: down to label8
+# BB#2: # %for.cond
+ # in Loop: Header=BB1_1 Depth=1
+ block
+ i32.const $push17=, 0
+ i32.eq $push18=, $3, $pop17
+ br_if $pop18, 0 # 0: down to label9
+# BB#3: # %if.else
+ # in Loop: Header=BB1_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $2=, $0, $pop15
+ i32.store8 $discard=, 0($0), $3
+ copy_local $0=, $2
+ br 2 # 2: down to label7
+.LBB1_4: # %for.end
+ end_block # label9:
+ i32.const $push7=, 0
+ i32.store8 $discard=, 0($0), $pop7
+ i32.const $10=, 16
+ i32.add $11=, $12, $10
+ i32.const $10=, __stack_pointer
+ i32.store $11=, 0($10), $11
+ return $0
+.LBB1_5: # %if.then
+ # in Loop: Header=BB1_1 Depth=1
+ end_block # label8:
+ i32.load $push2=, 12($11)
+ i32.const $push14=, 3
+ i32.add $push3=, $pop2, $pop14
+ i32.const $push13=, -4
+ i32.and $push4=, $pop3, $pop13
+ tee_local $push12=, $3=, $pop4
+ i32.const $push11=, 4
+ i32.add $push5=, $pop12, $pop11
+ i32.store $discard=, 12($11), $pop5
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 4
+ i32.sub $11=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $11=, 0($5), $11
+ i32.load $push6=, 0($3)
+ i32.store $discard=, 0($11), $pop6
+ i32.const $push10=, .L.str
+ i32.call $discard=, sprintf@FUNCTION, $0, $pop10
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 4
+ i32.add $11=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $11=, 0($7), $11
+ i32.call $3=, strlen@FUNCTION, $0
+ i32.add $0=, $0, $3
+.LBB1_6: # %for.inc
+ # in Loop: Header=BB1_1 Depth=1
+ end_block # label7:
+ i32.const $push16=, 1
+ i32.add $1=, $1, $pop16
+ br 0 # 0: up to label5
+.LBB1_7:
+ end_loop # label6:
+ .endfunc
+.Lfunc_end1:
+ .size second, .Lfunc_end1-second
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 240
+ i32.sub $16=, $10, $11
+ i32.const $11=, __stack_pointer
+ i32.store $16=, 0($11), $16
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 8
+ i32.sub $16=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $16=, 0($3), $16
+ i64.const $push0=, 85899345925
+ i64.store $0=, 0($16):p2align=2, $pop0
+ i32.const $push1=, .L.str.1
+ i32.const $12=, 128
+ i32.add $12=, $16, $12
+ i32.call $discard=, first@FUNCTION, $12, $pop1
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 8
+ i32.add $16=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $16=, 0($5), $16
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 8
+ i32.sub $16=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $16=, 0($7), $16
+ i64.store $discard=, 0($16):p2align=2, $0
+ i32.const $push4=, .L.str.1
+ i32.const $13=, 16
+ i32.add $13=, $16, $13
+ i32.call $discard=, second@FUNCTION, $13, $pop4
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 8
+ i32.add $16=, $8, $9
+ i32.const $9=, __stack_pointer
+ i32.store $16=, 0($9), $16
+ i32.const $push3=, .L.str.2
+ i32.const $14=, 128
+ i32.add $14=, $16, $14
+ i32.call $1=, strcmp@FUNCTION, $pop3, $14
+ block
+ br_if $1, 0 # 0: down to label10
+# BB#1: # %lor.lhs.false
+ i32.const $push5=, .L.str.2
+ i32.const $15=, 16
+ i32.add $15=, $16, $15
+ i32.call $1=, strcmp@FUNCTION, $pop5, $15
+ br_if $1, 0 # 0: down to label10
+# BB#2: # %if.end
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
+ unreachable
+.LBB2_3: # %if.then
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "%d"
+ .size .L.str, 3
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "i i "
+ .size .L.str.1, 5
+
+ .type .L.str.2,@object # @.str.2
+.L.str.2:
+ .asciz "5 20 "
+ .size .L.str.2, 6
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/920731-1.c.s b/test/torture-s/920731-1.c.s
index e55cbe7a0..fe2f715e6 100644
--- a/test/torture-s/920731-1.c.s
+++ b/test/torture-s/920731-1.c.s
@@ -7,31 +7,34 @@
f: # @f
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 1
- i32.const $2=, 0
+ i32.const $1=, 0
block
- i32.and $push0=, $0, $1
+ i32.const $push4=, 1
+ i32.and $push0=, $0, $pop4
br_if $pop0, 0 # 0: down to label0
.LBB0_1: # %for.inc
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.add $2=, $2, $1
+ i32.const $push5=, 1
+ i32.add $1=, $1, $pop5
i32.const $push2=, 7
- i32.gt_s $push3=, $2, $pop2
+ i32.gt_s $push3=, $1, $pop2
br_if $pop3, 1 # 1: down to label2
# BB#2: # %for.inc
# in Loop: Header=BB0_1 Depth=1
- i32.shr_s $0=, $0, $1
- i32.and $push1=, $0, $1
- i32.const $push4=, 0
- i32.eq $push5=, $pop1, $pop4
- br_if $pop5, 0 # 0: up to label1
+ i32.const $push7=, 1
+ i32.shr_s $0=, $0, $pop7
+ i32.const $push6=, 1
+ i32.and $push1=, $0, $pop6
+ i32.const $push8=, 0
+ i32.eq $push9=, $pop1, $pop8
+ br_if $pop9, 0 # 0: up to label1
.LBB0_3: # %for.end
end_loop # label2:
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/920810-1.c.s b/test/torture-s/920810-1.c.s
index 94fc98959..d3f4f659b 100644
--- a/test/torture-s/920810-1.c.s
+++ b/test/torture-s/920810-1.c.s
@@ -9,12 +9,13 @@ f: # @f
.result i32
.local i32
# BB#0: # %entry
- i32.call $2=, malloc@FUNCTION, $1
- i32.load $push0=, 8($0)
- call memcpy@FUNCTION, $2, $0, $pop0
- i32.store $discard=, 0($2), $0
- i32.const $push1=, 0
- i32.store $discard=, 4($2), $pop1
+ i32.call $push0=, malloc@FUNCTION, $1
+ i32.load $push1=, 8($0)
+ i32.call $push2=, memcpy@FUNCTION, $pop0, $0, $pop1
+ tee_local $push4=, $2=, $pop2
+ i32.store $discard=, 0($pop4), $0
+ i32.const $push3=, 0
+ i32.store $discard=, 4($2), $pop3
i32.store $discard=, 8($2), $1
return $2
.endfunc
diff --git a/test/torture-s/920829-1.c.s b/test/torture-s/920829-1.c.s
index 6abeb4c63..02509bad3 100644
--- a/test/torture-s/920829-1.c.s
+++ b/test/torture-s/920829-1.c.s
@@ -6,18 +6,19 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i64.load $push0=, c($0)
+ i32.const $push6=, 0
+ i64.load $push0=, c($pop6)
i64.const $push1=, 3
i64.mul $push2=, $pop0, $pop1
- i64.load $push3=, c3($0)
+ i32.const $push5=, 0
+ i64.load $push3=, c3($pop5)
i64.ne $push4=, $pop2, $pop3
br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push7=, 0
+ call exit@FUNCTION, $pop7
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -31,7 +32,7 @@ main: # @main
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 3
+ .p2align 3
c:
.int64 2863311530 # 0xaaaaaaaa
.size c, 8
@@ -40,7 +41,7 @@ c:
.type c3,@object
.section .data.c3,"aw",@progbits
.globl c3
- .align 3
+ .p2align 3
c3:
.int64 8589934590 # 0x1fffffffe
.size c3, 8
diff --git a/test/torture-s/920908-2.c.s b/test/torture-s/920908-2.c.s
new file mode 100644
index 000000000..3afc4b58d
--- /dev/null
+++ b/test/torture-s/920908-2.c.s
@@ -0,0 +1,36 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/920908-2.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.load $push0=, 0($0)
+ i32.const $push1=, 16
+ i32.shl $push2=, $pop0, $pop1
+ i32.const $push3=, 24
+ i32.shr_s $push4=, $pop2, $pop3
+ return $pop4
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/920909-1.c.s b/test/torture-s/920909-1.c.s
index 80238fb73..05b6ba6ad 100644
--- a/test/torture-s/920909-1.c.s
+++ b/test/torture-s/920909-1.c.s
@@ -9,22 +9,21 @@ f: # @f
.result i32
# BB#0: # %entry
block
- i32.const $push0=, -1026
- i32.add $0=, $0, $pop0
- i32.const $push1=, 5
- i32.gt_u $push2=, $0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push1=, -1026
+ i32.add $push0=, $0, $pop1
+ tee_local $push8=, $0=, $pop0
+ i32.const $push2=, 5
+ i32.gt_u $push3=, $pop8, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %switch.lookup
- i32.const $push6=, .Lswitch.table
- i32.const $push4=, 2
- i32.shl $push5=, $0, $pop4
- i32.add $push7=, $pop6, $pop5
- i32.load $push8=, 0($pop7)
- return $pop8
+ i32.const $push5=, 2
+ i32.shl $push6=, $0, $pop5
+ i32.load $push7=, .Lswitch.table($pop6)
+ return $pop7
.LBB0_2: # %return
end_block # label0:
- i32.const $push3=, 0
- return $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
@@ -45,7 +44,7 @@ main: # @main
.type .Lswitch.table,@object # @switch.table
.section .rodata..Lswitch.table,"a",@progbits
- .align 4
+ .p2align 4
.Lswitch.table:
.int32 1027 # 0x403
.int32 1029 # 0x405
diff --git a/test/torture-s/921013-1.c.s b/test/torture-s/921013-1.c.s
index 882ece668..749e527bb 100644
--- a/test/torture-s/921013-1.c.s
+++ b/test/torture-s/921013-1.c.s
@@ -7,31 +7,31 @@
f: # @f
.param i32, i32, i32, i32
.result i32
- .local i32
# BB#0: # %entry
block
- i32.const $push4=, 0
- i32.eq $push5=, $3, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push7=, 0
+ i32.eq $push8=, $3, $pop7
+ br_if $pop8, 0 # 0: down to label0
.LBB0_1: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- f32.load $push1=, 0($1)
- f32.load $push2=, 0($2)
- f32.eq $push3=, $pop1, $pop2
- i32.store $discard=, 0($0), $pop3
- i32.const $4=, 4
- i32.add $1=, $1, $4
- i32.add $2=, $2, $4
- i32.add $4=, $0, $4
+ f32.load $push2=, 0($1)
+ f32.load $push3=, 0($2)
+ f32.eq $push4=, $pop2, $pop3
+ i32.store $discard=, 0($0), $pop4
+ i32.const $push1=, 4
+ i32.add $1=, $1, $pop1
+ i32.const $push6=, 4
+ i32.add $2=, $2, $pop6
+ i32.const $push5=, 4
+ i32.add $0=, $0, $pop5
i32.const $push0=, -1
i32.add $3=, $3, $pop0
- copy_local $0=, $4
br_if $3, 0 # 0: up to label1
.LBB0_2: # %while.end
end_loop # label2:
end_block # label0:
- return $4
+ return $3
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/921019-1.c.s b/test/torture-s/921019-1.c.s
index 628394ff0..65c0714da 100644
--- a/test/torture-s/921019-1.c.s
+++ b/test/torture-s/921019-1.c.s
@@ -6,17 +6,17 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, foo($0)
+ i32.const $push4=, 0
+ i32.load $push0=, foo($pop4)
i32.load8_u $push1=, 0($pop0)
i32.const $push2=, 88
i32.ne $push3=, $pop1, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -36,7 +36,7 @@ main: # @main
.type foo,@object
.section .data.foo,"aw",@progbits
.globl foo
- .align 2
+ .p2align 2
foo:
.int32 .L.str
.size foo, 4
diff --git a/test/torture-s/921029-1.c.s b/test/torture-s/921029-1.c.s
index d3cae059e..4bed70636 100644
--- a/test/torture-s/921029-1.c.s
+++ b/test/torture-s/921029-1.c.s
@@ -7,18 +7,19 @@
build: # @build
.param i32, i32
.result i64
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
+ i32.const $push3=, 0
+ i32.const $push10=, 0
i64.extend_u/i32 $push0=, $0
i64.const $push1=, 32
i64.shl $push2=, $pop0, $pop1
- i64.store $push3=, hpart($2), $pop2
- i64.extend_u/i32 $push4=, $1
- i64.store $push5=, lpart($2), $pop4
- i64.or $push6=, $pop3, $pop5
- i64.store $push7=, back($2), $pop6
- return $pop7
+ i64.store $push4=, hpart($pop10), $pop2
+ i32.const $push9=, 0
+ i64.extend_u/i32 $push5=, $1
+ i64.store $push6=, lpart($pop9), $pop5
+ i64.or $push7=, $pop4, $pop6
+ i64.store $push8=, back($pop3), $pop7
+ return $pop8
.endfunc
.Lfunc_end0:
.size build, .Lfunc_end0-build
@@ -29,16 +30,18 @@ build: # @build
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end44
- i32.const $0=, 0
+ i32.const $push1=, 0
i64.const $push0=, -4294967296
- i64.store $discard=, hpart($0), $pop0
- i64.const $push1=, 4294967294
- i64.store $discard=, lpart($0), $pop1
- i64.const $push2=, -2
- i64.store $discard=, back($0), $pop2
- call exit@FUNCTION, $0
+ i64.store $discard=, hpart($pop1), $pop0
+ i32.const $push6=, 0
+ i64.const $push2=, 4294967294
+ i64.store $discard=, lpart($pop6), $pop2
+ i32.const $push5=, 0
+ i64.const $push3=, -2
+ i64.store $discard=, back($pop5), $pop3
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.endfunc
.Lfunc_end1:
@@ -48,7 +51,7 @@ main: # @main
.type hpart,@object
.section .bss.hpart,"aw",@nobits
.globl hpart
- .align 3
+ .p2align 3
hpart:
.int64 0 # 0x0
.size hpart, 8
@@ -57,7 +60,7 @@ hpart:
.type lpart,@object
.section .bss.lpart,"aw",@nobits
.globl lpart
- .align 3
+ .p2align 3
lpart:
.int64 0 # 0x0
.size lpart, 8
@@ -66,7 +69,7 @@ lpart:
.type back,@object
.section .bss.back,"aw",@nobits
.globl back
- .align 3
+ .p2align 3
back:
.int64 0 # 0x0
.size back, 8
diff --git a/test/torture-s/921110-1.c.s b/test/torture-s/921110-1.c.s
index e57c30285..2a88a5f86 100644
--- a/test/torture-s/921110-1.c.s
+++ b/test/torture-s/921110-1.c.s
@@ -18,7 +18,7 @@ main: # @main
.type f,@object
.section .data.f,"aw",@progbits
.globl f
- .align 2
+ .p2align 2
f:
.int32 abort@FUNCTION
.size f, 4
diff --git a/test/torture-s/921112-1.c.s b/test/torture-s/921112-1.c.s
new file mode 100644
index 000000000..1960e6921
--- /dev/null
+++ b/test/torture-s/921112-1.c.s
@@ -0,0 +1,69 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/921112-1.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32
+ .result i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 8($0), $pop0
+ return $0
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ i32.const $push2=, 0
+ i32.const $push7=, 0
+ i64.const $push1=, 8589934593
+ i64.store $push3=, v($pop7), $pop1
+ i64.store $discard=, x+8($pop2), $pop3
+ block
+ i32.const $push6=, 0
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %entry
+ i64.const $push0=, 8589934592
+ i64.const $push8=, 8589934592
+ i64.ne $push4=, $pop0, $pop8
+ br_if $pop4, 0 # 0: down to label0
+# BB#2: # %if.end
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
+ unreachable
+.LBB1_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden x # @x
+ .type x,@object
+ .section .bss.x,"aw",@nobits
+ .globl x
+ .p2align 4
+x:
+ .skip 16
+ .size x, 16
+
+ .hidden v # @v
+ .type v,@object
+ .section .bss.v,"aw",@nobits
+ .globl v
+ .p2align 3
+v:
+ .skip 8
+ .size v, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/921113-1.c.s b/test/torture-s/921113-1.c.s
index 23563424f..a9bfe6fd5 100644
--- a/test/torture-s/921113-1.c.s
+++ b/test/torture-s/921113-1.c.s
@@ -21,17 +21,18 @@ w: # @w
f1: # @f1
.param f32, f32
.result i32
- .local f32, i32
+ .local i32
# BB#0: # %entry
- f32.const $2=, 0x0p0
block
- f32.ne $push0=, $0, $2
+ f32.const $push2=, 0x0p0
+ f32.ne $push0=, $0, $pop2
br_if $pop0, 0 # 0: down to label0
# BB#1: # %entry
- f32.ne $push1=, $1, $2
+ f32.const $push3=, 0x0p0
+ f32.ne $push1=, $1, $pop3
br_if $pop1, 0 # 0: down to label0
# BB#2: # %if.end
- return $3
+ return $2
.LBB1_3: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -47,17 +48,18 @@ f1: # @f1
f2: # @f2
.param f32, f32
.result i32
- .local f32, i32
+ .local i32
# BB#0: # %entry
- f32.const $2=, 0x1p0
block
- f32.ne $push0=, $0, $2
+ f32.const $push2=, 0x1p0
+ f32.ne $push0=, $0, $pop2
br_if $pop0, 0 # 0: down to label1
# BB#1: # %entry
- f32.ne $push1=, $1, $2
+ f32.const $push3=, 0x1p0
+ f32.ne $push1=, $1, $pop3
br_if $pop1, 0 # 0: down to label1
# BB#2: # %if.end
- return $3
+ return $2
.LBB2_3: # %if.then
end_block # label1:
call abort@FUNCTION
@@ -73,52 +75,58 @@ f2: # @f2
gitter: # @gitter
.param i32, i32, i32, i32, i32, f32
.result i32
- .local f32, f32, f64, f64
+ .local f32, f64, f64
# BB#0: # %entry
- f32.const $7=, 0x0p0
block
- f32.load $push1=, 0($4)
- f32.ne $push2=, $pop1, $7
- br_if $pop2, 0 # 0: down to label2
-# BB#1: # %entry
- f32.load $push0=, 4($4)
- f32.ne $push3=, $pop0, $7
+ f32.load $push2=, 0($4)
+ f32.const $push26=, 0x0p0
+ f32.ne $push3=, $pop2, $pop26
br_if $pop3, 0 # 0: down to label2
+# BB#1: # %entry
+ f32.load $push1=, 4($4)
+ f32.const $push27=, 0x0p0
+ f32.ne $push4=, $pop1, $pop27
+ br_if $pop4, 0 # 0: down to label2
# BB#2: # %f1.exit
- f32.const $6=, 0x1p0
block
- f32.load $push5=, 8($4)
- f32.ne $push8=, $pop5, $6
- br_if $pop8, 0 # 0: down to label3
-# BB#3: # %f1.exit
- i32.const $push6=, 12
- i32.add $push7=, $4, $pop6
- f32.load $push4=, 0($pop7)
- f32.ne $push9=, $pop4, $6
+ f32.load $push6=, 8($4)
+ f32.const $push28=, 0x1p0
+ f32.ne $push9=, $pop6, $pop28
br_if $pop9, 0 # 0: down to label3
+# BB#3: # %f1.exit
+ i32.const $push7=, 12
+ i32.add $push8=, $4, $pop7
+ f32.load $push5=, 0($pop8)
+ f32.const $push29=, 0x1p0
+ f32.ne $push10=, $pop5, $pop29
+ br_if $pop10, 0 # 0: down to label3
# BB#4: # %f2.exit
- i32.const $push10=, 0
- i32.store $discard=, 0($3), $pop10
- f32.load $6=, 0($1)
+ i32.const $push11=, 0
+ i32.store $discard=, 0($3), $pop11
block
- f32.gt $push11=, $6, $7
- f32.ne $push12=, $6, $6
- i32.or $push13=, $pop11, $pop12
- br_if $pop13, 0 # 0: down to label4
+ f32.load $push0=, 0($1)
+ tee_local $push30=, $6=, $pop0
+ f32.const $push12=, 0x0p0
+ f32.gt $push13=, $pop30, $pop12
+ f32.ne $push14=, $6, $6
+ i32.or $push15=, $pop13, $pop14
+ br_if $pop15, 0 # 0: down to label4
# BB#5: # %if.then
- f64.promote/f32 $push14=, $5
- f64.const $push15=, 0x1p-1
- f64.mul $9=, $pop14, $pop15
- f64.promote/f32 $8=, $6
- f64.gt $push16=, $8, $9
- f64.ne $push18=, $8, $8
- f64.ne $push17=, $9, $9
- i32.or $push19=, $pop18, $pop17
- i32.or $push20=, $pop16, $pop19
- br_if $pop20, 0 # 0: down to label4
+ f64.promote/f32 $push16=, $6
+ tee_local $push32=, $8=, $pop16
+ f64.promote/f32 $push17=, $5
+ f64.const $push18=, 0x1p-1
+ f64.mul $push19=, $pop17, $pop18
+ tee_local $push31=, $7=, $pop19
+ f64.gt $push20=, $pop32, $pop31
+ f64.ne $push22=, $8, $8
+ f64.ne $push21=, $7, $7
+ i32.or $push23=, $pop22, $pop21
+ i32.or $push24=, $pop20, $pop23
+ br_if $pop24, 0 # 0: down to label4
# BB#6: # %if.then15
- i32.const $push21=, 1065353216
- i32.store $discard=, 0($2), $pop21
+ i32.const $push25=, 1065353216
+ i32.store $discard=, 0($2), $pop25
.LBB3_7: # %if.end18
end_block # label4:
return $4
@@ -140,30 +148,35 @@ gitter: # @gitter
.type main,@function
main: # @main
.result i32
- .local i32, f32
# BB#0: # %entry
- i32.const $0=, 0
- f32.const $1=, 0x0p0
block
- f32.load $push1=, limit($0)
- f32.ne $push2=, $pop1, $1
+ i32.const $push10=, 0
+ f32.load $push1=, limit($pop10):p2align=4
+ f32.const $push9=, 0x0p0
+ f32.ne $push2=, $pop1, $pop9
br_if $pop2, 0 # 0: down to label5
# BB#1: # %entry
- f32.load $push0=, limit+4($0)
- f32.ne $push3=, $pop0, $1
+ i32.const $push12=, 0
+ f32.load $push0=, limit+4($pop12)
+ f32.const $push11=, 0x0p0
+ f32.ne $push3=, $pop0, $pop11
br_if $pop3, 0 # 0: down to label5
# BB#2: # %f1.exit.i
- f32.const $1=, 0x1p0
block
- f32.load $push5=, limit+8($0)
- f32.ne $push6=, $pop5, $1
+ i32.const $push14=, 0
+ f32.load $push5=, limit+8($pop14):p2align=3
+ f32.const $push13=, 0x1p0
+ f32.ne $push6=, $pop5, $pop13
br_if $pop6, 0 # 0: down to label6
# BB#3: # %f1.exit.i
- f32.load $push4=, limit+12($0)
- f32.ne $push7=, $pop4, $1
+ i32.const $push16=, 0
+ f32.load $push4=, limit+12($pop16)
+ f32.const $push15=, 0x1p0
+ f32.ne $push7=, $pop4, $pop15
br_if $pop7, 0 # 0: down to label6
# BB#4: # %f2.exit.i
- call exit@FUNCTION, $0
+ i32.const $push8=, 0
+ call exit@FUNCTION, $pop8
unreachable
.LBB4_5: # %if.then.i32.i
end_block # label6:
@@ -181,7 +194,7 @@ main: # @main
.type pos,@object
.section .bss.pos,"aw",@nobits
.globl pos
- .align 2
+ .p2align 2
pos:
.skip 8
.size pos, 8
@@ -190,7 +203,7 @@ pos:
.type limit,@object
.section .data.limit,"aw",@progbits
.globl limit
- .align 4
+ .p2align 4
limit:
.skip 8
.int32 1065353216 # float 1
diff --git a/test/torture-s/921117-1.c.s b/test/torture-s/921117-1.c.s
new file mode 100644
index 000000000..1fa4c582c
--- /dev/null
+++ b/test/torture-s/921117-1.c.s
@@ -0,0 +1,83 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/921117-1.c"
+ .section .text.check,"ax",@progbits
+ .hidden check
+ .globl check
+ .type check,@function
+check: # @check
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.const $1=, 1
+ block
+ i32.load $push0=, 12($0)
+ i32.const $push1=, 99
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push3=, .L.str
+ i32.call $1=, strcmp@FUNCTION, $0, $pop3
+.LBB0_2: # %return
+ end_block # label0:
+ return $1
+ .endfunc
+.Lfunc_end0:
+ .size check, .Lfunc_end0-check
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ i32.const $push13=, 0
+ i32.const $push0=, 99
+ i32.store $discard=, cell+12($pop13), $pop0
+ i32.const $push12=, 0
+ i32.const $push11=, 0
+ i32.load8_u $push2=, .L.str+10($pop11)
+ i32.store8 $discard=, cell+10($pop12):p2align=1, $pop2
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load16_u $push3=, .L.str+8($pop9):p2align=0
+ i32.store16 $discard=, cell+8($pop10):p2align=2, $pop3
+ i32.const $push8=, 0
+ i32.const $push7=, 0
+ i64.load $push4=, .L.str($pop7):p2align=0
+ i64.store $discard=, cell($pop8):p2align=2, $pop4
+ block
+ i32.const $push1=, cell
+ i32.const $push5=, .L.str
+ i32.call $push6=, strcmp@FUNCTION, $pop1, $pop5
+ br_if $pop6, 0 # 0: down to label1
+# BB#1: # %if.end
+ i32.const $push14=, 0
+ call exit@FUNCTION, $pop14
+ unreachable
+.LBB1_2: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "0123456789"
+ .size .L.str, 11
+
+ .hidden cell # @cell
+ .type cell,@object
+ .section .bss.cell,"aw",@nobits
+ .globl cell
+ .p2align 2
+cell:
+ .skip 16
+ .size cell, 16
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/921123-2.c.s b/test/torture-s/921123-2.c.s
new file mode 100644
index 000000000..c00239000
--- /dev/null
+++ b/test/torture-s/921123-2.c.s
@@ -0,0 +1,70 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/921123-2.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32
+ .local i32
+# BB#0: # %entry
+ i32.load16_u $1=, 6($0)
+ i32.const $push1=, 0
+ i32.load16_u $push0=, 4($0)
+ i32.store $discard=, b($pop1), $pop0
+ i32.const $push2=, 0
+ i32.store $discard=, a($pop2), $1
+ return
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.store $push1=, b($pop0), $pop4
+ tee_local $push3=, $0=, $pop1
+ i32.const $push2=, 38
+ i32.store $discard=, a($pop3), $pop2
+ call exit@FUNCTION, $0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden b # @b
+ .type b,@object
+ .section .bss.b,"aw",@nobits
+ .globl b
+ .p2align 2
+b:
+ .int32 0 # 0x0
+ .size b, 4
+
+ .hidden a # @a
+ .type a,@object
+ .section .bss.a,"aw",@nobits
+ .globl a
+ .p2align 2
+a:
+ .int32 0 # 0x0
+ .size a, 4
+
+ .hidden x # @x
+ .type x,@object
+ .section .bss.x,"aw",@nobits
+ .globl x
+ .p2align 1
+x:
+ .skip 8
+ .size x, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/921204-1.c.s b/test/torture-s/921204-1.c.s
new file mode 100644
index 000000000..bf950f8aa
--- /dev/null
+++ b/test/torture-s/921204-1.c.s
@@ -0,0 +1,40 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/921204-1.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 0($1)
+ tee_local $push8=, $1=, $pop0
+ i32.const $push1=, 1
+ i32.and $push2=, $pop8, $pop1
+ i32.const $push3=, 1310720
+ i32.or $push4=, $1, $pop3
+ i32.const $push5=, -1310721
+ i32.and $push6=, $1, $pop5
+ i32.select $push7=, $pop2, $pop4, $pop6
+ i32.store $discard=, 0($0), $pop7
+ return
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/930126-1.c.s b/test/torture-s/930126-1.c.s
new file mode 100644
index 000000000..fb297a2ec
--- /dev/null
+++ b/test/torture-s/930126-1.c.s
@@ -0,0 +1,63 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/930126-1.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i64.load8_u $2=, 0($1):p2align=3
+ i32.const $push2=, 4
+ i32.add $push3=, $0, $pop2
+ i64.const $push4=, 205
+ i64.store8 $discard=, 0($pop3):p2align=2, $pop4
+ i64.const $push0=, 4010947584
+ i64.or $push1=, $2, $pop0
+ i64.store32 $discard=, 0($0):p2align=3, $pop1
+ return
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ i32.const $push11=, 0
+ i32.const $push0=, 12
+ i32.store8 $discard=, main.i($pop11):p2align=3, $pop0
+ i32.const $push10=, 0
+ i64.const $push1=, 205
+ i64.store8 $discard=, main.i+4($pop10):p2align=2, $pop1
+ i32.const $push9=, 0
+ i64.const $push2=, 4010947596
+ i64.store32 $discard=, main.i($pop9):p2align=3, $pop2
+ block
+ i32.const $push8=, 0
+ i64.load $push3=, main.i($pop8)
+ i64.const $push4=, 1099511627775
+ i64.and $push5=, $pop3, $pop4
+ i64.const $push6=, 884479243276
+ i64.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push12=, 0
+ call exit@FUNCTION, $pop12
+ unreachable
+.LBB1_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .type main.i,@object # @main.i
+ .lcomm main.i,8,3
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/930208-1.c.s b/test/torture-s/930208-1.c.s
new file mode 100644
index 000000000..a853d1afe
--- /dev/null
+++ b/test/torture-s/930208-1.c.s
@@ -0,0 +1,47 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/930208-1.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32
+ .result i32
+ .local i32
+# BB#0: # %entry
+ i32.load16_u $1=, 0($0):p2align=2
+ i32.load8_u $push0=, 3($0)
+ i32.const $push1=, 1
+ i32.add $push2=, $pop0, $pop1
+ i32.store8 $discard=, 3($0), $pop2
+ i32.load $push3=, 0($0)
+ i32.const $push8=, 16711680
+ i32.and $push9=, $pop3, $pop8
+ i32.const $push10=, 131072
+ i32.ne $push11=, $pop9, $pop10
+ i32.const $push4=, 65280
+ i32.and $push5=, $1, $pop4
+ i32.const $push6=, 512
+ i32.ne $push7=, $pop5, $pop6
+ i32.or $push12=, $pop11, $pop7
+ return $pop12
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/930408-1.c.s b/test/torture-s/930408-1.c.s
index f9d09000c..883cd7fe0 100644
--- a/test/torture-s/930408-1.c.s
+++ b/test/torture-s/930408-1.c.s
@@ -43,12 +43,13 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
-# BB#0: # %f.exit
- i32.const $0=, 0
+# BB#0: # %entry
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, s($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, s($pop1), $pop0
+ i32.call $discard=, f@FUNCTION
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
@@ -58,7 +59,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 4
.size s, 4
diff --git a/test/torture-s/930513-1.c.s b/test/torture-s/930513-1.c.s
index 755fb595e..362048ee6 100644
--- a/test/torture-s/930513-1.c.s
+++ b/test/torture-s/930513-1.c.s
@@ -12,30 +12,30 @@ f: # @f
i32.const $5=, __stack_pointer
i32.load $5=, 0($5)
i32.const $6=, 16
- i32.sub $7=, $5, $6
+ i32.sub $8=, $5, $6
i32.const $6=, __stack_pointer
- i32.store $7=, 0($6), $7
+ i32.store $8=, 0($6), $8
i32.const $1=, __stack_pointer
i32.load $1=, 0($1)
i32.const $2=, 8
- i32.sub $7=, $1, $2
+ i32.sub $8=, $1, $2
i32.const $2=, __stack_pointer
- i32.store $7=, 0($2), $7
+ i32.store $8=, 0($2), $8
i64.const $push0=, 4617315517961601024
- i64.store $discard=, 0($7), $pop0
+ i64.store $discard=, 0($8), $pop0
i32.const $push2=, buf
i32.const $push1=, .L.str
i32.call_indirect $discard=, $0, $pop2, $pop1
i32.const $3=, __stack_pointer
i32.load $3=, 0($3)
i32.const $4=, 8
- i32.add $7=, $3, $4
+ i32.add $8=, $3, $4
i32.const $4=, __stack_pointer
- i32.store $7=, 0($4), $7
+ i32.store $8=, 0($4), $8
i32.const $7=, 16
- i32.add $7=, $7, $7
+ i32.add $8=, $8, $7
i32.const $7=, __stack_pointer
- i32.store $7=, 0($7), $7
+ i32.store $8=, 0($7), $8
return $0
.endfunc
.Lfunc_end0:
@@ -47,44 +47,46 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $6=, $4, $5
i32.const $5=, __stack_pointer
- i32.load $5=, 0($5)
- i32.const $6=, 16
- i32.sub $7=, $5, $6
- i32.const $6=, __stack_pointer
- i32.store $7=, 0($6), $7
+ i32.store $6=, 0($5), $6
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 8
+ i32.sub $6=, $0, $1
i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 8
- i32.sub $7=, $1, $2
- i32.const $2=, __stack_pointer
- i32.store $7=, 0($2), $7
+ i32.store $6=, 0($1), $6
i64.const $push1=, 4617315517961601024
- i64.store $discard=, 0($7), $pop1
+ i64.store $discard=, 0($6), $pop1
i32.const $push3=, buf
i32.const $push2=, .L.str
i32.call $discard=, sprintf@FUNCTION, $pop3, $pop2
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 8
+ i32.add $6=, $2, $3
i32.const $3=, __stack_pointer
- i32.load $3=, 0($3)
- i32.const $4=, 8
- i32.add $7=, $3, $4
- i32.const $4=, __stack_pointer
- i32.store $7=, 0($4), $7
- i32.const $0=, 0
+ i32.store $6=, 0($3), $6
block
- i32.load8_u $push4=, buf($0)
+ i32.const $push10=, 0
+ i32.load8_u $push4=, buf($pop10)
i32.const $push5=, 53
i32.ne $push6=, $pop4, $pop5
br_if $pop6, 0 # 0: down to label0
# BB#1: # %entry
- i32.load8_u $push0=, buf+1($0)
+ i32.const $push11=, 0
+ i32.load8_u $push0=, buf+1($pop11)
i32.const $push7=, 255
i32.and $push8=, $pop0, $pop7
br_if $pop8, 0 # 0: down to label0
# BB#2: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push9=, 0
+ call exit@FUNCTION, $pop9
unreachable
.LBB1_3: # %if.then
end_block # label0:
diff --git a/test/torture-s/930513-2.c.s b/test/torture-s/930513-2.c.s
index cfc99ebe8..2ae92d612 100644
--- a/test/torture-s/930513-2.c.s
+++ b/test/torture-s/930513-2.c.s
@@ -21,17 +21,17 @@ sub3: # @sub3
eq: # @eq
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
block
- i32.load $push0=, eq.i($2)
+ i32.const $push4=, 0
+ i32.load $push0=, eq.i($pop4)
i32.ne $push1=, $pop0, $0
br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
+ i32.const $push5=, 0
i32.const $push2=, 1
i32.add $push3=, $0, $pop2
- i32.store $discard=, eq.i($2), $pop3
+ i32.store $discard=, eq.i($pop5), $pop3
return $0
.LBB1_2: # %if.then
end_block # label0:
@@ -47,16 +47,17 @@ eq: # @eq
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, eq.i($0)
+ i32.const $push2=, 0
+ i32.load $push0=, eq.i($pop2)
br_if $pop0, 0 # 0: down to label1
# BB#1: # %eq.exit.3
+ i32.const $push4=, 0
i32.const $push1=, 4
- i32.store $discard=, eq.i($0), $pop1
- call exit@FUNCTION, $0
+ i32.store $discard=, eq.i($pop4), $pop1
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.LBB2_2: # %if.then.i
end_block # label1:
diff --git a/test/torture-s/930603-2.c.s b/test/torture-s/930603-2.c.s
index e840446b6..a50f5a7fe 100644
--- a/test/torture-s/930603-2.c.s
+++ b/test/torture-s/930603-2.c.s
@@ -8,10 +8,11 @@ f: # @f
.result i32
.local i32
# BB#0: # %for.inc.1.1
- i32.const $0=, 0
- i32.const $push0=, 1
- i32.store $push1=, w($0), $pop0
- i32.store $discard=, w+12($0), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.const $push1=, 1
+ i32.store $push2=, w($pop3):p2align=4, $pop1
+ i32.store $discard=, w+12($pop0), $pop2
return $0
.endfunc
.Lfunc_end0:
@@ -23,19 +24,23 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, w+8($0)
- i32.load $2=, w+4($0)
- block
+ i32.const $push6=, 0
+ i32.load $0=, w+8($pop6):p2align=3
+ i32.const $push5=, 0
+ i32.load $1=, w+4($pop5)
+ i32.const $push4=, 0
+ i32.const $push3=, 0
i32.const $push0=, 1
- i32.store $push1=, w($0), $pop0
- i32.store $discard=, w+12($0), $pop1
- i32.or $push2=, $2, $1
+ i32.store $push1=, w($pop3):p2align=4, $pop0
+ i32.store $discard=, w+12($pop4), $pop1
+ block
+ i32.or $push2=, $1, $0
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push7=, 0
+ call exit@FUNCTION, $pop7
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -49,7 +54,7 @@ main: # @main
.type w,@object
.section .bss.w,"aw",@nobits
.globl w
- .align 4
+ .p2align 4
w:
.skip 16
.size w, 16
diff --git a/test/torture-s/930608-1.c.s b/test/torture-s/930608-1.c.s
index caf914f06..bed663b4f 100644
--- a/test/torture-s/930608-1.c.s
+++ b/test/torture-s/930608-1.c.s
@@ -32,7 +32,7 @@ main: # @main
.type a,@object
.section .data.rel.ro.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 f@FUNCTION
.size a, 4
diff --git a/test/torture-s/930622-1.c.s b/test/torture-s/930622-1.c.s
index cd64a897a..b4fa2d629 100644
--- a/test/torture-s/930622-1.c.s
+++ b/test/torture-s/930622-1.c.s
@@ -33,11 +33,11 @@ h: # @h
.type f,@function
f: # @f
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.store $push0=, a($0), $0
- return $pop0
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store $push1=, a($pop0), $pop2
+ return $pop1
.endfunc
.Lfunc_end2:
.size f, .Lfunc_end2-f
@@ -48,11 +48,11 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.store $push0=, a($0), $0
- call exit@FUNCTION, $pop0
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store $push1=, a($pop0), $pop2
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end3:
@@ -62,7 +62,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
@@ -71,7 +71,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/930622-2.c.s b/test/torture-s/930622-2.c.s
index 92a2fa52c..15f38e0af 100644
--- a/test/torture-s/930622-2.c.s
+++ b/test/torture-s/930622-2.c.s
@@ -6,30 +6,27 @@
.type ll_to_ld,@function
ll_to_ld: # @ll_to_ld
.param i32, i64
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
i32.const $3=, __stack_pointer
- i32.load $3=, 0($3)
+ i32.store $5=, 0($3), $5
+ call __floatditf@FUNCTION, $5, $1
+ i64.load $1=, 0($5)
+ i32.const $push0=, 8
+ i32.add $push3=, $0, $pop0
+ i32.const $push4=, 8
+ i32.add $push1=, $5, $pop4
+ i64.load $push2=, 0($pop1)
+ i64.store $discard=, 0($pop3), $pop2
+ i64.store $discard=, 0($0):p2align=4, $1
i32.const $4=, 16
- i32.sub $6=, $3, $4
+ i32.add $5=, $5, $4
i32.const $4=, __stack_pointer
- i32.store $6=, 0($4), $6
- i32.const $6=, 0
- i32.add $6=, $6, $6
- call __floatditf@FUNCTION, $6, $1
- i32.const $2=, 8
- i64.load $1=, 0($6)
- i32.add $push2=, $0, $2
- i32.const $7=, 0
- i32.add $7=, $6, $7
- i32.add $push0=, $7, $2
- i64.load $push1=, 0($pop0)
- i64.store $discard=, 0($pop2), $pop1
- i64.store $discard=, 0($0), $1
- i32.const $5=, 16
- i32.add $6=, $6, $5
- i32.const $5=, __stack_pointer
- i32.store $6=, 0($5), $6
+ i32.store $5=, 0($4), $5
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/930725-1.c.s b/test/torture-s/930725-1.c.s
index 8696da029..e7d519767 100644
--- a/test/torture-s/930725-1.c.s
+++ b/test/torture-s/930725-1.c.s
@@ -36,12 +36,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, v($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, v($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
@@ -57,7 +57,7 @@ main: # @main
.type v,@object
.section .bss.v,"aw",@nobits
.globl v
- .align 2
+ .p2align 2
v:
.int32 0 # 0x0
.size v, 4
diff --git a/test/torture-s/930921-1.c.s b/test/torture-s/930921-1.c.s
index 57632cd60..32329afca 100644
--- a/test/torture-s/930921-1.c.s
+++ b/test/torture-s/930921-1.c.s
@@ -25,34 +25,34 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i64, i32, i32
+ .local i32
# BB#0: # %entry
- i64.const $0=, 2863311531
- i32.const $2=, 0
+ i32.const $0=, 0
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
block
loop # label1:
- i32.const $push5=, 3
- i32.div_u $1=, $2, $pop5
- i64.extend_u/i32 $push0=, $2
- i64.mul $push1=, $pop0, $0
- i64.const $push2=, 33
- i64.shr_u $push3=, $pop1, $pop2
- i32.wrap/i64 $push4=, $pop3
- i32.ne $push6=, $pop4, $1
- br_if $pop6, 2 # 2: down to label0
+ i64.extend_u/i32 $push0=, $0
+ i64.const $push12=, 2863311531
+ i64.mul $push1=, $pop0, $pop12
+ i64.const $push11=, 33
+ i64.shr_u $push2=, $pop1, $pop11
+ i32.wrap/i64 $push3=, $pop2
+ i32.const $push10=, 3
+ i32.div_u $push4=, $0, $pop10
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 2 # 2: down to label0
# BB#2: # %for.cond
# in Loop: Header=BB1_1 Depth=1
- i32.const $push7=, 1
- i32.add $2=, $2, $pop7
+ i32.const $push9=, 1
+ i32.add $0=, $0, $pop9
i32.const $push8=, 9999
- i32.le_u $push9=, $2, $pop8
- br_if $pop9, 0 # 0: up to label1
+ i32.le_u $push6=, $0, $pop8
+ br_if $pop6, 0 # 0: up to label1
# BB#3: # %for.end
end_loop # label2:
- i32.const $push10=, 0
- call exit@FUNCTION, $pop10
+ i32.const $push7=, 0
+ call exit@FUNCTION, $pop7
unreachable
.LBB1_4: # %if.then
end_block # label0:
diff --git a/test/torture-s/930930-1.c.s b/test/torture-s/930930-1.c.s
index 13594e6ab..6c00ff8c4 100644
--- a/test/torture-s/930930-1.c.s
+++ b/test/torture-s/930930-1.c.s
@@ -9,37 +9,38 @@ f: # @f
.result i32
.local i32, i32
# BB#0: # %entry
- copy_local $6=, $0
+ copy_local $5=, $0
block
- i32.lt_u $push0=, $3, $4
- br_if $pop0, 0 # 0: down to label0
+ i32.lt_u $push1=, $3, $4
+ br_if $pop1, 0 # 0: down to label0
.LBB0_1: # %if.end
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.load $5=, 0($3)
block
- i32.ge_u $push1=, $5, $2
- br_if $pop1, 0 # 0: down to label3
+ i32.load $push0=, 0($3)
+ tee_local $push8=, $6=, $pop0
+ i32.ge_u $push2=, $pop8, $2
+ br_if $pop2, 0 # 0: down to label3
# BB#2: # %if.end
# in Loop: Header=BB0_1 Depth=1
- i32.lt_u $push2=, $5, $1
- br_if $pop2, 0 # 0: down to label3
+ i32.lt_u $push3=, $6, $1
+ br_if $pop3, 0 # 0: down to label3
# BB#3: # %if.then3
# in Loop: Header=BB0_1 Depth=1
- i32.const $push3=, -4
- i32.add $6=, $6, $pop3
- i32.store $discard=, 0($6), $5
+ i32.const $push4=, -4
+ i32.add $5=, $5, $pop4
+ i32.store $discard=, 0($5), $6
.LBB0_4: # %if.end4
# in Loop: Header=BB0_1 Depth=1
end_block # label3:
- i32.const $push4=, -4
- i32.add $3=, $3, $pop4
- i32.ge_u $push5=, $3, $4
- br_if $pop5, 0 # 0: up to label1
+ i32.const $push5=, -4
+ i32.add $3=, $3, $pop5
+ i32.ge_u $push6=, $3, $4
+ br_if $pop6, 0 # 0: up to label1
# BB#5: # %out
end_loop # label2:
- i32.eq $push6=, $6, $0
- br_if $pop6, 0 # 0: down to label0
+ i32.eq $push7=, $5, $0
+ br_if $pop7, 0 # 0: down to label0
# BB#6: # %if.then7
call abort@FUNCTION
unreachable
@@ -56,12 +57,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %f.exit
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, mem
- i32.store $discard=, mem+396($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, mem+396($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end1:
@@ -71,7 +72,7 @@ main: # @main
.type mem,@object
.section .bss.mem,"aw",@nobits
.globl mem
- .align 4
+ .p2align 4
mem:
.skip 400
.size mem, 400
@@ -80,7 +81,7 @@ mem:
.type wm_TR,@object
.section .bss.wm_TR,"aw",@nobits
.globl wm_TR
- .align 2
+ .p2align 2
wm_TR:
.int32 0
.size wm_TR, 4
@@ -89,7 +90,7 @@ wm_TR:
.type wm_HB,@object
.section .bss.wm_HB,"aw",@nobits
.globl wm_HB
- .align 2
+ .p2align 2
wm_HB:
.int32 0
.size wm_HB, 4
@@ -98,7 +99,7 @@ wm_HB:
.type wm_SPB,@object
.section .bss.wm_SPB,"aw",@nobits
.globl wm_SPB
- .align 2
+ .p2align 2
wm_SPB:
.int32 0
.size wm_SPB, 4
diff --git a/test/torture-s/930930-2.c.s b/test/torture-s/930930-2.c.s
index c938246a5..df4378b9d 100644
--- a/test/torture-s/930930-2.c.s
+++ b/test/torture-s/930930-2.c.s
@@ -29,7 +29,7 @@ test_endianness_vol: # @test_endianness_vol
i32.store $3=, 0($1), $3
i64.const $push0=, 4621819117588971520
i64.store $discard=, 8($3), $pop0
- i32.load $push1=, 8($3)
+ i32.load $push1=, 8($3):p2align=3
i32.const $push2=, 0
i32.ne $push3=, $pop1, $pop2
i32.const $2=, 16
@@ -55,10 +55,10 @@ main: # @main
i32.sub $2=, $0, $1
i32.const $1=, __stack_pointer
i32.store $2=, 0($1), $2
- block
i64.const $push0=, 4621819117588971520
i64.store $discard=, 8($2), $pop0
- i32.load $push1=, 8($2)
+ block
+ i32.load $push1=, 8($2):p2align=3
br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
i32.const $push2=, 0
diff --git a/test/torture-s/931004-11.c.s b/test/torture-s/931004-11.c.s
new file mode 100644
index 000000000..1eb52a649
--- /dev/null
+++ b/test/torture-s/931004-11.c.s
@@ -0,0 +1,130 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-11.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32, i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load8_u $push0=, 0($1)
+ i32.const $push1=, 10
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.end
+ block
+ i32.load8_u $push3=, 1($1)
+ i32.const $push4=, 20
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
+# BB#2: # %if.end6
+ block
+ i32.load8_u $push6=, 2($1)
+ i32.const $push7=, 30
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label2
+# BB#3: # %if.end11
+ block
+ i32.load8_u $push9=, 0($2)
+ i32.const $push10=, 11
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label3
+# BB#4: # %if.end17
+ block
+ i32.load8_u $push12=, 1($2)
+ i32.const $push13=, 21
+ i32.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label4
+# BB#5: # %if.end23
+ block
+ i32.load8_u $push15=, 2($2)
+ i32.const $push16=, 31
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label5
+# BB#6: # %if.end29
+ block
+ i32.load8_u $push18=, 0($3)
+ i32.const $push19=, 12
+ i32.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label6
+# BB#7: # %if.end35
+ block
+ i32.load8_u $push21=, 1($3)
+ i32.const $push22=, 22
+ i32.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label7
+# BB#8: # %if.end41
+ block
+ i32.load8_u $push24=, 2($3)
+ i32.const $push25=, 32
+ i32.ne $push26=, $pop24, $pop25
+ br_if $pop26, 0 # 0: down to label8
+# BB#9: # %if.end47
+ block
+ i32.const $push27=, 123
+ i32.ne $push28=, $4, $pop27
+ br_if $pop28, 0 # 0: down to label9
+# BB#10: # %if.end51
+ return $1
+.LBB0_11: # %if.then50
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB0_12: # %if.then46
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB0_13: # %if.then40
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB0_14: # %if.then34
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB0_15: # %if.then28
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB0_16: # %if.then22
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_17: # %if.then16
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_18: # %if.then10
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_19: # %if.then5
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_20: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %f.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/931004-13.c.s b/test/torture-s/931004-13.c.s
new file mode 100644
index 000000000..1f2ade41d
--- /dev/null
+++ b/test/torture-s/931004-13.c.s
@@ -0,0 +1,160 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-13.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32, i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load8_u $push0=, 0($1)
+ i32.const $push1=, 10
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.end
+ block
+ i32.load8_u $push3=, 1($1)
+ i32.const $push4=, 20
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
+# BB#2: # %if.end6
+ block
+ i32.load8_u $push6=, 2($1)
+ i32.const $push7=, 30
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label2
+# BB#3: # %if.end11
+ block
+ i32.load8_u $push9=, 3($1)
+ i32.const $push10=, 40
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label3
+# BB#4: # %if.end16
+ block
+ i32.load8_u $push12=, 0($2)
+ i32.const $push13=, 11
+ i32.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label4
+# BB#5: # %if.end22
+ block
+ i32.load8_u $push15=, 1($2)
+ i32.const $push16=, 21
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label5
+# BB#6: # %if.end28
+ block
+ i32.load8_u $push18=, 2($2)
+ i32.const $push19=, 31
+ i32.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label6
+# BB#7: # %if.end34
+ block
+ i32.load8_u $push21=, 3($2)
+ i32.const $push22=, 41
+ i32.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label7
+# BB#8: # %if.end40
+ block
+ i32.load8_u $push24=, 0($3)
+ i32.const $push25=, 12
+ i32.ne $push26=, $pop24, $pop25
+ br_if $pop26, 0 # 0: down to label8
+# BB#9: # %if.end46
+ block
+ i32.load8_u $push27=, 1($3)
+ i32.const $push28=, 22
+ i32.ne $push29=, $pop27, $pop28
+ br_if $pop29, 0 # 0: down to label9
+# BB#10: # %if.end52
+ block
+ i32.load8_u $push30=, 2($3)
+ i32.const $push31=, 32
+ i32.ne $push32=, $pop30, $pop31
+ br_if $pop32, 0 # 0: down to label10
+# BB#11: # %if.end58
+ block
+ i32.load8_u $push33=, 3($3)
+ i32.const $push34=, 42
+ i32.ne $push35=, $pop33, $pop34
+ br_if $pop35, 0 # 0: down to label11
+# BB#12: # %if.end64
+ block
+ i32.const $push36=, 123
+ i32.ne $push37=, $4, $pop36
+ br_if $pop37, 0 # 0: down to label12
+# BB#13: # %if.end68
+ return $1
+.LBB0_14: # %if.then67
+ end_block # label12:
+ call abort@FUNCTION
+ unreachable
+.LBB0_15: # %if.then63
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+.LBB0_16: # %if.then57
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB0_17: # %if.then51
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB0_18: # %if.then45
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB0_19: # %if.then39
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB0_20: # %if.then33
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB0_21: # %if.then27
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB0_22: # %if.then21
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_23: # %if.then15
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_24: # %if.then10
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_25: # %if.then5
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_26: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %f.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/931004-3.c.s b/test/torture-s/931004-3.c.s
index 478dc43ca..e52eebbf9 100644
--- a/test/torture-s/931004-3.c.s
+++ b/test/torture-s/931004-3.c.s
@@ -7,33 +7,34 @@
f: # @f
.param i32, i32, i32, i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $5=, 65535
block
- i32.and $push0=, $1, $5
+ i32.const $push12=, 65535
+ i32.and $push0=, $1, $pop12
i32.const $push1=, 10
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.and $push3=, $2, $5
+ i32.const $push13=, 65535
+ i32.and $push3=, $2, $pop13
i32.const $push4=, 11
i32.ne $push5=, $pop3, $pop4
br_if $pop5, 0 # 0: down to label1
# BB#2: # %if.end9
block
- i32.and $push6=, $3, $5
- i32.const $push7=, 12
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label2
+ i32.const $push6=, 65535
+ i32.and $push7=, $3, $pop6
+ i32.const $push8=, 12
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label2
# BB#3: # %if.end15
block
- i32.const $push9=, 123
- i32.ne $push10=, $4, $pop9
- br_if $pop10, 0 # 0: down to label3
+ i32.const $push10=, 123
+ i32.ne $push11=, $4, $pop10
+ br_if $pop11, 0 # 0: down to label3
# BB#4: # %if.end19
- return $5
+ return $1
.LBB0_5: # %if.then18
end_block # label3:
call abort@FUNCTION
diff --git a/test/torture-s/931004-5.c.s b/test/torture-s/931004-5.c.s
new file mode 100644
index 000000000..c5c98b7da
--- /dev/null
+++ b/test/torture-s/931004-5.c.s
@@ -0,0 +1,100 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-5.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32, i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load16_u $push0=, 0($1)
+ i32.const $push1=, 10
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.end
+ block
+ i32.load16_u $push3=, 2($1)
+ i32.const $push4=, 20
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
+# BB#2: # %if.end6
+ block
+ i32.load16_u $push6=, 0($2)
+ i32.const $push7=, 11
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label2
+# BB#3: # %if.end12
+ block
+ i32.load16_u $push9=, 2($2)
+ i32.const $push10=, 21
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label3
+# BB#4: # %if.end18
+ block
+ i32.load16_u $push12=, 0($3)
+ i32.const $push13=, 12
+ i32.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label4
+# BB#5: # %if.end24
+ block
+ i32.load16_u $push15=, 2($3)
+ i32.const $push16=, 22
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label5
+# BB#6: # %if.end30
+ block
+ i32.const $push18=, 123
+ i32.ne $push19=, $4, $pop18
+ br_if $pop19, 0 # 0: down to label6
+# BB#7: # %if.end34
+ return $1
+.LBB0_8: # %if.then33
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB0_9: # %if.then29
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB0_10: # %if.then23
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_11: # %if.then17
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_12: # %if.then11
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_13: # %if.then5
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_14: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %f.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/931004-7.c.s b/test/torture-s/931004-7.c.s
index f7c7efa40..694dcb223 100644
--- a/test/torture-s/931004-7.c.s
+++ b/test/torture-s/931004-7.c.s
@@ -7,33 +7,34 @@
f: # @f
.param i32, i32, i32, i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $5=, 255
block
- i32.and $push0=, $1, $5
+ i32.const $push12=, 255
+ i32.and $push0=, $1, $pop12
i32.const $push1=, 10
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.and $push3=, $2, $5
+ i32.const $push13=, 255
+ i32.and $push3=, $2, $pop13
i32.const $push4=, 11
i32.ne $push5=, $pop3, $pop4
br_if $pop5, 0 # 0: down to label1
# BB#2: # %if.end9
block
- i32.and $push6=, $3, $5
- i32.const $push7=, 12
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label2
+ i32.const $push6=, 255
+ i32.and $push7=, $3, $pop6
+ i32.const $push8=, 12
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label2
# BB#3: # %if.end15
block
- i32.const $push9=, 123
- i32.ne $push10=, $4, $pop9
- br_if $pop10, 0 # 0: down to label3
+ i32.const $push10=, 123
+ i32.ne $push11=, $4, $pop10
+ br_if $pop11, 0 # 0: down to label3
# BB#4: # %if.end19
- return $5
+ return $1
.LBB0_5: # %if.then18
end_block # label3:
call abort@FUNCTION
diff --git a/test/torture-s/931004-9.c.s b/test/torture-s/931004-9.c.s
new file mode 100644
index 000000000..400c85e16
--- /dev/null
+++ b/test/torture-s/931004-9.c.s
@@ -0,0 +1,100 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931004-9.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32, i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.load8_u $push0=, 0($1)
+ i32.const $push1=, 10
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.end
+ block
+ i32.load8_u $push3=, 1($1)
+ i32.const $push4=, 20
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
+# BB#2: # %if.end6
+ block
+ i32.load8_u $push6=, 0($2)
+ i32.const $push7=, 11
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label2
+# BB#3: # %if.end12
+ block
+ i32.load8_u $push9=, 1($2)
+ i32.const $push10=, 21
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label3
+# BB#4: # %if.end18
+ block
+ i32.load8_u $push12=, 0($3)
+ i32.const $push13=, 12
+ i32.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label4
+# BB#5: # %if.end24
+ block
+ i32.load8_u $push15=, 1($3)
+ i32.const $push16=, 22
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label5
+# BB#6: # %if.end30
+ block
+ i32.const $push18=, 123
+ i32.ne $push19=, $4, $pop18
+ br_if $pop19, 0 # 0: down to label6
+# BB#7: # %if.end34
+ return $1
+.LBB0_8: # %if.then33
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB0_9: # %if.then29
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB0_10: # %if.then23
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_11: # %if.then17
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_12: # %if.then11
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_13: # %if.then5
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_14: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %f.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/931017-1.c.s b/test/torture-s/931017-1.c.s
index 3f0d0ad3e..9696cae38 100644
--- a/test/torture-s/931017-1.c.s
+++ b/test/torture-s/931017-1.c.s
@@ -81,7 +81,7 @@ f: # @f
.type v,@object
.section .bss.v,"aw",@nobits
.globl v
- .align 2
+ .p2align 2
v:
.int32 0 # 0x0
.size v, 4
diff --git a/test/torture-s/931018-1.c.s b/test/torture-s/931018-1.c.s
index cc428c8bf..8f00f6dfa 100644
--- a/test/torture-s/931018-1.c.s
+++ b/test/torture-s/931018-1.c.s
@@ -40,7 +40,7 @@ f: # @f
.type v,@object
.section .rodata.v,"a",@progbits
.globl v
- .align 2
+ .p2align 2
v:
.int32 3735928559 # 0xdeadbeef
.size v, 4
@@ -49,7 +49,7 @@ v:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 16384
.size a, 16384
diff --git a/test/torture-s/931031-1.c.s b/test/torture-s/931031-1.c.s
new file mode 100644
index 000000000..7953f36ae
--- /dev/null
+++ b/test/torture-s/931031-1.c.s
@@ -0,0 +1,39 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/931031-1.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.load $push0=, 4($0)
+ tee_local $push7=, $0=, $pop0
+ i32.const $push1=, 0
+ i32.lt_s $push2=, $pop7, $pop1
+ i32.const $push3=, 1
+ i32.const $push6=, 1
+ i32.add $push4=, $0, $pop6
+ i32.select $push5=, $pop2, $pop3, $pop4
+ return $pop5
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/931102-1.c.s b/test/torture-s/931102-1.c.s
index 86b7ffba9..fa8eb3266 100644
--- a/test/torture-s/931102-1.c.s
+++ b/test/torture-s/931102-1.c.s
@@ -7,12 +7,12 @@
f: # @f
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 1
- i32.const $2=, 0
+ i32.const $1=, 0
block
- i32.and $push0=, $0, $1
+ i32.const $push5=, 1
+ i32.and $push0=, $0, $pop5
br_if $pop0, 0 # 0: down to label0
.LBB0_1: # %while.body
# =>This Inner Loop Header: Depth=1
@@ -21,15 +21,17 @@ f: # @f
i32.shl $push2=, $0, $pop1
i32.const $push3=, 25
i32.shr_s $0=, $pop2, $pop3
- i32.add $2=, $2, $1
- i32.and $push4=, $0, $1
- i32.const $push5=, 0
- i32.eq $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: up to label1
+ i32.const $push7=, 1
+ i32.add $1=, $1, $pop7
+ i32.const $push6=, 1
+ i32.and $push4=, $0, $pop6
+ i32.const $push8=, 0
+ i32.eq $push9=, $pop4, $pop8
+ br_if $pop9, 0 # 0: up to label1
.LBB0_2: # %while.end
end_loop # label2:
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/931102-2.c.s b/test/torture-s/931102-2.c.s
index 0a01a00e1..159386196 100644
--- a/test/torture-s/931102-2.c.s
+++ b/test/torture-s/931102-2.c.s
@@ -7,12 +7,12 @@
f: # @f
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 1
- i32.const $2=, 0
+ i32.const $1=, 0
block
- i32.and $push0=, $0, $1
+ i32.const $push5=, 1
+ i32.and $push0=, $0, $pop5
br_if $pop0, 0 # 0: down to label0
.LBB0_1: # %while.body
# =>This Inner Loop Header: Depth=1
@@ -21,15 +21,17 @@ f: # @f
i32.shl $push2=, $0, $pop1
i32.const $push3=, 17
i32.shr_s $0=, $pop2, $pop3
- i32.add $2=, $2, $1
- i32.and $push4=, $0, $1
- i32.const $push5=, 0
- i32.eq $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: up to label1
+ i32.const $push7=, 1
+ i32.add $1=, $1, $pop7
+ i32.const $push6=, 1
+ i32.and $push4=, $0, $pop6
+ i32.const $push8=, 0
+ i32.eq $push9=, $pop4, $pop8
+ br_if $pop9, 0 # 0: up to label1
.LBB0_2: # %while.end
end_loop # label2:
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/931110-1.c.s b/test/torture-s/931110-1.c.s
index 308d2b1f5..7d10c363c 100644
--- a/test/torture-s/931110-1.c.s
+++ b/test/torture-s/931110-1.c.s
@@ -6,41 +6,70 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, 65528
- i32.load16_u $2=, x+6($0)
- i32.load16_u $push0=, x+4($0)
- i32.and $push1=, $pop0, $1
- i32.store16 $discard=, x+4($0), $pop1
- i32.load16_u $3=, x+8($0)
- i32.and $push2=, $2, $1
- i32.store16 $discard=, x+6($0), $pop2
- i32.load16_u $2=, x+10($0)
- i32.and $push3=, $3, $1
- i32.store16 $discard=, x+8($0), $pop3
- i32.load16_u $3=, x+12($0)
- i32.and $push4=, $2, $1
- i32.store16 $discard=, x+10($0), $pop4
- i32.load16_u $2=, x+14($0)
- i32.and $push5=, $3, $1
- i32.store16 $discard=, x+12($0), $pop5
- i32.load16_u $3=, x+16($0)
- i32.and $push6=, $2, $1
- i32.store16 $discard=, x+14($0), $pop6
- i32.load16_u $2=, x+18($0)
- i32.and $push7=, $3, $1
- i32.store16 $discard=, x+16($0), $pop7
- i32.load16_u $3=, x+20($0)
- i32.load16_u $4=, x+22($0)
- i32.and $push8=, $2, $1
- i32.store16 $discard=, x+18($0), $pop8
- i32.and $push9=, $3, $1
- i32.store16 $discard=, x+20($0), $pop9
- i32.and $push10=, $4, $1
- i32.store16 $discard=, x+22($0), $pop10
- call exit@FUNCTION, $0
+ i32.const $push0=, 0
+ i32.load16_u $0=, x+6($pop0)
+ i32.const $push41=, 0
+ i32.const $push40=, 0
+ i32.load16_u $push1=, x+4($pop40):p2align=2
+ i32.const $push2=, 65528
+ i32.and $push3=, $pop1, $pop2
+ i32.store16 $discard=, x+4($pop41):p2align=2, $pop3
+ i32.const $push39=, 0
+ i32.load16_u $1=, x+8($pop39):p2align=2
+ i32.const $push38=, 0
+ i32.const $push37=, 65528
+ i32.and $push4=, $0, $pop37
+ i32.store16 $discard=, x+6($pop38), $pop4
+ i32.const $push36=, 0
+ i32.load16_u $0=, x+10($pop36)
+ i32.const $push35=, 0
+ i32.const $push34=, 65528
+ i32.and $push5=, $1, $pop34
+ i32.store16 $discard=, x+8($pop35):p2align=2, $pop5
+ i32.const $push33=, 0
+ i32.load16_u $1=, x+12($pop33):p2align=2
+ i32.const $push32=, 0
+ i32.const $push31=, 65528
+ i32.and $push6=, $0, $pop31
+ i32.store16 $discard=, x+10($pop32), $pop6
+ i32.const $push30=, 0
+ i32.load16_u $0=, x+14($pop30)
+ i32.const $push29=, 0
+ i32.const $push28=, 65528
+ i32.and $push7=, $1, $pop28
+ i32.store16 $discard=, x+12($pop29):p2align=2, $pop7
+ i32.const $push27=, 0
+ i32.load16_u $1=, x+16($pop27):p2align=2
+ i32.const $push26=, 0
+ i32.const $push25=, 65528
+ i32.and $push8=, $0, $pop25
+ i32.store16 $discard=, x+14($pop26), $pop8
+ i32.const $push24=, 0
+ i32.load16_u $0=, x+18($pop24)
+ i32.const $push23=, 0
+ i32.const $push22=, 65528
+ i32.and $push9=, $1, $pop22
+ i32.store16 $discard=, x+16($pop23):p2align=2, $pop9
+ i32.const $push21=, 0
+ i32.load16_u $1=, x+20($pop21):p2align=2
+ i32.const $push20=, 0
+ i32.load16_u $2=, x+22($pop20)
+ i32.const $push19=, 0
+ i32.const $push18=, 65528
+ i32.and $push10=, $0, $pop18
+ i32.store16 $discard=, x+18($pop19), $pop10
+ i32.const $push17=, 0
+ i32.const $push16=, 65528
+ i32.and $push11=, $1, $pop16
+ i32.store16 $discard=, x+20($pop17):p2align=2, $pop11
+ i32.const $push15=, 0
+ i32.const $push14=, 65528
+ i32.and $push12=, $2, $pop14
+ i32.store16 $discard=, x+22($pop15), $pop12
+ i32.const $push13=, 0
+ call exit@FUNCTION, $pop13
unreachable
.endfunc
.Lfunc_end0:
@@ -50,7 +79,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.skip 24
.size x, 24
diff --git a/test/torture-s/940122-1.c.s b/test/torture-s/940122-1.c.s
index e4b7cea54..2ae29ac00 100644
--- a/test/torture-s/940122-1.c.s
+++ b/test/torture-s/940122-1.c.s
@@ -9,14 +9,17 @@ g: # @g
.result i32
.local i32
# BB#0: # %entry
- i32.const $1=, 0
block
- i32.load $push0=, a($1)
- i32.ne $push1=, $pop0, $1
- i32.load $push2=, b($1)
- i32.ne $push3=, $pop2, $1
- i32.ne $push4=, $pop1, $pop3
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push0=, 0
+ i32.load $push1=, a($pop0)
+ i32.const $push8=, 0
+ i32.ne $push2=, $pop1, $pop8
+ i32.const $push7=, 0
+ i32.load $push3=, b($pop7)
+ i32.const $push6=, 0
+ i32.ne $push4=, $pop3, $pop6
+ i32.ne $push5=, $pop2, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
return $1
.LBB0_2: # %if.then
@@ -36,14 +39,17 @@ f: # @f
.result i32
.local i32
# BB#0: # %entry
- i32.const $1=, 0
block
- i32.load $push0=, a($1)
- i32.ne $push1=, $pop0, $1
- i32.load $push2=, b($1)
- i32.ne $push3=, $pop2, $1
- i32.ne $push4=, $pop1, $pop3
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push0=, 0
+ i32.load $push1=, a($pop0)
+ i32.const $push8=, 0
+ i32.ne $push2=, $pop1, $pop8
+ i32.const $push7=, 0
+ i32.load $push3=, b($pop7)
+ i32.const $push6=, 0
+ i32.ne $push4=, $pop3, $pop6
+ i32.ne $push5=, $pop2, $pop4
+ br_if $pop5, 0 # 0: down to label1
# BB#1: # %g.exit
return $1
.LBB1_2: # %if.then.i
@@ -60,22 +66,11 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
- i32.load $push0=, a($0)
- i32.ne $push1=, $pop0, $0
- i32.load $push2=, b($0)
- i32.ne $push3=, $pop2, $0
- i32.eq $push4=, $pop1, $pop3
- br_if $pop4, 0 # 0: down to label2
-# BB#1: # %if.then.i.i
- call abort@FUNCTION
- unreachable
-.LBB2_2: # %f.exit
- end_block # label2:
- call exit@FUNCTION, $0
+ i32.const $push0=, 100
+ i32.call $discard=, f@FUNCTION, $pop0
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end2:
@@ -85,7 +80,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0
.size a, 4
@@ -94,7 +89,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0
.size b, 4
diff --git a/test/torture-s/941014-2.c.s b/test/torture-s/941014-2.c.s
index e29fb7ebd..9b955017b 100644
--- a/test/torture-s/941014-2.c.s
+++ b/test/torture-s/941014-2.c.s
@@ -18,46 +18,46 @@ a1: # @a1
.type f,@function
f: # @f
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $8=, $5, $6
i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 16
- i32.sub $9=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $9=, 0($7), $9
- block
+ i32.store $8=, 0($6), $8
i32.const $push0=, 4
i32.call $0=, malloc@FUNCTION, $pop0
+ block
i32.load16_u $push1=, 0($0)
i32.const $push2=, 4096
i32.lt_u $push3=, $pop1, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.then
- i32.load16_u $1=, 0($0)
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $8=, $1, $2
i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
- i32.const $3=, 4
- i32.sub $9=, $2, $3
+ i32.store $8=, 0($2), $8
+ i32.load16_u $push4=, 0($0)
+ i32.store $discard=, 0($8), $pop4
+ i32.const $push5=, .L.str
+ i32.call $discard=, printf@FUNCTION, $pop5
i32.const $3=, __stack_pointer
- i32.store $9=, 0($3), $9
- i32.store $discard=, 0($9), $1
- i32.const $push4=, .L.str
- i32.call $discard=, iprintf@FUNCTION, $pop4
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $8=, $3, $4
i32.const $4=, __stack_pointer
- i32.load $4=, 0($4)
- i32.const $5=, 4
- i32.add $9=, $4, $5
- i32.const $5=, __stack_pointer
- i32.store $9=, 0($5), $9
+ i32.store $8=, 0($4), $8
.LBB1_2: # %if.end
end_block # label0:
- i32.const $push5=, 256
- i32.store16 $discard=, 2($0), $pop5
- i32.const $8=, 16
- i32.add $9=, $9, $8
- i32.const $8=, __stack_pointer
- i32.store $9=, 0($8), $9
+ i32.const $push6=, 256
+ i32.store16 $discard=, 2($0), $pop6
+ i32.const $7=, 16
+ i32.add $8=, $8, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
return $0
.endfunc
.Lfunc_end1:
@@ -69,49 +69,49 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $7=, $5, $6
i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 16
- i32.sub $8=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $8=, 0($7), $8
- block
+ i32.store $7=, 0($6), $7
i32.const $push0=, 4
i32.call $0=, malloc@FUNCTION, $pop0
+ block
i32.load16_u $push1=, 0($0)
i32.const $push2=, 4096
i32.lt_u $push3=, $pop1, $pop2
br_if $pop3, 0 # 0: down to label1
# BB#1: # %if.then.i
- i32.load16_u $1=, 0($0)
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $7=, $1, $2
i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
- i32.const $3=, 4
- i32.sub $8=, $2, $3
+ i32.store $7=, 0($2), $7
+ i32.load16_u $push4=, 0($0)
+ i32.store $discard=, 0($7), $pop4
+ i32.const $push5=, .L.str
+ i32.call $discard=, printf@FUNCTION, $pop5
i32.const $3=, __stack_pointer
- i32.store $8=, 0($3), $8
- i32.store $discard=, 0($8), $1
- i32.const $push4=, .L.str
- i32.call $discard=, iprintf@FUNCTION, $pop4
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $7=, $3, $4
i32.const $4=, __stack_pointer
- i32.load $4=, 0($4)
- i32.const $5=, 4
- i32.add $8=, $4, $5
- i32.const $5=, __stack_pointer
- i32.store $8=, 0($5), $8
+ i32.store $7=, 0($4), $7
.LBB2_2: # %f.exit
end_block # label1:
block
- i32.load16_u $push7=, 2($0)
- i32.const $push5=, 256
- i32.store16 $push6=, 2($0), $pop5
- i32.ne $push8=, $pop7, $pop6
- br_if $pop8, 0 # 0: down to label2
+ i32.const $push6=, 256
+ i32.store16 $push7=, 2($0), $pop6
+ i32.load16_u $push8=, 2($0)
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label2
# BB#3: # %if.end
- i32.const $push9=, 0
- call exit@FUNCTION, $pop9
+ i32.const $push10=, 0
+ call exit@FUNCTION, $pop10
unreachable
.LBB2_4: # %if.then
end_block # label2:
diff --git a/test/torture-s/941021-1.c.s b/test/torture-s/941021-1.c.s
index 58e1cd394..4abc94a80 100644
--- a/test/torture-s/941021-1.c.s
+++ b/test/torture-s/941021-1.c.s
@@ -22,12 +22,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i64.const $push0=, 4632951452917877965
- i64.store $discard=, glob_dbl($0), $pop0
- call exit@FUNCTION, $0
+ i64.store $discard=, glob_dbl($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end1:
@@ -37,7 +37,7 @@ main: # @main
.type glob_dbl,@object
.section .bss.glob_dbl,"aw",@nobits
.globl glob_dbl
- .align 3
+ .p2align 3
glob_dbl:
.int64 0 # double 0
.size glob_dbl, 8
diff --git a/test/torture-s/941025-1.c.s b/test/torture-s/941025-1.c.s
index c08f796c6..c7c35e84f 100644
--- a/test/torture-s/941025-1.c.s
+++ b/test/torture-s/941025-1.c.s
@@ -7,13 +7,13 @@
f: # @f
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 1
- i32.gt_s $push0=, $0, $2
- i32.and $push1=, $1, $2
- i32.select $push2=, $pop0, $1, $pop1
- return $pop2
+ i32.const $push0=, 1
+ i32.gt_s $push1=, $0, $pop0
+ i32.const $push4=, 1
+ i32.and $push2=, $1, $pop4
+ i32.select $push3=, $pop1, $1, $pop2
+ return $pop3
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/941031-1.c.s b/test/torture-s/941031-1.c.s
index 060813a54..6426bf298 100644
--- a/test/torture-s/941031-1.c.s
+++ b/test/torture-s/941031-1.c.s
@@ -10,10 +10,11 @@ f: # @f
.local i32
# BB#0: # %entry
i32.const $push0=, 31
- i32.shr_s $2=, $1, $pop0
- i32.add $push1=, $1, $2
- i32.xor $push2=, $pop1, $2
- return $pop2
+ i32.shr_s $push1=, $1, $pop0
+ tee_local $push4=, $2=, $pop1
+ i32.add $push2=, $1, $pop4
+ i32.xor $push3=, $pop2, $2
+ return $pop3
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/950221-1.c.s b/test/torture-s/950221-1.c.s
index a6f08fb06..aad3a600e 100644
--- a/test/torture-s/950221-1.c.s
+++ b/test/torture-s/950221-1.c.s
@@ -44,20 +44,22 @@ g2: # @g2
.type f,@function
f: # @f
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
block
- i32.load $push1=, parsefile($1)
- i32.load $0=, 0($pop1)
- br_if $0, 0 # 0: down to label1
-# BB#1: # %entry
- i32.load $push0=, el($1)
- i32.const $push2=, 0
- i32.eq $push3=, $pop0, $pop2
+ i32.const $push4=, 0
+ i32.load $push2=, parsefile($pop4)
+ i32.load $push0=, 0($pop2)
+ tee_local $push3=, $0=, $pop0
br_if $pop3, 0 # 0: down to label1
+# BB#1: # %entry
+ i32.const $push5=, 0
+ i32.load $push1=, el($pop5)
+ i32.const $push6=, 0
+ i32.eq $push7=, $pop1, $pop6
+ br_if $pop7, 0 # 0: down to label1
# BB#2: # %if.end
- return $1
+ return $0
.LBB2_3: # %alabel
end_block # label1:
i32.call $discard=, g2@FUNCTION, $0
@@ -72,14 +74,14 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %alabel.i
- i32.const $0=, 0
- i32.store $push0=, el($0), $0
- i32.load $push1=, parsefile($pop0)
- i32.const $push2=, -559038737
- i32.store $push3=, 0($pop1), $pop2
- i32.call $discard=, g2@FUNCTION, $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.store $push1=, el($pop0), $pop5
+ i32.load $push2=, parsefile($pop1)
+ i32.const $push3=, -559038737
+ i32.store $push4=, 0($pop2), $pop3
+ i32.call $discard=, g2@FUNCTION, $pop4
unreachable
.endfunc
.Lfunc_end3:
@@ -89,7 +91,7 @@ main: # @main
.type basepf,@object
.section .bss.basepf,"aw",@nobits
.globl basepf
- .align 2
+ .p2align 2
basepf:
.skip 8
.size basepf, 8
@@ -98,7 +100,7 @@ basepf:
.type parsefile,@object
.section .data.parsefile,"aw",@progbits
.globl parsefile
- .align 2
+ .p2align 2
parsefile:
.int32 basepf
.size parsefile, 4
@@ -107,7 +109,7 @@ parsefile:
.type el,@object
.section .bss.el,"aw",@nobits
.globl el
- .align 2
+ .p2align 2
el:
.int32 0 # 0x0
.size el, 4
@@ -116,7 +118,7 @@ el:
.type filler,@object
.section .bss.filler,"aw",@nobits
.globl filler
- .align 4
+ .p2align 4
filler:
.skip 49152
.size filler, 49152
diff --git a/test/torture-s/950322-1.c.s b/test/torture-s/950322-1.c.s
index 7e1c175a6..f7cc6a924 100644
--- a/test/torture-s/950322-1.c.s
+++ b/test/torture-s/950322-1.c.s
@@ -7,18 +7,20 @@
f: # @f
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
i32.load8_u $push1=, 0($0)
i32.load8_u $push0=, 1($0)
i32.sub $0=, $pop1, $pop0
- i32.const $1=, 31
- i32.shr_s $2=, $0, $1
- i32.add $push2=, $0, $2
- i32.xor $push3=, $pop2, $2
- i32.shr_u $push4=, $0, $1
- i32.add $push5=, $pop3, $pop4
- return $pop5
+ i32.const $push2=, 31
+ i32.shr_s $push3=, $0, $pop2
+ tee_local $push9=, $1=, $pop3
+ i32.add $push4=, $0, $pop9
+ i32.xor $push5=, $pop4, $1
+ i32.const $push8=, 31
+ i32.shr_u $push6=, $0, $pop8
+ i32.add $push7=, $pop5, $pop6
+ return $pop7
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/950426-1.c.s b/test/torture-s/950426-1.c.s
index 6c9307f36..e92ab4eae 100644
--- a/test/torture-s/950426-1.c.s
+++ b/test/torture-s/950426-1.c.s
@@ -6,18 +6,21 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.then
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, -1
- i32.store $discard=, s1($0), $pop0
- i32.const $push1=, s1
- i32.store $discard=, p1($0), $pop1
- i32.const $push2=, 3
- i32.store $discard=, i($0), $pop2
- i32.const $push3=, .L.str.1+1
- i32.store $discard=, s1+16($0), $pop3
- call exit@FUNCTION, $0
+ i32.store $discard=, s1($pop1), $pop0
+ i32.const $push8=, 0
+ i32.const $push2=, s1
+ i32.store $discard=, p1($pop8), $pop2
+ i32.const $push7=, 0
+ i32.const $push3=, 3
+ i32.store $discard=, i($pop7), $pop3
+ i32.const $push6=, 0
+ i32.const $push4=, .L.str.1+1
+ i32.store $discard=, s1+16($pop6), $pop4
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
unreachable
.endfunc
.Lfunc_end0:
@@ -55,7 +58,7 @@ foo: # @foo
.type s1,@object
.section .bss.s1,"aw",@nobits
.globl s1
- .align 2
+ .p2align 2
s1:
.skip 24
.size s1, 24
@@ -64,7 +67,7 @@ s1:
.type p1,@object
.section .bss.p1,"aw",@nobits
.globl p1
- .align 2
+ .p2align 2
p1:
.int32 0
.size p1, 4
@@ -73,7 +76,7 @@ p1:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/950605-1.c.s b/test/torture-s/950605-1.c.s
index 5f62dd97c..739438e9e 100644
--- a/test/torture-s/950605-1.c.s
+++ b/test/torture-s/950605-1.c.s
@@ -7,15 +7,15 @@
f: # @f
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 255
block
- i32.and $push0=, $0, $1
- i32.ne $push1=, $pop0, $1
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push0=, 255
+ i32.and $push1=, $0, $pop0
+ i32.const $push3=, 255
+ i32.ne $push2=, $pop1, $pop3
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $1
+ return $0
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/950607-2.c.s b/test/torture-s/950607-2.c.s
new file mode 100644
index 000000000..7e5ffdc06
--- /dev/null
+++ b/test/torture-s/950607-2.c.s
@@ -0,0 +1,61 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/950607-2.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32, i32
+ .result i32
+ .local i64, i32
+# BB#0: # %entry
+ i32.load $push4=, 4($2)
+ i32.load $push5=, 4($0)
+ tee_local $push28=, $4=, $pop5
+ i32.sub $push6=, $pop4, $pop28
+ i64.extend_s/i32 $push7=, $pop6
+ i32.load $push0=, 0($1)
+ i32.load $push1=, 0($0)
+ tee_local $push27=, $0=, $pop1
+ i32.sub $push2=, $pop0, $pop27
+ i64.extend_s/i32 $push3=, $pop2
+ i64.mul $push8=, $pop7, $pop3
+ i32.load $push12=, 0($2)
+ i32.sub $push13=, $pop12, $0
+ i64.extend_s/i32 $push14=, $pop13
+ i32.load $push9=, 4($1)
+ i32.sub $push10=, $pop9, $4
+ i64.extend_s/i32 $push11=, $pop10
+ i64.mul $push15=, $pop14, $pop11
+ i64.sub $push16=, $pop8, $pop15
+ tee_local $push26=, $3=, $pop16
+ i64.const $push17=, 0
+ i64.gt_s $push18=, $pop26, $pop17
+ i32.const $push23=, 0
+ i64.const $push25=, 0
+ i64.lt_s $push19=, $3, $pop25
+ i32.const $push21=, 1
+ i32.const $push20=, 2
+ i32.select $push22=, $pop19, $pop21, $pop20
+ i32.select $push24=, $pop18, $pop23, $pop22
+ return $pop24
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/950612-1.c.s b/test/torture-s/950612-1.c.s
index 6f972ee87..b44e6769e 100644
--- a/test/torture-s/950612-1.c.s
+++ b/test/torture-s/950612-1.c.s
@@ -10,10 +10,11 @@ f1: # @f1
.local i32
# BB#0: # %entry
i32.const $push0=, 31
- i32.shr_s $1=, $0, $pop0
- i32.add $push1=, $0, $1
- i32.xor $push2=, $pop1, $1
- return $pop2
+ i32.shr_s $push1=, $0, $pop0
+ tee_local $push4=, $1=, $pop1
+ i32.add $push2=, $0, $pop4
+ i32.xor $push3=, $pop2, $1
+ return $pop3
.endfunc
.Lfunc_end0:
.size f1, .Lfunc_end0-f1
@@ -28,10 +29,11 @@ f2: # @f2
.local i32
# BB#0: # %entry
i32.const $push0=, 31
- i32.shr_s $1=, $0, $pop0
- i32.add $push1=, $0, $1
- i32.xor $push2=, $pop1, $1
- return $pop2
+ i32.shr_s $push1=, $0, $pop0
+ tee_local $push4=, $1=, $pop1
+ i32.add $push2=, $0, $pop4
+ i32.xor $push3=, $pop2, $1
+ return $pop3
.endfunc
.Lfunc_end1:
.size f2, .Lfunc_end1-f2
@@ -46,10 +48,11 @@ f3: # @f3
.local i64
# BB#0: # %entry
i64.const $push0=, 63
- i64.shr_s $1=, $0, $pop0
- i64.add $push1=, $0, $1
- i64.xor $push2=, $pop1, $1
- return $pop2
+ i64.shr_s $push1=, $0, $pop0
+ tee_local $push4=, $1=, $pop1
+ i64.add $push2=, $0, $pop4
+ i64.xor $push3=, $pop2, $1
+ return $pop3
.endfunc
.Lfunc_end2:
.size f3, .Lfunc_end2-f3
@@ -64,10 +67,11 @@ f4: # @f4
.local i64
# BB#0: # %entry
i64.const $push0=, 63
- i64.shr_s $1=, $0, $pop0
- i64.add $push1=, $0, $1
- i64.xor $push2=, $pop1, $1
- return $pop2
+ i64.shr_s $push1=, $0, $pop0
+ tee_local $push4=, $1=, $pop1
+ i64.add $push2=, $0, $pop4
+ i64.xor $push3=, $pop2, $1
+ return $pop3
.endfunc
.Lfunc_end3:
.size f4, .Lfunc_end3-f4
diff --git a/test/torture-s/950621-1.c.s b/test/torture-s/950621-1.c.s
index e24956a41..a35f01e82 100644
--- a/test/torture-s/950621-1.c.s
+++ b/test/torture-s/950621-1.c.s
@@ -7,24 +7,25 @@
f: # @f
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, 0
+ i32.const $1=, 0
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push5=, 0
+ i32.eq $push6=, $0, $pop5
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %land.lhs.true
- i32.const $1=, -1
i32.load $push0=, 0($0)
- i32.ne $push1=, $pop0, $1
+ i32.const $push3=, -1
+ i32.ne $push1=, $pop0, $pop3
br_if $pop1, 0 # 0: down to label0
# BB#2: # %land.rhs
i32.load $push2=, 4($0)
- i32.eq $2=, $pop2, $1
+ i32.const $push4=, -1
+ i32.eq $1=, $pop2, $pop4
.LBB0_3: # %land.end
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/950628-1.c.s b/test/torture-s/950628-1.c.s
index 422db9a43..66192424d 100644
--- a/test/torture-s/950628-1.c.s
+++ b/test/torture-s/950628-1.c.s
@@ -7,14 +7,12 @@
g: # @g
.param i32
# BB#0: # %entry
- i32.const $push0=, 1
- i32.store8 $discard=, 0($0), $pop0
- i32.const $push1=, 2
- i32.store8 $discard=, 1($0), $pop1
- i32.const $push2=, 3
- i32.store8 $discard=, 2($0), $pop2
- i32.const $push3=, 4
- i32.store16 $discard=, 4($0), $pop3
+ i32.const $push0=, 513
+ i32.store16 $discard=, 0($0), $pop0
+ i32.const $push1=, 3
+ i32.store8 $discard=, 2($0):p2align=1, $pop1
+ i32.const $push2=, 4
+ i32.store16 $discard=, 4($0), $pop2
return
.endfunc
.Lfunc_end0:
@@ -27,14 +25,12 @@ g: # @g
f: # @f
.param i32
# BB#0: # %entry
- i32.const $push0=, 1
- i32.store8 $discard=, 0($0), $pop0
- i32.const $push1=, 2
- i32.store8 $discard=, 1($0), $pop1
- i32.const $push2=, 3
- i32.store8 $discard=, 2($0), $pop2
- i32.const $push3=, 4
- i32.store16 $discard=, 4($0), $pop3
+ i32.const $push0=, 513
+ i32.store16 $discard=, 0($0), $pop0
+ i32.const $push1=, 3
+ i32.store8 $discard=, 2($0):p2align=1, $pop1
+ i32.const $push2=, 4
+ i32.store16 $discard=, 4($0), $pop2
return
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/950704-1.c.s b/test/torture-s/950704-1.c.s
index c69291cdd..9c9737f35 100644
--- a/test/torture-s/950704-1.c.s
+++ b/test/torture-s/950704-1.c.s
@@ -7,41 +7,45 @@
f: # @f
.param i64, i64
.result i64
- .local i32, i64, i64
+ .local i64
# BB#0: # %entry
- i32.const $2=, 0
- i32.store $discard=, errflag($2), $2
- i64.add $4=, $1, $0
- i64.const $3=, 0
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.store $discard=, errflag($pop0), $pop11
+ i64.add $2=, $1, $0
block
block
block
- i64.lt_s $push0=, $0, $3
- br_if $pop0, 0 # 0: down to label2
+ i64.const $push10=, 0
+ i64.lt_s $push1=, $0, $pop10
+ br_if $pop1, 0 # 0: down to label2
# BB#1: # %if.then
- i64.const $push3=, 0
- i64.lt_s $push4=, $1, $pop3
- br_if $pop4, 2 # 2: down to label0
+ i64.const $push12=, 0
+ i64.lt_s $push5=, $1, $pop12
+ br_if $pop5, 2 # 2: down to label0
# BB#2: # %if.then
- i64.const $push5=, -1
- i64.le_s $push6=, $4, $pop5
- br_if $pop6, 1 # 1: down to label1
+ i64.const $push6=, -1
+ i64.le_s $push7=, $2, $pop6
+ br_if $pop7, 1 # 1: down to label1
br 2 # 2: down to label0
.LBB0_3: # %if.else
end_block # label2:
- i64.gt_s $push1=, $1, $3
- br_if $pop1, 1 # 1: down to label0
-# BB#4: # %if.else
- i64.lt_s $push2=, $4, $3
+ i64.const $push13=, 0
+ i64.gt_s $push2=, $1, $pop13
br_if $pop2, 1 # 1: down to label0
+# BB#4: # %if.else
+ i64.const $push3=, 0
+ i64.lt_s $push4=, $2, $pop3
+ br_if $pop4, 1 # 1: down to label0
.LBB0_5: # %if.end9
end_block # label1:
- i32.const $push7=, 1
- i32.store $discard=, errflag($2), $pop7
- copy_local $4=, $3
+ i32.const $push8=, 0
+ i32.const $push9=, 1
+ i32.store $discard=, errflag($pop8), $pop9
+ i64.const $2=, 0
.LBB0_6: # %cleanup
end_block # label0:
- return $4
+ return $2
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
@@ -52,11 +56,11 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end28
- i32.const $0=, 0
- i32.store $push0=, errflag($0), $0
- call exit@FUNCTION, $pop0
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store $push1=, errflag($pop0), $pop2
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end1:
@@ -66,7 +70,7 @@ main: # @main
.type errflag,@object
.section .bss.errflag,"aw",@nobits
.globl errflag
- .align 2
+ .p2align 2
errflag:
.int32 0 # 0x0
.size errflag, 4
diff --git a/test/torture-s/950710-1.c.s b/test/torture-s/950710-1.c.s
index 18e4b5884..6f5a08078 100644
--- a/test/torture-s/950710-1.c.s
+++ b/test/torture-s/950710-1.c.s
@@ -18,34 +18,33 @@ g: # @g
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
i32.const $3=, 32
- i32.sub $6=, $2, $3
+ i32.sub $5=, $2, $3
i32.const $3=, __stack_pointer
- i32.store $6=, 0($3), $6
- i32.const $4=, 0
- i32.add $4=, $6, $4
- i32.const $5=, 16
- i32.add $5=, $6, $5
- i32.sub $0=, $4, $5
+ i32.store $5=, 0($3), $5
+ i32.const $4=, 16
+ i32.add $4=, $5, $4
+ i32.sub $0=, $5, $4
block
i32.const $push0=, 31
- i32.shr_s $1=, $0, $pop0
- i32.add $push1=, $0, $1
- i32.xor $push2=, $pop1, $1
- i32.const $push3=, 11
- i32.gt_u $push4=, $pop2, $pop3
- br_if $pop4, 0 # 0: down to label0
+ i32.shr_s $push1=, $0, $pop0
+ tee_local $push7=, $1=, $pop1
+ i32.add $push2=, $0, $pop7
+ i32.xor $push3=, $pop2, $1
+ i32.const $push4=, 11
+ i32.gt_u $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.then.i
call abort@FUNCTION
unreachable
.LBB1_2: # %f.exit
end_block # label0:
- i32.const $push5=, 0
- call exit@FUNCTION, $pop5
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/950714-1.c.s b/test/torture-s/950714-1.c.s
index 300f5c271..e36513f6a 100644
--- a/test/torture-s/950714-1.c.s
+++ b/test/torture-s/950714-1.c.s
@@ -9,15 +9,24 @@ main: # @main
.local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $9=, 0
- i32.load $0=, array($9)
- i32.load $1=, array+4($9)
- i32.load $2=, array+8($9)
- i32.load $3=, array+12($9)
- i32.load $4=, array+16($9)
- i32.load $5=, array+20($9)
- i32.load $6=, array+24($9)
- i32.load $7=, array+28($9)
- i32.load $8=, array+32($9)
+ i32.const $push21=, 0
+ i32.load $0=, array($pop21):p2align=4
+ i32.const $push20=, 0
+ i32.load $1=, array+4($pop20)
+ i32.const $push19=, 0
+ i32.load $2=, array+8($pop19):p2align=3
+ i32.const $push18=, 0
+ i32.load $3=, array+12($pop18)
+ i32.const $push17=, 0
+ i32.load $4=, array+16($pop17):p2align=4
+ i32.const $push16=, 0
+ i32.load $5=, array+20($pop16)
+ i32.const $push15=, 0
+ i32.load $6=, array+24($pop15):p2align=3
+ i32.const $push14=, 0
+ i32.load $7=, array+28($pop14)
+ i32.const $push13=, 0
+ i32.load $8=, array+32($pop13):p2align=4
.LBB0_1: # %for.cond1.preheader
# =>This Inner Loop Header: Depth=1
block
@@ -58,20 +67,20 @@ main: # @main
br_if $pop8, 1 # 1: down to label2
# BB#10: # %for.cond1.8
# in Loop: Header=BB0_1 Depth=1
- i32.const $push9=, 1
- i32.add $9=, $9, $pop9
- i32.const $push10=, 10
- i32.lt_s $push11=, $9, $pop10
- br_if $pop11, 0 # 0: up to label1
+ i32.const $push23=, 1
+ i32.add $9=, $9, $pop23
+ i32.const $push22=, 10
+ i32.lt_s $push9=, $9, $pop22
+ br_if $pop9, 0 # 0: up to label1
br 2 # 2: down to label0
.LBB0_11: # %label
end_loop # label2:
- i32.const $push12=, 1
- i32.ne $push13=, $9, $pop12
- br_if $pop13, 0 # 0: down to label0
+ i32.const $push10=, 1
+ i32.ne $push11=, $9, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#12: # %if.end9
- i32.const $push14=, 0
- call exit@FUNCTION, $pop14
+ i32.const $push12=, 0
+ call exit@FUNCTION, $pop12
unreachable
.LBB0_13: # %if.then8
end_block # label0:
@@ -85,7 +94,7 @@ main: # @main
.type array,@object
.section .data.array,"aw",@progbits
.globl array
- .align 4
+ .p2align 4
array:
.int32 1 # 0x1
.int32 1 # 0x1
diff --git a/test/torture-s/950809-1.c.s b/test/torture-s/950809-1.c.s
index 47151d8c0..6e683fc99 100644
--- a/test/torture-s/950809-1.c.s
+++ b/test/torture-s/950809-1.c.s
@@ -9,20 +9,22 @@ f: # @f
.result i32
.local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.load $1=, 8($0)
- i32.const $push1=, 16
- i32.add $5=, $0, $pop1
- i32.load $2=, 4($1)
- i32.load $6=, 0($5)
- i32.load $4=, 12($0)
- i32.load $3=, 8($1)
- i32.load $push0=, 0($1)
- i32.store $discard=, 8($1), $pop0
- i32.store $discard=, 0($1), $6
- i32.store $discard=, 0($5), $4
- i32.store $discard=, 12($0), $3
- i32.store $discard=, 4($0), $2
- i32.store $discard=, 0($0), $1
+ i32.load $push0=, 8($0)
+ tee_local $push5=, $6=, $pop0
+ i32.load $1=, 4($pop5)
+ i32.const $push2=, 16
+ i32.add $push3=, $0, $pop2
+ tee_local $push4=, $5=, $pop3
+ i32.load $4=, 0($pop4)
+ i32.load $3=, 12($0)
+ i32.load $2=, 8($6)
+ i32.load $push1=, 0($6)
+ i32.store $discard=, 8($6), $pop1
+ i32.store $discard=, 0($6), $4
+ i32.store $discard=, 0($5), $3
+ i32.store $discard=, 12($0), $2
+ i32.store $discard=, 4($0), $1
+ i32.store $discard=, 0($0), $6
return $0
.endfunc
.Lfunc_end0:
@@ -34,19 +36,22 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, main.sc($0)
- block
+ i32.const $push6=, 0
+ i32.load $0=, main.sc($pop6)
+ i32.const $push5=, 0
i32.const $push1=, 11
- i32.store $discard=, main.sc($0), $pop1
- i32.store $push0=, main.sc+8($0), $1
+ i32.store $discard=, main.sc($pop5), $pop1
+ block
+ i32.const $push4=, 0
+ i32.store $push0=, main.sc+8($pop4), $0
i32.const $push2=, 2
i32.ne $push3=, $pop0, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push7=, 0
+ call exit@FUNCTION, $pop7
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -58,7 +63,7 @@ main: # @main
.type main.sc,@object # @main.sc
.section .data.main.sc,"aw",@progbits
- .align 2
+ .p2align 2
main.sc:
.int32 2 # 0x2
.int32 3 # 0x3
diff --git a/test/torture-s/950915-1.c.s b/test/torture-s/950915-1.c.s
index b8fe35f2c..781e45a7d 100644
--- a/test/torture-s/950915-1.c.s
+++ b/test/torture-s/950915-1.c.s
@@ -6,16 +6,16 @@
.type f,@function
f: # @f
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i64.load32_s $push1=, b($0)
- i64.load32_s $push0=, a($0)
- i64.mul $push2=, $pop1, $pop0
- i64.const $push3=, 16
- i64.shr_u $push4=, $pop2, $pop3
- i32.wrap/i64 $push5=, $pop4
- return $pop5
+ i32.const $push0=, 0
+ i64.load32_s $push2=, b($pop0)
+ i32.const $push7=, 0
+ i64.load32_s $push1=, a($pop7)
+ i64.mul $push3=, $pop2, $pop1
+ i64.const $push4=, 16
+ i64.shr_u $push5=, $pop3, $pop4
+ i32.wrap/i64 $push6=, $pop5
+ return $pop6
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
@@ -26,12 +26,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i64.load32_s $push1=, b($0)
- i64.load32_s $push0=, a($0)
+ i32.const $push9=, 0
+ i64.load32_s $push1=, b($pop9)
+ i32.const $push8=, 0
+ i64.load32_s $push0=, a($pop8)
i64.mul $push2=, $pop1, $pop0
i64.const $push3=, 16
i64.shr_u $push4=, $pop2, $pop3
@@ -44,7 +44,8 @@ main: # @main
unreachable
.LBB1_2: # %if.end
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push10=, 0
+ call exit@FUNCTION, $pop10
unreachable
.endfunc
.Lfunc_end1:
@@ -54,7 +55,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 100000 # 0x186a0
.size a, 4
@@ -63,7 +64,7 @@ a:
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 21475 # 0x53e3
.size b, 4
diff --git a/test/torture-s/951115-1.c.s b/test/torture-s/951115-1.c.s
index ee9e9c011..47da72326 100644
--- a/test/torture-s/951115-1.c.s
+++ b/test/torture-s/951115-1.c.s
@@ -38,12 +38,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, var($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, var($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
@@ -53,7 +53,7 @@ main: # @main
.type var,@object
.section .bss.var,"aw",@nobits
.globl var
- .align 2
+ .p2align 2
var:
.int32 0 # 0x0
.size var, 4
diff --git a/test/torture-s/960116-1.c.s b/test/torture-s/960116-1.c.s
index fec52d10a..4136fcb47 100644
--- a/test/torture-s/960116-1.c.s
+++ b/test/torture-s/960116-1.c.s
@@ -12,7 +12,8 @@ f: # @f
i32.const $1=, 1
block
block
- i32.and $push0=, $0, $1
+ i32.const $push2=, 1
+ i32.and $push0=, $0, $pop2
br_if $pop0, 0 # 0: down to label1
# BB#1: # %land.lhs.true
i32.load $push1=, 0($0)
diff --git a/test/torture-s/960117-1.c.s b/test/torture-s/960117-1.c.s
index 9a71da280..9435f916b 100644
--- a/test/torture-s/960117-1.c.s
+++ b/test/torture-s/960117-1.c.s
@@ -7,19 +7,12 @@
get_id: # @get_id
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push1=, curval+2
- i32.const $push0=, 2
- i32.add $push2=, $pop1, $pop0
- i32.load16_u $push3=, 0($pop2)
- i32.const $push4=, 16
- i32.shl $push5=, $pop3, $pop4
- i32.load16_u $push6=, curval+2($1)
- i32.or $push7=, $pop5, $pop6
- i32.store8 $discard=, 0($pop7), $0
- return $1
+ i32.const $push0=, 0
+ i32.load $push1=, curval+2($pop0):p2align=1
+ i32.store8 $discard=, 0($pop1), $0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end0:
.size get_id, .Lfunc_end0-get_id
@@ -30,20 +23,17 @@ get_id: # @get_id
.type get_tok,@function
get_tok: # @get_tok
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, id_space
- i32.store16 $1=, curval+2($0), $pop0
- i32.const $push4=, curval+2
- i32.const $push3=, 2
- i32.add $push5=, $pop4, $pop3
- i32.const $push1=, 16
- i32.shr_u $push2=, $1, $pop1
- i32.store16 $discard=, 0($pop5), $pop2
- i32.store16 $discard=, curval($0), $0
- i32.const $push6=, 99
- i32.store8 $discard=, id_space($0), $pop6
+ i32.store $discard=, curval+2($pop1):p2align=1, $pop0
+ i32.const $push6=, 0
+ i32.const $push5=, 0
+ i32.store16 $push2=, curval($pop6), $pop5
+ tee_local $push4=, $0=, $pop2
+ i32.const $push3=, 99
+ i32.store8 $discard=, id_space($pop4):p2align=4, $pop3
return $0
.endfunc
.Lfunc_end1:
@@ -55,21 +45,10 @@ get_tok: # @get_tok
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $push0=, id_space
- i32.store16 $1=, curval+2($0), $pop0
- i32.const $push4=, curval+2
- i32.const $push3=, 2
- i32.add $push5=, $pop4, $pop3
- i32.const $push1=, 16
- i32.shr_u $push2=, $1, $pop1
- i32.store16 $discard=, 0($pop5), $pop2
- i32.store16 $discard=, curval($0), $0
- i32.const $push6=, 99
- i32.store8 $discard=, id_space($0), $pop6
- call exit@FUNCTION, $0
+ i32.call $discard=, get_tok@FUNCTION
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
unreachable
.endfunc
.Lfunc_end2:
@@ -79,7 +58,7 @@ main: # @main
.type curval,@object
.section .bss.curval,"aw",@nobits
.globl curval
- .align 1
+ .p2align 1
curval:
.skip 6
.size curval, 6
diff --git a/test/torture-s/960209-1.c.s b/test/torture-s/960209-1.c.s
index 0e8f7f07a..72a7f9cbf 100644
--- a/test/torture-s/960209-1.c.s
+++ b/test/torture-s/960209-1.c.s
@@ -7,20 +7,21 @@
f: # @f
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
- block
i32.const $push1=, -1
- i32.select $1=, $1, $pop1, $2
- i32.load $push0=, yabba($2)
+ i32.const $push7=, 0
+ i32.select $1=, $1, $pop1, $pop7
+ block
+ i32.const $push6=, 0
+ i32.load $push0=, yabba($pop6)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.end24
- i32.const $push4=, an_array
+ i32.const $push8=, 0
i32.const $push2=, 255
i32.and $push3=, $0, $pop2
- i32.add $push5=, $pop4, $pop3
- i32.store $discard=, a_ptr($2), $pop5
+ i32.const $push4=, an_array
+ i32.add $push5=, $pop3, $pop4
+ i32.store $discard=, a_ptr($pop8), $pop5
.LBB0_2: # %cleanup
end_block # label0:
return $1
@@ -34,18 +35,19 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, yabba($0)
+ i32.const $push2=, 0
+ i32.load $push0=, yabba($pop2)
br_if $pop0, 0 # 0: down to label1
# BB#1: # %if.end24.i
+ i32.const $push3=, 0
i32.const $push1=, an_array+1
- i32.store $discard=, a_ptr($0), $pop1
+ i32.store $discard=, a_ptr($pop3), $pop1
.LBB1_2: # %if.end
end_block # label1:
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.endfunc
.Lfunc_end1:
@@ -55,7 +57,7 @@ main: # @main
.type yabba,@object
.section .data.yabba,"aw",@progbits
.globl yabba
- .align 2
+ .p2align 2
yabba:
.int32 1 # 0x1
.size yabba, 4
@@ -72,7 +74,7 @@ an_array:
.type a_ptr,@object
.section .bss.a_ptr,"aw",@nobits
.globl a_ptr
- .align 2
+ .p2align 2
a_ptr:
.int32 0
.size a_ptr, 4
diff --git a/test/torture-s/960215-1.c.s b/test/torture-s/960215-1.c.s
index 60c53e974..30bbf61f1 100644
--- a/test/torture-s/960215-1.c.s
+++ b/test/torture-s/960215-1.c.s
@@ -6,212 +6,264 @@
.type main,@function
main: # @main
.result i32
- .local i32, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $18=, __stack_pointer
- i32.load $18=, 0($18)
- i32.const $19=, 320
- i32.sub $60=, $18, $19
- i32.const $19=, __stack_pointer
- i32.store $60=, 0($19), $60
- i32.const $0=, 0
- i64.load $14=, C+8($0)
- i64.load $15=, C($0)
- i64.load $1=, U+8($0)
- i64.load $2=, U($0)
- i32.const $20=, 304
- i32.add $20=, $60, $20
- call __addtf3@FUNCTION, $20, $15, $14, $2, $1
- i32.const $3=, 8
- i32.const $21=, 304
- i32.add $21=, $60, $21
- i32.add $push0=, $21, $3
- i64.load $4=, 0($pop0)
- i64.load $5=, 304($60)
- i64.load $6=, Y2+8($0)
- i64.load $7=, Y2($0)
- i32.const $22=, 192
- i32.add $22=, $60, $22
- call __multf3@FUNCTION, $22, $5, $4, $7, $6
- i32.const $23=, 192
- i32.add $23=, $60, $23
- i32.add $push1=, $23, $3
- i64.load $8=, 0($pop1)
- i64.load $9=, 192($60)
- i32.const $24=, 240
- i32.add $24=, $60, $24
- call __subtf3@FUNCTION, $24, $15, $14, $2, $1
- i32.const $25=, 240
- i32.add $25=, $60, $25
- i32.add $push2=, $25, $3
- i64.load $10=, 0($pop2)
- i64.load $11=, 240($60)
- i32.const $26=, 224
- i32.add $26=, $60, $26
- call __subtf3@FUNCTION, $26, $11, $10, $2, $1
- i32.const $27=, 224
- i32.add $27=, $60, $27
- i32.add $push3=, $27, $3
- i64.load $12=, 0($pop3)
- i64.load $13=, 224($60)
- i32.const $28=, 288
- i32.add $28=, $60, $28
- call __addtf3@FUNCTION, $28, $2, $1, $5, $4
- i32.const $29=, 288
- i32.add $29=, $60, $29
- i32.add $push4=, $29, $3
- i64.load $4=, 0($pop4)
- i64.load $14=, Y1+8($0)
- i64.load $15=, Y1($0)
- i64.load $5=, 288($60)
- i32.const $30=, 112
- i32.add $30=, $60, $30
- call __multf3@FUNCTION, $30, $11, $10, $15, $14
- i32.const $31=, 112
- i32.add $31=, $60, $31
- i32.add $push5=, $31, $3
- i64.load $16=, 0($pop5)
- i64.load $17=, 112($60)
- i32.const $32=, 272
- i32.add $32=, $60, $32
- call __addtf3@FUNCTION, $32, $5, $4, $2, $1
- i32.const $33=, 272
- i32.add $33=, $60, $33
- i32.add $push6=, $33, $3
- i64.load $10=, 0($pop6)
- i64.load $11=, 272($60)
- i32.const $34=, 176
- i32.add $34=, $60, $34
- call __subtf3@FUNCTION, $34, $9, $8, $11, $10
- i64.load $8=, 176($60)
- i32.const $35=, 176
- i32.add $35=, $60, $35
- i32.add $push7=, $35, $3
- i64.load $push8=, 0($pop7)
- i64.store $discard=, X+8($0), $pop8
- i64.store $discard=, X($0), $8
- i32.const $36=, 80
- i32.add $36=, $60, $36
- call __multf3@FUNCTION, $36, $13, $12, $15, $14
- i32.const $37=, 80
- i32.add $37=, $60, $37
- i32.add $push9=, $37, $3
- i64.load $8=, 0($pop9)
- i64.load $9=, 80($60)
- i32.const $38=, 160
- i32.add $38=, $60, $38
- call __multf3@FUNCTION, $38, $5, $4, $7, $6
- i64.load $4=, 160($60)
- i32.const $39=, 160
- i32.add $39=, $60, $39
- i32.add $push10=, $39, $3
- i64.load $push11=, 0($pop10)
- i64.store $5=, S+8($0), $pop11
- i64.store $discard=, S($0), $4
- i32.const $40=, 96
- i32.add $40=, $60, $40
- call __subtf3@FUNCTION, $40, $17, $16, $13, $12
- i64.load $16=, 96($60)
- i32.const $41=, 96
- i32.add $41=, $60, $41
- i32.add $push12=, $41, $3
- i64.load $push13=, 0($pop12)
- i64.store $discard=, T+8($0), $pop13
- i64.store $discard=, T($0), $16
- i32.const $42=, 208
- i32.add $42=, $60, $42
- call __subtf3@FUNCTION, $42, $2, $1, $13, $12
- i64.load $push16=, 208($60)
- i32.const $43=, 208
- i32.add $43=, $60, $43
- i32.add $push14=, $43, $3
- i64.load $push15=, 0($pop14)
- i32.const $44=, 64
- i32.add $44=, $60, $44
- call __addtf3@FUNCTION, $44, $pop16, $pop15, $9, $8
- i64.load $12=, 64($60)
- i32.const $45=, 64
- i32.add $45=, $60, $45
- i32.add $push17=, $45, $3
- i64.load $push18=, 0($pop17)
- i64.store $discard=, Y+8($0), $pop18
- i64.store $discard=, Y($0), $12
- i32.const $46=, 256
- i32.add $46=, $60, $46
- call __addtf3@FUNCTION, $46, $2, $1, $11, $10
- i64.load $push21=, 256($60)
- i32.const $47=, 256
- i32.add $47=, $60, $47
- i32.add $push19=, $47, $3
+ i32.const $16=, __stack_pointer
+ i32.load $16=, 0($16)
+ i32.const $17=, 320
+ i32.sub $56=, $16, $17
+ i32.const $17=, __stack_pointer
+ i32.store $56=, 0($17), $56
+ i32.const $push107=, 0
+ i64.load $push1=, C($pop107):p2align=4
+ tee_local $push106=, $2=, $pop1
+ i32.const $push105=, 0
+ i64.load $push0=, C+8($pop105)
+ tee_local $push104=, $3=, $pop0
+ i32.const $push103=, 0
+ i64.load $push3=, U($pop103):p2align=4
+ tee_local $push102=, $15=, $pop3
+ i32.const $push101=, 0
+ i64.load $push2=, U+8($pop101)
+ tee_local $push100=, $14=, $pop2
+ i32.const $18=, 304
+ i32.add $18=, $56, $18
+ call __addtf3@FUNCTION, $18, $pop106, $pop104, $pop102, $pop100
+ i64.load $push7=, 304($56)
+ tee_local $push99=, $9=, $pop7
+ i32.const $push4=, 8
+ i32.const $19=, 304
+ i32.add $19=, $56, $19
+ i32.add $push5=, $19, $pop4
+ i64.load $push6=, 0($pop5)
+ tee_local $push98=, $8=, $pop6
+ i32.const $push97=, 0
+ i64.load $push9=, Y2($pop97):p2align=4
+ tee_local $push96=, $13=, $pop9
+ i32.const $push95=, 0
+ i64.load $push8=, Y2+8($pop95)
+ tee_local $push94=, $12=, $pop8
+ i32.const $20=, 192
+ i32.add $20=, $56, $20
+ call __multf3@FUNCTION, $20, $pop99, $pop98, $pop96, $pop94
+ i32.const $push93=, 8
+ i32.const $21=, 192
+ i32.add $21=, $56, $21
+ i32.add $push10=, $21, $pop93
+ i64.load $0=, 0($pop10)
+ i64.load $1=, 192($56)
+ i32.const $22=, 240
+ i32.add $22=, $56, $22
+ call __subtf3@FUNCTION, $22, $2, $3, $15, $14
+ i64.load $push13=, 240($56)
+ tee_local $push92=, $11=, $pop13
+ i32.const $push91=, 8
+ i32.const $23=, 240
+ i32.add $23=, $56, $23
+ i32.add $push11=, $23, $pop91
+ i64.load $push12=, 0($pop11)
+ tee_local $push90=, $10=, $pop12
+ i32.const $24=, 224
+ i32.add $24=, $56, $24
+ call __subtf3@FUNCTION, $24, $pop92, $pop90, $15, $14
+ i32.const $push89=, 8
+ i32.const $25=, 224
+ i32.add $25=, $56, $25
+ i32.add $push14=, $25, $pop89
+ i64.load $2=, 0($pop14)
+ i64.load $3=, 224($56)
+ i32.const $26=, 288
+ i32.add $26=, $56, $26
+ call __addtf3@FUNCTION, $26, $15, $14, $9, $8
+ i32.const $push88=, 8
+ i32.const $27=, 288
+ i32.add $27=, $56, $27
+ i32.add $push15=, $27, $pop88
+ i64.load $4=, 0($pop15)
+ i64.load $5=, 288($56)
+ i32.const $push87=, 0
+ i64.load $push17=, Y1($pop87):p2align=4
+ tee_local $push86=, $9=, $pop17
+ i32.const $push85=, 0
+ i64.load $push16=, Y1+8($pop85)
+ tee_local $push84=, $8=, $pop16
+ i32.const $28=, 112
+ i32.add $28=, $56, $28
+ call __multf3@FUNCTION, $28, $11, $10, $pop86, $pop84
+ i32.const $push83=, 8
+ i32.const $29=, 112
+ i32.add $29=, $56, $29
+ i32.add $push18=, $29, $pop83
+ i64.load $11=, 0($pop18)
+ i64.load $10=, 112($56)
+ i32.const $30=, 272
+ i32.add $30=, $56, $30
+ call __addtf3@FUNCTION, $30, $5, $4, $15, $14
+ i64.load $push21=, 272($56)
+ tee_local $push82=, $7=, $pop21
+ i32.const $push81=, 8
+ i32.const $31=, 272
+ i32.add $31=, $56, $31
+ i32.add $push19=, $31, $pop81
i64.load $push20=, 0($pop19)
- i32.const $48=, 144
- i32.add $48=, $60, $48
- call __subtf3@FUNCTION, $48, $4, $5, $pop21, $pop20
- i64.load $12=, 144($60)
- i32.const $49=, 144
- i32.add $49=, $60, $49
- i32.add $push22=, $49, $3
+ tee_local $push80=, $6=, $pop20
+ i32.const $32=, 176
+ i32.add $32=, $56, $32
+ call __subtf3@FUNCTION, $32, $1, $0, $pop82, $pop80
+ i64.load $0=, 176($56)
+ i32.const $push79=, 0
+ i32.const $push78=, 8
+ i32.const $33=, 176
+ i32.add $33=, $56, $33
+ i32.add $push22=, $33, $pop78
i64.load $push23=, 0($pop22)
- i64.store $13=, Z+8($0), $pop23
- i64.store $discard=, Z($0), $12
- i32.const $50=, 128
- i32.add $50=, $60, $50
- call __addtf3@FUNCTION, $50, $2, $1, $7, $6
- i64.load $push26=, 128($60)
- i32.const $51=, 128
- i32.add $51=, $60, $51
- i32.add $push24=, $51, $3
- i64.load $push25=, 0($pop24)
- i32.const $52=, 48
- i32.add $52=, $60, $52
- call __multf3@FUNCTION, $52, $pop26, $pop25, $15, $14
- i32.const $53=, 48
- i32.add $53=, $60, $53
- i32.add $push27=, $53, $3
- i64.load $1=, 0($pop27)
- i64.load $2=, 48($60)
- i32.const $54=, 16
- i32.add $54=, $60, $54
- call __multf3@FUNCTION, $54, $7, $6, $15, $14
- i32.const $55=, 16
- i32.add $55=, $60, $55
- i32.add $push28=, $55, $3
- i64.load $14=, 0($pop28)
- i64.load $15=, 16($60)
- i32.const $56=, 32
- i32.add $56=, $60, $56
- call __subtf3@FUNCTION, $56, $2, $1, $7, $6
- i64.load $2=, 32($60)
- i32.const $57=, 32
- i32.add $57=, $60, $57
- i32.add $push29=, $57, $3
+ i64.store $discard=, X+8($pop79), $pop23
+ i32.const $push77=, 0
+ i64.store $discard=, X($pop77):p2align=4, $0
+ i32.const $34=, 80
+ i32.add $34=, $56, $34
+ call __multf3@FUNCTION, $34, $3, $2, $9, $8
+ i32.const $push76=, 8
+ i32.const $35=, 80
+ i32.add $35=, $56, $35
+ i32.add $push24=, $35, $pop76
+ i64.load $0=, 0($pop24)
+ i64.load $1=, 80($56)
+ i32.const $36=, 160
+ i32.add $36=, $56, $36
+ call __multf3@FUNCTION, $36, $5, $4, $13, $12
+ i64.load $4=, 160($56)
+ i32.const $push75=, 0
+ i32.const $push74=, 8
+ i32.const $37=, 160
+ i32.add $37=, $56, $37
+ i32.add $push25=, $37, $pop74
+ i64.load $push26=, 0($pop25)
+ i64.store $5=, S+8($pop75), $pop26
+ i32.const $push73=, 0
+ i64.store $discard=, S($pop73):p2align=4, $4
+ i32.const $38=, 96
+ i32.add $38=, $56, $38
+ call __subtf3@FUNCTION, $38, $10, $11, $3, $2
+ i64.load $11=, 96($56)
+ i32.const $push72=, 0
+ i32.const $push71=, 8
+ i32.const $39=, 96
+ i32.add $39=, $56, $39
+ i32.add $push27=, $39, $pop71
+ i64.load $push28=, 0($pop27)
+ i64.store $discard=, T+8($pop72), $pop28
+ i32.const $push70=, 0
+ i64.store $discard=, T($pop70):p2align=4, $11
+ i32.const $40=, 208
+ i32.add $40=, $56, $40
+ call __subtf3@FUNCTION, $40, $15, $14, $3, $2
+ i64.load $push31=, 208($56)
+ i32.const $push69=, 8
+ i32.const $41=, 208
+ i32.add $41=, $56, $41
+ i32.add $push29=, $41, $pop69
i64.load $push30=, 0($pop29)
- i64.store $discard=, R+8($0), $pop30
- i64.const $1=, 0
- i64.store $discard=, R($0), $2
- i64.const $push31=, -4612248968380809216
- i32.const $58=, 0
- i32.add $58=, $60, $58
- call __addtf3@FUNCTION, $58, $15, $14, $1, $pop31
- i64.load $2=, 0($60)
- i32.const $59=, 0
- i32.add $59=, $60, $59
- i32.add $push32=, $59, $3
+ i32.const $42=, 64
+ i32.add $42=, $56, $42
+ call __addtf3@FUNCTION, $42, $pop31, $pop30, $1, $0
+ i64.load $2=, 64($56)
+ i32.const $push68=, 0
+ i32.const $push67=, 8
+ i32.const $43=, 64
+ i32.add $43=, $56, $43
+ i32.add $push32=, $43, $pop67
i64.load $push33=, 0($pop32)
- i64.store $discard=, Y1+8($0), $pop33
- i64.store $discard=, Y1($0), $2
+ i64.store $discard=, Y+8($pop68), $pop33
+ i32.const $push66=, 0
+ i64.store $discard=, Y($pop66):p2align=4, $2
+ i32.const $44=, 256
+ i32.add $44=, $56, $44
+ call __addtf3@FUNCTION, $44, $15, $14, $7, $6
+ i64.load $push36=, 256($56)
+ i32.const $push65=, 8
+ i32.const $45=, 256
+ i32.add $45=, $56, $45
+ i32.add $push34=, $45, $pop65
+ i64.load $push35=, 0($pop34)
+ i32.const $46=, 144
+ i32.add $46=, $56, $46
+ call __subtf3@FUNCTION, $46, $4, $5, $pop36, $pop35
+ i64.load $2=, 144($56)
+ i32.const $push64=, 0
+ i32.const $push63=, 8
+ i32.const $47=, 144
+ i32.add $47=, $56, $47
+ i32.add $push37=, $47, $pop63
+ i64.load $push38=, 0($pop37)
+ i64.store $3=, Z+8($pop64), $pop38
+ i32.const $push62=, 0
+ i64.store $discard=, Z($pop62):p2align=4, $2
+ i32.const $48=, 128
+ i32.add $48=, $56, $48
+ call __addtf3@FUNCTION, $48, $15, $14, $13, $12
+ i64.load $push41=, 128($56)
+ i32.const $push61=, 8
+ i32.const $49=, 128
+ i32.add $49=, $56, $49
+ i32.add $push39=, $49, $pop61
+ i64.load $push40=, 0($pop39)
+ i32.const $50=, 48
+ i32.add $50=, $56, $50
+ call __multf3@FUNCTION, $50, $pop41, $pop40, $9, $8
+ i32.const $push60=, 8
+ i32.const $51=, 48
+ i32.add $51=, $56, $51
+ i32.add $push42=, $51, $pop60
+ i64.load $15=, 0($pop42)
+ i64.load $14=, 48($56)
+ i32.const $52=, 16
+ i32.add $52=, $56, $52
+ call __multf3@FUNCTION, $52, $13, $12, $9, $8
+ i32.const $push59=, 8
+ i32.const $53=, 16
+ i32.add $53=, $56, $53
+ i32.add $push43=, $53, $pop59
+ i64.load $9=, 0($pop43)
+ i64.load $8=, 16($56)
+ i32.const $54=, 32
+ i32.add $54=, $56, $54
+ call __subtf3@FUNCTION, $54, $14, $15, $13, $12
+ i64.load $15=, 32($56)
+ i32.const $push58=, 0
+ i32.const $push57=, 8
+ i32.const $55=, 32
+ i32.add $55=, $56, $55
+ i32.add $push44=, $55, $pop57
+ i64.load $push45=, 0($pop44)
+ i64.store $discard=, R+8($pop58), $pop45
+ i32.const $push56=, 0
+ i64.store $discard=, R($pop56):p2align=4, $15
+ i64.const $push47=, 0
+ i64.const $push46=, -4612248968380809216
+ call __addtf3@FUNCTION, $56, $8, $9, $pop47, $pop46
+ i64.load $15=, 0($56)
+ i32.const $push55=, 0
+ i32.const $push54=, 8
+ i32.add $push48=, $56, $pop54
+ i64.load $push49=, 0($pop48)
+ i64.store $discard=, Y1+8($pop55), $pop49
+ i32.const $push53=, 0
+ i64.store $discard=, Y1($pop53):p2align=4, $15
block
- i64.const $push34=, 4612108230892453888
- i32.call $push35=, __eqtf2@FUNCTION, $12, $13, $1, $pop34
- i32.const $push36=, 0
- i32.eq $push37=, $pop35, $pop36
- br_if $pop37, 0 # 0: down to label0
+ i64.const $push52=, 0
+ i64.const $push50=, 4612108230892453888
+ i32.call $push51=, __eqtf2@FUNCTION, $2, $3, $pop52, $pop50
+ i32.const $push109=, 0
+ i32.eq $push110=, $pop51, $pop109
+ br_if $pop110, 0 # 0: down to label0
# BB#1: # %if.then
call abort@FUNCTION
unreachable
.LBB0_2: # %if.end
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push108=, 0
+ call exit@FUNCTION, $pop108
unreachable
.endfunc
.Lfunc_end0:
@@ -221,7 +273,7 @@ main: # @main
.type C,@object
.section .data.C,"aw",@progbits
.globl C
- .align 4
+ .p2align 4
C:
.int64 0 # fp128 2
.int64 4611686018427387904
@@ -231,7 +283,7 @@ C:
.type U,@object
.section .data.U,"aw",@progbits
.globl U
- .align 4
+ .p2align 4
U:
.int64 0 # fp128 1
.int64 4611404543450677248
@@ -241,7 +293,7 @@ U:
.type Y2,@object
.section .data.Y2,"aw",@progbits
.globl Y2
- .align 4
+ .p2align 4
Y2:
.int64 0 # fp128 3
.int64 4611826755915743232
@@ -251,7 +303,7 @@ Y2:
.type Y1,@object
.section .data.Y1,"aw",@progbits
.globl Y1
- .align 4
+ .p2align 4
Y1:
.int64 0 # fp128 1
.int64 4611404543450677248
@@ -261,7 +313,7 @@ Y1:
.type X,@object
.section .bss.X,"aw",@nobits
.globl X
- .align 4
+ .p2align 4
X:
.int64 0 # fp128 0
.int64 0
@@ -271,7 +323,7 @@ X:
.type Y,@object
.section .bss.Y,"aw",@nobits
.globl Y
- .align 4
+ .p2align 4
Y:
.int64 0 # fp128 0
.int64 0
@@ -281,7 +333,7 @@ Y:
.type Z,@object
.section .bss.Z,"aw",@nobits
.globl Z
- .align 4
+ .p2align 4
Z:
.int64 0 # fp128 0
.int64 0
@@ -291,7 +343,7 @@ Z:
.type T,@object
.section .bss.T,"aw",@nobits
.globl T
- .align 4
+ .p2align 4
T:
.int64 0 # fp128 0
.int64 0
@@ -301,7 +353,7 @@ T:
.type R,@object
.section .bss.R,"aw",@nobits
.globl R
- .align 4
+ .p2align 4
R:
.int64 0 # fp128 0
.int64 0
@@ -311,7 +363,7 @@ R:
.type S,@object
.section .bss.S,"aw",@nobits
.globl S
- .align 4
+ .p2align 4
S:
.int64 0 # fp128 0
.int64 0
diff --git a/test/torture-s/960218-1.c.s b/test/torture-s/960218-1.c.s
index afa12aaab..78312d213 100644
--- a/test/torture-s/960218-1.c.s
+++ b/test/torture-s/960218-1.c.s
@@ -7,11 +7,11 @@
g: # @g
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.store $discard=, glob($1), $0
- return $1
+ i32.const $push0=, 0
+ i32.store $discard=, glob($pop0), $0
+ i32.const $push1=, 0
+ return $pop1
.endfunc
.Lfunc_end0:
.size g, .Lfunc_end0-g
@@ -23,15 +23,15 @@ g: # @g
f: # @f
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, -1
block
- i32.eq $push0=, $0, $1
+ i32.const $push3=, -1
+ i32.eq $push0=, $0, $pop3
br_if $pop0, 0 # 0: down to label0
# BB#1: # %while.cond.while.end_crit_edge
i32.const $push2=, 0
- i32.xor $push1=, $0, $1
+ i32.const $push4=, -1
+ i32.xor $push1=, $0, $pop4
i32.store $discard=, glob($pop2), $pop1
.LBB1_2: # %while.end
end_block # label0:
@@ -46,12 +46,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, -4
- i32.store $discard=, glob($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, glob($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
@@ -61,7 +61,7 @@ main: # @main
.type glob,@object
.section .bss.glob,"aw",@nobits
.globl glob
- .align 2
+ .p2align 2
glob:
.int32 0 # 0x0
.size glob, 4
diff --git a/test/torture-s/960301-1.c.s b/test/torture-s/960301-1.c.s
index df3f6d186..c3ddc3497 100644
--- a/test/torture-s/960301-1.c.s
+++ b/test/torture-s/960301-1.c.s
@@ -7,22 +7,26 @@
bar: # @bar
.param i32
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $2=, foo($1)
- i32.const $3=, 12
- i32.shr_u $push0=, $2, $3
- i32.store $discard=, oldfoo($1), $pop0
- i32.const $push2=, 4095
- i32.and $push3=, $2, $pop2
- i32.shl $push1=, $0, $3
- i32.or $push4=, $pop3, $pop1
- i32.store16 $discard=, foo($1), $pop4
- i32.const $push6=, 1
- i32.const $push5=, 2
- i32.select $push7=, $0, $pop6, $pop5
- return $pop7
+ i32.const $push0=, 0
+ i32.const $push14=, 0
+ i32.load16_u $push1=, foo($pop14):p2align=2
+ tee_local $push13=, $1=, $pop1
+ i32.const $push2=, 12
+ i32.shr_u $push3=, $pop13, $pop2
+ i32.store $discard=, oldfoo($pop0), $pop3
+ i32.const $push12=, 0
+ i32.const $push5=, 4095
+ i32.and $push6=, $1, $pop5
+ i32.const $push11=, 12
+ i32.shl $push4=, $0, $pop11
+ i32.or $push7=, $pop6, $pop4
+ i32.store16 $discard=, foo($pop12):p2align=2, $pop7
+ i32.const $push9=, 1
+ i32.const $push8=, 2
+ i32.select $push10=, $0, $pop9, $pop8
+ return $pop10
.endfunc
.Lfunc_end0:
.size bar, .Lfunc_end0-bar
@@ -33,19 +37,23 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.load16_u $1=, foo($0)
- i32.const $push0=, 12
- i32.shr_u $push1=, $1, $pop0
- i32.store $discard=, oldfoo($0), $pop1
- i32.const $push2=, 4095
- i32.and $push3=, $1, $pop2
- i32.const $push4=, 4096
- i32.or $push5=, $pop3, $pop4
- i32.store16 $discard=, foo($0), $pop5
- call exit@FUNCTION, $0
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load16_u $push1=, foo($pop11):p2align=2
+ tee_local $push10=, $0=, $pop1
+ i32.const $push2=, 12
+ i32.shr_u $push3=, $pop10, $pop2
+ i32.store $discard=, oldfoo($pop0), $pop3
+ i32.const $push9=, 0
+ i32.const $push4=, 4095
+ i32.and $push5=, $0, $pop4
+ i32.const $push6=, 4096
+ i32.or $push7=, $pop5, $pop6
+ i32.store16 $discard=, foo($pop9):p2align=2, $pop7
+ i32.const $push8=, 0
+ call exit@FUNCTION, $pop8
unreachable
.endfunc
.Lfunc_end1:
@@ -55,7 +63,7 @@ main: # @main
.type foo,@object
.section .bss.foo,"aw",@nobits
.globl foo
- .align 2
+ .p2align 2
foo:
.skip 4
.size foo, 4
@@ -64,7 +72,7 @@ foo:
.type oldfoo,@object
.section .bss.oldfoo,"aw",@nobits
.globl oldfoo
- .align 2
+ .p2align 2
oldfoo:
.int32 0 # 0x0
.size oldfoo, 4
diff --git a/test/torture-s/960302-1.c.s b/test/torture-s/960302-1.c.s
index 4c315e042..c38184f75 100644
--- a/test/torture-s/960302-1.c.s
+++ b/test/torture-s/960302-1.c.s
@@ -6,22 +6,24 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, a($0)
- i32.const $push0=, 31
- i32.shr_u $push1=, $1, $pop0
- i32.add $push2=, $1, $pop1
- i32.const $push3=, -2
- i32.and $push4=, $pop2, $pop3
- i32.sub $1=, $1, $pop4
- i32.const $2=, 1
- i32.eq $push5=, $1, $2
- i32.const $push6=, -1
- i32.select $push7=, $pop5, $2, $pop6
- i32.select $push8=, $1, $pop7, $0
- return $pop8
+ i32.const $push0=, 0
+ i32.load $0=, a($pop0)
+ i32.const $push1=, 31
+ i32.shr_u $push2=, $0, $pop1
+ i32.add $push3=, $0, $pop2
+ i32.const $push4=, -2
+ i32.and $push5=, $pop3, $pop4
+ i32.sub $0=, $0, $pop5
+ i32.const $push6=, 1
+ i32.eq $push7=, $0, $pop6
+ i32.const $push12=, 1
+ i32.const $push8=, -1
+ i32.select $push9=, $pop7, $pop12, $pop8
+ i32.const $push11=, 0
+ i32.select $push10=, $0, $pop9, $pop11
+ return $pop10
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -32,22 +34,23 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, a($0)
+ i32.const $push8=, 0
+ i32.load $0=, a($pop8)
block
i32.const $push0=, 31
- i32.shr_u $push1=, $1, $pop0
- i32.add $push2=, $1, $pop1
+ i32.shr_u $push1=, $0, $pop0
+ i32.add $push2=, $0, $pop1
i32.const $push3=, -2
i32.and $push4=, $pop2, $pop3
- i32.sub $push5=, $1, $pop4
+ i32.sub $push5=, $0, $pop4
i32.const $push6=, 1
i32.ne $push7=, $pop5, $pop6
br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push9=, 0
+ call exit@FUNCTION, $pop9
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -61,7 +64,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
diff --git a/test/torture-s/960311-1.c.s b/test/torture-s/960311-1.c.s
index 358545015..400a4192a 100644
--- a/test/torture-s/960311-1.c.s
+++ b/test/torture-s/960311-1.c.s
@@ -5,13 +5,13 @@
.globl a1
.type a1,@function
a1: # @a1
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, count($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, count($0), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, count($pop4)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, count($pop0), $pop3
return
.endfunc
.Lfunc_end0:
@@ -23,48 +23,50 @@ a1: # @a1
.type b,@function
b: # @b
.param i32
- .local i32
# BB#0: # %entry
block
i32.const $push0=, 128
i32.and $push1=, $0, $pop0
- i32.const $push15=, 0
- i32.eq $push16=, $pop1, $pop15
- br_if $pop16, 0 # 0: down to label0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop1, $pop21
+ br_if $pop22, 0 # 0: down to label0
# BB#1: # %if.then
- i32.const $1=, 0
- i32.load $push2=, count($1)
- i32.const $push3=, 1
- i32.add $push4=, $pop2, $pop3
- i32.store $discard=, count($1), $pop4
+ i32.const $push2=, 0
+ i32.const $push18=, 0
+ i32.load $push3=, count($pop18)
+ i32.const $push4=, 1
+ i32.add $push5=, $pop3, $pop4
+ i32.store $discard=, count($pop2), $pop5
.LBB1_2: # %if.end
end_block # label0:
block
- i32.const $push5=, 64
- i32.and $push6=, $0, $pop5
- i32.const $push17=, 0
- i32.eq $push18=, $pop6, $pop17
- br_if $pop18, 0 # 0: down to label1
+ i32.const $push6=, 64
+ i32.and $push7=, $0, $pop6
+ i32.const $push23=, 0
+ i32.eq $push24=, $pop7, $pop23
+ br_if $pop24, 0 # 0: down to label1
# BB#3: # %if.then6
- i32.const $1=, 0
- i32.load $push7=, count($1)
- i32.const $push8=, 1
- i32.add $push9=, $pop7, $pop8
- i32.store $discard=, count($1), $pop9
+ i32.const $push8=, 0
+ i32.const $push19=, 0
+ i32.load $push9=, count($pop19)
+ i32.const $push10=, 1
+ i32.add $push11=, $pop9, $pop10
+ i32.store $discard=, count($pop8), $pop11
.LBB1_4: # %if.end7
end_block # label1:
block
- i32.const $push10=, 32
- i32.and $push11=, $0, $pop10
- i32.const $push19=, 0
- i32.eq $push20=, $pop11, $pop19
- br_if $pop20, 0 # 0: down to label2
+ i32.const $push12=, 32
+ i32.and $push13=, $0, $pop12
+ i32.const $push25=, 0
+ i32.eq $push26=, $pop13, $pop25
+ br_if $pop26, 0 # 0: down to label2
# BB#5: # %if.then14
- i32.const $0=, 0
- i32.load $push12=, count($0)
- i32.const $push13=, 1
- i32.add $push14=, $pop12, $pop13
- i32.store $discard=, count($0), $pop14
+ i32.const $push14=, 0
+ i32.const $push20=, 0
+ i32.load $push15=, count($pop20)
+ i32.const $push16=, 1
+ i32.add $push17=, $pop15, $pop16
+ i32.store $discard=, count($pop14), $pop17
.LBB1_6: # %if.end15
end_block # label2:
return
@@ -78,12 +80,12 @@ b: # @b
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end21
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 3
- i32.store $discard=, count($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, count($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
@@ -93,7 +95,7 @@ main: # @main
.type count,@object
.section .bss.count,"aw",@nobits
.globl count
- .align 2
+ .p2align 2
count:
.int32 0 # 0x0
.size count, 4
diff --git a/test/torture-s/960311-2.c.s b/test/torture-s/960311-2.c.s
index 6ba96c161..5a164a23f 100644
--- a/test/torture-s/960311-2.c.s
+++ b/test/torture-s/960311-2.c.s
@@ -5,13 +5,13 @@
.globl a1
.type a1,@function
a1: # @a1
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, count($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, count($0), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, count($pop4)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, count($pop0), $pop3
return
.endfunc
.Lfunc_end0:
@@ -23,48 +23,50 @@ a1: # @a1
.type b,@function
b: # @b
.param i32
- .local i32
# BB#0: # %entry
block
i32.const $push0=, 32768
i32.and $push1=, $0, $pop0
- i32.const $push15=, 0
- i32.eq $push16=, $pop1, $pop15
- br_if $pop16, 0 # 0: down to label0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop1, $pop21
+ br_if $pop22, 0 # 0: down to label0
# BB#1: # %if.then
- i32.const $1=, 0
- i32.load $push2=, count($1)
- i32.const $push3=, 1
- i32.add $push4=, $pop2, $pop3
- i32.store $discard=, count($1), $pop4
+ i32.const $push2=, 0
+ i32.const $push18=, 0
+ i32.load $push3=, count($pop18)
+ i32.const $push4=, 1
+ i32.add $push5=, $pop3, $pop4
+ i32.store $discard=, count($pop2), $pop5
.LBB1_2: # %if.end
end_block # label0:
block
- i32.const $push5=, 16384
- i32.and $push6=, $0, $pop5
- i32.const $push17=, 0
- i32.eq $push18=, $pop6, $pop17
- br_if $pop18, 0 # 0: down to label1
+ i32.const $push6=, 16384
+ i32.and $push7=, $0, $pop6
+ i32.const $push23=, 0
+ i32.eq $push24=, $pop7, $pop23
+ br_if $pop24, 0 # 0: down to label1
# BB#3: # %if.then6
- i32.const $1=, 0
- i32.load $push7=, count($1)
- i32.const $push8=, 1
- i32.add $push9=, $pop7, $pop8
- i32.store $discard=, count($1), $pop9
+ i32.const $push8=, 0
+ i32.const $push19=, 0
+ i32.load $push9=, count($pop19)
+ i32.const $push10=, 1
+ i32.add $push11=, $pop9, $pop10
+ i32.store $discard=, count($pop8), $pop11
.LBB1_4: # %if.end7
end_block # label1:
block
- i32.const $push10=, 8192
- i32.and $push11=, $0, $pop10
- i32.const $push19=, 0
- i32.eq $push20=, $pop11, $pop19
- br_if $pop20, 0 # 0: down to label2
+ i32.const $push12=, 8192
+ i32.and $push13=, $0, $pop12
+ i32.const $push25=, 0
+ i32.eq $push26=, $pop13, $pop25
+ br_if $pop26, 0 # 0: down to label2
# BB#5: # %if.then14
- i32.const $0=, 0
- i32.load $push12=, count($0)
- i32.const $push13=, 1
- i32.add $push14=, $pop12, $pop13
- i32.store $discard=, count($0), $pop14
+ i32.const $push14=, 0
+ i32.const $push20=, 0
+ i32.load $push15=, count($pop20)
+ i32.const $push16=, 1
+ i32.add $push17=, $pop15, $pop16
+ i32.store $discard=, count($pop14), $pop17
.LBB1_6: # %if.end15
end_block # label2:
return
@@ -78,12 +80,12 @@ b: # @b
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end21
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 3
- i32.store $discard=, count($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, count($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
@@ -93,7 +95,7 @@ main: # @main
.type count,@object
.section .bss.count,"aw",@nobits
.globl count
- .align 2
+ .p2align 2
count:
.int32 0 # 0x0
.size count, 4
diff --git a/test/torture-s/960311-3.c.s b/test/torture-s/960311-3.c.s
index de90a61a6..2304e52e2 100644
--- a/test/torture-s/960311-3.c.s
+++ b/test/torture-s/960311-3.c.s
@@ -5,13 +5,13 @@
.globl a1
.type a1,@function
a1: # @a1
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, count($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, count($0), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, count($pop4)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, count($pop0), $pop3
return
.endfunc
.Lfunc_end0:
@@ -23,46 +23,48 @@ a1: # @a1
.type b,@function
b: # @b
.param i32
- .local i32
# BB#0: # %entry
block
i32.const $push0=, -1
i32.gt_s $push1=, $0, $pop0
br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.then
- i32.const $1=, 0
- i32.load $push2=, count($1)
- i32.const $push3=, 1
- i32.add $push4=, $pop2, $pop3
- i32.store $discard=, count($1), $pop4
+ i32.const $push2=, 0
+ i32.const $push18=, 0
+ i32.load $push3=, count($pop18)
+ i32.const $push4=, 1
+ i32.add $push5=, $pop3, $pop4
+ i32.store $discard=, count($pop2), $pop5
.LBB1_2: # %if.end
end_block # label0:
block
- i32.const $push5=, 1073741824
- i32.and $push6=, $0, $pop5
- i32.const $push15=, 0
- i32.eq $push16=, $pop6, $pop15
- br_if $pop16, 0 # 0: down to label1
+ i32.const $push6=, 1073741824
+ i32.and $push7=, $0, $pop6
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop7, $pop21
+ br_if $pop22, 0 # 0: down to label1
# BB#3: # %if.then3
- i32.const $1=, 0
- i32.load $push7=, count($1)
- i32.const $push8=, 1
- i32.add $push9=, $pop7, $pop8
- i32.store $discard=, count($1), $pop9
+ i32.const $push8=, 0
+ i32.const $push19=, 0
+ i32.load $push9=, count($pop19)
+ i32.const $push10=, 1
+ i32.add $push11=, $pop9, $pop10
+ i32.store $discard=, count($pop8), $pop11
.LBB1_4: # %if.end4
end_block # label1:
block
- i32.const $push10=, 536870912
- i32.and $push11=, $0, $pop10
- i32.const $push17=, 0
- i32.eq $push18=, $pop11, $pop17
- br_if $pop18, 0 # 0: down to label2
+ i32.const $push12=, 536870912
+ i32.and $push13=, $0, $pop12
+ i32.const $push23=, 0
+ i32.eq $push24=, $pop13, $pop23
+ br_if $pop24, 0 # 0: down to label2
# BB#5: # %if.then8
- i32.const $0=, 0
- i32.load $push12=, count($0)
- i32.const $push13=, 1
- i32.add $push14=, $pop12, $pop13
- i32.store $discard=, count($0), $pop14
+ i32.const $push14=, 0
+ i32.const $push20=, 0
+ i32.load $push15=, count($pop20)
+ i32.const $push16=, 1
+ i32.add $push17=, $pop15, $pop16
+ i32.store $discard=, count($pop14), $pop17
.LBB1_6: # %if.end9
end_block # label2:
return
@@ -76,12 +78,12 @@ b: # @b
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end21
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 3
- i32.store $discard=, count($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, count($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
@@ -91,7 +93,7 @@ main: # @main
.type count,@object
.section .bss.count,"aw",@nobits
.globl count
- .align 2
+ .p2align 2
count:
.int32 0 # 0x0
.size count, 4
diff --git a/test/torture-s/960312-1.c.s b/test/torture-s/960312-1.c.s
index 0179b039f..27e87062d 100644
--- a/test/torture-s/960312-1.c.s
+++ b/test/torture-s/960312-1.c.s
@@ -36,23 +36,26 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
i32.const $2=, 0
i32.load $0=, main.sc+4($2)
i32.load $1=, main.sc+8($2)
- i32.load $3=, main.sc($2)
+ i32.load $2=, main.sc($2)
#APP
#NO_APP
- block
+ i32.const $push5=, 0
i32.const $push1=, 11
- i32.store $discard=, main.sc($2), $pop1
- i32.store $push0=, main.sc+8($2), $3
+ i32.store $discard=, main.sc($pop5), $pop1
+ block
+ i32.const $push4=, 0
+ i32.store $push0=, main.sc+8($pop4), $2
i32.const $push2=, 2
i32.ne $push3=, $pop0, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $2
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -64,7 +67,7 @@ main: # @main
.type main.sc,@object # @main.sc
.section .data.main.sc,"aw",@progbits
- .align 2
+ .p2align 2
main.sc:
.int32 2 # 0x2
.int32 3 # 0x3
diff --git a/test/torture-s/960317-1.c.s b/test/torture-s/960317-1.c.s
index b76f61b34..67918c399 100644
--- a/test/torture-s/960317-1.c.s
+++ b/test/torture-s/960317-1.c.s
@@ -7,25 +7,28 @@
f: # @f
.param i32, i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $3=, -1
- i32.shl $2=, $3, $0
- i32.const $0=, 0
block
- i32.sub $push0=, $0, $2
- i32.and $push1=, $1, $pop0
- i32.const $push5=, 0
- i32.eq $push6=, $pop1, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push8=, 0
+ i32.const $push7=, -1
+ i32.shl $push0=, $pop7, $0
+ tee_local $push6=, $0=, $pop0
+ i32.sub $push1=, $pop8, $pop6
+ i32.and $push2=, $1, $pop1
+ i32.const $push12=, 0
+ i32.eq $push13=, $pop2, $pop12
+ br_if $pop13, 0 # 0: down to label0
# BB#1: # %if.end
- i32.xor $push2=, $2, $3
- i32.and $push3=, $1, $pop2
- i32.ne $push4=, $pop3, $0
- return $pop4
+ i32.const $push10=, -1
+ i32.xor $push3=, $0, $pop10
+ i32.and $push4=, $1, $pop3
+ i32.const $push9=, 0
+ i32.ne $push5=, $pop4, $pop9
+ return $pop5
.LBB0_2: # %cleanup
end_block # label0:
- return $0
+ i32.const $push11=, 0
+ return $pop11
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/960321-1.c.s b/test/torture-s/960321-1.c.s
index a7a899570..314a12267 100644
--- a/test/torture-s/960321-1.c.s
+++ b/test/torture-s/960321-1.c.s
@@ -8,12 +8,10 @@ acc_a: # @acc_a
.param i32
.result i32
# BB#0: # %entry
- i32.const $push0=, a
+ i32.const $push0=, a-2000000000
i32.add $push1=, $0, $pop0
- i32.const $push2=, -2000000000
- i32.add $push3=, $pop1, $pop2
- i32.load8_s $push4=, 0($pop3)
- return $pop4
+ i32.load8_s $push2=, 0($pop1)
+ return $pop2
.endfunc
.Lfunc_end0:
.size acc_a, .Lfunc_end0-acc_a
@@ -24,16 +22,16 @@ acc_a: # @acc_a
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load8_u $push0=, a($0)
+ i32.const $push3=, 0
+ i32.load8_u $push0=, a($pop3)
i32.const $push1=, 100
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.LBB1_2: # %if.then
end_block # label0:
diff --git a/test/torture-s/960326-1.c.s b/test/torture-s/960326-1.c.s
index 32e06710e..ad5277d87 100644
--- a/test/torture-s/960326-1.c.s
+++ b/test/torture-s/960326-1.c.s
@@ -6,16 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, s+4($0)
+ i32.const $push3=, 0
+ i32.load $push0=, s+4($pop3)
i32.const $push1=, 3
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -29,7 +29,7 @@ main: # @main
.type s,@object
.section .data.s,"aw",@progbits
.globl s
- .align 2
+ .p2align 2
s:
.int32 0 # 0x0
.int32 3 # 0x3
diff --git a/test/torture-s/960327-1.c.s b/test/torture-s/960327-1.c.s
index f8df4e02a..79a4b9094 100644
--- a/test/torture-s/960327-1.c.s
+++ b/test/torture-s/960327-1.c.s
@@ -19,118 +19,56 @@ g: # @g
.type f,@function
f: # @f
.result i32
- .local i32, i32, i32, i32, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 16
- i32.sub $15=, $9, $10
- i32.const $10=, __stack_pointer
- i32.store $15=, 0($10), $15
- i32.const $0=, 1
- i32.const $1=, 0
- i32.const $8=, 8
- i32.const $3=, 3
- i32.const $7=, .Lf.s+8
- i32.const $4=, 2
- i32.const $push6=, 12
- i32.const $12=, 0
- i32.add $12=, $15, $12
- i32.add $2=, $12, $pop6
- i32.const $push0=, .Lf.s+12
- i32.add $push1=, $pop0, $0
- i32.load8_u $push2=, 0($pop1)
- i32.shl $push3=, $pop2, $8
- i32.load8_u $push4=, .Lf.s+12($1)
- i32.or $push5=, $pop3, $pop4
- i32.store16 $discard=, 0($2), $pop5
- i32.const $13=, 0
- i32.add $13=, $15, $13
- i32.add $push21=, $13, $8
- i32.add $push7=, $7, $3
- i32.load8_u $push8=, 0($pop7)
- i32.shl $push9=, $pop8, $8
- i32.add $push10=, $7, $4
- i32.load8_u $push11=, 0($pop10)
- i32.or $push12=, $pop9, $pop11
- i32.const $push13=, 16
- i32.shl $push14=, $pop12, $pop13
- i32.add $push15=, $7, $0
- i32.load8_u $push16=, 0($pop15)
- i32.shl $push17=, $pop16, $8
- i32.load8_u $push18=, .Lf.s+8($1)
- i32.or $push19=, $pop17, $pop18
- i32.or $push20=, $pop14, $pop19
- i32.store $discard=, 0($pop21), $pop20
- i32.const $8=, .Lf.s
- i64.const $5=, 8
- i64.const $6=, 16
- i32.const $push30=, 7
- i32.add $push31=, $8, $pop30
- i64.load8_u $push32=, 0($pop31)
- i64.shl $push33=, $pop32, $5
- i32.const $push34=, 6
- i32.add $push35=, $8, $pop34
- i64.load8_u $push36=, 0($pop35)
- i64.or $push37=, $pop33, $pop36
- i64.shl $push38=, $pop37, $6
- i32.const $push22=, 5
- i32.add $push23=, $8, $pop22
- i64.load8_u $push24=, 0($pop23)
- i64.shl $push25=, $pop24, $5
- i32.const $push26=, 4
- i32.add $push27=, $8, $pop26
- i64.load8_u $push28=, 0($pop27)
- i64.or $push29=, $pop25, $pop28
- i64.or $push39=, $pop38, $pop29
- i64.const $push40=, 32
- i64.shl $push41=, $pop39, $pop40
- i32.add $push42=, $8, $3
- i64.load8_u $push43=, 0($pop42)
- i64.shl $push44=, $pop43, $5
- i32.add $push45=, $8, $4
- i64.load8_u $push46=, 0($pop45)
- i64.or $push47=, $pop44, $pop46
- i64.shl $push48=, $pop47, $6
- i32.add $push49=, $8, $0
- i64.load8_u $push50=, 0($pop49)
- i64.shl $push51=, $pop50, $5
- i64.load8_u $push52=, .Lf.s($1)
- i64.or $push53=, $pop51, $pop52
- i64.or $push54=, $pop48, $pop53
- i64.or $push55=, $pop41, $pop54
- i64.store $discard=, 0($15), $pop55
- i32.const $push56=, 13
- i32.const $14=, 0
- i32.add $14=, $15, $14
- i32.add $8=, $14, $pop56
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.const $push2=, 12
+ i32.add $push3=, $5, $pop2
+ i32.const $push0=, 0
+ i32.load16_u $push1=, .Lf.s+12($pop0):p2align=0
+ i32.store16 $discard=, 0($pop3):p2align=2, $pop1
+ i32.const $push5=, 8
+ i32.add $push6=, $5, $pop5
+ i32.const $push18=, 0
+ i32.load $push4=, .Lf.s+8($pop18):p2align=0
+ i32.store $discard=, 0($pop6), $pop4
+ i32.const $push17=, 0
+ i64.load $push7=, .Lf.s($pop17):p2align=0
+ i64.store $discard=, 0($5):p2align=2, $pop7
+ i32.const $push8=, 13
+ i32.add $1=, $5, $pop8
.LBB1_1: # %while.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $push57=, -2
- i32.add $7=, $8, $pop57
- i32.const $push61=, -1
- i32.add $8=, $8, $pop61
- i32.load8_u $push58=, 0($7)
- i32.const $push59=, 48
- i32.eq $push60=, $pop58, $pop59
- br_if $pop60, 0 # 0: up to label0
+ i32.const $push21=, -2
+ i32.add $0=, $1, $pop21
+ i32.const $push20=, -1
+ i32.add $1=, $1, $pop20
+ i32.load8_u $push9=, 0($0)
+ i32.const $push19=, 48
+ i32.eq $push10=, $pop9, $pop19
+ br_if $pop10, 0 # 0: up to label0
# BB#2: # %while.end
end_loop # label1:
block
- i32.const $push62=, 88
- i32.store8 $7=, 0($8), $pop62
- i32.add $push63=, $8, $0
- i32.store8 $discard=, 0($pop63), $1
- i32.load8_u $push64=, 0($2)
- i32.ne $push65=, $pop64, $7
- br_if $pop65, 0 # 0: down to label2
+ i32.const $push13=, 12
+ i32.add $push14=, $5, $pop13
+ i32.load8_u $push15=, 0($pop14):p2align=2
+ i32.const $push11=, 88
+ i32.store16 $push12=, 0($1):p2align=0, $pop11
+ i32.ne $push16=, $pop15, $pop12
+ br_if $pop16, 0 # 0: down to label2
# BB#3: # %if.end
- i32.const $11=, 16
- i32.add $15=, $15, $11
- i32.const $11=, __stack_pointer
- i32.store $15=, 0($11), $15
- return $8
+ i32.const $4=, 16
+ i32.add $5=, $5, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return $1
.LBB1_4: # %if.then
end_block # label2:
call abort@FUNCTION
@@ -145,118 +83,10 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 16
- i32.sub $14=, $9, $10
- i32.const $10=, __stack_pointer
- i32.store $14=, 0($10), $14
- i32.const $0=, 1
- i32.const $1=, 0
- i32.const $8=, 8
- i32.const $3=, 3
- i32.const $7=, .Lf.s+8
- i32.const $4=, 2
- i32.const $push6=, 12
- i32.const $11=, 0
- i32.add $11=, $14, $11
- i32.add $2=, $11, $pop6
- i32.const $push0=, .Lf.s+12
- i32.add $push1=, $pop0, $0
- i32.load8_u $push2=, 0($pop1)
- i32.shl $push3=, $pop2, $8
- i32.load8_u $push4=, .Lf.s+12($1)
- i32.or $push5=, $pop3, $pop4
- i32.store16 $discard=, 0($2), $pop5
- i32.const $12=, 0
- i32.add $12=, $14, $12
- i32.add $push21=, $12, $8
- i32.add $push7=, $7, $3
- i32.load8_u $push8=, 0($pop7)
- i32.shl $push9=, $pop8, $8
- i32.add $push10=, $7, $4
- i32.load8_u $push11=, 0($pop10)
- i32.or $push12=, $pop9, $pop11
- i32.const $push13=, 16
- i32.shl $push14=, $pop12, $pop13
- i32.add $push15=, $7, $0
- i32.load8_u $push16=, 0($pop15)
- i32.shl $push17=, $pop16, $8
- i32.load8_u $push18=, .Lf.s+8($1)
- i32.or $push19=, $pop17, $pop18
- i32.or $push20=, $pop14, $pop19
- i32.store $discard=, 0($pop21), $pop20
- i32.const $8=, .Lf.s
- i64.const $5=, 8
- i64.const $6=, 16
- i32.const $push30=, 7
- i32.add $push31=, $8, $pop30
- i64.load8_u $push32=, 0($pop31)
- i64.shl $push33=, $pop32, $5
- i32.const $push34=, 6
- i32.add $push35=, $8, $pop34
- i64.load8_u $push36=, 0($pop35)
- i64.or $push37=, $pop33, $pop36
- i64.shl $push38=, $pop37, $6
- i32.const $push22=, 5
- i32.add $push23=, $8, $pop22
- i64.load8_u $push24=, 0($pop23)
- i64.shl $push25=, $pop24, $5
- i32.const $push26=, 4
- i32.add $push27=, $8, $pop26
- i64.load8_u $push28=, 0($pop27)
- i64.or $push29=, $pop25, $pop28
- i64.or $push39=, $pop38, $pop29
- i64.const $push40=, 32
- i64.shl $push41=, $pop39, $pop40
- i32.add $push42=, $8, $3
- i64.load8_u $push43=, 0($pop42)
- i64.shl $push44=, $pop43, $5
- i32.add $push45=, $8, $4
- i64.load8_u $push46=, 0($pop45)
- i64.or $push47=, $pop44, $pop46
- i64.shl $push48=, $pop47, $6
- i32.add $push49=, $8, $0
- i64.load8_u $push50=, 0($pop49)
- i64.shl $push51=, $pop50, $5
- i64.load8_u $push52=, .Lf.s($1)
- i64.or $push53=, $pop51, $pop52
- i64.or $push54=, $pop48, $pop53
- i64.or $push55=, $pop41, $pop54
- i64.store $discard=, 0($14), $pop55
- i32.const $push56=, 13
- i32.const $13=, 0
- i32.add $13=, $14, $13
- i32.add $8=, $13, $pop56
-.LBB2_1: # %while.cond.i
- # =>This Inner Loop Header: Depth=1
- loop # label3:
- i32.const $push57=, -2
- i32.add $7=, $8, $pop57
- i32.const $push61=, -1
- i32.add $8=, $8, $pop61
- i32.load8_u $push58=, 0($7)
- i32.const $push59=, 48
- i32.eq $push60=, $pop58, $pop59
- br_if $pop60, 0 # 0: up to label3
-# BB#2: # %while.end.i
- end_loop # label4:
- block
- i32.const $push62=, 88
- i32.store8 $7=, 0($8), $pop62
- i32.add $push63=, $8, $0
- i32.store8 $8=, 0($pop63), $1
- i32.load8_u $push64=, 0($2)
- i32.ne $push65=, $pop64, $7
- br_if $pop65, 0 # 0: down to label5
-# BB#3: # %f.exit
- call exit@FUNCTION, $8
- unreachable
-.LBB2_4: # %if.then.i
- end_block # label5:
- call abort@FUNCTION
+ i32.call $discard=, f@FUNCTION
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
unreachable
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/960405-1.c.s b/test/torture-s/960405-1.c.s
index 896805f65..e2d294ba6 100644
--- a/test/torture-s/960405-1.c.s
+++ b/test/torture-s/960405-1.c.s
@@ -6,24 +6,27 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i64.load $push1=, x($0)
- i64.load $push0=, x+8($0)
- i64.load $push3=, y($0)
- i64.load $push2=, y+8($0)
- i32.call $push4=, __eqtf2@FUNCTION, $pop1, $pop0, $pop3, $pop2
+ i32.const $push8=, 0
+ i64.load $push1=, x($pop8):p2align=4
+ i32.const $push7=, 0
+ i64.load $push0=, x+8($pop7)
+ i32.const $push6=, 0
+ i64.load $push3=, y($pop6):p2align=4
i32.const $push5=, 0
- i32.eq $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i64.load $push2=, y+8($pop5)
+ i32.call $push4=, __eqtf2@FUNCTION, $pop1, $pop0, $pop3, $pop2
+ i32.const $push10=, 0
+ i32.eq $push11=, $pop4, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#1: # %if.then
call abort@FUNCTION
unreachable
.LBB0_2: # %if.end
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push9=, 0
+ call exit@FUNCTION, $pop9
unreachable
.endfunc
.Lfunc_end0:
@@ -33,7 +36,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 4
+ .p2align 4
x:
.int64 0 # fp128 +Inf
.int64 9223090561878065152
@@ -43,7 +46,7 @@ x:
.type y,@object
.section .data.y,"aw",@progbits
.globl y
- .align 4
+ .p2align 4
y:
.int64 0 # fp128 +Inf
.int64 9223090561878065152
diff --git a/test/torture-s/960416-1.c.s b/test/torture-s/960416-1.c.s
new file mode 100644
index 000000000..6b484514d
--- /dev/null
+++ b/test/torture-s/960416-1.c.s
@@ -0,0 +1,158 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/960416-1.c"
+ .section .text.f_le,"ax",@progbits
+ .hidden f_le
+ .globl f_le
+ .type f_le,@function
+f_le: # @f_le
+ .param i32, i32
+ .result i32
+ .local i32, i64, i32, i64, i64, i64, i64
+# BB#0: # %entry
+ i64.load $push3=, 0($1)
+ tee_local $push51=, $8=, $pop3
+ i64.const $push17=, 4294967295
+ i64.and $push18=, $pop51, $pop17
+ i32.load $push1=, 0($0):p2align=3
+ tee_local $push50=, $1=, $pop1
+ i64.extend_u/i32 $push16=, $pop50
+ i64.mul $push19=, $pop18, $pop16
+ tee_local $push49=, $7=, $pop19
+ i64.const $push5=, 32
+ i64.shr_u $push20=, $pop49, $pop5
+ tee_local $push48=, $6=, $pop20
+ i64.const $push47=, 32
+ i64.shr_u $push6=, $8, $pop47
+ tee_local $push46=, $5=, $pop6
+ i32.load $push0=, 4($0)
+ tee_local $push45=, $4=, $pop0
+ i64.extend_u/i32 $push21=, $pop45
+ i64.mul $push22=, $pop46, $pop21
+ tee_local $push44=, $3=, $pop22
+ i64.add $push29=, $pop48, $pop44
+ i64.const $push43=, 32
+ i64.shr_u $push23=, $3, $pop43
+ i64.add $push30=, $pop29, $pop23
+ i32.wrap/i64 $push4=, $8
+ tee_local $push42=, $2=, $pop4
+ i32.wrap/i64 $push7=, $5
+ i32.sub $push8=, $pop42, $pop7
+ tee_local $push41=, $0=, $pop8
+ i32.gt_u $push11=, $pop41, $2
+ tee_local $push40=, $2=, $pop11
+ i32.const $push9=, 0
+ i32.sub $push10=, $pop9, $0
+ i32.select $push12=, $pop40, $pop10, $0
+ i64.extend_u/i32 $push25=, $pop12
+ i32.sub $push2=, $4, $1
+ i64.extend_u/i32 $push24=, $pop2
+ i64.mul $push26=, $pop25, $pop24
+ i64.const $push14=, -1
+ i64.const $push13=, 0
+ i64.select $push15=, $2, $pop14, $pop13
+ i64.xor $push27=, $pop26, $pop15
+ tee_local $push39=, $8=, $pop27
+ i64.const $push38=, 32
+ i64.shr_u $push28=, $pop39, $pop38
+ i64.add $push31=, $pop30, $pop28
+ i32.wrap/i64 $push32=, $pop31
+ i64.add $push33=, $3, $7
+ i64.add $push34=, $pop33, $6
+ i64.add $push35=, $pop34, $8
+ i32.wrap/i64 $push36=, $pop35
+ i32.add $push37=, $pop32, $pop36
+ return $pop37
+ .endfunc
+.Lfunc_end0:
+ .size f_le, .Lfunc_end0-f_le
+
+ .section .text.f_be,"ax",@progbits
+ .hidden f_be
+ .globl f_be
+ .type f_be,@function
+f_be: # @f_be
+ .param i32, i32
+ .result i32
+ .local i64, i64, i64, i64, i64, i32
+# BB#0: # %entry
+ i32.load $push4=, 4($1)
+ tee_local $push59=, $7=, $pop4
+ i64.extend_u/i32 $push14=, $pop59
+ i64.load $push0=, 0($0)
+ tee_local $push58=, $6=, $pop0
+ i64.const $push1=, 32
+ i64.shr_u $push2=, $pop58, $pop1
+ tee_local $push57=, $5=, $pop2
+ i64.mul $push15=, $pop14, $pop57
+ tee_local $push56=, $4=, $pop15
+ i64.const $push17=, 4294967295
+ i64.and $push28=, $pop56, $pop17
+ tee_local $push55=, $3=, $pop28
+ i32.load $push5=, 0($1):p2align=3
+ tee_local $push54=, $1=, $pop5
+ i64.extend_u/i32 $push19=, $pop54
+ i64.const $push53=, 4294967295
+ i64.and $push18=, $6, $pop53
+ i64.mul $push20=, $pop19, $pop18
+ tee_local $push52=, $2=, $pop20
+ i64.add $push30=, $pop55, $pop52
+ i64.const $push51=, 4294967295
+ i64.and $push27=, $2, $pop51
+ i64.add $push31=, $pop30, $pop27
+ i32.sub $push6=, $7, $1
+ tee_local $push50=, $1=, $pop6
+ i32.gt_u $push9=, $pop50, $7
+ tee_local $push49=, $7=, $pop9
+ i32.const $push7=, 0
+ i32.sub $push8=, $pop7, $1
+ i32.select $push10=, $pop49, $pop8, $1
+ i64.extend_u/i32 $push23=, $pop10
+ i64.sub $push3=, $6, $5
+ i64.const $push48=, 4294967295
+ i64.and $push22=, $pop3, $pop48
+ i64.mul $push24=, $pop23, $pop22
+ i64.const $push12=, -1
+ i64.const $push11=, 0
+ i64.select $push13=, $7, $pop12, $pop11
+ i64.xor $push25=, $pop24, $pop13
+ tee_local $push47=, $6=, $pop25
+ i64.const $push46=, 4294967295
+ i64.and $push29=, $pop47, $pop46
+ i64.add $push32=, $pop31, $pop29
+ i64.const $push45=, 32
+ i64.shr_u $push33=, $pop32, $pop45
+ i32.wrap/i64 $push34=, $pop33
+ i64.const $push44=, 32
+ i64.shr_u $push16=, $4, $pop44
+ i64.add $push35=, $pop16, $3
+ i64.const $push43=, 32
+ i64.shr_u $push21=, $2, $pop43
+ i64.add $push36=, $pop35, $pop21
+ i64.const $push42=, 32
+ i64.shr_u $push26=, $6, $pop42
+ i64.add $push37=, $pop36, $pop26
+ i64.const $push41=, 32
+ i64.shr_u $push38=, $pop37, $pop41
+ i32.wrap/i64 $push39=, $pop38
+ i32.add $push40=, $pop34, $pop39
+ return $pop40
+ .endfunc
+.Lfunc_end1:
+ .size f_be, .Lfunc_end1-f_be
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end12
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/960512-1.c.s b/test/torture-s/960512-1.c.s
index 347747b84..16497ffd9 100644
--- a/test/torture-s/960512-1.c.s
+++ b/test/torture-s/960512-1.c.s
@@ -7,9 +7,11 @@
f: # @f
.param i32
# BB#0: # %entry
+ i32.const $push2=, 8
+ i32.add $push3=, $0, $pop2
i64.const $push0=, 0
i64.store $push1=, 0($0), $pop0
- i64.store $discard=, 8($0), $pop1
+ i64.store $discard=, 0($pop3), $pop1
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/960513-1.c.s b/test/torture-s/960513-1.c.s
index c5389da4a..9b5e95291 100644
--- a/test/torture-s/960513-1.c.s
+++ b/test/torture-s/960513-1.c.s
@@ -6,125 +6,145 @@
.type f,@function
f: # @f
.param i32, i64, i64, i32
- .local i64, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 192
- i32.sub $31=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $31=, 0($9), $31
- i64.const $4=, 0
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 192
+ i32.sub $31=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $31=, 0($7), $31
+ i64.const $push1=, 0
i64.const $push0=, -9223372036854775808
- i32.const $11=, 176
+ i32.const $9=, 176
+ i32.add $9=, $31, $9
+ call __subtf3@FUNCTION, $9, $pop1, $pop0, $1, $2
+ i32.const $push2=, 8
+ i32.const $10=, 176
+ i32.add $10=, $31, $10
+ i32.add $push3=, $10, $pop2
+ i64.load $4=, 0($pop3)
+ i64.load $5=, 176($31)
+ i64.const $push65=, 0
+ i64.const $push6=, -4611686018427387904
+ i32.const $11=, 160
i32.add $11=, $31, $11
- call __subtf3@FUNCTION, $11, $4, $pop0, $1, $2
- i32.const $5=, 8
- i32.const $12=, 176
+ call __multf3@FUNCTION, $11, $1, $2, $pop65, $pop6
+ i32.const $push4=, 1
+ i32.eq $push5=, $3, $pop4
+ tee_local $push64=, $3=, $pop5
+ i64.load $push9=, 160($31)
+ i64.select $push11=, $pop64, $pop9, $5
+ tee_local $push63=, $5=, $pop11
+ i32.const $push62=, 8
+ i32.const $12=, 160
i32.add $12=, $31, $12
- i32.add $push1=, $12, $5
- i64.load $7=, 0($pop1)
- i64.load $6=, 176($31)
- i32.const $push2=, 1
- i32.eq $3=, $3, $pop2
- i64.const $push3=, -4611686018427387904
- i32.const $13=, 160
+ i32.add $push7=, $12, $pop62
+ i64.load $push8=, 0($pop7)
+ i64.select $push10=, $3, $pop8, $4
+ tee_local $push61=, $4=, $pop10
+ i32.const $13=, 144
i32.add $13=, $31, $13
- call __multf3@FUNCTION, $13, $1, $2, $4, $pop3
- i32.const $14=, 160
+ call __multf3@FUNCTION, $13, $pop63, $pop61, $1, $2
+ i64.load $push14=, 144($31)
+ i32.const $push60=, 8
+ i32.const $14=, 144
i32.add $14=, $31, $14
- i32.add $push4=, $14, $5
- i64.load $push5=, 0($pop4)
- i64.select $4=, $3, $pop5, $7
- i64.load $push6=, 160($31)
- i64.select $7=, $3, $pop6, $6
- i32.const $15=, 144
+ i32.add $push12=, $14, $pop60
+ i64.load $push13=, 0($pop12)
+ i32.const $15=, 128
i32.add $15=, $31, $15
- call __multf3@FUNCTION, $15, $7, $4, $1, $2
- i64.load $push9=, 144($31)
- i32.const $16=, 144
+ call __addtf3@FUNCTION, $15, $5, $4, $pop14, $pop13
+ i64.load $push17=, 128($31)
+ tee_local $push59=, $4=, $pop17
+ i32.const $push58=, 8
+ i32.const $16=, 128
i32.add $16=, $31, $16
- i32.add $push7=, $16, $5
- i64.load $push8=, 0($pop7)
- i32.const $17=, 128
+ i32.add $push15=, $16, $pop58
+ i64.load $push16=, 0($pop15)
+ tee_local $push57=, $5=, $pop16
+ i32.const $17=, 112
i32.add $17=, $31, $17
- call __addtf3@FUNCTION, $17, $7, $4, $pop9, $pop8
- i32.const $18=, 128
+ call __multf3@FUNCTION, $17, $pop59, $pop57, $1, $2
+ i64.load $push20=, 112($31)
+ i32.const $push56=, 8
+ i32.const $18=, 112
i32.add $18=, $31, $18
- i32.add $push10=, $18, $5
- i64.load $4=, 0($pop10)
- i64.load $7=, 128($31)
- i32.const $19=, 112
+ i32.add $push18=, $18, $pop56
+ i64.load $push19=, 0($pop18)
+ i32.const $19=, 96
i32.add $19=, $31, $19
- call __multf3@FUNCTION, $19, $7, $4, $1, $2
- i64.load $push13=, 112($31)
- i32.const $20=, 112
+ call __addtf3@FUNCTION, $19, $4, $5, $pop20, $pop19
+ i64.load $push23=, 96($31)
+ tee_local $push55=, $4=, $pop23
+ i32.const $push54=, 8
+ i32.const $20=, 96
i32.add $20=, $31, $20
- i32.add $push11=, $20, $5
- i64.load $push12=, 0($pop11)
- i32.const $21=, 96
+ i32.add $push21=, $20, $pop54
+ i64.load $push22=, 0($pop21)
+ tee_local $push53=, $5=, $pop22
+ i32.const $21=, 80
i32.add $21=, $31, $21
- call __addtf3@FUNCTION, $21, $7, $4, $pop13, $pop12
- i32.const $22=, 96
+ call __multf3@FUNCTION, $21, $pop55, $pop53, $1, $2
+ i64.load $push26=, 80($31)
+ i32.const $push52=, 8
+ i32.const $22=, 80
i32.add $22=, $31, $22
- i32.add $push14=, $22, $5
- i64.load $4=, 0($pop14)
- i64.load $7=, 96($31)
- i32.const $23=, 80
+ i32.add $push24=, $22, $pop52
+ i64.load $push25=, 0($pop24)
+ i32.const $23=, 64
i32.add $23=, $31, $23
- call __multf3@FUNCTION, $23, $7, $4, $1, $2
- i64.load $push17=, 80($31)
- i32.const $24=, 80
+ call __addtf3@FUNCTION, $23, $4, $5, $pop26, $pop25
+ i64.load $push29=, 64($31)
+ tee_local $push51=, $4=, $pop29
+ i32.const $push50=, 8
+ i32.const $24=, 64
i32.add $24=, $31, $24
- i32.add $push15=, $24, $5
- i64.load $push16=, 0($pop15)
- i32.const $25=, 64
+ i32.add $push27=, $24, $pop50
+ i64.load $push28=, 0($pop27)
+ tee_local $push49=, $5=, $pop28
+ i32.const $25=, 48
i32.add $25=, $31, $25
- call __addtf3@FUNCTION, $25, $7, $4, $pop17, $pop16
- i32.const $26=, 64
+ call __multf3@FUNCTION, $25, $pop51, $pop49, $1, $2
+ i64.load $push32=, 48($31)
+ i32.const $push48=, 8
+ i32.const $26=, 48
i32.add $26=, $31, $26
- i32.add $push18=, $26, $5
- i64.load $4=, 0($pop18)
- i64.load $7=, 64($31)
- i32.const $27=, 48
+ i32.add $push30=, $26, $pop48
+ i64.load $push31=, 0($pop30)
+ i32.const $27=, 32
i32.add $27=, $31, $27
- call __multf3@FUNCTION, $27, $7, $4, $1, $2
- i64.load $push21=, 48($31)
- i32.const $28=, 48
+ call __addtf3@FUNCTION, $27, $4, $5, $pop32, $pop31
+ i64.load $push35=, 32($31)
+ tee_local $push47=, $4=, $pop35
+ i32.const $push46=, 8
+ i32.const $28=, 32
i32.add $28=, $31, $28
- i32.add $push19=, $28, $5
- i64.load $push20=, 0($pop19)
- i32.const $29=, 32
+ i32.add $push33=, $28, $pop46
+ i64.load $push34=, 0($pop33)
+ tee_local $push45=, $5=, $pop34
+ i32.const $29=, 16
i32.add $29=, $31, $29
- call __addtf3@FUNCTION, $29, $7, $4, $pop21, $pop20
- i32.const $30=, 32
+ call __multf3@FUNCTION, $29, $pop47, $pop45, $1, $2
+ i64.load $push38=, 16($31)
+ i32.const $push44=, 8
+ i32.const $30=, 16
i32.add $30=, $31, $30
- i32.add $push22=, $30, $5
- i64.load $4=, 0($pop22)
- i64.load $7=, 32($31)
- i32.const $31=, 16
- i32.add $31=, $31, $31
- call __multf3@FUNCTION, $31, $7, $4, $1, $2
- i64.load $push25=, 16($31)
- i32.const $32=, 16
- i32.add $32=, $31, $32
- i32.add $push23=, $32, $5
- i64.load $push24=, 0($pop23)
- i32.const $33=, 0
- i32.add $33=, $31, $33
- call __addtf3@FUNCTION, $33, $7, $4, $pop25, $pop24
+ i32.add $push36=, $30, $pop44
+ i64.load $push37=, 0($pop36)
+ call __addtf3@FUNCTION, $31, $4, $5, $pop38, $pop37
i64.load $2=, 0($31)
- i32.add $push28=, $0, $5
- i32.const $34=, 0
- i32.add $34=, $31, $34
- i32.add $push26=, $34, $5
- i64.load $push27=, 0($pop26)
- i64.store $discard=, 0($pop28), $pop27
- i64.store $discard=, 0($0), $2
- i32.const $10=, 192
- i32.add $31=, $31, $10
- i32.const $10=, __stack_pointer
- i32.store $31=, 0($10), $31
+ i32.const $push43=, 8
+ i32.add $push41=, $0, $pop43
+ i32.const $push42=, 8
+ i32.add $push39=, $31, $pop42
+ i64.load $push40=, 0($pop39)
+ i64.store $discard=, 0($pop41), $pop40
+ i64.store $discard=, 0($0):p2align=4, $2
+ i32.const $8=, 192
+ i32.add $31=, $31, $8
+ i32.const $8=, __stack_pointer
+ i32.store $31=, 0($8), $31
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/960521-1.c.s b/test/torture-s/960521-1.c.s
index 2989cc157..6da3e874b 100644
--- a/test/torture-s/960521-1.c.s
+++ b/test/torture-s/960521-1.c.s
@@ -6,47 +6,40 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $4=, 0
- i32.const $0=, 1
block
- i32.load $push0=, n($4)
- i32.lt_s $push1=, $pop0, $0
+ i32.const $push8=, 0
+ i32.load $push0=, n($pop8)
+ i32.const $push7=, 1
+ i32.lt_s $push1=, $pop0, $pop7
br_if $pop1, 0 # 0: down to label0
# BB#1: # %for.body.lr.ph
+ i32.const $push9=, 0
+ i32.load $0=, a($pop9)
i32.const $1=, 0
- i32.load $2=, a($1)
- copy_local $3=, $1
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push2=, -1
- i32.store $discard=, 0($2), $pop2
- i32.const $push4=, 4
- i32.add $2=, $2, $pop4
- i32.add $3=, $3, $0
- i32.load $push3=, n($1)
- i32.lt_s $push5=, $3, $pop3
- br_if $pop5, 0 # 0: up to label1
+ i32.const $push14=, -1
+ i32.store $discard=, 0($0), $pop14
+ i32.const $push13=, 1
+ i32.add $1=, $1, $pop13
+ i32.const $push12=, 4
+ i32.add $0=, $0, $pop12
+ i32.const $push11=, 0
+ i32.load $push2=, n($pop11)
+ i32.lt_s $push3=, $1, $pop2
+ br_if $pop3, 0 # 0: up to label1
.LBB0_3: # %for.cond1.preheader
end_loop # label2:
end_block # label0:
- i32.load $2=, b($4)
-.LBB0_4: # %for.body3
- # =>This Inner Loop Header: Depth=1
- loop # label3:
- i32.add $push6=, $2, $4
- i32.const $push7=, -1
- i32.store $discard=, 0($pop6), $pop7
- i32.const $push8=, 4
- i32.add $4=, $4, $pop8
- i32.const $push9=, 131068
- i32.ne $push10=, $4, $pop9
- br_if $pop10, 0 # 0: up to label3
-# BB#5: # %for.end7
- end_loop # label4:
- return $4
+ i32.const $push10=, 0
+ i32.load $push4=, b($pop10)
+ i32.const $push6=, 255
+ i32.const $push5=, 131068
+ i32.call $discard=, memset@FUNCTION, $pop4, $pop6, $pop5
+ return $0
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -57,56 +50,51 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %for.body.lr.ph.i
- i32.const $4=, 0
- i32.const $5=, 131072
- i32.const $push1=, 32768
- i32.store $discard=, n($4), $pop1
- i32.call $push0=, malloc@FUNCTION, $5
- i32.store $1=, a($4), $pop0
- i32.call $2=, malloc@FUNCTION, $5
- i32.store $5=, 0($2), $4
- i32.load $0=, n($5)
- i32.const $3=, 4
- i32.add $push2=, $2, $3
- i32.store $discard=, b($4), $pop2
+ i32.const $push3=, 0
+ i32.const $push4=, 32768
+ i32.store $discard=, n($pop3), $pop4
+ i32.const $push17=, 0
+ i32.const $push5=, 131072
+ i32.call $push0=, malloc@FUNCTION, $pop5
+ i32.store $2=, a($pop17), $pop0
+ i32.const $push16=, 131072
+ i32.call $push1=, malloc@FUNCTION, $pop16
+ tee_local $push15=, $4=, $pop1
+ i32.const $push14=, 0
+ i32.store $push10=, 0($pop15), $pop14
+ tee_local $push13=, $3=, $pop10
+ i32.load $0=, n($pop13)
+ i32.const $push12=, 0
+ i32.const $push11=, 4
+ i32.add $push2=, $4, $pop11
+ i32.store $1=, b($pop12), $pop2
.LBB1_1: # %for.body.i
# =>This Inner Loop Header: Depth=1
- loop # label5:
- i32.const $push4=, 1
- i32.add $5=, $5, $pop4
- i32.const $push3=, -1
- i32.store $4=, 0($1), $pop3
- i32.add $1=, $1, $3
- i32.lt_s $push5=, $5, $0
- br_if $pop5, 0 # 0: up to label5
-# BB#2: # %for.cond1.preheader.i
- end_loop # label6:
- i32.const $5=, 0
- i32.load $1=, b($5)
-.LBB1_3: # %for.body3.i
- # =>This Inner Loop Header: Depth=1
- loop # label7:
- i32.add $push6=, $1, $5
- i32.store $discard=, 0($pop6), $4
- i32.add $5=, $5, $3
+ loop # label3:
+ i32.const $push20=, -1
+ i32.store $discard=, 0($2), $pop20
+ i32.const $push19=, 1
+ i32.add $3=, $3, $pop19
+ i32.const $push18=, 4
+ i32.add $2=, $2, $pop18
+ i32.lt_s $push6=, $3, $0
+ br_if $pop6, 0 # 0: up to label3
+# BB#2: # %foo.exit
+ end_loop # label4:
+ i32.load $2=, 0($4)
+ i32.const $push8=, 255
i32.const $push7=, 131068
- i32.ne $push8=, $5, $pop7
- br_if $pop8, 0 # 0: up to label7
-# BB#4: # %foo.exit
- end_loop # label8:
+ i32.call $discard=, memset@FUNCTION, $1, $pop8, $pop7
block
- i32.const $push9=, -4
- i32.add $push10=, $1, $pop9
- i32.load $push11=, 0($pop10)
- br_if $pop11, 0 # 0: down to label9
-# BB#5: # %if.end
- i32.const $push12=, 0
- call exit@FUNCTION, $pop12
+ br_if $2, 0 # 0: down to label5
+# BB#3: # %if.end
+ i32.const $push9=, 0
+ call exit@FUNCTION, $pop9
unreachable
-.LBB1_6: # %if.then
- end_block # label9:
+.LBB1_4: # %if.then
+ end_block # label5:
call abort@FUNCTION
unreachable
.endfunc
@@ -117,7 +105,7 @@ main: # @main
.type n,@object
.section .bss.n,"aw",@nobits
.globl n
- .align 2
+ .p2align 2
n:
.int32 0 # 0x0
.size n, 4
@@ -126,7 +114,7 @@ n:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0
.size a, 4
@@ -135,7 +123,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0
.size b, 4
diff --git a/test/torture-s/960802-1.c.s b/test/torture-s/960802-1.c.s
index d3ac62fc9..d8ee94bb9 100644
--- a/test/torture-s/960802-1.c.s
+++ b/test/torture-s/960802-1.c.s
@@ -60,12 +60,12 @@ f4: # @f4
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1577058610
- i32.store $discard=, val($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, val($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end4:
@@ -75,7 +75,7 @@ main: # @main
.type val,@object
.section .data.val,"aw",@progbits
.globl val
- .align 2
+ .p2align 2
val:
.int32 1577058304 # 0x5e000000
.size val, 4
diff --git a/test/torture-s/960909-1.c.s b/test/torture-s/960909-1.c.s
index 64b8fbd6d..ac7cfcd6d 100644
--- a/test/torture-s/960909-1.c.s
+++ b/test/torture-s/960909-1.c.s
@@ -7,32 +7,34 @@
ffs: # @ffs
.param i32
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $3=, 0
+ i32.const $2=, 0
block
- i32.const $push2=, 0
- i32.eq $push3=, $0, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push5=, 0
+ i32.eq $push6=, $0, $pop5
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %for.cond.preheader
i32.const $1=, 1
- copy_local $2=, $1
- copy_local $3=, $1
- i32.and $push0=, $0, $1
+ i32.const $2=, 1
+ i32.const $push2=, 1
+ i32.and $push0=, $0, $pop2
br_if $pop0, 0 # 0: down to label0
.LBB0_2: # %for.inc
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.add $3=, $3, $1
- i32.shl $2=, $2, $1
- i32.and $push1=, $2, $0
- i32.const $push4=, 0
- i32.eq $push5=, $pop1, $pop4
- br_if $pop5, 0 # 0: up to label1
+ i32.const $push4=, 1
+ i32.add $2=, $2, $pop4
+ i32.const $push3=, 1
+ i32.shl $1=, $1, $pop3
+ i32.and $push1=, $1, $0
+ i32.const $push7=, 0
+ i32.eq $push8=, $pop1, $pop7
+ br_if $pop8, 0 # 0: up to label1
.LBB0_3: # %cleanup
end_loop # label2:
end_block # label0:
- return $3
+ return $2
.endfunc
.Lfunc_end0:
.size ffs, .Lfunc_end0-ffs
diff --git a/test/torture-s/961004-1.c.s b/test/torture-s/961004-1.c.s
index be7193c02..b08e86c4e 100644
--- a/test/torture-s/961004-1.c.s
+++ b/test/torture-s/961004-1.c.s
@@ -6,18 +6,19 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, k($0)
+ i32.const $push2=, 0
+ i32.load $push0=, k($pop2)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.else
+ i32.const $push3=, 0
i32.const $push1=, 1
- i32.store $discard=, k($0), $pop1
+ i32.store $discard=, k($pop3), $pop1
.LBB0_2: # %for.inc.1
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.endfunc
.Lfunc_end0:
@@ -27,7 +28,7 @@ main: # @main
.type k,@object
.section .bss.k,"aw",@nobits
.globl k
- .align 2
+ .p2align 2
k:
.int32 0 # 0x0
.size k, 4
diff --git a/test/torture-s/961017-2.c.s b/test/torture-s/961017-2.c.s
index 1aa04dbcb..bc0a7d36f 100644
--- a/test/torture-s/961017-2.c.s
+++ b/test/torture-s/961017-2.c.s
@@ -12,13 +12,13 @@ main: # @main
.LBB0_1: # %do.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $push0=, 16384
- i32.add $0=, $0, $pop0
+ i32.const $push1=, 16384
+ i32.add $0=, $0, $pop1
br_if $0, 0 # 0: up to label0
# BB#2: # %do.end
end_loop # label1:
- i32.const $push1=, 0
- call exit@FUNCTION, $pop1
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
unreachable
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/961122-1.c.s b/test/torture-s/961122-1.c.s
index 3c4b914a7..8558aafcf 100644
--- a/test/torture-s/961122-1.c.s
+++ b/test/torture-s/961122-1.c.s
@@ -7,16 +7,16 @@
addhi: # @addhi
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i64.load $push3=, acc($1)
+ i32.const $push3=, 0
+ i32.const $push6=, 0
+ i64.load $push4=, acc($pop6)
i64.extend_u/i32 $push0=, $0
i64.const $push1=, 32
i64.shl $push2=, $pop0, $pop1
- i64.add $push4=, $pop3, $pop2
- i64.store $discard=, acc($1), $pop4
- return $1
+ i64.add $push5=, $pop4, $pop2
+ i64.store $discard=, acc($pop3), $pop5
+ return $0
.endfunc
.Lfunc_end0:
.size addhi, .Lfunc_end0-addhi
@@ -28,16 +28,16 @@ addhi: # @addhi
subhi: # @subhi
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i64.load $push3=, acc($1)
+ i32.const $push3=, 0
+ i32.const $push6=, 0
+ i64.load $push4=, acc($pop6)
i64.extend_u/i32 $push0=, $0
i64.const $push1=, 32
i64.shl $push2=, $pop0, $pop1
- i64.sub $push4=, $pop3, $pop2
- i64.store $discard=, acc($1), $pop4
- return $1
+ i64.sub $push5=, $pop4, $pop2
+ i64.store $discard=, acc($pop3), $pop5
+ return $0
.endfunc
.Lfunc_end1:
.size subhi, .Lfunc_end1-subhi
@@ -48,12 +48,12 @@ subhi: # @subhi
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end4
- i32.const $0=, 0
+ i32.const $push1=, 0
i64.const $push0=, 281470681743360
- i64.store $discard=, acc($0), $pop0
- call exit@FUNCTION, $0
+ i64.store $discard=, acc($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
@@ -63,7 +63,7 @@ main: # @main
.type acc,@object
.section .bss.acc,"aw",@nobits
.globl acc
- .align 3
+ .p2align 3
acc:
.int64 0 # 0x0
.size acc, 8
diff --git a/test/torture-s/961125-1.c.s b/test/torture-s/961125-1.c.s
index e9868b228..507fc2023 100644
--- a/test/torture-s/961125-1.c.s
+++ b/test/torture-s/961125-1.c.s
@@ -6,59 +6,62 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 1
- i32.const $4=, .L.str
+ i32.const $2=, .L.str
+ i32.const $1=, 1
.LBB0_1: # %land.rhs.i
# =>This Loop Header: Depth=1
# Child Loop BB0_3 Depth 2
loop # label0:
- i32.const $push13=, 0
- i32.eq $push14=, $3, $pop13
- br_if $pop14, 1 # 1: down to label1
+ i32.const $push19=, 0
+ i32.eq $push20=, $1, $pop19
+ br_if $pop20, 1 # 1: down to label1
# BB#2: # %while.cond2.preheader.i
# in Loop: Header=BB0_1 Depth=1
- i32.const $0=, -1
- i32.const $1=, .L.str+3
block
- i32.ge_u $push0=, $4, $1
+ i32.const $push12=, .L.str+3
+ i32.ge_u $push0=, $2, $pop12
br_if $pop0, 0 # 0: down to label2
.LBB0_3: # %land.rhs4.i
# Parent Loop BB0_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label3:
- i32.load8_u $2=, 0($4)
- i32.const $push1=, 1
- i32.add $4=, $4, $pop1
- i32.const $push2=, 58
- i32.eq $push3=, $2, $pop2
- br_if $pop3, 1 # 1: down to label4
+ i32.load8_u $0=, 0($2)
+ i32.const $push14=, 1
+ i32.add $2=, $2, $pop14
+ i32.const $push13=, 58
+ i32.eq $push1=, $0, $pop13
+ br_if $pop1, 1 # 1: down to label4
# BB#4: # %land.rhs4.i
# in Loop: Header=BB0_3 Depth=2
- i32.lt_u $push4=, $4, $1
- br_if $pop4, 0 # 0: up to label3
+ i32.const $push15=, .L.str+3
+ i32.lt_u $push2=, $2, $pop15
+ br_if $pop2, 0 # 0: up to label3
.LBB0_5: # %while.end.thread.i
# in Loop: Header=BB0_1 Depth=1
end_loop # label4:
end_block # label2:
- i32.add $3=, $3, $0
- i32.lt_u $push5=, $4, $1
- br_if $pop5, 0 # 0: up to label0
+ i32.const $push17=, -1
+ i32.add $1=, $1, $pop17
+ i32.const $push16=, .L.str+3
+ i32.lt_u $push3=, $2, $pop16
+ br_if $pop3, 0 # 0: up to label0
.LBB0_6: # %begfield.exit
end_loop # label1:
block
- i32.const $push6=, 1
- i32.add $2=, $4, $pop6
- i32.const $push7=, .L.str+3
- i32.gt_u $push8=, $2, $pop7
- i32.select $push9=, $pop8, $4, $2
- i32.const $push10=, .L.str+2
- i32.ne $push11=, $pop9, $pop10
- br_if $pop11, 0 # 0: down to label5
+ i32.const $push4=, 1
+ i32.add $push5=, $2, $pop4
+ tee_local $push18=, $0=, $pop5
+ i32.const $push6=, .L.str+3
+ i32.gt_u $push7=, $pop18, $pop6
+ i32.select $push8=, $pop7, $2, $0
+ i32.const $push9=, .L.str+2
+ i32.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label5
# BB#7: # %if.end
- i32.const $push12=, 0
- call exit@FUNCTION, $pop12
+ i32.const $push11=, 0
+ call exit@FUNCTION, $pop11
unreachable
.LBB0_8: # %if.then
end_block # label5:
diff --git a/test/torture-s/961213-1.c.s b/test/torture-s/961213-1.c.s
index e2c253e7d..bf425b7c3 100644
--- a/test/torture-s/961213-1.c.s
+++ b/test/torture-s/961213-1.c.s
@@ -7,11 +7,11 @@
g: # @g
.param i32, i32, i32, i32
.result i32
- .local i64, i64, i64
+ .local i64, i64
# BB#0: # %entry
- block
i64.const $push0=, 0
- i64.store $6=, 0($0), $pop0
+ i64.store $5=, 0($0), $pop0
+ block
i32.const $push1=, 1
i32.lt_s $push2=, $1, $pop1
br_if $pop2, 0 # 0: down to label0
@@ -21,17 +21,17 @@ g: # @g
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i64.load32_u $5=, 0($2)
- i32.const $push4=, 4
- i32.add $2=, $2, $pop4
+ i64.load32_u $push4=, 0($2)
+ i64.mul $push3=, $5, $4
+ i64.add $5=, $pop4, $pop3
+ i32.const $push6=, 4
+ i32.add $2=, $2, $pop6
i32.const $push5=, -1
i32.add $3=, $3, $pop5
- i64.mul $push3=, $6, $4
- i64.add $6=, $5, $pop3
br_if $3, 0 # 0: up to label1
# BB#3: # %for.cond.for.end_crit_edge
end_loop # label2:
- i64.store $discard=, 0($0), $6
+ i64.store $discard=, 0($0), $5
.LBB0_4: # %for.end
end_block # label0:
return $1
diff --git a/test/torture-s/980205.c.s b/test/torture-s/980205.c.s
new file mode 100644
index 000000000..61e2bdd0d
--- /dev/null
+++ b/test/torture-s/980205.c.s
@@ -0,0 +1,88 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/980205.c"
+ .section .text.fdouble,"ax",@progbits
+ .hidden fdouble
+ .globl fdouble
+ .type fdouble,@function
+fdouble: # @fdouble
+ .param f64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push1=, 12($5), $6
+ i32.const $push2=, 7
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -8
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push12=, $1=, $pop5
+ i32.const $push6=, 8
+ i32.add $push7=, $pop12, $pop6
+ i32.store $discard=, 12($5), $pop7
+ block
+ f64.const $push8=, 0x1p0
+ f64.ne $push9=, $0, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#1: # %entry
+ f64.load $push0=, 0($1)
+ f64.const $push10=, 0x1p1
+ f64.ne $push11=, $pop0, $pop10
+ br_if $pop11, 0 # 0: down to label0
+# BB#2: # %if.end
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB0_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size fdouble, .Lfunc_end0-fdouble
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $6=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 8
+ i32.sub $6=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $6=, 0($1), $6
+ i64.const $push0=, 4611686018427387904
+ i64.store $discard=, 0($6), $pop0
+ f64.const $push1=, 0x1p0
+ call fdouble@FUNCTION, $pop1
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 8
+ i32.add $6=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $6=, 0($3), $6
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/980223.c.s b/test/torture-s/980223.c.s
new file mode 100644
index 000000000..b1cb6d6b7
--- /dev/null
+++ b/test/torture-s/980223.c.s
@@ -0,0 +1,168 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/980223.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+# BB#0: # %entry
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32
+ .local i64, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $8=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $8=, 0($5), $8
+ block
+ block
+ block
+ i32.load $push2=, 0($1)
+ tee_local $push9=, $1=, $pop2
+ i32.load8_u $push3=, 4($pop9):p2align=2
+ i32.const $push8=, 64
+ i32.and $push4=, $pop3, $pop8
+ br_if $pop4, 0 # 0: down to label2
+# BB#1: # %entry.if.end7_crit_edge
+ i64.load $3=, 0($2):p2align=2
+ br 1 # 1: down to label1
+.LBB1_2: # %if.then
+ end_block # label2:
+ i32.load $push0=, 0($1)
+ tee_local $push11=, $1=, $pop0
+ i64.load $push1=, 8($pop11):p2align=2
+ i64.store $3=, 0($2):p2align=2, $pop1
+ i32.load8_u $push5=, 4($1):p2align=2
+ i32.const $push10=, 64
+ i32.and $push6=, $pop5, $pop10
+ br_if $pop6, 1 # 1: down to label0
+.LBB1_3: # %if.end7
+ end_block # label1:
+ i64.store $discard=, 0($0):p2align=2, $3
+ i32.const $6=, 16
+ i32.add $8=, $8, $6
+ i32.const $6=, __stack_pointer
+ i32.store $8=, 0($6), $8
+ return
+.LBB1_4: # %if.then6
+ end_block # label0:
+ i64.load $push7=, 0($2):p2align=2
+ i64.store $discard=, 8($8):p2align=2, $pop7
+ i32.const $7=, 8
+ i32.add $7=, $8, $7
+ call bar@FUNCTION, $2, $7
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.const $push9=, 0
+ i32.load8_u $0=, cons2+4($pop9):p2align=2
+ i32.const $push8=, 0
+ i64.load $push1=, .Lmain.y($pop8)
+ i64.store $discard=, 8($4), $pop1
+ block
+ i32.const $push7=, 64
+ i32.and $push2=, $0, $pop7
+ i32.const $push14=, 0
+ i32.eq $push15=, $pop2, $pop14
+ br_if $pop15, 0 # 0: down to label3
+# BB#1: # %if.then.i
+ i32.const $push12=, 0
+ i32.load $push0=, cons2($pop12):p2align=4
+ tee_local $push11=, $0=, $pop0
+ i64.load $push3=, 8($pop11):p2align=2
+ i64.store $discard=, 8($4), $pop3
+ i32.load8_u $push4=, 4($0):p2align=2
+ i32.const $push10=, 64
+ i32.and $push5=, $pop4, $pop10
+ i32.const $push16=, 0
+ i32.eq $push17=, $pop5, $pop16
+ br_if $pop17, 0 # 0: down to label3
+# BB#2: # %if.then6.i
+ i64.load $push6=, 8($4)
+ i64.store $discard=, 0($4):p2align=2, $pop6
+ call bar@FUNCTION, $0, $4
+ unreachable
+.LBB2_3: # %foo.exit
+ end_block # label3:
+ i32.const $push13=, 0
+ i32.const $3=, 16
+ i32.add $4=, $4, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return $pop13
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden nil # @nil
+ .type nil,@object
+ .section .bss.nil,"aw",@nobits
+ .globl nil
+ .p2align 2
+nil:
+ .int32 0 # 0x0
+ .size nil, 4
+
+ .hidden cons1 # @cons1
+ .type cons1,@object
+ .section .data.cons1,"aw",@progbits
+ .globl cons1
+ .p2align 4
+cons1:
+ .int32 nil
+ .int32 0 # 0x0
+ .int32 nil
+ .int32 0 # 0x0
+ .size cons1, 16
+
+ .hidden cons2 # @cons2
+ .type cons2,@object
+ .section .data.cons2,"aw",@progbits
+ .globl cons2
+ .p2align 4
+cons2:
+ .int32 cons1
+ .int32 64 # 0x40
+ .int32 nil
+ .int32 0 # 0x0
+ .size cons2, 16
+
+ .type .Lmain.y,@object # @main.y
+ .section .data.rel.ro..Lmain.y,"aw",@progbits
+ .p2align 3
+.Lmain.y:
+ .int32 nil
+ .int32 0 # 0x0
+ .size .Lmain.y, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/980424-1.c.s b/test/torture-s/980424-1.c.s
index 6f4ec8b47..da2082ae2 100644
--- a/test/torture-s/980424-1.c.s
+++ b/test/torture-s/980424-1.c.s
@@ -28,18 +28,16 @@ f: # @f
g: # @g
# BB#0: # %entry
block
- i32.const $push6=, a
i32.const $push0=, 0
i32.load $push1=, i($pop0)
i32.const $push2=, 63
i32.and $push3=, $pop1, $pop2
i32.const $push4=, 2
i32.shl $push5=, $pop3, $pop4
- i32.add $push7=, $pop6, $pop5
- i32.load $push8=, 0($pop7)
- i32.const $push9=, 1
- i32.ne $push10=, $pop8, $pop9
- br_if $pop10, 0 # 0: down to label1
+ i32.load $push6=, a($pop5)
+ i32.const $push7=, 1
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label1
# BB#1: # %f.exit
return
.LBB1_2: # %if.then.i
@@ -56,14 +54,16 @@ g: # @g
.type main,@function
main: # @main
.result i32
- .local i32
-# BB#0: # %g.exit
- i32.const $0=, 0
+# BB#0: # %entry
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, a($0), $pop0
- i32.const $push1=, 64
- i32.store $discard=, i($0), $pop1
- call exit@FUNCTION, $0
+ i32.store $discard=, a($pop1):p2align=4, $pop0
+ i32.const $push4=, 0
+ i32.const $push2=, 64
+ i32.store $discard=, i($pop4), $pop2
+ call g@FUNCTION
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.endfunc
.Lfunc_end2:
@@ -73,7 +73,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -82,7 +82,7 @@ i:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 396
.size a, 396
diff --git a/test/torture-s/980506-3.c.s b/test/torture-s/980506-3.c.s
index 0f63ea6a9..b9a81f70f 100644
--- a/test/torture-s/980506-3.c.s
+++ b/test/torture-s/980506-3.c.s
@@ -11,7 +11,7 @@ main: # @main
i32.const $push0=, lookup_table
i32.const $push2=, 4
i32.const $push1=, 257
- call memset@FUNCTION, $pop0, $pop2, $pop1
+ i32.call $discard=, memset@FUNCTION, $pop0, $pop2, $pop1
i32.const $push3=, 0
call exit@FUNCTION, $pop3
unreachable
@@ -23,7 +23,7 @@ main: # @main
.type lookup_table,@object
.section .bss.lookup_table,"aw",@nobits
.globl lookup_table
- .align 4
+ .p2align 4
lookup_table:
.skip 257
.size lookup_table, 257
diff --git a/test/torture-s/980526-2.c.s b/test/torture-s/980526-2.c.s
index 5980a855f..6c2b2770b 100644
--- a/test/torture-s/980526-2.c.s
+++ b/test/torture-s/980526-2.c.s
@@ -30,47 +30,52 @@ do_mknod: # @do_mknod
getname: # @getname
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 5
- i32.const $2=, 3
- i32.const $push25=, 13
- i32.mul $push26=, $0, $pop25
- i32.const $push7=, 7
- i32.mul $push8=, $0, $pop7
- i32.add $push9=, $pop8, $2
- i32.shl $push10=, $0, $2
- i32.const $push11=, 4
- i32.or $push12=, $pop10, $pop11
- i32.mul $push28=, $pop9, $pop12
- i32.add $push31=, $pop26, $pop28
- i32.mul $push0=, $0, $1
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 6
- i32.mul $push4=, $0, $pop3
- i32.const $push5=, 2
- i32.add $push6=, $pop4, $pop5
- i32.mul $push27=, $pop2, $pop6
- i32.add $push32=, $pop31, $pop27
- i32.const $push13=, 9
- i32.mul $push14=, $0, $pop13
- i32.add $push15=, $pop14, $1
- i32.const $push16=, 10
- i32.mul $push17=, $0, $pop16
- i32.add $push18=, $pop17, $1
- i32.mul $push29=, $pop15, $pop18
- i32.add $push33=, $pop32, $pop29
- i32.const $push19=, 11
- i32.mul $push20=, $0, $pop19
- i32.add $push21=, $pop20, $1
- i32.const $push22=, 12
- i32.mul $push23=, $0, $pop22
- i32.add $push24=, $pop23, $1
- i32.mul $push30=, $pop21, $pop24
- i32.add $push34=, $pop33, $pop30
- i32.add $push35=, $pop34, $1
- return $pop35
+ i32.const $push27=, 13
+ i32.mul $push28=, $0, $pop27
+ i32.const $push8=, 7
+ i32.mul $push9=, $0, $pop8
+ i32.const $push10=, 3
+ i32.add $push11=, $pop9, $pop10
+ i32.const $push43=, 3
+ i32.shl $push12=, $0, $pop43
+ i32.const $push13=, 4
+ i32.or $push14=, $pop12, $pop13
+ i32.mul $push30=, $pop11, $pop14
+ i32.add $push33=, $pop28, $pop30
+ i32.const $push0=, 5
+ i32.mul $push1=, $0, $pop0
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, 6
+ i32.mul $push5=, $0, $pop4
+ i32.const $push6=, 2
+ i32.add $push7=, $pop5, $pop6
+ i32.mul $push29=, $pop3, $pop7
+ i32.add $push34=, $pop33, $pop29
+ i32.const $push15=, 9
+ i32.mul $push16=, $0, $pop15
+ i32.const $push42=, 5
+ i32.add $push17=, $pop16, $pop42
+ i32.const $push18=, 10
+ i32.mul $push19=, $0, $pop18
+ i32.const $push41=, 5
+ i32.add $push20=, $pop19, $pop41
+ i32.mul $push31=, $pop17, $pop20
+ i32.add $push35=, $pop34, $pop31
+ i32.const $push21=, 11
+ i32.mul $push22=, $0, $pop21
+ i32.const $push40=, 5
+ i32.add $push23=, $pop22, $pop40
+ i32.const $push24=, 12
+ i32.mul $push25=, $0, $pop24
+ i32.const $push39=, 5
+ i32.add $push26=, $pop25, $pop39
+ i32.mul $push32=, $pop23, $pop26
+ i32.add $push36=, $pop35, $pop32
+ i32.const $push38=, 5
+ i32.add $push37=, $pop36, $pop38
+ return $pop37
.endfunc
.Lfunc_end1:
.size getname, .Lfunc_end1-getname
diff --git a/test/torture-s/980602-2.c.s b/test/torture-s/980602-2.c.s
index 144a5f918..5b1ca82eb 100644
--- a/test/torture-s/980602-2.c.s
+++ b/test/torture-s/980602-2.c.s
@@ -6,23 +6,27 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, t($0)
- i32.const $2=, 1073741823
+ i32.const $push12=, 0
+ i32.const $push11=, 0
+ i32.load $push0=, t($pop11)
+ tee_local $push10=, $0=, $pop0
+ i32.const $push3=, 1
+ i32.add $push4=, $pop10, $pop3
+ i32.const $push1=, 1073741823
+ i32.and $push5=, $pop4, $pop1
+ i32.const $push6=, -1073741824
+ i32.and $push7=, $0, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, t($pop12), $pop8
block
- i32.const $push1=, 1
- i32.add $push2=, $1, $pop1
- i32.and $push3=, $pop2, $2
- i32.const $push4=, -1073741824
- i32.and $push5=, $1, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, t($0), $pop6
- i32.and $push0=, $1, $2
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push9=, 1073741823
+ i32.and $push2=, $0, $pop9
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.then
- call exit@FUNCTION, $0
+ i32.const $push13=, 0
+ call exit@FUNCTION, $pop13
unreachable
.LBB0_2: # %if.else
end_block # label0:
@@ -36,7 +40,7 @@ main: # @main
.type t,@object
.section .bss.t,"aw",@nobits
.globl t
- .align 2
+ .p2align 2
t:
.skip 4
.size t, 4
diff --git a/test/torture-s/980604-1.c.s b/test/torture-s/980604-1.c.s
index 230183633..c1c7544b9 100644
--- a/test/torture-s/980604-1.c.s
+++ b/test/torture-s/980604-1.c.s
@@ -6,12 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push2=, a($0)
- i32.load $push3=, b($0)
+ i32.const $push8=, 0
+ i32.load $push2=, a($pop8)
+ i32.const $push7=, 0
+ i32.load $push3=, b($pop7)
i32.lt_s $push4=, $pop2, $pop3
i32.const $push0=, c
i32.const $push1=, d
@@ -19,7 +19,8 @@ main: # @main
i32.load $push6=, 0($pop5)
br_if $pop6, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push9=, 0
+ call exit@FUNCTION, $pop9
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -33,7 +34,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
@@ -42,7 +43,7 @@ a:
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 4294967295 # 0xffffffff
.size b, 4
@@ -51,7 +52,7 @@ b:
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 2
+ .p2align 2
c:
.int32 1 # 0x1
.size c, 4
@@ -60,7 +61,7 @@ c:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
diff --git a/test/torture-s/980605-1.c.s b/test/torture-s/980605-1.c.s
index 2c062e980..9e44427a2 100644
--- a/test/torture-s/980605-1.c.s
+++ b/test/torture-s/980605-1.c.s
@@ -7,19 +7,22 @@
f2: # @f2
.param f64
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, x($1)
- i32.const $3=, 10
- i32.add $push0=, $2, $3
- i32.store $discard=, x($1), $pop0
- i32.trunc_u/f64 $push1=, $0
- i32.mul $push2=, $2, $3
- i32.add $push3=, $pop1, $pop2
- i32.const $push4=, 45
- i32.add $push5=, $pop3, $pop4
- return $pop5
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, x($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 10
+ i32.add $push3=, $pop10, $pop2
+ i32.store $discard=, x($pop0), $pop3
+ i32.trunc_u/f64 $push4=, $0
+ i32.const $push9=, 10
+ i32.mul $push5=, $1, $pop9
+ i32.add $push6=, $pop4, $pop5
+ i32.const $push7=, 45
+ i32.add $push8=, $pop6, $pop7
+ return $pop8
.endfunc
.Lfunc_end0:
.size f2, .Lfunc_end0-f2
@@ -30,14 +33,16 @@ f2: # @f2
.type getval,@function
getval: # @getval
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, x($0)
- i32.const $push0=, 1
- i32.add $push1=, $1, $pop0
- i32.store $discard=, x($0), $pop1
- return $1
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, x($pop5)
+ tee_local $push4=, $0=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop4, $pop2
+ i32.store $discard=, x($pop0), $pop3
+ return $0
.endfunc
.Lfunc_end1:
.size getval, .Lfunc_end1-getval
@@ -47,47 +52,52 @@ getval: # @getval
.globl f
.type f,@function
f: # @f
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $7=, __stack_pointer
- i32.load $7=, 0($7)
- i32.const $8=, 16
- i32.sub $10=, $7, $8
- i32.const $8=, __stack_pointer
- i32.store $10=, 0($8), $10
- i32.const $0=, 0
- i32.load $1=, x($0)
- i32.const $2=, 20
- i32.add $push0=, $1, $2
- i32.store $discard=, x($0), $pop0
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $8=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $8=, 0($6), $8
+ i32.const $push0=, 0
+ i32.const $push15=, 0
+ i32.load $push1=, x($pop15)
+ tee_local $push14=, $0=, $pop1
+ i32.const $push2=, 20
+ i32.add $push3=, $pop14, $pop2
+ i32.store $discard=, x($pop0), $pop3
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $8=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $8=, 0($2), $8
+ i32.const $push4=, 10
+ i32.mul $push5=, $0, $pop4
+ tee_local $push13=, $0=, $pop5
+ i32.add $push6=, $pop13, $0
+ i32.const $push7=, 207
+ i32.add $push8=, $pop6, $pop7
+ i32.store $0=, 0($8), $pop8
+ i32.const $push10=, buf
+ i32.const $push9=, .L.str
+ i32.call $discard=, sprintf@FUNCTION, $pop10, $pop9
i32.const $3=, __stack_pointer
i32.load $3=, 0($3)
i32.const $4=, 4
- i32.sub $10=, $3, $4
+ i32.add $8=, $3, $4
i32.const $4=, __stack_pointer
- i32.store $10=, 0($4), $10
- i32.mul $push1=, $1, $2
- i32.const $push2=, 207
- i32.add $push3=, $pop1, $pop2
- i32.store $0=, 0($10), $pop3
- i32.const $push5=, buf
- i32.const $push4=, .L.str
- i32.call $discard=, siprintf@FUNCTION, $pop5, $pop4
- i32.const $5=, __stack_pointer
- i32.load $5=, 0($5)
- i32.const $6=, 4
- i32.add $10=, $5, $6
- i32.const $6=, __stack_pointer
- i32.store $10=, 0($6), $10
+ i32.store $8=, 0($4), $8
block
- i32.const $push6=, 227
- i32.ne $push7=, $0, $pop6
- br_if $pop7, 0 # 0: down to label0
+ i32.const $push11=, 227
+ i32.ne $push12=, $0, $pop11
+ br_if $pop12, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $9=, 16
- i32.add $10=, $10, $9
- i32.const $9=, __stack_pointer
- i32.store $10=, 0($9), $10
+ i32.const $7=, 16
+ i32.add $8=, $8, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
return
.LBB2_2: # %if.then
end_block # label0:
@@ -103,48 +113,10 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $7=, __stack_pointer
- i32.load $7=, 0($7)
- i32.const $8=, 16
- i32.sub $9=, $7, $8
- i32.const $8=, __stack_pointer
- i32.store $9=, 0($8), $9
- i32.const $0=, 0
- i32.load $1=, x($0)
- i32.const $2=, 20
- i32.add $push0=, $1, $2
- i32.store $discard=, x($0), $pop0
- i32.const $3=, __stack_pointer
- i32.load $3=, 0($3)
- i32.const $4=, 4
- i32.sub $9=, $3, $4
- i32.const $4=, __stack_pointer
- i32.store $9=, 0($4), $9
- i32.mul $push1=, $1, $2
- i32.const $push2=, 207
- i32.add $push3=, $pop1, $pop2
- i32.store $1=, 0($9), $pop3
- i32.const $push5=, buf
- i32.const $push4=, .L.str
- i32.call $discard=, siprintf@FUNCTION, $pop5, $pop4
- i32.const $5=, __stack_pointer
- i32.load $5=, 0($5)
- i32.const $6=, 4
- i32.add $9=, $5, $6
- i32.const $6=, __stack_pointer
- i32.store $9=, 0($6), $9
- block
- i32.const $push6=, 227
- i32.ne $push7=, $1, $pop6
- br_if $pop7, 0 # 0: down to label1
-# BB#1: # %f.exit
- call exit@FUNCTION, $0
- unreachable
-.LBB3_2: # %if.then.i
- end_block # label1:
- call abort@FUNCTION
+ call f@FUNCTION
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
unreachable
.endfunc
.Lfunc_end3:
@@ -154,7 +126,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int32 1 # 0x1
.size x, 4
diff --git a/test/torture-s/980608-1.c.s b/test/torture-s/980608-1.c.s
new file mode 100644
index 000000000..a3ff5a986
--- /dev/null
+++ b/test/torture-s/980608-1.c.s
@@ -0,0 +1,198 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/980608-1.c"
+ .section .text.f1,"ax",@progbits
+ .hidden f1
+ .globl f1
+ .type f1,@function
+f1: # @f1
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ return
+ .endfunc
+.Lfunc_end0:
+ .size f1, .Lfunc_end0-f1
+
+ .section .text.debug,"ax",@progbits
+ .hidden debug
+ .globl debug
+ .type debug,@function
+debug: # @debug
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push0=, 12($5), $6
+ i32.const $push45=, 3
+ i32.add $push1=, $pop0, $pop45
+ i32.const $push44=, -4
+ i32.and $push2=, $pop1, $pop44
+ tee_local $push43=, $1=, $pop2
+ i32.const $push42=, 4
+ i32.add $push3=, $pop43, $pop42
+ i32.store $discard=, 12($5), $pop3
+ block
+ i32.load $push4=, 0($1)
+ i32.const $push5=, 101
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push7=, 12($5)
+ i32.const $push49=, 3
+ i32.add $push8=, $pop7, $pop49
+ i32.const $push48=, -4
+ i32.and $push9=, $pop8, $pop48
+ tee_local $push47=, $1=, $pop9
+ i32.const $push46=, 4
+ i32.add $push10=, $pop47, $pop46
+ i32.store $discard=, 12($5), $pop10
+ block
+ i32.load $push11=, 0($1)
+ i32.const $push12=, 102
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push14=, 12($5)
+ i32.const $push53=, 3
+ i32.add $push15=, $pop14, $pop53
+ i32.const $push52=, -4
+ i32.and $push16=, $pop15, $pop52
+ tee_local $push51=, $1=, $pop16
+ i32.const $push50=, 4
+ i32.add $push17=, $pop51, $pop50
+ i32.store $discard=, 12($5), $pop17
+ block
+ i32.load $push18=, 0($1)
+ i32.const $push19=, 103
+ i32.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.load $push21=, 12($5)
+ i32.const $push57=, 3
+ i32.add $push22=, $pop21, $pop57
+ i32.const $push56=, -4
+ i32.and $push23=, $pop22, $pop56
+ tee_local $push55=, $1=, $pop23
+ i32.const $push54=, 4
+ i32.add $push24=, $pop55, $pop54
+ i32.store $discard=, 12($5), $pop24
+ block
+ i32.load $push25=, 0($1)
+ i32.const $push26=, 104
+ i32.ne $push27=, $pop25, $pop26
+ br_if $pop27, 0 # 0: down to label3
+# BB#4: # %if.end10
+ i32.load $push28=, 12($5)
+ i32.const $push61=, 3
+ i32.add $push29=, $pop28, $pop61
+ i32.const $push60=, -4
+ i32.and $push30=, $pop29, $pop60
+ tee_local $push59=, $1=, $pop30
+ i32.const $push58=, 4
+ i32.add $push31=, $pop59, $pop58
+ i32.store $discard=, 12($5), $pop31
+ block
+ i32.load $push32=, 0($1)
+ i32.const $push33=, 105
+ i32.ne $push34=, $pop32, $pop33
+ br_if $pop34, 0 # 0: down to label4
+# BB#5: # %if.end13
+ i32.load $push35=, 12($5)
+ i32.const $push65=, 3
+ i32.add $push36=, $pop35, $pop65
+ i32.const $push64=, -4
+ i32.and $push37=, $pop36, $pop64
+ tee_local $push63=, $1=, $pop37
+ i32.const $push62=, 4
+ i32.add $push38=, $pop63, $pop62
+ i32.store $discard=, 12($5), $pop38
+ block
+ i32.load $push39=, 0($1)
+ i32.const $push40=, 106
+ i32.ne $push41=, $pop39, $pop40
+ br_if $pop41, 0 # 0: down to label5
+# BB#6: # %if.end16
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB1_7: # %if.then15
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB1_8: # %if.then12
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB1_9: # %if.then9
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB1_10: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB1_11: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB1_12: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size debug, .Lfunc_end1-debug
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 32
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 24
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i64.const $push0=, 438086664293
+ i64.store $discard=, 0($7):p2align=2, $pop0
+ i32.const $push1=, 16
+ i32.add $0=, $7, $pop1
+ i64.const $push2=, 455266533481
+ i64.store $discard=, 0($0):p2align=2, $pop2
+ i32.const $push3=, 8
+ i32.add $0=, $7, $pop3
+ i64.const $push4=, 446676598887
+ i64.store $discard=, 0($0):p2align=2, $pop4
+ call debug@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 24
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/980612-1.c.s b/test/torture-s/980612-1.c.s
index 6517b2eec..50e59b32e 100644
--- a/test/torture-s/980612-1.c.s
+++ b/test/torture-s/980612-1.c.s
@@ -32,15 +32,16 @@ h: # @h
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load8_u $1=, f($0)
- block
+ i32.const $push6=, 0
+ i32.load8_u $0=, f($pop6)
+ i32.const $push5=, 0
i32.const $push0=, 255
- i32.store8 $discard=, f+1($0), $pop0
+ i32.store8 $discard=, f+1($pop5), $pop0
+ block
i32.const $push1=, 111
- i32.and $push2=, $1, $pop1
+ i32.and $push2=, $0, $pop1
i32.const $push3=, 2
i32.gt_u $push4=, $pop2, $pop3
br_if $pop4, 0 # 0: down to label0
@@ -49,7 +50,8 @@ main: # @main
unreachable
.LBB2_2: # %if.end
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push7=, 0
+ call exit@FUNCTION, $pop7
unreachable
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/980617-1.c.s b/test/torture-s/980617-1.c.s
index 83bb25fdb..0a02dfffe 100644
--- a/test/torture-s/980617-1.c.s
+++ b/test/torture-s/980617-1.c.s
@@ -8,7 +8,7 @@ foo: # @foo
.param i32
# BB#0: # %entry
block
- i32.load8_s $push0=, 0($0)
+ i32.load8_s $push0=, 0($0):p2align=2
i32.const $push1=, -17
i32.add $push2=, $pop0, $pop1
i32.const $push3=, 1
@@ -30,9 +30,21 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
-# BB#0: # %foo.exit
- i32.const $push0=, 0
- call exit@FUNCTION, $pop0
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i32.const $push0=, 196625
+ i32.store $discard=, 12($3), $pop0
+ i32.const $2=, 12
+ i32.add $2=, $3, $2
+ call foo@FUNCTION, $2
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/980716-1.c.s b/test/torture-s/980716-1.c.s
new file mode 100644
index 000000000..9831e682f
--- /dev/null
+++ b/test/torture-s/980716-1.c.s
@@ -0,0 +1,125 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/980716-1.c"
+ .section .text.stub,"ax",@progbits
+ .hidden stub
+ .globl stub
+ .type stub,@function
+stub: # @stub
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $discard=, 12($5), $6
+.LBB0_1: # %while.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label0:
+ i32.load $push0=, 12($5)
+ i32.const $push13=, 3
+ i32.add $push1=, $pop0, $pop13
+ i32.const $push12=, -4
+ i32.and $push2=, $pop1, $pop12
+ tee_local $push11=, $1=, $pop2
+ i32.const $push10=, 4
+ i32.add $push3=, $pop11, $pop10
+ i32.store $discard=, 12($5), $pop3
+ i32.load $push4=, 0($1)
+ br_if $pop4, 0 # 0: up to label0
+# BB#2: # %while.end
+ end_loop # label1:
+ i32.store $discard=, 12($5), $6
+.LBB0_3: # %while.body.1
+ # =>This Inner Loop Header: Depth=1
+ loop # label2:
+ i32.load $push5=, 12($5)
+ i32.const $push17=, 3
+ i32.add $push6=, $pop5, $pop17
+ i32.const $push16=, -4
+ i32.and $push7=, $pop6, $pop16
+ tee_local $push15=, $1=, $pop7
+ i32.const $push14=, 4
+ i32.add $push8=, $pop15, $pop14
+ i32.store $discard=, 12($5), $pop8
+ i32.load $push9=, 0($1)
+ br_if $pop9, 0 # 0: up to label2
+# BB#4: # %while.end.1
+ end_loop # label3:
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+ .endfunc
+.Lfunc_end0:
+ .size stub, .Lfunc_end0-stub
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $8=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $8=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $8=, 0($3), $8
+ i32.const $push0=, .L.str
+ i32.store $discard=, 0($8), $pop0
+ i32.const $push1=, 12
+ i32.add $0=, $8, $pop1
+ i32.const $push2=, 0
+ i32.store $0=, 0($0), $pop2
+ i32.const $push3=, 8
+ i32.add $1=, $8, $pop3
+ i32.const $push4=, .L.str.2
+ i32.store $discard=, 0($1), $pop4
+ i32.const $push5=, 4
+ i32.add $1=, $8, $pop5
+ i32.const $push6=, .L.str.1
+ i32.store $discard=, 0($1), $pop6
+ call stub@FUNCTION, $0
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.add $8=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $8=, 0($5), $8
+ call exit@FUNCTION, $0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "ab"
+ .size .L.str, 3
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "bc"
+ .size .L.str.1, 3
+
+ .type .L.str.2,@object # @.str.2
+.L.str.2:
+ .asciz "cx"
+ .size .L.str.2, 3
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/981001-1.c.s b/test/torture-s/981001-1.c.s
index 9a720dbe2..badecfc23 100644
--- a/test/torture-s/981001-1.c.s
+++ b/test/torture-s/981001-1.c.s
@@ -7,39 +7,43 @@
sub: # @sub
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
block
i32.const $push0=, 2
i32.lt_s $push1=, $0, $pop0
br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.then
- i32.const $2=, 1
- block
i32.const $push3=, 31
i32.shr_u $push4=, $0, $pop3
i32.add $push5=, $0, $pop4
- i32.shr_s $1=, $pop5, $2
- i32.and $push2=, $0, $2
+ i32.const $push18=, 1
+ i32.shr_s $1=, $pop5, $pop18
+ block
+ i32.const $push17=, 1
+ i32.and $push2=, $0, $pop17
br_if $pop2, 0 # 0: down to label1
# BB#2: # %if.then2
i32.call $0=, sub@FUNCTION, $1
- i32.const $push10=, -1
- i32.add $push11=, $1, $pop10
- i32.call $push12=, sub@FUNCTION, $pop11
- i32.shl $push13=, $pop12, $2
- i32.add $push14=, $pop13, $0
- i32.mul $push15=, $pop14, $0
- return $pop15
+ i32.const $push11=, -1
+ i32.add $push12=, $1, $pop11
+ i32.call $push13=, sub@FUNCTION, $pop12
+ i32.const $push19=, 1
+ i32.shl $push14=, $pop13, $pop19
+ i32.add $push15=, $0, $pop14
+ i32.mul $push16=, $0, $pop15
+ return $pop16
.LBB0_3: # %if.else
end_block # label1:
- i32.add $push6=, $1, $2
+ i32.const $push21=, 1
+ i32.add $push6=, $1, $pop21
i32.call $0=, sub@FUNCTION, $pop6
- i32.call $2=, sub@FUNCTION, $1
- i32.mul $push8=, $2, $2
- i32.mul $push7=, $0, $0
- i32.add $push9=, $pop8, $pop7
- return $pop9
+ i32.call $push7=, sub@FUNCTION, $1
+ tee_local $push20=, $1=, $pop7
+ i32.mul $push9=, $pop20, $1
+ i32.mul $push8=, $0, $0
+ i32.add $push10=, $pop9, $pop8
+ return $pop10
.LBB0_4: # %cleanup
end_block # label0:
return $0
@@ -53,27 +57,29 @@ sub: # @sub
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $push0=, 30
- i32.call $1=, sub@FUNCTION, $pop0
- i32.const $2=, 0
- i32.load $0=, flg($2)
+ i32.const $push7=, 0
+ i32.load $0=, flg($pop7)
block
block
- i32.const $push1=, 832040
- i32.ne $push2=, $1, $pop1
- br_if $pop2, 0 # 0: down to label3
+ i32.const $push0=, 30
+ i32.call $push1=, sub@FUNCTION, $pop0
+ i32.const $push2=, 832040
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label3
# BB#1: # %if.end
br_if $0, 1 # 1: down to label2
# BB#2: # %if.end2
- call exit@FUNCTION, $2
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.LBB1_3: # %if.end.thread
end_block # label3:
- i32.const $push3=, 256
- i32.or $push4=, $0, $pop3
- i32.store $discard=, flg($2), $pop4
+ i32.const $push8=, 0
+ i32.const $push4=, 256
+ i32.or $push5=, $0, $pop4
+ i32.store $discard=, flg($pop8), $pop5
.LBB1_4: # %if.then1
end_block # label2:
call abort@FUNCTION
@@ -86,7 +92,7 @@ main: # @main
.type flg,@object
.section .bss.flg,"aw",@nobits
.globl flg
- .align 2
+ .p2align 2
flg:
.int32 0 # 0x0
.size flg, 4
diff --git a/test/torture-s/981019-1.c.s b/test/torture-s/981019-1.c.s
index 3015446c6..af4f2a498 100644
--- a/test/torture-s/981019-1.c.s
+++ b/test/torture-s/981019-1.c.s
@@ -6,43 +6,47 @@
.type ff,@function
ff: # @ff
.param i32, i32, i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
block
- i32.const $push0=, 0
- i32.eq $push1=, $0, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push6=, 0
+ i32.eq $push7=, $0, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %entry
- i32.const $push2=, 0
- i32.eq $push3=, $2, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push8=, 0
+ i32.eq $push9=, $2, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#2: # %if.then2
call f1@FUNCTION
unreachable
.LBB0_3: # %while.cond.preheader
end_block # label0:
- i32.const $3=, 0
- i32.load $4=, f3.x($3)
+ i32.const $push3=, 0
+ i32.load $0=, f3.x($pop3)
.LBB0_4: # %while.cond
# =>This Inner Loop Header: Depth=1
block
loop # label2:
- copy_local $0=, $4
- i32.eq $4=, $0, $3
- br_if $0, 2 # 2: down to label1
+ copy_local $push0=, $0
+ tee_local $push5=, $3=, $pop0
+ i32.const $push4=, 0
+ i32.eq $0=, $pop5, $pop4
+ br_if $3, 2 # 2: down to label1
# BB#5: # %while.body
# in Loop: Header=BB0_4 Depth=1
- i32.const $push4=, 0
- i32.eq $push5=, $2, $pop4
- br_if $pop5, 0 # 0: up to label2
+ i32.const $push10=, 0
+ i32.eq $push11=, $2, $pop10
+ br_if $pop11, 0 # 0: up to label2
# BB#6: # %land.lhs.true
end_loop # label3:
- i32.store $discard=, f3.x($3), $4
+ i32.const $push2=, 0
+ i32.store $discard=, f3.x($pop2), $0
i32.call $discard=, f2@FUNCTION
unreachable
.LBB0_7: # %while.end
end_block # label1:
- i32.store $discard=, f3.x($3), $4
+ i32.const $push1=, 0
+ i32.store $discard=, f3.x($pop1), $0
block
br_if $2, 0 # 0: down to label4
# BB#8: # %if.end16
@@ -73,13 +77,14 @@ f1: # @f1
.type f3,@function
f3: # @f3
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, f3.x($0)
- i32.eq $push1=, $pop0, $0
- i32.store $push2=, f3.x($0), $pop1
- return $pop2
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, f3.x($pop5)
+ i32.const $push4=, 0
+ i32.eq $push2=, $pop1, $pop4
+ i32.store $push3=, f3.x($pop0), $pop2
+ return $pop3
.endfunc
.Lfunc_end2:
.size f3, .Lfunc_end2-f3
@@ -103,22 +108,26 @@ f2: # @f2
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, f3.x($1)
+ i32.const $push2=, 0
+ i32.load $0=, f3.x($pop2)
.LBB4_1: # %while.cond.i
# =>This Inner Loop Header: Depth=1
loop # label5:
- copy_local $0=, $2
- i32.eq $2=, $0, $1
- i32.const $push0=, 0
- i32.eq $push1=, $0, $pop0
- br_if $pop1, 0 # 0: up to label5
+ copy_local $push0=, $0
+ tee_local $push4=, $1=, $pop0
+ i32.const $push3=, 0
+ i32.eq $0=, $pop4, $pop3
+ i32.const $push6=, 0
+ i32.eq $push7=, $1, $pop6
+ br_if $pop7, 0 # 0: up to label5
# BB#2: # %ff.exit
end_loop # label6:
- i32.store $discard=, f3.x($1), $2
- return $1
+ i32.const $push1=, 0
+ i32.store $discard=, f3.x($pop1), $0
+ i32.const $push5=, 0
+ return $pop5
.endfunc
.Lfunc_end4:
.size main, .Lfunc_end4-main
diff --git a/test/torture-s/981130-1.c.s b/test/torture-s/981130-1.c.s
index 13aa8f74c..7b4e4ede1 100644
--- a/test/torture-s/981130-1.c.s
+++ b/test/torture-s/981130-1.c.s
@@ -28,18 +28,19 @@ check: # @check
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i64.load $push0=, s2($0)
- i64.store $push1=, s1($0), $pop0
+ i32.const $push6=, 0
+ i32.const $push5=, 0
+ i64.load $push0=, s2($pop5)
+ i64.store $push1=, s1($pop6), $pop0
i32.wrap/i64 $push2=, $pop1
i32.const $push3=, 1
i32.ne $push4=, $pop2, $pop3
br_if $pop4, 0 # 0: down to label1
# BB#1: # %if.then.i
- call exit@FUNCTION, $0
+ i32.const $push7=, 0
+ call exit@FUNCTION, $pop7
unreachable
.LBB1_2: # %if.else.i
end_block # label1:
@@ -53,7 +54,7 @@ main: # @main
.type s2,@object
.section .data.s2,"aw",@progbits
.globl s2
- .align 3
+ .p2align 3
s2:
.int32 1 # 0x1
.int32 2 # 0x2
@@ -63,7 +64,7 @@ s2:
.type s1,@object
.section .bss.s1,"aw",@nobits
.globl s1
- .align 3
+ .p2align 3
s1:
.skip 8
.size s1, 8
diff --git a/test/torture-s/981206-1.c.s b/test/torture-s/981206-1.c.s
index 70b7bc420..c643e332a 100644
--- a/test/torture-s/981206-1.c.s
+++ b/test/torture-s/981206-1.c.s
@@ -5,12 +5,12 @@
.globl foo
.type foo,@function
foo: # @foo
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $push0=, 1
- i32.store8 $push1=, x($0), $pop0
- i32.store8 $discard=, y($0), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.const $push1=, 1
+ i32.store8 $push2=, x($pop3):p2align=1, $pop1
+ i32.store8 $discard=, y($pop0):p2align=1, $pop2
return
.endfunc
.Lfunc_end0:
@@ -22,21 +22,22 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
+ i32.const $push4=, 0
i32.const $push0=, 1
- i32.store8 $push1=, x($0), $pop0
- i32.store8 $discard=, y($0), $pop1
- call exit@FUNCTION, $0
+ i32.store8 $push2=, x($pop4):p2align=1, $pop0
+ i32.store8 $discard=, y($pop1):p2align=1, $pop2
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
.type x,@object # @x
- .lcomm x,1
+ .lcomm x,1,1
.type y,@object # @y
- .lcomm y,1
+ .lcomm y,1,1
.ident "clang version 3.9.0 "
diff --git a/test/torture-s/990127-2.c.s b/test/torture-s/990127-2.c.s
index cbfa41b97..79a1f88f1 100644
--- a/test/torture-s/990127-2.c.s
+++ b/test/torture-s/990127-2.c.s
@@ -51,8 +51,11 @@ fpTest: # @fpTest
main: # @main
.result i32
# BB#0: # %entry
- i32.const $push0=, 0
- call exit@FUNCTION, $pop0
+ f64.const $push1=, 0x1.1d9999999999ap5
+ f64.const $push0=, 0x1.68p5
+ call fpTest@FUNCTION, $pop1, $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/990128-1.c.s b/test/torture-s/990128-1.c.s
index 4940fe99f..b7b90ac45 100644
--- a/test/torture-s/990128-1.c.s
+++ b/test/torture-s/990128-1.c.s
@@ -6,63 +6,77 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %for.inc.i.preheader.i.preheader
- i32.const $2=, 0
- i32.const $push1=, sss
- i32.store $discard=, ss($2), $pop1
- i32.const $push2=, sss+4
- i32.store $discard=, sss($2), $pop2
- i32.const $push3=, sss+8
- i32.store $discard=, sss+4($2), $pop3
- i32.const $push4=, sss+12
- i32.store $discard=, sss+8($2), $pop4
- i32.const $push5=, sss+16
- i32.store $discard=, sss+12($2), $pop5
- i32.const $push6=, sss+20
- i32.store $discard=, sss+16($2), $pop6
- i32.const $push7=, sss+24
- i32.store $discard=, sss+20($2), $pop7
- i32.const $push8=, sss+28
- i32.store $discard=, sss+24($2), $pop8
- i32.const $push9=, sss+32
- i32.store $discard=, sss+28($2), $pop9
- i32.store $1=, sss+36($2), $2
- i32.load $3=, count($1)
- i32.const $push10=, sss+36
- i32.store $discard=, sss+32($2), $pop10
+ i32.const $push1=, 0
+ i32.const $push2=, sss
+ i32.store $discard=, ss($pop1), $pop2
+ i32.const $push29=, 0
+ i32.const $push3=, sss+4
+ i32.store $discard=, sss($pop29):p2align=4, $pop3
+ i32.const $push28=, 0
+ i32.const $push4=, sss+8
+ i32.store $discard=, sss+4($pop28), $pop4
+ i32.const $push27=, 0
+ i32.const $push5=, sss+12
+ i32.store $discard=, sss+8($pop27):p2align=3, $pop5
+ i32.const $push26=, 0
+ i32.const $push6=, sss+16
+ i32.store $discard=, sss+12($pop26), $pop6
+ i32.const $push25=, 0
+ i32.const $push7=, sss+20
+ i32.store $discard=, sss+16($pop25):p2align=4, $pop7
+ i32.const $push24=, 0
+ i32.const $push8=, sss+24
+ i32.store $discard=, sss+20($pop24), $pop8
+ i32.const $push23=, 0
+ i32.const $push9=, sss+28
+ i32.store $discard=, sss+24($pop23):p2align=3, $pop9
+ i32.const $push22=, 0
+ i32.const $push10=, sss+32
+ i32.store $discard=, sss+28($pop22), $pop10
+ i32.const $push21=, 0
+ i32.const $push11=, sss+36
+ i32.store $discard=, sss+32($pop21):p2align=4, $pop11
+ i32.const $push20=, 0
+ i32.const $push19=, 0
+ i32.store $push12=, sss+36($pop20), $pop19
+ i32.load $2=, count($pop12)
+ i32.const $push18=, 0
i32.const $push0=, ss
- i32.store $2=, p($2), $pop0
+ i32.store $1=, p($pop18), $pop0
.LBB0_1: # %for.inc.i.preheader.i
# =>This Loop Header: Depth=1
# Child Loop BB0_2 Depth 2
loop # label0:
- copy_local $0=, $3
- copy_local $3=, $2
+ copy_local $0=, $2
+ copy_local $2=, $1
.LBB0_2: # %for.inc.i.i
# Parent Loop BB0_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label2:
- i32.load $3=, 0($3)
- br_if $3, 0 # 0: up to label2
+ i32.load $2=, 0($2)
+ br_if $2, 0 # 0: up to label2
# BB#3: # %if.then.i
# in Loop: Header=BB0_1 Depth=1
end_loop # label3:
- i32.load $2=, 0($2)
- i32.const $push11=, 1
- i32.add $3=, $0, $pop11
- br_if $2, 0 # 0: up to label0
+ i32.load $1=, 0($1)
+ i32.const $push30=, 1
+ i32.add $2=, $0, $pop30
+ br_if $1, 0 # 0: up to label0
# BB#4: # %sub.exit
end_loop # label1:
block
- i32.const $push12=, 2
- i32.add $push13=, $0, $pop12
- i32.store $push14=, count($1), $pop13
- i32.const $push15=, 12
- i32.ne $push16=, $pop14, $pop15
- br_if $pop16, 0 # 0: down to label4
+ i32.const $push31=, 0
+ i32.const $push13=, 2
+ i32.add $push14=, $0, $pop13
+ i32.store $push15=, count($pop31), $pop14
+ i32.const $push16=, 12
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label4
# BB#5: # %if.end
- call exit@FUNCTION, $1
+ i32.const $push32=, 0
+ call exit@FUNCTION, $pop32
unreachable
.LBB0_6: # %if.then
end_block # label4:
@@ -78,42 +92,44 @@ main: # @main
.type sub,@function
sub: # @sub
.param i32, i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $3=, count($2)
+ i32.const $push5=, 0
+ i32.load $2=, count($pop5)
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label5
+ i32.const $push7=, 0
+ i32.eq $push8=, $0, $pop7
+ br_if $pop8, 0 # 0: down to label5
.LBB1_1: # %for.inc.i.preheader
# =>This Loop Header: Depth=1
# Child Loop BB1_2 Depth 2
loop # label6:
- copy_local $4=, $0
+ copy_local $3=, $0
.LBB1_2: # %for.inc.i
# Parent Loop BB1_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label8:
- i32.load $4=, 0($4)
- br_if $4, 0 # 0: up to label8
+ i32.load $3=, 0($3)
+ br_if $3, 0 # 0: up to label8
# BB#3: # %if.then
# in Loop: Header=BB1_1 Depth=1
end_loop # label9:
- i32.store $4=, 0($1), $2
+ i32.const $push0=, 0
+ i32.store $3=, 0($1), $pop0
i32.load $0=, 0($0)
- i32.const $push0=, 1
- i32.add $3=, $3, $pop0
+ i32.const $push1=, 1
+ i32.add $2=, $2, $pop1
br_if $0, 0 # 0: up to label6
# BB#4: # %for.cond.look.exit.thread_crit_edge
end_loop # label7:
- i32.store $discard=, count($4), $3
+ i32.store $discard=, count($3), $2
.LBB1_5: # %for.end
end_block # label5:
- i32.store $4=, 0($1), $2
- i32.const $push1=, 1
- i32.add $push2=, $3, $pop1
- i32.store $discard=, count($4), $pop2
+ i32.const $push6=, 0
+ i32.store $push2=, 0($1), $pop6
+ i32.const $push3=, 1
+ i32.add $push4=, $2, $pop3
+ i32.store $discard=, count($pop2), $pop4
return
.endfunc
.Lfunc_end1:
@@ -128,9 +144,9 @@ look: # @look
.result i32
# BB#0: # %entry
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label10
+ i32.const $push5=, 0
+ i32.eq $push6=, $0, $pop5
+ br_if $pop6, 0 # 0: down to label10
.LBB2_1: # %for.inc
# =>This Inner Loop Header: Depth=1
loop # label11:
@@ -141,11 +157,12 @@ look: # @look
end_block # label10:
i32.const $push0=, 0
i32.store $0=, 0($1), $pop0
- i32.const $1=, 1
i32.load $push1=, count($0)
- i32.add $push2=, $pop1, $1
- i32.store $discard=, count($0), $pop2
- return $1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, count($0), $pop3
+ i32.const $push4=, 1
+ return $pop4
.endfunc
.Lfunc_end2:
.size look, .Lfunc_end2-look
@@ -154,7 +171,7 @@ look: # @look
.type count,@object
.section .bss.count,"aw",@nobits
.globl count
- .align 2
+ .p2align 2
count:
.int32 0 # 0x0
.size count, 4
@@ -163,7 +180,7 @@ count:
.type ss,@object
.section .bss.ss,"aw",@nobits
.globl ss
- .align 2
+ .p2align 2
ss:
.skip 4
.size ss, 4
@@ -172,7 +189,7 @@ ss:
.type p,@object
.section .bss.p,"aw",@nobits
.globl p
- .align 2
+ .p2align 2
p:
.int32 0
.size p, 4
@@ -181,7 +198,7 @@ p:
.type sss,@object
.section .bss.sss,"aw",@nobits
.globl sss
- .align 4
+ .p2align 4
sss:
.skip 40
.size sss, 40
diff --git a/test/torture-s/990130-1.c.s b/test/torture-s/990130-1.c.s
index f278f1ba7..1347901c5 100644
--- a/test/torture-s/990130-1.c.s
+++ b/test/torture-s/990130-1.c.s
@@ -16,11 +16,13 @@ main: # @main
i32.store $discard=, count($1), $3
#APP
#NO_APP
- i32.store $discard=, dummy($1), $0
+ i32.const $push0=, 0
+ i32.store $discard=, dummy($pop0), $0
block
br_if $2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $1
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -34,7 +36,7 @@ main: # @main
.type count,@object
.section .bss.count,"aw",@nobits
.globl count
- .align 2
+ .p2align 2
count:
.int32 0 # 0x0
.size count, 4
@@ -43,7 +45,7 @@ count:
.type dummy,@object
.section .bss.dummy,"aw",@nobits
.globl dummy
- .align 2
+ .p2align 2
dummy:
.int32 0 # 0x0
.size dummy, 4
diff --git a/test/torture-s/990222-1.c.s b/test/torture-s/990222-1.c.s
index 047c0c1f6..e31beb1ec 100644
--- a/test/torture-s/990222-1.c.s
+++ b/test/torture-s/990222-1.c.s
@@ -6,60 +6,75 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, 1
- i32.load8_u $push0=, line+2($0)
- i32.add $4=, $pop0, $1
- i32.store8 $discard=, line+2($0), $4
- i32.const $2=, 24
- i32.shl $push1=, $4, $2
- i32.shr_s $3=, $pop1, $2
- i32.const $4=, line+1
+ i32.const $push30=, 0
+ i32.const $push29=, 0
+ i32.load8_u $push0=, line+2($pop29)
+ i32.const $push28=, 1
+ i32.add $push1=, $pop0, $pop28
+ tee_local $push27=, $0=, $pop1
+ i32.store8 $discard=, line+2($pop30), $pop27
+ i32.const $1=, line+1
block
- i32.const $push2=, 58
- i32.lt_s $push3=, $3, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push26=, 24
+ i32.shl $push2=, $0, $pop26
+ i32.const $push25=, 24
+ i32.shr_s $push23=, $pop2, $pop25
+ tee_local $push24=, $0=, $pop23
+ i32.const $push3=, 58
+ i32.lt_s $push4=, $pop24, $pop3
+ br_if $pop4, 0 # 0: down to label0
.LBB0_1: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.load8_u $3=, 0($4)
- i32.add $push4=, $4, $1
- i32.const $push5=, 48
- i32.store8 $discard=, 0($pop4), $pop5
- i32.add $3=, $3, $1
- i32.store8 $discard=, 0($4), $3
- i32.const $push10=, -1
- i32.add $4=, $4, $pop10
- i32.shl $push6=, $3, $2
- i32.shr_s $push7=, $pop6, $2
- i32.const $push8=, 57
- i32.gt_s $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: up to label1
+ i32.load8_u $0=, 0($1)
+ i32.const $push35=, 1
+ i32.add $push5=, $1, $pop35
+ i32.const $push6=, 48
+ i32.store8 $discard=, 0($pop5), $pop6
+ i32.const $push34=, 1
+ i32.add $push7=, $0, $pop34
+ tee_local $push33=, $0=, $pop7
+ i32.store8 $discard=, 0($1), $pop33
+ i32.const $push12=, -1
+ i32.add $1=, $1, $pop12
+ i32.const $push32=, 24
+ i32.shl $push8=, $0, $pop32
+ i32.const $push31=, 24
+ i32.shr_s $push9=, $pop8, $pop31
+ i32.const $push10=, 57
+ i32.gt_s $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: up to label1
# BB#2: # %while.end.loopexit
end_loop # label2:
- i32.load8_u $3=, line+2($0)
+ i32.const $push13=, 0
+ i32.load8_u $0=, line+2($pop13)
.LBB0_3: # %while.end
end_block # label0:
block
- i32.load8_u $push12=, line($0)
- i32.const $push13=, 50
- i32.ne $push14=, $pop12, $pop13
- br_if $pop14, 0 # 0: down to label3
+ i32.const $push36=, 0
+ i32.load8_u $push15=, line($pop36)
+ i32.const $push16=, 50
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label3
# BB#4: # %while.end
- i32.const $4=, 255
- i32.const $2=, 48
- i32.load8_u $push11=, line+1($0)
- i32.and $push15=, $pop11, $4
- i32.ne $push16=, $pop15, $2
- br_if $pop16, 0 # 0: down to label3
+ i32.const $push39=, 0
+ i32.load8_u $push14=, line+1($pop39)
+ i32.const $push38=, 255
+ i32.and $push18=, $pop14, $pop38
+ i32.const $push37=, 48
+ i32.ne $push19=, $pop18, $pop37
+ br_if $pop19, 0 # 0: down to label3
# BB#5: # %while.end
- i32.and $push17=, $3, $4
- i32.ne $push18=, $pop17, $2
- br_if $pop18, 0 # 0: down to label3
+ i32.const $push41=, 255
+ i32.and $push20=, $0, $pop41
+ i32.const $push40=, 48
+ i32.ne $push21=, $pop20, $pop40
+ br_if $pop21, 0 # 0: down to label3
# BB#6: # %if.end
- return $0
+ i32.const $push22=, 0
+ return $pop22
.LBB0_7: # %if.then
end_block # label3:
call abort@FUNCTION
diff --git a/test/torture-s/990324-1.c.s b/test/torture-s/990324-1.c.s
index 79d2e44dd..72b9193de 100644
--- a/test/torture-s/990324-1.c.s
+++ b/test/torture-s/990324-1.c.s
@@ -6,20 +6,20 @@
.type f,@function
f: # @f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
block
i32.const $push0=, 24
i32.shl $push1=, $0, $pop0
- i32.gt_s $push2=, $pop1, $1
+ i32.const $push3=, 0
+ i32.gt_s $push2=, $pop1, $pop3
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.then
call abort@FUNCTION
unreachable
.LBB0_2: # %if.else
end_block # label0:
- call exit@FUNCTION, $1
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/990404-1.c.s b/test/torture-s/990404-1.c.s
index d1a950c33..b63a40460 100644
--- a/test/torture-s/990404-1.c.s
+++ b/test/torture-s/990404-1.c.s
@@ -6,84 +6,127 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $13=, -1
- # implicit-def: %vreg66
+ i32.const $0=, -1
+ # implicit-def: %vreg64
.LBB0_1: # %for.cond
# =>This Inner Loop Header: Depth=1
block
loop # label1:
- i32.const $0=, 0
- i32.load $1=, x($0)
- i32.load $3=, x+4($0)
- i32.gt_s $2=, $1, $0
- i32.select $1=, $2, $1, $0
- i32.load $5=, x+8($0)
- i32.gt_s $4=, $3, $1
- i32.select $1=, $4, $3, $1
- i32.load $3=, x+12($0)
- i32.gt_s $6=, $5, $1
- i32.select $1=, $6, $5, $1
- i32.load $5=, x+16($0)
- i32.gt_s $7=, $3, $1
- i32.select $1=, $7, $3, $1
- i32.load $3=, x+20($0)
- i32.gt_s $8=, $5, $1
- i32.select $1=, $8, $5, $1
- i32.load $5=, x+24($0)
- i32.gt_s $9=, $3, $1
- i32.select $1=, $9, $3, $1
- i32.load $3=, x+28($0)
- i32.gt_s $10=, $5, $1
- i32.select $1=, $10, $5, $1
- i32.load $5=, x+32($0)
- i32.gt_s $11=, $3, $1
- i32.load $12=, x+36($0)
- i32.select $1=, $11, $3, $1
- i32.gt_s $3=, $5, $1
- i32.select $1=, $3, $5, $1
- i32.gt_s $5=, $12, $1
- i32.select $push16=, $5, $12, $1
- i32.const $push22=, 0
- i32.eq $push23=, $pop16, $pop22
- br_if $pop23, 2 # 2: down to label0
+ i32.const $push82=, 0
+ i32.load $push36=, x+36($pop82)
+ tee_local $push81=, $13=, $pop36
+ i32.const $push80=, 0
+ i32.load $push32=, x+32($pop80):p2align=4
+ tee_local $push79=, $12=, $pop32
+ i32.const $push78=, 0
+ i32.load $push28=, x+28($pop78)
+ tee_local $push77=, $11=, $pop28
+ i32.const $push76=, 0
+ i32.load $push24=, x+24($pop76):p2align=3
+ tee_local $push75=, $10=, $pop24
+ i32.const $push74=, 0
+ i32.load $push20=, x+20($pop74)
+ tee_local $push73=, $9=, $pop20
+ i32.const $push72=, 0
+ i32.load $push16=, x+16($pop72):p2align=4
+ tee_local $push71=, $8=, $pop16
+ i32.const $push70=, 0
+ i32.load $push12=, x+12($pop70)
+ tee_local $push69=, $7=, $pop12
+ i32.const $push68=, 0
+ i32.load $push8=, x+8($pop68):p2align=3
+ tee_local $push67=, $6=, $pop8
+ i32.const $push66=, 0
+ i32.load $push4=, x+4($pop66)
+ tee_local $push65=, $5=, $pop4
+ i32.const $push64=, 0
+ i32.load $push0=, x($pop64):p2align=4
+ tee_local $push63=, $4=, $pop0
+ i32.const $push62=, 0
+ i32.gt_s $push1=, $pop63, $pop62
+ tee_local $push61=, $3=, $pop1
+ i32.const $push60=, 0
+ i32.select $push3=, $pop61, $4, $pop60
+ tee_local $push59=, $4=, $pop3
+ i32.gt_s $push5=, $pop65, $pop59
+ tee_local $push58=, $2=, $pop5
+ i32.select $push7=, $pop58, $5, $4
+ tee_local $push57=, $5=, $pop7
+ i32.gt_s $push9=, $pop67, $pop57
+ tee_local $push56=, $4=, $pop9
+ i32.select $push11=, $pop56, $6, $5
+ tee_local $push55=, $6=, $pop11
+ i32.gt_s $push13=, $pop69, $pop55
+ tee_local $push54=, $5=, $pop13
+ i32.select $push15=, $pop54, $7, $6
+ tee_local $push53=, $7=, $pop15
+ i32.gt_s $push17=, $pop71, $pop53
+ tee_local $push52=, $6=, $pop17
+ i32.select $push19=, $pop52, $8, $7
+ tee_local $push51=, $8=, $pop19
+ i32.gt_s $push21=, $pop73, $pop51
+ tee_local $push50=, $7=, $pop21
+ i32.select $push23=, $pop50, $9, $8
+ tee_local $push49=, $9=, $pop23
+ i32.gt_s $push25=, $pop75, $pop49
+ tee_local $push48=, $8=, $pop25
+ i32.select $push27=, $pop48, $10, $9
+ tee_local $push47=, $10=, $pop27
+ i32.gt_s $push29=, $pop77, $pop47
+ tee_local $push46=, $9=, $pop29
+ i32.select $push31=, $pop46, $11, $10
+ tee_local $push45=, $11=, $pop31
+ i32.gt_s $push33=, $pop79, $pop45
+ tee_local $push44=, $10=, $pop33
+ i32.select $push35=, $pop44, $12, $11
+ tee_local $push43=, $12=, $pop35
+ i32.gt_s $push37=, $pop81, $pop43
+ tee_local $push42=, $11=, $pop37
+ i32.select $push38=, $pop42, $13, $12
+ i32.const $push97=, 0
+ i32.eq $push98=, $pop38, $pop97
+ br_if $pop98, 2 # 2: down to label0
# BB#2: # %if.end7
# in Loop: Header=BB0_1 Depth=1
- i32.const $1=, 1
- i32.const $12=, 2
- i32.const $push15=, 9
- i32.const $push13=, 8
- i32.const $push11=, 7
- i32.const $push9=, 6
- i32.const $push7=, 5
- i32.const $push5=, 4
- i32.const $push3=, 3
- i32.select $push0=, $2, $0, $14
- i32.select $push1=, $4, $1, $pop0
- i32.select $push2=, $6, $12, $pop1
- i32.select $push4=, $7, $pop3, $pop2
- i32.select $push6=, $8, $pop5, $pop4
- i32.select $push8=, $9, $pop7, $pop6
- i32.select $push10=, $10, $pop9, $pop8
- i32.select $push12=, $11, $pop11, $pop10
- i32.select $push14=, $3, $pop13, $pop12
- i32.select $14=, $5, $pop15, $pop14
- i32.const $push18=, x
- i32.shl $push17=, $14, $12
- i32.add $push19=, $pop18, $pop17
- i32.store $discard=, 0($pop19), $0
- i32.add $13=, $13, $1
- i32.const $push20=, 10
- i32.lt_s $push21=, $13, $pop20
- br_if $pop21, 0 # 0: up to label1
+ i32.const $push96=, 9
+ i32.const $push95=, 8
+ i32.const $push94=, 7
+ i32.const $push93=, 6
+ i32.const $push92=, 5
+ i32.const $push91=, 4
+ i32.const $push90=, 3
+ i32.const $push89=, 2
+ i32.const $push88=, 1
+ i32.const $push87=, 0
+ i32.select $push2=, $3, $pop87, $1
+ i32.select $push6=, $2, $pop88, $pop2
+ i32.select $push10=, $4, $pop89, $pop6
+ i32.select $push14=, $5, $pop90, $pop10
+ i32.select $push18=, $6, $pop91, $pop14
+ i32.select $push22=, $7, $pop92, $pop18
+ i32.select $push26=, $8, $pop93, $pop22
+ i32.select $push30=, $9, $pop94, $pop26
+ i32.select $push34=, $10, $pop95, $pop30
+ i32.select $1=, $11, $pop96, $pop34
+ i32.const $push86=, 2
+ i32.shl $push39=, $1, $pop86
+ i32.const $push85=, 0
+ i32.store $discard=, x($pop39), $pop85
+ i32.const $push84=, 1
+ i32.add $0=, $0, $pop84
+ i32.const $push83=, 10
+ i32.lt_s $push40=, $0, $pop83
+ br_if $pop40, 0 # 0: up to label1
# BB#3: # %if.then11
end_loop # label2:
call abort@FUNCTION
unreachable
.LBB0_4: # %for.end15
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push41=, 0
+ call exit@FUNCTION, $pop41
unreachable
.endfunc
.Lfunc_end0:
@@ -93,7 +136,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 4
+ .p2align 4
x:
.int32 0 # 0x0
.int32 1 # 0x1
diff --git a/test/torture-s/990513-1.c.s b/test/torture-s/990513-1.c.s
index 37133c448..e6f1df411 100644
--- a/test/torture-s/990513-1.c.s
+++ b/test/torture-s/990513-1.c.s
@@ -6,27 +6,29 @@
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $5=, 1024
+ i32.const $2=, 1024
.LBB0_1: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.add $2=, $0, $5
- i32.const $push0=, -4
- i32.add $push1=, $2, $pop0
- i32.store $4=, 0($pop1), $1
- i32.const $push2=, -8
- i32.add $push3=, $2, $pop2
- i32.store $discard=, 0($pop3), $4
- i32.const $push4=, -12
- i32.add $push5=, $2, $pop4
- i32.store $3=, 0($pop5), $4
- i32.const $4=, -16
- i32.add $push6=, $2, $4
- i32.store $discard=, 0($pop6), $3
- i32.add $5=, $5, $4
- br_if $5, 0 # 0: up to label0
+ i32.add $push0=, $0, $2
+ tee_local $push13=, $3=, $pop0
+ i32.const $push12=, -16
+ i32.add $push7=, $pop13, $pop12
+ i32.const $push11=, -12
+ i32.add $push5=, $3, $pop11
+ i32.const $push10=, -8
+ i32.add $push3=, $3, $pop10
+ i32.const $push9=, -4
+ i32.add $push1=, $3, $pop9
+ i32.store $push2=, 0($pop1), $1
+ i32.store $push4=, 0($pop3), $pop2
+ i32.store $push6=, 0($pop5), $pop4
+ i32.store $discard=, 0($pop7), $pop6
+ i32.const $push8=, -16
+ i32.add $2=, $2, $pop8
+ br_if $2, 0 # 0: up to label0
# BB#2: # %while.end
end_loop # label1:
return
@@ -40,52 +42,47 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, __stack_pointer
- i32.load $5=, 0($5)
- i32.const $6=, 1024
- i32.sub $10=, $5, $6
- i32.const $6=, __stack_pointer
- i32.store $10=, 0($6), $10
- i32.const $4=, 1024
- i32.const $0=, 0
- i32.const $8=, 0
- i32.add $8=, $10, $8
- call memset@FUNCTION, $8, $0, $4
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 1024
+ i32.sub $5=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.const $0=, 1024
+ i32.const $push0=, 0
+ i32.const $push9=, 1024
+ i32.call $discard=, memset@FUNCTION, $5, $pop0, $pop9
.LBB1_1: # %while.body.i
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.const $9=, 0
- i32.add $9=, $10, $9
- i32.add $1=, $9, $4
- i32.const $push0=, -4
- i32.add $push1=, $1, $pop0
- i32.const $push2=, 6
- i32.store $3=, 0($pop1), $pop2
- i32.const $push3=, -8
- i32.add $push4=, $1, $pop3
- i32.store $discard=, 0($pop4), $3
- i32.const $push5=, -12
- i32.add $push6=, $1, $pop5
- i32.store $2=, 0($pop6), $3
- i32.const $3=, -16
- i32.add $push7=, $1, $3
- i32.store $1=, 0($pop7), $2
- i32.add $4=, $4, $3
- br_if $4, 0 # 0: up to label2
+ i32.add $push1=, $5, $0
+ tee_local $push14=, $1=, $pop1
+ i32.const $push13=, -16
+ i32.add $push4=, $pop14, $pop13
+ i32.const $push12=, -8
+ i32.add $push2=, $1, $pop12
+ i64.const $push11=, 25769803782
+ i64.store $push3=, 0($pop2):p2align=2, $pop11
+ i64.store $discard=, 0($pop4):p2align=2, $pop3
+ i32.const $push10=, -16
+ i32.add $0=, $0, $pop10
+ br_if $0, 0 # 0: up to label2
# BB#2: # %foo.exit
end_loop # label3:
block
- i32.load $push8=, 0($10)
- i32.ne $push9=, $pop8, $1
- br_if $pop9, 0 # 0: down to label4
+ i32.load $push5=, 0($5):p2align=4
+ i32.const $push6=, 6
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label4
# BB#3: # %if.end
- i32.const $7=, 1024
- i32.add $10=, $10, $7
- i32.const $7=, __stack_pointer
- i32.store $10=, 0($7), $10
- return $0
+ i32.const $push8=, 0
+ i32.const $4=, 1024
+ i32.add $5=, $5, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return $pop8
.LBB1_4: # %if.then
end_block # label4:
call abort@FUNCTION
diff --git a/test/torture-s/990524-1.c.s b/test/torture-s/990524-1.c.s
index 40faa6288..641c4b61e 100644
--- a/test/torture-s/990524-1.c.s
+++ b/test/torture-s/990524-1.c.s
@@ -6,40 +6,43 @@
.type loop,@function
loop: # @loop
.param i32, i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
.LBB0_1: # %for.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
i32.load8_u $push0=, 0($1)
- i32.store8 $4=, 0($0), $pop0
- i32.const $5=, 24
- i32.shl $push1=, $4, $5
- i32.shr_s $3=, $pop1, $5
- i32.const $5=, 1
- i32.add $2=, $1, $5
+ i32.store8 $push1=, 0($0), $pop0
+ tee_local $push16=, $4=, $pop1
+ i32.const $push15=, 24
+ i32.shl $push2=, $pop16, $pop15
+ i32.const $push14=, 24
+ i32.shr_s $3=, $pop2, $pop14
+ i32.const $push13=, 1
+ i32.add $2=, $1, $pop13
block
- i32.const $push2=, 34
- i32.eq $push3=, $4, $pop2
+ i32.const $push12=, 34
+ i32.eq $push3=, $4, $pop12
br_if $pop3, 0 # 0: down to label2
# BB#2: # %for.cond
# in Loop: Header=BB0_1 Depth=1
- i32.const $push4=, 92
- i32.eq $push5=, $3, $pop4
- br_if $pop5, 0 # 0: down to label2
+ i32.const $push17=, 92
+ i32.eq $push4=, $3, $pop17
+ br_if $pop4, 0 # 0: down to label2
# BB#3: # %for.cond
# in Loop: Header=BB0_1 Depth=1
- i32.add $0=, $0, $5
+ i32.const $push18=, 1
+ i32.add $0=, $0, $pop18
copy_local $1=, $2
br_if $3, 1 # 1: up to label0
# BB#4: # %loopDone2
block
- i32.const $push10=, a
- i32.sub $push11=, $pop10, $0
- i32.const $push12=, b
- i32.sub $push13=, $pop12, $2
- i32.ne $push14=, $pop11, $pop13
- br_if $pop14, 0 # 0: down to label3
+ i32.const $push7=, a
+ i32.sub $push8=, $pop7, $0
+ i32.const $push9=, b
+ i32.sub $push10=, $pop9, $2
+ i32.ne $push11=, $pop8, $pop10
+ br_if $pop11, 0 # 0: down to label3
# BB#5: # %if.end
return
.LBB0_6: # %if.then
@@ -49,14 +52,15 @@ loop: # @loop
.LBB0_7: # %sw.bb2
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
- i32.const $push6=, 92
- i32.store8 $discard=, 0($0), $pop6
- i32.const $push8=, 2
- i32.add $4=, $0, $pop8
- i32.add $push9=, $0, $5
- i32.load8_u $push7=, 0($1)
- i32.store8 $discard=, 0($pop9), $pop7
- copy_local $0=, $4
+ i32.const $push21=, 92
+ i32.store8 $discard=, 0($0), $pop21
+ i32.const $push20=, 2
+ i32.add $3=, $0, $pop20
+ i32.const $push19=, 1
+ i32.add $push6=, $0, $pop19
+ i32.load8_u $push5=, 0($1)
+ i32.store8 $discard=, 0($pop6), $pop5
+ copy_local $0=, $3
copy_local $1=, $2
br 0 # 0: up to label0
.LBB0_8:
@@ -71,62 +75,13 @@ loop: # @loop
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $0=, b
- i32.const $4=, a
-.LBB1_1: # %for.cond.i
- # =>This Inner Loop Header: Depth=1
- loop # label4:
- i32.load8_u $push0=, 0($0)
- i32.store8 $2=, 0($4), $pop0
- i32.const $3=, 24
- i32.shl $push1=, $2, $3
- i32.shr_s $1=, $pop1, $3
- i32.const $3=, 1
- i32.add $0=, $0, $3
- block
- i32.const $push2=, 34
- i32.eq $push3=, $2, $pop2
- br_if $pop3, 0 # 0: down to label6
-# BB#2: # %for.cond.i
- # in Loop: Header=BB1_1 Depth=1
- i32.const $push4=, 92
- i32.eq $push5=, $1, $pop4
- br_if $pop5, 0 # 0: down to label6
-# BB#3: # %for.cond.i
- # in Loop: Header=BB1_1 Depth=1
- i32.add $4=, $4, $3
- br_if $1, 1 # 1: up to label4
-# BB#4: # %loopDone2.i
- block
- i32.const $push9=, a
- i32.sub $push10=, $pop9, $4
- i32.const $push11=, b
- i32.sub $push12=, $pop11, $0
- i32.ne $push13=, $pop10, $pop12
- br_if $pop13, 0 # 0: down to label7
-# BB#5: # %loop.exit
- i32.const $push14=, 0
- call exit@FUNCTION, $pop14
- unreachable
-.LBB1_6: # %if.then.i
- end_block # label7:
- call abort@FUNCTION
+ i32.const $push1=, a
+ i32.const $push0=, b
+ call loop@FUNCTION, $pop1, $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
-.LBB1_7: # %sw.bb2.i
- # in Loop: Header=BB1_1 Depth=1
- end_block # label6:
- i32.const $push6=, 92
- i32.store8 $discard=, 0($4), $pop6
- i32.const $push7=, 2
- i32.add $1=, $4, $pop7
- i32.add $push8=, $4, $3
- i32.store8 $discard=, 0($pop8), $2
- copy_local $4=, $1
- br 0 # 0: up to label4
-.LBB1_8:
- end_loop # label5:
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
diff --git a/test/torture-s/990525-1.c.s b/test/torture-s/990525-1.c.s
new file mode 100644
index 000000000..c0c91e375
--- /dev/null
+++ b/test/torture-s/990525-1.c.s
@@ -0,0 +1,40 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/990525-1.c"
+ .section .text.die,"ax",@progbits
+ .hidden die
+ .globl die
+ .type die,@function
+die: # @die
+ .param i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($0)
+ i32.const $push1=, 1
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.end
+ return
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size die, .Lfunc_end0-die
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %die.exit
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/990525-2.c.s b/test/torture-s/990525-2.c.s
index b3074000a..16d153e55 100644
--- a/test/torture-s/990525-2.c.s
+++ b/test/torture-s/990525-2.c.s
@@ -20,14 +20,10 @@ func1: # @func1
func2: # @func2
.param i32
# BB#0: # %entry
- i32.const $push0=, 10
- i32.store $discard=, 0($0), $pop0
- i32.const $push1=, 20
- i32.store $discard=, 4($0), $pop1
- i32.const $push2=, 30
- i32.store $discard=, 8($0), $pop2
- i32.const $push3=, 40
- i32.store $discard=, 12($0), $pop3
+ i64.const $push0=, 85899345930
+ i64.store $discard=, 0($0):p2align=2, $pop0
+ i64.const $push1=, 171798691870
+ i64.store $discard=, 8($0):p2align=2, $pop1
return
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/990527-1.c.s b/test/torture-s/990527-1.c.s
index 0ee3256ca..1e4ab0e95 100644
--- a/test/torture-s/990527-1.c.s
+++ b/test/torture-s/990527-1.c.s
@@ -6,12 +6,12 @@
.type g,@function
g: # @g
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, sum($1)
- i32.add $push1=, $pop0, $0
- i32.store $discard=, sum($1), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.load $push1=, sum($pop3)
+ i32.add $push2=, $pop1, $0
+ i32.store $discard=, sum($pop0), $pop2
return
.endfunc
.Lfunc_end0:
@@ -23,14 +23,14 @@ g: # @g
.type f,@function
f: # @f
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, sum($1)
- i32.add $push1=, $0, $pop0
- i32.const $push2=, 81
- i32.add $push3=, $pop1, $pop2
- i32.store $discard=, sum($1), $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, sum($pop5)
+ i32.add $push2=, $0, $pop1
+ i32.const $push3=, 81
+ i32.add $push4=, $pop2, $pop3
+ i32.store $discard=, sum($pop0), $pop4
return
.endfunc
.Lfunc_end1:
@@ -42,17 +42,20 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, sum($0)
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load $push0=, sum($pop4)
+ tee_local $push3=, $0=, $pop0
+ i32.const $push1=, 81
+ i32.add $push2=, $pop3, $pop1
+ i32.store $discard=, sum($pop5), $pop2
block
- i32.const $push0=, 81
- i32.add $push1=, $1, $pop0
- i32.store $discard=, sum($0), $pop1
- br_if $1, 0 # 0: down to label0
+ br_if $0, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.LBB2_2: # %if.then
end_block # label0:
@@ -66,7 +69,7 @@ main: # @main
.type sum,@object
.section .bss.sum,"aw",@nobits
.globl sum
- .align 2
+ .p2align 2
sum:
.int32 0 # 0x0
.size sum, 4
diff --git a/test/torture-s/990531-1.c.s b/test/torture-s/990531-1.c.s
index ee4c1444e..4c55d5fab 100644
--- a/test/torture-s/990531-1.c.s
+++ b/test/torture-s/990531-1.c.s
@@ -12,20 +12,20 @@ bad: # @bad
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
i32.const $3=, 16
- i32.sub $4=, $2, $3
+ i32.sub $6=, $2, $3
i32.const $3=, __stack_pointer
- i32.store $4=, 0($3), $4
- i32.store $discard=, 8($4), $1
+ i32.store $6=, 0($3), $6
+ i32.store $discard=, 8($6):p2align=3, $1
i32.const $5=, 8
- i32.add $5=, $4, $5
+ i32.add $5=, $6, $5
i32.add $push0=, $5, $0
i32.const $push1=, 0
i32.store8 $discard=, 0($pop0), $pop1
- i32.load $push2=, 8($4)
+ i32.load $push2=, 8($6):p2align=3
i32.const $4=, 16
- i32.add $4=, $4, $4
+ i32.add $6=, $6, $4
i32.const $4=, __stack_pointer
- i32.store $4=, 0($4), $4
+ i32.store $6=, 0($4), $6
return $pop2
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/990604-1.c.s b/test/torture-s/990604-1.c.s
index 58351f5a3..66f3788dd 100644
--- a/test/torture-s/990604-1.c.s
+++ b/test/torture-s/990604-1.c.s
@@ -5,15 +5,15 @@
.globl f
.type f,@function
f: # @f
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, b($0)
+ i32.const $push2=, 0
+ i32.load $push0=, b($pop2)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %do.body.preheader
+ i32.const $push3=, 0
i32.const $push1=, 9
- i32.store $discard=, b($0), $pop1
+ i32.store $discard=, b($pop3), $pop1
.LBB0_2: # %if.end
end_block # label0:
return
@@ -27,19 +27,22 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $0=, b($1)
- i32.const $2=, 9
block
- i32.eq $push0=, $0, $2
- br_if $pop0, 0 # 0: down to label1
+ i32.const $push6=, 0
+ i32.load $push0=, b($pop6)
+ tee_local $push5=, $0=, $pop0
+ i32.const $push1=, 9
+ i32.eq $push2=, $pop5, $pop1
+ br_if $pop2, 0 # 0: down to label1
# BB#1: # %entry
block
br_if $0, 0 # 0: down to label2
# BB#2: # %f.exit.thread
- i32.store $discard=, b($1), $2
+ i32.const $push3=, 0
+ i32.const $push4=, 9
+ i32.store $discard=, b($pop3), $pop4
br 1 # 1: down to label1
.LBB1_3: # %if.then
end_block # label2:
@@ -47,7 +50,8 @@ main: # @main
unreachable
.LBB1_4: # %if.end
end_block # label1:
- return $1
+ i32.const $push7=, 0
+ return $pop7
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -56,7 +60,7 @@ main: # @main
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/990628-1.c.s b/test/torture-s/990628-1.c.s
index 2efbe86a6..13013862e 100644
--- a/test/torture-s/990628-1.c.s
+++ b/test/torture-s/990628-1.c.s
@@ -18,21 +18,26 @@ num_records: # @num_records
.globl fetch
.type fetch,@function
fetch: # @fetch
- .local i32, i32
+ .local i32
# BB#0: # %entry
i32.const $push0=, data_tmp
i32.const $push2=, 85
i32.const $push1=, 404
- call memset@FUNCTION, $pop0, $pop2, $pop1
- i32.const $0=, 0
- i32.load $1=, fetch.fetch_count($0)
- i32.const $push3=, 1
- i32.add $push4=, $1, $pop3
- i32.store $discard=, fetch.fetch_count($0), $pop4
- i32.gt_s $push5=, $1, $0
- i32.const $push6=, 100
- i32.select $push7=, $pop5, $pop6, $0
- i32.store $discard=, sqlca($0), $pop7
+ i32.call $discard=, memset@FUNCTION, $pop0, $pop2, $pop1
+ i32.const $push3=, 0
+ i32.const $push14=, 0
+ i32.load $push4=, fetch.fetch_count($pop14)
+ tee_local $push13=, $0=, $pop4
+ i32.const $push5=, 1
+ i32.add $push6=, $pop13, $pop5
+ i32.store $discard=, fetch.fetch_count($pop3), $pop6
+ i32.const $push12=, 0
+ i32.const $push11=, 0
+ i32.gt_s $push7=, $0, $pop11
+ i32.const $push8=, 100
+ i32.const $push10=, 0
+ i32.select $push9=, $pop7, $pop8, $pop10
+ i32.store $discard=, sqlca($pop12), $pop9
return
.endfunc
.Lfunc_end1:
@@ -43,44 +48,63 @@ fetch: # @fetch
.globl load_data
.type load_data,@function
load_data: # @load_data
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $1=, 404
- i32.call $7=, malloc@FUNCTION, $1
- i32.const $2=, 0
- i32.store $8=, data_ptr($2), $7
- i32.const $push1=, 170
- call memset@FUNCTION, $8, $pop1, $1
- i32.const $3=, data_tmp
- i32.const $4=, 85
- call memset@FUNCTION, $3, $4, $1
- i32.load $7=, fetch.fetch_count($2)
- i32.const $5=, 1
- i32.add $push2=, $7, $5
- i32.store $discard=, fetch.fetch_count($2), $pop2
- i32.gt_s $0=, $7, $2
- i32.const $6=, 100
+ i32.const $push3=, 0
+ i32.const $push26=, 404
+ i32.call $push0=, malloc@FUNCTION, $pop26
+ i32.store $push4=, data_ptr($pop3), $pop0
+ i32.const $push5=, 170
+ i32.const $push25=, 404
+ i32.call $2=, memset@FUNCTION, $pop4, $pop5, $pop25
+ i32.const $push6=, data_tmp
+ i32.const $push24=, 85
+ i32.const $push23=, 404
+ i32.call $1=, memset@FUNCTION, $pop6, $pop24, $pop23
+ i32.const $push22=, 0
+ i32.const $push21=, 0
+ i32.load $push14=, fetch.fetch_count($pop21)
+ tee_local $push20=, $3=, $pop14
+ i32.const $push19=, 1
+ i32.add $push7=, $pop20, $pop19
+ i32.store $discard=, fetch.fetch_count($pop22), $pop7
+ i32.const $push18=, 0
+ i32.const $push17=, 0
+ i32.gt_s $push8=, $3, $pop17
+ tee_local $push16=, $0=, $pop8
+ i32.const $push9=, 100
+ i32.const $push15=, 0
+ i32.select $push10=, $pop16, $pop9, $pop15
+ i32.store $discard=, sqlca($pop18), $pop10
block
- i32.select $push3=, $0, $6, $2
- i32.store $discard=, sqlca($2), $pop3
br_if $0, 0 # 0: down to label0
.LBB2_1: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- copy_local $0=, $7
- i32.add $7=, $8, $1
- call memcpy@FUNCTION, $8, $3, $1
- call memset@FUNCTION, $3, $4, $1
- copy_local $8=, $7
- i32.add $7=, $0, $5
- i32.lt_s $push5=, $7, $5
- br_if $pop5, 0 # 0: up to label1
+ i32.const $push33=, 404
+ i32.add $0=, $2, $pop33
+ i32.const $push32=, 404
+ i32.call $discard=, memcpy@FUNCTION, $2, $1, $pop32
+ i32.const $push31=, 85
+ i32.const $push30=, 404
+ i32.call $discard=, memset@FUNCTION, $1, $pop31, $pop30
+ copy_local $2=, $0
+ copy_local $push1=, $3
+ tee_local $push29=, $0=, $pop1
+ i32.const $push28=, 1
+ i32.add $3=, $pop29, $pop28
+ i32.const $push27=, 1
+ i32.lt_s $push11=, $3, $pop27
+ br_if $pop11, 0 # 0: up to label1
# BB#2: # %while.cond.while.end_crit_edge
end_loop # label2:
- i32.const $push4=, 2
- i32.add $push0=, $0, $pop4
- i32.store $discard=, fetch.fetch_count($2), $pop0
- i32.store $discard=, sqlca($2), $6
+ i32.const $push12=, 0
+ i32.const $push35=, 2
+ i32.add $push2=, $0, $pop35
+ i32.store $discard=, fetch.fetch_count($pop12), $pop2
+ i32.const $push34=, 0
+ i32.const $push13=, 100
+ i32.store $discard=, sqlca($pop34), $pop13
.LBB2_3: # %while.end
end_block # label0:
return
@@ -94,53 +118,72 @@ load_data: # @load_data
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $2=, 404
- i32.call $8=, malloc@FUNCTION, $2
- i32.const $3=, 0
- i32.store $0=, data_ptr($3), $8
- i32.const $push0=, 170
- call memset@FUNCTION, $0, $pop0, $2
- i32.const $4=, data_tmp
- i32.const $5=, 85
- call memset@FUNCTION, $4, $5, $2
- i32.load $8=, fetch.fetch_count($3)
- i32.const $6=, 1
- i32.add $push1=, $8, $6
- i32.store $discard=, fetch.fetch_count($3), $pop1
- i32.gt_s $9=, $8, $3
- i32.const $7=, 100
+ i32.const $push1=, 0
+ i32.const $push29=, 404
+ i32.call $push0=, malloc@FUNCTION, $pop29
+ i32.store $push2=, data_ptr($pop1), $pop0
+ i32.const $push3=, 170
+ i32.const $push28=, 404
+ i32.call $0=, memset@FUNCTION, $pop2, $pop3, $pop28
+ i32.const $push4=, data_tmp
+ i32.const $push27=, 85
+ i32.const $push26=, 404
+ i32.call $2=, memset@FUNCTION, $pop4, $pop27, $pop26
+ i32.const $push25=, 0
+ i32.const $push24=, 0
+ i32.load $push17=, fetch.fetch_count($pop24)
+ tee_local $push23=, $4=, $pop17
+ i32.const $push22=, 1
+ i32.add $push5=, $pop23, $pop22
+ i32.store $discard=, fetch.fetch_count($pop25), $pop5
+ i32.const $push21=, 0
+ i32.const $push20=, 0
+ i32.gt_s $push6=, $4, $pop20
+ tee_local $push19=, $3=, $pop6
+ i32.const $push7=, 100
+ i32.const $push18=, 0
+ i32.select $push8=, $pop19, $pop7, $pop18
+ i32.store $discard=, sqlca($pop21), $pop8
block
- i32.select $push2=, $9, $7, $3
- i32.store $discard=, sqlca($3), $pop2
- br_if $9, 0 # 0: down to label3
+ br_if $3, 0 # 0: down to label3
# BB#1: # %while.body.lr.ph.i
- copy_local $9=, $0
+ copy_local $3=, $0
.LBB3_2: # %while.body.i
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.add $1=, $9, $2
- call memcpy@FUNCTION, $9, $4, $2
- call memset@FUNCTION, $4, $5, $2
- i32.add $8=, $8, $6
- copy_local $9=, $1
- i32.lt_s $push3=, $8, $6
- br_if $pop3, 0 # 0: up to label4
+ i32.const $push35=, 404
+ i32.add $1=, $3, $pop35
+ i32.const $push34=, 404
+ i32.call $discard=, memcpy@FUNCTION, $3, $2, $pop34
+ i32.const $push33=, 85
+ i32.const $push32=, 404
+ i32.call $discard=, memset@FUNCTION, $2, $pop33, $pop32
+ i32.const $push31=, 1
+ i32.add $4=, $4, $pop31
+ copy_local $3=, $1
+ i32.const $push30=, 1
+ i32.lt_s $push9=, $4, $pop30
+ br_if $pop9, 0 # 0: up to label4
# BB#3: # %while.cond.while.end_crit_edge.i
end_loop # label5:
- i32.const $push4=, 2
- i32.store $discard=, fetch.fetch_count($3), $pop4
- i32.store $discard=, sqlca($3), $7
+ i32.const $push10=, 0
+ i32.const $push11=, 2
+ i32.store $discard=, fetch.fetch_count($pop10), $pop11
+ i32.const $push36=, 0
+ i32.const $push12=, 100
+ i32.store $discard=, sqlca($pop36), $pop12
.LBB3_4: # %load_data.exit
end_block # label3:
block
- i32.load $push5=, 0($0)
- i32.const $push6=, 1431655765
- i32.ne $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: down to label6
+ i32.load $push13=, 0($0)
+ i32.const $push14=, 1431655765
+ i32.ne $push15=, $pop13, $pop14
+ br_if $pop15, 0 # 0: down to label6
# BB#5: # %if.end
- call exit@FUNCTION, $3
+ i32.const $push16=, 0
+ call exit@FUNCTION, $pop16
unreachable
.LBB3_6: # %if.then
end_block # label6:
@@ -156,7 +199,7 @@ main: # @main
.type data_tmp,@object
.section .bss.data_tmp,"aw",@nobits
.globl data_tmp
- .align 2
+ .p2align 2
data_tmp:
.skip 404
.size data_tmp, 404
@@ -165,7 +208,7 @@ data_tmp:
.type sqlca,@object
.section .bss.sqlca,"aw",@nobits
.globl sqlca
- .align 2
+ .p2align 2
sqlca:
.skip 4
.size sqlca, 4
@@ -174,7 +217,7 @@ sqlca:
.type data_ptr,@object
.section .bss.data_ptr,"aw",@nobits
.globl data_ptr
- .align 2
+ .p2align 2
data_ptr:
.int32 0
.size data_ptr, 4
diff --git a/test/torture-s/990827-1.c.s b/test/torture-s/990827-1.c.s
index 419e9dba2..74a057bfa 100644
--- a/test/torture-s/990827-1.c.s
+++ b/test/torture-s/990827-1.c.s
@@ -7,15 +7,17 @@
test: # @test
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 1
- i32.and $push0=, $1, $2
- i32.add $push2=, $pop0, $2
- i32.shr_u $push3=, $pop2, $2
- i32.shr_u $push1=, $0, $2
- i32.add $push4=, $pop3, $pop1
- return $pop4
+ i32.const $push0=, 1
+ i32.and $push1=, $1, $pop0
+ i32.const $push8=, 1
+ i32.add $push3=, $pop1, $pop8
+ i32.const $push7=, 1
+ i32.shr_u $push4=, $pop3, $pop7
+ i32.const $push6=, 1
+ i32.shr_u $push2=, $0, $pop6
+ i32.add $push5=, $pop4, $pop2
+ return $pop5
.endfunc
.Lfunc_end0:
.size test, .Lfunc_end0-test
diff --git a/test/torture-s/991016-1.c.s b/test/torture-s/991016-1.c.s
index b6ce06c98..8e8a744ce 100644
--- a/test/torture-s/991016-1.c.s
+++ b/test/torture-s/991016-1.c.s
@@ -7,39 +7,40 @@
doit: # @doit
.param i32, i32, i32
.result i32
- .local i32, i64, i32, i64
+ .local i64, i32, i64
# BB#0: # %entry
block
block
- i32.const $push11=, 0
- i32.eq $push12=, $0, $pop11
- br_if $pop12, 0 # 0: down to label1
+ i32.const $push19=, 0
+ i32.eq $push20=, $0, $pop19
+ br_if $pop20, 0 # 0: down to label1
# BB#1: # %entry
- i32.const $5=, 1
block
- i32.eq $push0=, $0, $5
- br_if $pop0, 0 # 0: down to label2
+ i32.const $push9=, 1
+ i32.eq $push3=, $0, $pop9
+ br_if $pop3, 0 # 0: down to label2
# BB#2: # %entry
block
- i32.const $push1=, 2
- i32.ne $push2=, $0, $pop1
- br_if $pop2, 0 # 0: down to label3
+ i32.const $push4=, 2
+ i32.ne $push5=, $0, $pop4
+ br_if $pop5, 0 # 0: down to label3
# BB#3: # %do.body11.preheader
- i64.load $6=, 0($2)
+ i64.load $3=, 0($2)
.LBB0_4: # %do.body11
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.const $push4=, -1
- i32.add $1=, $1, $pop4
- copy_local $4=, $6
- i64.const $push3=, 1
- i64.shl $6=, $4, $pop3
+ i32.const $push18=, -1
+ i32.add $1=, $1, $pop18
+ copy_local $push2=, $3
+ tee_local $push17=, $5=, $pop2
+ i64.const $push16=, 1
+ i64.shl $3=, $pop17, $pop16
br_if $1, 0 # 0: up to label4
# BB#5: # %do.end16
end_loop # label5:
- i64.store $discard=, 0($2), $6
- i64.const $push5=, 0
- i64.eq $1=, $4, $pop5
+ i64.store $discard=, 0($2), $3
+ i64.const $push6=, 0
+ i64.eq $1=, $5, $pop6
br 3 # 3: down to label0
.LBB0_6: # %sw.default
end_block # label3:
@@ -51,16 +52,18 @@ doit: # @doit
.LBB0_8: # %do.body2
# =>This Inner Loop Header: Depth=1
loop # label6:
- i32.const $push6=, -1
- i32.add $1=, $1, $pop6
- copy_local $3=, $0
- i32.shl $0=, $3, $5
+ i32.const $push15=, -1
+ i32.add $1=, $1, $pop15
+ copy_local $push1=, $0
+ tee_local $push14=, $4=, $pop1
+ i32.const $push13=, 1
+ i32.shl $0=, $pop14, $pop13
br_if $1, 0 # 0: up to label6
# BB#9: # %do.end7
end_loop # label7:
i32.store $discard=, 0($2), $0
i32.const $push7=, 0
- i32.eq $1=, $3, $pop7
+ i32.eq $1=, $4, $pop7
br 1 # 1: down to label0
.LBB0_10: # %do.body.preheader
end_block # label1:
@@ -68,17 +71,18 @@ doit: # @doit
.LBB0_11: # %do.body
# =>This Inner Loop Header: Depth=1
loop # label8:
- i32.const $push9=, -1
- i32.add $1=, $1, $pop9
- copy_local $3=, $0
- i32.const $push8=, 1
- i32.shl $0=, $3, $pop8
+ i32.const $push12=, -1
+ i32.add $1=, $1, $pop12
+ copy_local $push0=, $0
+ tee_local $push11=, $4=, $pop0
+ i32.const $push10=, 1
+ i32.shl $0=, $pop11, $pop10
br_if $1, 0 # 0: up to label8
# BB#12: # %do.end
end_loop # label9:
i32.store $discard=, 0($2), $0
- i32.const $push10=, 0
- i32.eq $1=, $3, $pop10
+ i32.const $push8=, 0
+ i32.eq $1=, $4, $pop8
.LBB0_13: # %cleanup
end_block # label0:
return $1
diff --git a/test/torture-s/991023-1.c.s b/test/torture-s/991023-1.c.s
index 5674b3142..01d335ba4 100644
--- a/test/torture-s/991023-1.c.s
+++ b/test/torture-s/991023-1.c.s
@@ -21,12 +21,12 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 4044
- i32.store $discard=, blah($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, blah($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end1:
@@ -36,7 +36,7 @@ main: # @main
.type blah,@object
.section .bss.blah,"aw",@nobits
.globl blah
- .align 2
+ .p2align 2
blah:
.int32 0 # 0x0
.size blah, 4
diff --git a/test/torture-s/991030-1.c.s b/test/torture-s/991030-1.c.s
index 7c9ccafe9..a2b90a95d 100644
--- a/test/torture-s/991030-1.c.s
+++ b/test/torture-s/991030-1.c.s
@@ -6,11 +6,10 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- f64.load $push0=, x($0)
+ i32.const $push3=, 0
+ f64.load $push0=, x($pop3)
f64.const $push1=, 0x1.fp1
f64.eq $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
@@ -19,7 +18,8 @@ main: # @main
unreachable
.LBB0_2: # %if.end
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.endfunc
.Lfunc_end0:
@@ -29,7 +29,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 3
+ .p2align 3
x:
.int64 4615908143078047744 # double 3.875
.size x, 8
diff --git a/test/torture-s/991118-1.c.s b/test/torture-s/991118-1.c.s
new file mode 100644
index 000000000..4a0676a4d
--- /dev/null
+++ b/test/torture-s/991118-1.c.s
@@ -0,0 +1,249 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/991118-1.c"
+ .section .text.sub,"ax",@progbits
+ .hidden sub
+ .globl sub
+ .type sub,@function
+sub: # @sub
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1)
+ i64.const $push1=, -8690468286197432320
+ i64.xor $push2=, $pop0, $pop1
+ i64.store $discard=, 0($0), $pop2
+ return
+ .endfunc
+.Lfunc_end0:
+ .size sub, .Lfunc_end0-sub
+
+ .section .text.sub2,"ax",@progbits
+ .hidden sub2
+ .globl sub2
+ .type sub2,@function
+sub2: # @sub2
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1)
+ i64.const $push1=, 2381903268435576
+ i64.xor $push2=, $pop0, $pop1
+ i64.store $discard=, 0($0), $pop2
+ return
+ .endfunc
+.Lfunc_end1:
+ .size sub2, .Lfunc_end1-sub2
+
+ .section .text.sub3,"ax",@progbits
+ .hidden sub3
+ .globl sub3
+ .type sub3,@function
+sub3: # @sub3
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1)
+ i64.const $push1=, -4345234143098716160
+ i64.xor $push2=, $pop0, $pop1
+ i64.store $discard=, 0($0), $pop2
+ return
+ .endfunc
+.Lfunc_end2:
+ .size sub3, .Lfunc_end2-sub3
+
+ .section .text.sub4,"ax",@progbits
+ .hidden sub4
+ .globl sub4
+ .type sub4,@function
+sub4: # @sub4
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1)
+ i64.const $push1=, 6885502895806072
+ i64.xor $push2=, $pop0, $pop1
+ i64.store $discard=, 0($0), $pop2
+ return
+ .endfunc
+.Lfunc_end3:
+ .size sub4, .Lfunc_end3-sub4
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i64, i64, i64, i64
+# BB#0: # %entry
+ i32.const $push3=, 0
+ i64.load $0=, tmp2($pop3)
+ i32.const $push50=, 0
+ i32.const $push49=, 0
+ i64.load $push4=, tmp($pop49)
+ tee_local $push48=, $3=, $pop4
+ i64.const $push5=, -8690468286197432320
+ i64.xor $push6=, $pop48, $pop5
+ i64.store $1=, tmp($pop50), $pop6
+ i32.const $push47=, 0
+ i64.const $push7=, 2381903268435576
+ i64.xor $push0=, $0, $pop7
+ i64.store $2=, tmp2($pop47), $pop0
+ block
+ i64.const $push11=, -4096
+ i64.and $push12=, $1, $pop11
+ i64.const $push13=, -7687337405579571200
+ i64.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label0
+# BB#1: # %entry
+ i64.const $push8=, 52
+ i64.shl $push9=, $3, $pop8
+ i64.const $push52=, 52
+ i64.shr_s $push10=, $pop9, $pop52
+ i32.wrap/i64 $push2=, $pop10
+ i32.const $push51=, 291
+ i32.ne $push15=, $pop2, $pop51
+ br_if $pop15, 0 # 0: down to label0
+# BB#2: # %if.end
+ block
+ i64.const $push17=, 52
+ i64.shr_s $push18=, $0, $pop17
+ i32.wrap/i64 $push19=, $pop18
+ i32.const $push53=, 291
+ i32.ne $push21=, $pop19, $pop53
+ br_if $pop21, 0 # 0: down to label1
+# BB#3: # %if.end
+ i64.const $push20=, 4503599627370495
+ i64.and $push16=, $2, $pop20
+ i64.const $push22=, 2626808268586421
+ i64.ne $push23=, $pop16, $pop22
+ br_if $pop23, 0 # 0: down to label1
+# BB#4: # %if.end19
+ i32.const $push25=, 0
+ i64.load $0=, tmp4($pop25)
+ i32.const $push57=, 0
+ i32.const $push56=, 0
+ i64.load $push26=, tmp3($pop56)
+ tee_local $push55=, $3=, $pop26
+ i64.const $push27=, -4345234143098716160
+ i64.xor $push28=, $pop55, $pop27
+ i64.store $1=, tmp3($pop57), $pop28
+ i32.const $push54=, 0
+ i64.const $push29=, 6885502895806072
+ i64.xor $push1=, $0, $pop29
+ i64.store $2=, tmp4($pop54), $pop1
+ block
+ i64.const $push33=, -2048
+ i64.and $push34=, $1, $pop33
+ i64.const $push35=, -3725223934242340864
+ i64.ne $push36=, $pop34, $pop35
+ br_if $pop36, 0 # 0: down to label2
+# BB#5: # %if.end19
+ i64.const $push30=, 53
+ i64.shl $push31=, $3, $pop30
+ i64.const $push59=, 53
+ i64.shr_s $push32=, $pop31, $pop59
+ i32.wrap/i64 $push24=, $pop32
+ i32.const $push58=, 291
+ i32.ne $push37=, $pop24, $pop58
+ br_if $pop37, 0 # 0: down to label2
+# BB#6: # %if.end34
+ block
+ i64.const $push39=, 53
+ i64.shr_s $push40=, $0, $pop39
+ i32.wrap/i64 $push41=, $pop40
+ i32.const $push60=, 291
+ i32.ne $push43=, $pop41, $pop60
+ br_if $pop43, 0 # 0: down to label3
+# BB#7: # %if.end34
+ i64.const $push42=, 9007199254740991
+ i64.and $push38=, $2, $pop42
+ i64.const $push44=, 7188242255599224
+ i64.ne $push45=, $pop38, $pop44
+ br_if $pop45, 0 # 0: down to label3
+# BB#8: # %if.end47
+ i32.const $push46=, 0
+ call exit@FUNCTION, $pop46
+ unreachable
+.LBB4_9: # %if.then46
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB4_10: # %if.then33
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB4_11: # %if.then18
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB4_12: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end4:
+ .size main, .Lfunc_end4-main
+
+ .hidden tmp # @tmp
+ .type tmp,@object
+ .section .data.tmp,"aw",@progbits
+ .globl tmp
+ .p2align 3
+tmp:
+ .int8 35 # 0x23
+ .int8 209 # 0xd1
+ .int8 188 # 0xbc
+ .int8 154 # 0x9a
+ .int8 120 # 0x78
+ .int8 86 # 0x56
+ .int8 52 # 0x34
+ .int8 18 # 0x12
+ .size tmp, 8
+
+ .hidden tmp2 # @tmp2
+ .type tmp2,@object
+ .section .data.tmp2,"aw",@progbits
+ .globl tmp2
+ .p2align 3
+tmp2:
+ .int8 205 # 0xcd
+ .int8 171 # 0xab
+ .int8 137 # 0x89
+ .int8 103 # 0x67
+ .int8 69 # 0x45
+ .int8 35 # 0x23
+ .int8 49 # 0x31
+ .int8 18 # 0x12
+ .size tmp2, 8
+
+ .hidden tmp3 # @tmp3
+ .type tmp3,@object
+ .section .data.tmp3,"aw",@progbits
+ .globl tmp3
+ .p2align 3
+tmp3:
+ .int8 35 # 0x23
+ .int8 1 # 0x1
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 248 # 0xf8
+ .int8 255 # 0xff
+ .int8 15 # 0xf
+ .size tmp3, 8
+
+ .hidden tmp4 # @tmp4
+ .type tmp4,@object
+ .section .data.tmp4,"aw",@progbits
+ .globl tmp4
+ .p2align 3
+tmp4:
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 255 # 0xff
+ .int8 255 # 0xff
+ .int8 97 # 0x61
+ .int8 36 # 0x24
+ .size tmp4, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/991201-1.c.s b/test/torture-s/991201-1.c.s
index a0e2b02a5..e5855dbe8 100644
--- a/test/torture-s/991201-1.c.s
+++ b/test/torture-s/991201-1.c.s
@@ -6,47 +6,37 @@
.type reset_palette,@function
reset_palette: # @reset_palette
.param i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $push2=, vc_cons
i32.const $push0=, 2
i32.shl $push1=, $0, $pop0
- i32.add $1=, $pop2, $pop1
- i32.const $3=, 6
+ i32.const $push2=, vc_cons
+ i32.add $1=, $pop1, $pop2
+ i32.const $2=, 6
i32.const $0=, -64
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $2=, 64
- i32.load $push7=, 0($1)
- i32.add $push8=, $pop7, $3
- i32.const $push9=, -2
- i32.add $push10=, $pop8, $pop9
- i32.const $push3=, default_red
- i32.add $push4=, $pop3, $0
+ i32.load $push4=, 0($1)
i32.add $push5=, $pop4, $2
- i32.load $push6=, 0($pop5)
- i32.store8 $discard=, 0($pop10), $pop6
- i32.load $push15=, 0($1)
- i32.add $push16=, $pop15, $3
- i32.const $push17=, -1
- i32.add $push18=, $pop16, $pop17
- i32.const $push11=, default_grn
- i32.add $push12=, $pop11, $0
+ i32.const $push17=, -2
+ i32.add $push6=, $pop5, $pop17
+ i32.load $push3=, default_red+64($0)
+ i32.store8 $discard=, 0($pop6), $pop3
+ i32.load $push8=, 0($1)
+ i32.add $push9=, $pop8, $2
+ i32.const $push16=, -1
+ i32.add $push10=, $pop9, $pop16
+ i32.load $push7=, default_grn+64($0)
+ i32.store8 $discard=, 0($pop10), $pop7
+ i32.load $push12=, 0($1)
i32.add $push13=, $pop12, $2
- i32.load $push14=, 0($pop13)
- i32.store8 $discard=, 0($pop18), $pop14
- i32.load $push23=, 0($1)
- i32.add $push24=, $pop23, $3
- i32.const $push19=, default_blu
- i32.add $push20=, $pop19, $0
- i32.add $push21=, $pop20, $2
- i32.load $push22=, 0($pop21)
- i32.store8 $discard=, 0($pop24), $pop22
- i32.const $push25=, 3
- i32.add $3=, $3, $pop25
- i32.const $push26=, 4
- i32.add $0=, $0, $pop26
+ i32.load $push11=, default_blu+64($0)
+ i32.store8 $discard=, 0($pop13), $pop11
+ i32.const $push15=, 3
+ i32.add $2=, $2, $pop15
+ i32.const $push14=, 4
+ i32.add $0=, $0, $pop14
br_if $0, 0 # 0: up to label0
# BB#2: # %bar.exit
end_loop # label1:
@@ -82,47 +72,11 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $2=, 6
- copy_local $1=, $0
-.LBB2_1: # %for.body.i
- # =>This Inner Loop Header: Depth=1
- loop # label3:
- i32.load $push3=, vc_cons($0)
- i32.add $push4=, $pop3, $2
- i32.const $push5=, -2
- i32.add $push6=, $pop4, $pop5
- i32.const $push0=, default_red
- i32.add $push1=, $pop0, $1
- i32.load $push2=, 0($pop1)
- i32.store8 $discard=, 0($pop6), $pop2
- i32.load $push10=, vc_cons($0)
- i32.add $push11=, $pop10, $2
- i32.const $push12=, -1
- i32.add $push13=, $pop11, $pop12
- i32.const $push7=, default_grn
- i32.add $push8=, $pop7, $1
- i32.load $push9=, 0($pop8)
- i32.store8 $discard=, 0($pop13), $pop9
- i32.load $push17=, vc_cons($0)
- i32.add $push18=, $pop17, $2
- i32.const $push14=, default_blu
- i32.add $push15=, $pop14, $1
- i32.load $push16=, 0($pop15)
- i32.store8 $discard=, 0($pop18), $pop16
- i32.const $push19=, 3
- i32.add $2=, $2, $pop19
- i32.const $push20=, 4
- i32.add $1=, $1, $pop20
- i32.const $push21=, 54
- i32.ne $push22=, $2, $pop21
- br_if $pop22, 0 # 0: up to label3
-# BB#2: # %reset_palette.exit
- end_loop # label4:
- i32.const $push23=, 0
- call exit@FUNCTION, $pop23
+ i32.const $push0=, 0
+ call reset_palette@FUNCTION, $pop0
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end2:
@@ -132,7 +86,7 @@ main: # @main
.type a_con,@object
.section .bss.a_con,"aw",@nobits
.globl a_con
- .align 2
+ .p2align 2
a_con:
.skip 52
.size a_con, 52
@@ -141,7 +95,7 @@ a_con:
.type vc_cons,@object
.section .data.vc_cons,"aw",@progbits
.globl vc_cons
- .align 4
+ .p2align 4
vc_cons:
.int32 a_con
.skip 4
@@ -212,7 +166,7 @@ vc_cons:
.type default_red,@object
.section .bss.default_red,"aw",@nobits
.globl default_red
- .align 4
+ .p2align 4
default_red:
.skip 64
.size default_red, 64
@@ -221,7 +175,7 @@ default_red:
.type default_grn,@object
.section .bss.default_grn,"aw",@nobits
.globl default_grn
- .align 4
+ .p2align 4
default_grn:
.skip 64
.size default_grn, 64
@@ -230,7 +184,7 @@ default_grn:
.type default_blu,@object
.section .bss.default_blu,"aw",@nobits
.globl default_blu
- .align 4
+ .p2align 4
default_blu:
.skip 64
.size default_blu, 64
diff --git a/test/torture-s/991202-1.c.s b/test/torture-s/991202-1.c.s
index e0a635c37..9e2f0fc69 100644
--- a/test/torture-s/991202-1.c.s
+++ b/test/torture-s/991202-1.c.s
@@ -6,14 +6,15 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 32
- i32.store $discard=, x($0), $pop0
- i32.const $push1=, 64
- i32.store $discard=, y($0), $pop1
- call exit@FUNCTION, $0
+ i32.store $discard=, x($pop1), $pop0
+ i32.const $push4=, 0
+ i32.const $push2=, 64
+ i32.store $discard=, y($pop4), $pop2
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.endfunc
.Lfunc_end0:
@@ -23,7 +24,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.int32 0 # 0x0
.size x, 4
@@ -32,7 +33,7 @@ x:
.type y,@object
.section .bss.y,"aw",@nobits
.globl y
- .align 2
+ .p2align 2
y:
.int32 0 # 0x0
.size y, 4
diff --git a/test/torture-s/991228-1.c.s b/test/torture-s/991228-1.c.s
index 896a42e90..b2097a95d 100644
--- a/test/torture-s/991228-1.c.s
+++ b/test/torture-s/991228-1.c.s
@@ -12,24 +12,24 @@ signbit: # @signbit
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
i32.const $3=, 16
- i32.sub $5=, $2, $3
+ i32.sub $6=, $2, $3
i32.const $3=, __stack_pointer
- i32.store $5=, 0($3), $5
+ i32.store $6=, 0($3), $6
i32.const $push0=, 0
- i32.load $1=, endianness_test($pop0)
- f64.store $discard=, 8($5), $0
+ i32.load $1=, endianness_test($pop0):p2align=3
+ f64.store $discard=, 8($6), $0
i32.const $push1=, 2
i32.shl $push2=, $1, $pop1
i32.const $5=, 8
- i32.add $5=, $5, $5
+ i32.add $5=, $6, $5
i32.add $push3=, $5, $pop2
i32.load $push4=, 0($pop3)
i32.const $push5=, 31
i32.shr_u $push6=, $pop4, $pop5
i32.const $4=, 16
- i32.add $5=, $5, $4
+ i32.add $6=, $6, $4
i32.const $4=, __stack_pointer
- i32.store $5=, 0($4), $5
+ i32.store $6=, 0($4), $6
return $pop6
.endfunc
.Lfunc_end0:
@@ -41,44 +41,47 @@ signbit: # @signbit
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
- i32.const $3=, 16
- i32.sub $5=, $2, $3
- i32.const $3=, __stack_pointer
- i32.store $5=, 0($3), $5
- i32.const $0=, 0
+ i32.store $4=, 0($2), $4
block
- i32.load $push0=, endianness_test($0)
+ i32.const $push12=, 0
+ i32.load $push0=, endianness_test($pop12):p2align=3
i32.const $push1=, 2
- i32.shl $1=, $pop0, $pop1
- i32.const $push2=, u
- i32.add $push3=, $pop2, $1
- i32.load $push4=, 0($pop3)
- i32.lt_s $push5=, $pop4, $0
- br_if $pop5, 0 # 0: down to label0
+ i32.shl $push2=, $pop0, $pop1
+ tee_local $push11=, $0=, $pop2
+ i32.load $push3=, u($pop11)
+ i32.const $push10=, 0
+ i32.lt_s $push4=, $pop3, $pop10
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.then
- call exit@FUNCTION, $0
+ i32.const $push13=, 0
+ call exit@FUNCTION, $pop13
unreachable
.LBB1_2: # %if.end
end_block # label0:
- i64.const $push6=, -4625196817309499392
- i64.store $discard=, 8($5), $pop6
- i32.const $4=, 8
- i32.add $4=, $5, $4
+ i64.const $push5=, -4625196817309499392
+ i64.store $discard=, 8($4), $pop5
+ i32.const $3=, 8
+ i32.add $3=, $4, $3
block
- i32.add $push7=, $4, $1
- i32.load $push8=, 0($pop7)
- i32.lt_s $push9=, $pop8, $0
- br_if $pop9, 0 # 0: down to label1
+ i32.add $push6=, $3, $0
+ i32.load $push7=, 0($pop6)
+ i32.const $push14=, 0
+ i32.lt_s $push8=, $pop7, $pop14
+ br_if $pop8, 0 # 0: down to label1
# BB#3: # %if.then1
call abort@FUNCTION
unreachable
.LBB1_4: # %if.end2
end_block # label1:
- call exit@FUNCTION, $0
+ i32.const $push9=, 0
+ call exit@FUNCTION, $pop9
unreachable
.endfunc
.Lfunc_end1:
@@ -88,7 +91,7 @@ main: # @main
.type u,@object
.section .data.u,"aw",@progbits
.globl u
- .align 3
+ .p2align 3
u:
.int64 -4625196817309499392 # double -0.25
.size u, 8
@@ -97,7 +100,7 @@ u:
.type endianness_test,@object
.section .data.endianness_test,"aw",@progbits
.globl endianness_test
- .align 3
+ .p2align 3
endianness_test:
.int64 1 # 0x1
.size endianness_test, 8
diff --git a/test/torture-s/align-2.c.s b/test/torture-s/align-2.c.s
index f2d506a43..4b0cd2150 100644
--- a/test/torture-s/align-2.c.s
+++ b/test/torture-s/align-2.c.s
@@ -6,184 +6,220 @@
.type main,@function
main: # @main
.result i32
- .local i32, i64
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load8_u $push0=, s_c_s($0)
+ i32.const $push95=, 0
+ i32.load8_u $push0=, s_c_s($pop95):p2align=1
i32.const $push1=, 97
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.load16_u $push3=, s_c_s+2($0)
+ i32.const $push96=, 0
+ i32.load16_u $push3=, s_c_s+2($pop96)
i32.const $push4=, 13
i32.ne $push5=, $pop3, $pop4
br_if $pop5, 0 # 0: down to label1
# BB#2: # %if.end6
block
- i32.load8_u $push6=, s_c_i($0)
+ i32.const $push97=, 0
+ i32.load8_u $push6=, s_c_i($pop97):p2align=2
i32.const $push7=, 98
i32.ne $push8=, $pop6, $pop7
br_if $pop8, 0 # 0: down to label2
# BB#3: # %if.end11
block
- i32.load $push9=, s_c_i+4($0)
+ i32.const $push98=, 0
+ i32.load $push9=, s_c_i+4($pop98)
i32.const $push10=, 14
i32.ne $push11=, $pop9, $pop10
br_if $pop11, 0 # 0: down to label3
# BB#4: # %if.end15
block
- i32.load16_u $push12=, s_s_i($0)
+ i32.const $push99=, 0
+ i32.load16_u $push12=, s_s_i($pop99):p2align=2
i32.const $push13=, 15
i32.ne $push14=, $pop12, $pop13
br_if $pop14, 0 # 0: down to label4
# BB#5: # %if.end20
block
- i32.load $push15=, s_s_i+4($0)
+ i32.const $push100=, 0
+ i32.load $push15=, s_s_i+4($pop100)
i32.const $push16=, 16
i32.ne $push17=, $pop15, $pop16
br_if $pop17, 0 # 0: down to label5
# BB#6: # %if.end24
block
- i32.load8_u $push18=, s_c_f($0)
+ i32.const $push101=, 0
+ i32.load8_u $push18=, s_c_f($pop101):p2align=2
i32.const $push19=, 99
i32.ne $push20=, $pop18, $pop19
br_if $pop20, 0 # 0: down to label6
# BB#7: # %if.end29
block
- f32.load $push21=, s_c_f+4($0)
+ i32.const $push102=, 0
+ f32.load $push21=, s_c_f+4($pop102)
f32.const $push22=, 0x1.1p4
f32.ne $push23=, $pop21, $pop22
br_if $pop23, 0 # 0: down to label7
# BB#8: # %if.end34
block
- i32.load16_u $push24=, s_s_f($0)
+ i32.const $push103=, 0
+ i32.load16_u $push24=, s_s_f($pop103):p2align=2
i32.const $push25=, 18
i32.ne $push26=, $pop24, $pop25
br_if $pop26, 0 # 0: down to label8
# BB#9: # %if.end39
block
- f32.load $push27=, s_s_f+4($0)
+ i32.const $push104=, 0
+ f32.load $push27=, s_s_f+4($pop104)
f32.const $push28=, 0x1.3p4
f32.ne $push29=, $pop27, $pop28
br_if $pop29, 0 # 0: down to label9
# BB#10: # %if.end44
block
- i32.load8_u $push30=, s_c_d($0)
+ i32.const $push105=, 0
+ i32.load8_u $push30=, s_c_d($pop105):p2align=3
i32.const $push31=, 100
i32.ne $push32=, $pop30, $pop31
br_if $pop32, 0 # 0: down to label10
# BB#11: # %if.end49
block
- f64.load $push33=, s_c_d+8($0)
+ i32.const $push106=, 0
+ f64.load $push33=, s_c_d+8($pop106)
f64.const $push34=, 0x1.4p4
f64.ne $push35=, $pop33, $pop34
br_if $pop35, 0 # 0: down to label11
# BB#12: # %if.end53
block
- i32.load16_u $push36=, s_s_d($0)
+ i32.const $push107=, 0
+ i32.load16_u $push36=, s_s_d($pop107):p2align=3
i32.const $push37=, 21
i32.ne $push38=, $pop36, $pop37
br_if $pop38, 0 # 0: down to label12
# BB#13: # %if.end58
block
- f64.load $push39=, s_s_d+8($0)
+ i32.const $push108=, 0
+ f64.load $push39=, s_s_d+8($pop108)
f64.const $push40=, 0x1.6p4
f64.ne $push41=, $pop39, $pop40
br_if $pop41, 0 # 0: down to label13
# BB#14: # %if.end62
block
- i32.load $push42=, s_i_d($0)
+ i32.const $push109=, 0
+ i32.load $push42=, s_i_d($pop109):p2align=3
i32.const $push43=, 23
i32.ne $push44=, $pop42, $pop43
br_if $pop44, 0 # 0: down to label14
# BB#15: # %if.end66
block
- f64.load $push45=, s_i_d+8($0)
+ i32.const $push110=, 0
+ f64.load $push45=, s_i_d+8($pop110)
f64.const $push46=, 0x1.8p4
f64.ne $push47=, $pop45, $pop46
br_if $pop47, 0 # 0: down to label15
# BB#16: # %if.end70
block
- f32.load $push48=, s_f_d($0)
+ i32.const $push111=, 0
+ f32.load $push48=, s_f_d($pop111):p2align=3
f32.const $push49=, 0x1.9p4
f32.ne $push50=, $pop48, $pop49
br_if $pop50, 0 # 0: down to label16
# BB#17: # %if.end75
block
- f64.load $push51=, s_f_d+8($0)
+ i32.const $push112=, 0
+ f64.load $push51=, s_f_d+8($pop112)
f64.const $push52=, 0x1.ap4
f64.ne $push53=, $pop51, $pop52
br_if $pop53, 0 # 0: down to label17
# BB#18: # %if.end79
block
- i32.load8_u $push54=, s_c_ld($0)
+ i32.const $push113=, 0
+ i32.load8_u $push54=, s_c_ld($pop113):p2align=4
i32.const $push55=, 101
i32.ne $push56=, $pop54, $pop55
br_if $pop56, 0 # 0: down to label18
# BB#19: # %if.end84
- i64.const $1=, 0
block
- i64.load $push58=, s_c_ld+16($0)
- i64.load $push57=, s_c_ld+24($0)
+ i32.const $push115=, 0
+ i64.load $push58=, s_c_ld+16($pop115):p2align=4
+ i32.const $push114=, 0
+ i64.load $push57=, s_c_ld+24($pop114)
+ i64.const $push60=, 0
i64.const $push59=, 4612723957404008448
- i32.call $push60=, __eqtf2@FUNCTION, $pop58, $pop57, $1, $pop59
- br_if $pop60, 0 # 0: down to label19
+ i32.call $push61=, __eqtf2@FUNCTION, $pop58, $pop57, $pop60, $pop59
+ br_if $pop61, 0 # 0: down to label19
# BB#20: # %if.end88
block
- i32.load16_u $push61=, s_s_ld($0)
- i32.const $push62=, 28
- i32.ne $push63=, $pop61, $pop62
- br_if $pop63, 0 # 0: down to label20
+ i32.const $push116=, 0
+ i32.load16_u $push62=, s_s_ld($pop116):p2align=4
+ i32.const $push63=, 28
+ i32.ne $push64=, $pop62, $pop63
+ br_if $pop64, 0 # 0: down to label20
# BB#21: # %if.end93
block
- i64.load $push65=, s_s_ld+16($0)
- i64.load $push64=, s_s_ld+24($0)
- i64.const $push66=, 4612759141776097280
- i32.call $push67=, __eqtf2@FUNCTION, $pop65, $pop64, $1, $pop66
- br_if $pop67, 0 # 0: down to label21
+ i32.const $push118=, 0
+ i64.load $push66=, s_s_ld+16($pop118):p2align=4
+ i32.const $push117=, 0
+ i64.load $push65=, s_s_ld+24($pop117)
+ i64.const $push68=, 0
+ i64.const $push67=, 4612759141776097280
+ i32.call $push69=, __eqtf2@FUNCTION, $pop66, $pop65, $pop68, $pop67
+ br_if $pop69, 0 # 0: down to label21
# BB#22: # %if.end97
block
- i32.load $push68=, s_i_ld($0)
- i32.const $push69=, 30
- i32.ne $push70=, $pop68, $pop69
- br_if $pop70, 0 # 0: down to label22
+ i32.const $push119=, 0
+ i32.load $push70=, s_i_ld($pop119):p2align=4
+ i32.const $push71=, 30
+ i32.ne $push72=, $pop70, $pop71
+ br_if $pop72, 0 # 0: down to label22
# BB#23: # %if.end101
block
- i64.load $push72=, s_i_ld+16($0)
- i64.load $push71=, s_i_ld+24($0)
- i64.const $push73=, 4612794326148186112
- i32.call $push74=, __eqtf2@FUNCTION, $pop72, $pop71, $1, $pop73
- br_if $pop74, 0 # 0: down to label23
+ i32.const $push121=, 0
+ i64.load $push74=, s_i_ld+16($pop121):p2align=4
+ i32.const $push120=, 0
+ i64.load $push73=, s_i_ld+24($pop120)
+ i64.const $push76=, 0
+ i64.const $push75=, 4612794326148186112
+ i32.call $push77=, __eqtf2@FUNCTION, $pop74, $pop73, $pop76, $pop75
+ br_if $pop77, 0 # 0: down to label23
# BB#24: # %if.end105
block
- f32.load $push75=, s_f_ld($0)
- f32.const $push76=, 0x1p5
- f32.ne $push77=, $pop75, $pop76
- br_if $pop77, 0 # 0: down to label24
+ i32.const $push122=, 0
+ f32.load $push78=, s_f_ld($pop122):p2align=4
+ f32.const $push79=, 0x1p5
+ f32.ne $push80=, $pop78, $pop79
+ br_if $pop80, 0 # 0: down to label24
# BB#25: # %if.end110
block
- i64.load $push79=, s_f_ld+16($0)
- i64.load $push78=, s_f_ld+24($0)
- i64.const $push80=, 4612820714427252736
- i32.call $push81=, __eqtf2@FUNCTION, $pop79, $pop78, $1, $pop80
- br_if $pop81, 0 # 0: down to label25
+ i32.const $push124=, 0
+ i64.load $push82=, s_f_ld+16($pop124):p2align=4
+ i32.const $push123=, 0
+ i64.load $push81=, s_f_ld+24($pop123)
+ i64.const $push84=, 0
+ i64.const $push83=, 4612820714427252736
+ i32.call $push85=, __eqtf2@FUNCTION, $pop82, $pop81, $pop84, $pop83
+ br_if $pop85, 0 # 0: down to label25
# BB#26: # %if.end114
block
- f64.load $push82=, s_d_ld($0)
- f64.const $push83=, 0x1.1p5
- f64.ne $push84=, $pop82, $pop83
- br_if $pop84, 0 # 0: down to label26
+ i32.const $push125=, 0
+ f64.load $push86=, s_d_ld($pop125):p2align=4
+ f64.const $push87=, 0x1.1p5
+ f64.ne $push88=, $pop86, $pop87
+ br_if $pop88, 0 # 0: down to label26
# BB#27: # %if.end118
block
- i64.load $push86=, s_d_ld+16($0)
- i64.load $push85=, s_d_ld+24($0)
- i64.const $push87=, 4612838306613297152
- i32.call $push88=, __eqtf2@FUNCTION, $pop86, $pop85, $1, $pop87
- br_if $pop88, 0 # 0: down to label27
+ i32.const $push127=, 0
+ i64.load $push90=, s_d_ld+16($pop127):p2align=4
+ i32.const $push126=, 0
+ i64.load $push89=, s_d_ld+24($pop126)
+ i64.const $push92=, 0
+ i64.const $push91=, 4612838306613297152
+ i32.call $push93=, __eqtf2@FUNCTION, $pop90, $pop89, $pop92, $pop91
+ br_if $pop93, 0 # 0: down to label27
# BB#28: # %if.end122
- return $0
+ i32.const $push94=, 0
+ return $pop94
.LBB0_29: # %if.then121
end_block # label27:
call abort@FUNCTION
@@ -304,7 +340,7 @@ main: # @main
.type s_c_s,@object
.section .data.s_c_s,"aw",@progbits
.globl s_c_s
- .align 1
+ .p2align 1
s_c_s:
.int8 97 # 0x61
.skip 1
@@ -315,7 +351,7 @@ s_c_s:
.type s_c_i,@object
.section .data.s_c_i,"aw",@progbits
.globl s_c_i
- .align 2
+ .p2align 2
s_c_i:
.int8 98 # 0x62
.skip 3
@@ -326,7 +362,7 @@ s_c_i:
.type s_s_i,@object
.section .data.s_s_i,"aw",@progbits
.globl s_s_i
- .align 2
+ .p2align 2
s_s_i:
.int16 15 # 0xf
.skip 2
@@ -337,7 +373,7 @@ s_s_i:
.type s_c_f,@object
.section .data.s_c_f,"aw",@progbits
.globl s_c_f
- .align 2
+ .p2align 2
s_c_f:
.int8 99 # 0x63
.skip 3
@@ -348,7 +384,7 @@ s_c_f:
.type s_s_f,@object
.section .data.s_s_f,"aw",@progbits
.globl s_s_f
- .align 2
+ .p2align 2
s_s_f:
.int16 18 # 0x12
.skip 2
@@ -359,7 +395,7 @@ s_s_f:
.type s_c_d,@object
.section .data.s_c_d,"aw",@progbits
.globl s_c_d
- .align 3
+ .p2align 3
s_c_d:
.int8 100 # 0x64
.skip 7
@@ -370,7 +406,7 @@ s_c_d:
.type s_s_d,@object
.section .data.s_s_d,"aw",@progbits
.globl s_s_d
- .align 3
+ .p2align 3
s_s_d:
.int16 21 # 0x15
.skip 6
@@ -381,7 +417,7 @@ s_s_d:
.type s_i_d,@object
.section .data.s_i_d,"aw",@progbits
.globl s_i_d
- .align 3
+ .p2align 3
s_i_d:
.int32 23 # 0x17
.skip 4
@@ -392,7 +428,7 @@ s_i_d:
.type s_f_d,@object
.section .data.s_f_d,"aw",@progbits
.globl s_f_d
- .align 3
+ .p2align 3
s_f_d:
.int32 1103626240 # float 25
.skip 4
@@ -403,7 +439,7 @@ s_f_d:
.type s_c_ld,@object
.section .data.s_c_ld,"aw",@progbits
.globl s_c_ld
- .align 4
+ .p2align 4
s_c_ld:
.int8 101 # 0x65
.skip 15
@@ -415,7 +451,7 @@ s_c_ld:
.type s_s_ld,@object
.section .data.s_s_ld,"aw",@progbits
.globl s_s_ld
- .align 4
+ .p2align 4
s_s_ld:
.int16 28 # 0x1c
.skip 14
@@ -427,7 +463,7 @@ s_s_ld:
.type s_i_ld,@object
.section .data.s_i_ld,"aw",@progbits
.globl s_i_ld
- .align 4
+ .p2align 4
s_i_ld:
.int32 30 # 0x1e
.skip 12
@@ -439,7 +475,7 @@ s_i_ld:
.type s_f_ld,@object
.section .data.s_f_ld,"aw",@progbits
.globl s_f_ld
- .align 4
+ .p2align 4
s_f_ld:
.int32 1107296256 # float 32
.skip 12
@@ -451,7 +487,7 @@ s_f_ld:
.type s_d_ld,@object
.section .data.s_d_ld,"aw",@progbits
.globl s_d_ld
- .align 4
+ .p2align 4
s_d_ld:
.int64 4629981891913580544 # double 34
.skip 8
diff --git a/test/torture-s/align-3.c.s b/test/torture-s/align-3.c.s
index fbffd4bb1..810029018 100644
--- a/test/torture-s/align-3.c.s
+++ b/test/torture-s/align-3.c.s
@@ -3,7 +3,7 @@
.section .text.func,"ax",@progbits
.hidden func
.globl func
- .align 8
+ .p2align 8
.type func,@function
func: # @func
# BB#0: # %entry
diff --git a/test/torture-s/alloca-1.c.s b/test/torture-s/alloca-1.c.s
index a699933d0..ac008d3fb 100644
--- a/test/torture-s/alloca-1.c.s
+++ b/test/torture-s/alloca-1.c.s
@@ -6,24 +6,22 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
i32.const $0=, __stack_pointer
i32.load $0=, 0($0)
i32.const $1=, 32
- i32.sub $4=, $0, $1
+ i32.sub $3=, $0, $1
i32.const $1=, __stack_pointer
- i32.store $4=, 0($1), $4
+ i32.store $3=, 0($1), $3
i32.const $push0=, 15
- i32.const $3=, 0
- i32.add $3=, $4, $3
i32.and $push1=, $3, $pop0
i32.const $push2=, 0
i32.eq $push3=, $pop1, $pop2
i32.const $2=, 32
- i32.add $4=, $4, $2
+ i32.add $3=, $3, $2
i32.const $2=, __stack_pointer
- i32.store $4=, 0($2), $4
+ i32.store $3=, 0($2), $3
return $pop3
.endfunc
.Lfunc_end0:
@@ -35,26 +33,24 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
i32.const $0=, __stack_pointer
i32.load $0=, 0($0)
i32.const $1=, 32
- i32.sub $4=, $0, $1
+ i32.sub $3=, $0, $1
i32.const $1=, __stack_pointer
- i32.store $4=, 0($1), $4
- i32.const $push0=, 15
- i32.const $3=, 0
- i32.add $3=, $4, $3
+ i32.store $3=, 0($1), $3
block
+ i32.const $push0=, 15
i32.and $push1=, $3, $pop0
br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
i32.const $push2=, 0
i32.const $2=, 32
- i32.add $4=, $4, $2
+ i32.add $3=, $3, $2
i32.const $2=, __stack_pointer
- i32.store $4=, 0($2), $4
+ i32.store $3=, 0($2), $3
return $pop2
.LBB1_2: # %if.then
end_block # label0:
diff --git a/test/torture-s/anon-1.c.s b/test/torture-s/anon-1.c.s
index a210141ea..959a6c5e5 100644
--- a/test/torture-s/anon-1.c.s
+++ b/test/torture-s/anon-1.c.s
@@ -7,14 +7,12 @@
main: # @main
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.const $push0=, 6
- i32.store $discard=, foo+8($2), $pop0
- i32.const $push1=, 5
- i32.store $discard=, foo+4($2), $pop1
- return $2
+ i32.const $push1=, 0
+ i64.const $push0=, 25769803781
+ i64.store $discard=, foo+4($pop1):p2align=2, $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -23,7 +21,7 @@ main: # @main
.type foo,@object
.section .bss.foo,"aw",@nobits
.globl foo
- .align 2
+ .p2align 2
foo:
.skip 12
.size foo, 12
diff --git a/test/torture-s/arith-1.c.s b/test/torture-s/arith-1.c.s
index 6cc1873c8..457871b67 100644
--- a/test/torture-s/arith-1.c.s
+++ b/test/torture-s/arith-1.c.s
@@ -7,14 +7,14 @@
sat_add: # @sat_add
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, -1
- i32.eq $push2=, $0, $1
+ i32.const $push2=, -1
+ i32.eq $push3=, $0, $pop2
+ i32.const $push5=, -1
i32.const $push0=, 1
i32.add $push1=, $0, $pop0
- i32.select $push3=, $pop2, $1, $pop1
- return $pop3
+ i32.select $push4=, $pop3, $pop5, $pop1
+ return $pop4
.endfunc
.Lfunc_end0:
.size sat_add, .Lfunc_end0-sat_add
diff --git a/test/torture-s/arith-rand-ll.c.s b/test/torture-s/arith-rand-ll.c.s
index d0e91a5f8..9b5d53b65 100644
--- a/test/torture-s/arith-rand-ll.c.s
+++ b/test/torture-s/arith-rand-ll.c.s
@@ -6,18 +6,18 @@
.type simple_rand,@function
simple_rand: # @simple_rand
.result i64
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i64.load $push0=, simple_rand.seed($0)
- i64.const $push1=, 1103515245
- i64.mul $push2=, $pop0, $pop1
- i64.const $push3=, 12345
- i64.add $push4=, $pop2, $pop3
- i64.store $push5=, simple_rand.seed($0), $pop4
- i64.const $push6=, 8
- i64.shr_u $push7=, $pop5, $pop6
- return $pop7
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i64.load $push1=, simple_rand.seed($pop9)
+ i64.const $push2=, 1103515245
+ i64.mul $push3=, $pop1, $pop2
+ i64.const $push4=, 12345
+ i64.add $push5=, $pop3, $pop4
+ i64.store $push6=, simple_rand.seed($pop0), $pop5
+ i64.const $push7=, 8
+ i64.shr_u $push8=, $pop6, $pop7
+ return $pop8
.endfunc
.Lfunc_end0:
.size simple_rand, .Lfunc_end0-simple_rand
@@ -30,55 +30,58 @@ random_bitstring: # @random_bitstring
.result i64
.local i64, i32, i64, i32, i64
# BB#0: # %entry
- i32.const $3=, 0
- i64.load $2=, simple_rand.seed($3)
- i64.const $4=, 0
+ i32.const $1=, 0
+ i32.const $push12=, 0
+ i64.load $0=, simple_rand.seed($pop12)
+ i64.const $2=, 0
.LBB1_1: # %for.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
- i64.const $push0=, 1103515245
- i64.mul $push1=, $2, $pop0
- i64.const $push2=, 12345
- i64.add $2=, $pop1, $pop2
- i64.const $push3=, 9
- i64.shr_u $0=, $2, $pop3
- i32.wrap/i64 $push4=, $0
- i32.const $push5=, 15
- i32.and $1=, $pop4, $pop5
- i32.const $push20=, 0
- i32.eq $push21=, $1, $pop20
- br_if $pop21, 1 # 1: down to label1
+ i64.const $push18=, 1103515245
+ i64.mul $push2=, $0, $pop18
+ i64.const $push17=, 12345
+ i64.add $0=, $pop2, $pop17
+ i64.const $push16=, 9
+ i64.shr_u $push0=, $0, $pop16
+ tee_local $push15=, $4=, $pop0
+ i32.wrap/i64 $push3=, $pop15
+ i32.const $push14=, 15
+ i32.and $push1=, $pop3, $pop14
+ tee_local $push13=, $3=, $pop1
+ i32.const $push25=, 0
+ i32.eq $push26=, $pop13, $pop25
+ br_if $pop26, 1 # 1: down to label1
# BB#2: # %if.else
# in Loop: Header=BB1_1 Depth=1
- i64.const $push6=, 15
- i64.and $push7=, $0, $pop6
- i64.shl $4=, $4, $pop7
- i32.add $3=, $1, $3
+ i64.const $push21=, 15
+ i64.and $push4=, $4, $pop21
+ i64.shl $2=, $2, $pop4
+ i32.add $1=, $3, $1
block
- i64.const $push8=, 256
- i64.and $push9=, $2, $pop8
- i64.const $push10=, 0
- i64.eq $push11=, $pop9, $pop10
- br_if $pop11, 0 # 0: down to label2
+ i64.const $push20=, 256
+ i64.and $push5=, $0, $pop20
+ i64.const $push19=, 0
+ i64.eq $push6=, $pop5, $pop19
+ br_if $pop6, 0 # 0: down to label2
# BB#3: # %if.then2
# in Loop: Header=BB1_1 Depth=1
- i32.const $push12=, 1
- i32.shl $push13=, $pop12, $1
- i32.const $push14=, -1
- i32.add $push15=, $pop13, $pop14
- i64.extend_s/i32 $push16=, $pop15
- i64.or $4=, $pop16, $4
+ i32.const $push23=, 1
+ i32.shl $push7=, $pop23, $3
+ i32.const $push22=, -1
+ i32.add $push8=, $pop7, $pop22
+ i64.extend_s/i32 $push9=, $pop8
+ i64.or $2=, $pop9, $2
.LBB1_4: # %if.end
# in Loop: Header=BB1_1 Depth=1
end_block # label2:
- i32.const $push17=, 71
- i32.lt_u $push18=, $3, $pop17
- br_if $pop18, 0 # 0: up to label0
+ i32.const $push24=, 71
+ i32.lt_u $push10=, $1, $pop24
+ br_if $pop10, 0 # 0: up to label0
.LBB1_5: # %cleanup
end_loop # label1:
- i32.const $push19=, 0
- i64.store $discard=, simple_rand.seed($pop19), $2
- return $4
+ i32.const $push11=, 0
+ i64.store $discard=, simple_rand.seed($pop11), $0
+ return $2
.endfunc
.Lfunc_end1:
.size random_bitstring, .Lfunc_end1-random_bitstring
@@ -89,292 +92,340 @@ random_bitstring: # @random_bitstring
.type main,@function
main: # @main
.result i32
- .local i64, i32, i64, i64, i32, i32, i32, i64, i32, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64
+ .local i64, i64, i32, i32, i32, i64, i64, i32, i64, i64, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, 0
- i64.load $2=, simple_rand.seed($8)
- i64.const $7=, 0
- copy_local $0=, $7
- i32.const $12=, 15
+ i32.const $push94=, 0
+ i64.load $1=, simple_rand.seed($pop94)
+ i64.const $0=, 0
.LBB2_1: # %for.body
# =>This Loop Header: Depth=1
# Child Loop BB2_2 Depth 2
# Child Loop BB2_7 Depth 2
loop # label3:
- copy_local $20=, $7
- copy_local $19=, $8
+ i64.const $5=, 0
+ i32.const $4=, 0
.LBB2_2: # %for.cond.i
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label5:
- i64.const $9=, 1103515245
- i64.const $10=, 12345
- i64.mul $push0=, $2, $9
- i64.add $2=, $pop0, $10
- i64.const $11=, 9
- i64.shr_u $21=, $2, $11
- i32.wrap/i64 $push1=, $21
- i32.and $1=, $pop1, $12
- i32.const $push92=, 0
- i32.eq $push93=, $1, $pop92
- br_if $pop93, 1 # 1: down to label6
+ i64.const $push100=, 1103515245
+ i64.mul $push10=, $1, $pop100
+ i64.const $push99=, 12345
+ i64.add $1=, $pop10, $pop99
+ i64.const $push98=, 9
+ i64.shr_u $push0=, $1, $pop98
+ tee_local $push97=, $6=, $pop0
+ i32.wrap/i64 $push11=, $pop97
+ i32.const $push96=, 15
+ i32.and $push1=, $pop11, $pop96
+ tee_local $push95=, $7=, $pop1
+ i32.const $push175=, 0
+ i32.eq $push176=, $pop95, $pop175
+ br_if $pop176, 1 # 1: down to label6
# BB#3: # %if.else.i
# in Loop: Header=BB2_2 Depth=2
- i64.const $push2=, 15
- i64.and $push3=, $21, $pop2
- i64.shl $20=, $20, $pop3
- i32.add $19=, $1, $19
+ i64.const $push103=, 15
+ i64.and $push12=, $6, $pop103
+ i64.shl $5=, $5, $pop12
+ i32.add $4=, $7, $4
block
- i64.const $push4=, 256
- i64.and $push5=, $2, $pop4
- i64.const $push6=, 0
- i64.eq $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: down to label7
+ i64.const $push102=, 256
+ i64.and $push13=, $1, $pop102
+ i64.const $push101=, 0
+ i64.eq $push14=, $pop13, $pop101
+ br_if $pop14, 0 # 0: down to label7
# BB#4: # %if.then2.i
# in Loop: Header=BB2_2 Depth=2
- i32.const $push8=, 1
- i32.shl $push9=, $pop8, $1
- i32.const $push10=, -1
- i32.add $push11=, $pop9, $pop10
- i64.extend_s/i32 $push12=, $pop11
- i64.or $20=, $pop12, $20
+ i32.const $push105=, 1
+ i32.shl $push15=, $pop105, $7
+ i32.const $push104=, -1
+ i32.add $push16=, $pop15, $pop104
+ i64.extend_s/i32 $push17=, $pop16
+ i64.or $5=, $pop17, $5
.LBB2_5: # %if.end.i
# in Loop: Header=BB2_2 Depth=2
end_block # label7:
- i32.const $push13=, 71
- i32.lt_u $push14=, $19, $pop13
- br_if $pop14, 0 # 0: up to label5
+ i32.const $push106=, 71
+ i32.lt_u $push18=, $4, $pop106
+ br_if $pop18, 0 # 0: up to label5
.LBB2_6: # %random_bitstring.exit
# in Loop: Header=BB2_1 Depth=1
end_loop # label6:
- i64.const $21=, 0
- i32.const $19=, 0
+ i64.const $6=, 0
+ i32.const $4=, 0
.LBB2_7: # %for.cond.i452
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label8:
- i64.mul $push15=, $2, $9
- i64.add $2=, $pop15, $10
- i64.shr_u $3=, $2, $11
- i32.wrap/i64 $push16=, $3
- i32.and $1=, $pop16, $12
- i32.const $push94=, 0
- i32.eq $push95=, $1, $pop94
- br_if $pop95, 1 # 1: down to label9
+ i64.const $push112=, 1103515245
+ i64.mul $push19=, $1, $pop112
+ i64.const $push111=, 12345
+ i64.add $1=, $pop19, $pop111
+ i64.const $push110=, 9
+ i64.shr_u $push2=, $1, $pop110
+ tee_local $push109=, $8=, $pop2
+ i32.wrap/i64 $push20=, $pop109
+ i32.const $push108=, 15
+ i32.and $push3=, $pop20, $pop108
+ tee_local $push107=, $7=, $pop3
+ i32.const $push177=, 0
+ i32.eq $push178=, $pop107, $pop177
+ br_if $pop178, 1 # 1: down to label9
# BB#8: # %if.else.i457
# in Loop: Header=BB2_7 Depth=2
- i64.const $push17=, 15
- i64.and $push18=, $3, $pop17
- i64.shl $21=, $21, $pop18
- i32.add $19=, $1, $19
+ i64.const $push115=, 15
+ i64.and $push21=, $8, $pop115
+ i64.shl $6=, $6, $pop21
+ i32.add $4=, $7, $4
block
- i64.const $push19=, 256
- i64.and $push20=, $2, $pop19
- i64.const $push21=, 0
- i64.eq $push22=, $pop20, $pop21
- br_if $pop22, 0 # 0: down to label10
+ i64.const $push114=, 256
+ i64.and $push22=, $1, $pop114
+ i64.const $push113=, 0
+ i64.eq $push23=, $pop22, $pop113
+ br_if $pop23, 0 # 0: down to label10
# BB#9: # %if.then2.i462
# in Loop: Header=BB2_7 Depth=2
- i32.const $push23=, 1
- i32.shl $push24=, $pop23, $1
- i32.const $push25=, -1
- i32.add $push26=, $pop24, $pop25
- i64.extend_s/i32 $push27=, $pop26
- i64.or $21=, $pop27, $21
+ i32.const $push117=, 1
+ i32.shl $push24=, $pop117, $7
+ i32.const $push116=, -1
+ i32.add $push25=, $pop24, $pop116
+ i64.extend_s/i32 $push26=, $pop25
+ i64.or $6=, $pop26, $6
.LBB2_10: # %if.end.i465
# in Loop: Header=BB2_7 Depth=2
end_block # label10:
- i32.const $push28=, 71
- i32.lt_u $push29=, $19, $pop28
- br_if $pop29, 0 # 0: up to label8
+ i32.const $push118=, 71
+ i32.lt_u $push27=, $4, $pop118
+ br_if $pop27, 0 # 0: up to label8
.LBB2_11: # %random_bitstring.exit467
# in Loop: Header=BB2_1 Depth=1
end_loop # label9:
- i64.const $9=, 0
block
- i64.eq $push30=, $21, $9
- br_if $pop30, 0 # 0: down to label11
+ i64.const $push119=, 0
+ i64.eq $push28=, $6, $pop119
+ br_if $pop28, 0 # 0: down to label11
# BB#12: # %cleanup.cont
# in Loop: Header=BB2_1 Depth=1
block
- i64.const $push31=, 9223372036854775807
- i64.and $push32=, $20, $pop31
- i64.ne $push33=, $pop32, $9
- br_if $pop33, 0 # 0: down to label12
+ i64.const $push121=, 9223372036854775807
+ i64.and $push29=, $5, $pop121
+ i64.const $push120=, 0
+ i64.ne $push30=, $pop29, $pop120
+ br_if $pop30, 0 # 0: down to label12
# BB#13: # %cleanup.cont
# in Loop: Header=BB2_1 Depth=1
- i64.const $push34=, -1
- i64.eq $push35=, $21, $pop34
- br_if $pop35, 1 # 1: down to label11
+ i64.const $push122=, -1
+ i64.eq $push31=, $6, $pop122
+ br_if $pop31, 1 # 1: down to label11
.LBB2_14: # %if.end17
# in Loop: Header=BB2_1 Depth=1
end_block # label12:
- i64.const $9=, 63
- i64.shr_s $10=, $21, $9
- i64.rem_s $11=, $20, $21
- i64.shr_s $9=, $11, $9
+ i64.rem_s $8=, $5, $6
block
- i64.add $push38=, $11, $9
- i64.xor $push39=, $pop38, $9
- i64.add $push36=, $21, $10
- i64.xor $push37=, $pop36, $10
- i64.ge_u $push40=, $pop39, $pop37
- br_if $pop40, 0 # 0: down to label13
+ i64.const $push126=, 63
+ i64.shr_s $push35=, $8, $pop126
+ tee_local $push125=, $9=, $pop35
+ i64.add $push36=, $8, $pop125
+ i64.xor $push37=, $pop36, $9
+ i64.const $push124=, 63
+ i64.shr_s $push32=, $6, $pop124
+ tee_local $push123=, $8=, $pop32
+ i64.add $push33=, $6, $pop123
+ i64.xor $push34=, $pop33, $8
+ i64.ge_u $push38=, $pop37, $pop34
+ br_if $pop38, 0 # 0: down to label13
# BB#15: # %save_time
# in Loop: Header=BB2_1 Depth=1
- i32.wrap/i64 $1=, $21
- i32.const $push96=, 0
- i32.eq $push97=, $1, $pop96
- br_if $pop97, 1 # 1: down to label11
+ i32.wrap/i64 $push5=, $6
+ tee_local $push127=, $4=, $pop5
+ i32.const $push179=, 0
+ i32.eq $push180=, $pop127, $pop179
+ br_if $pop180, 1 # 1: down to label11
# BB#16: # %cleanup.cont65
# in Loop: Header=BB2_1 Depth=1
- i32.wrap/i64 $19=, $20
block
- i32.const $push42=, 2147483647
- i32.and $push43=, $19, $pop42
- br_if $pop43, 0 # 0: down to label14
+ i32.wrap/i64 $push4=, $5
+ tee_local $push129=, $7=, $pop4
+ i32.const $push128=, 2147483647
+ i32.and $push40=, $pop129, $pop128
+ br_if $pop40, 0 # 0: down to label14
# BB#17: # %cleanup.cont65
# in Loop: Header=BB2_1 Depth=1
- i32.const $push44=, -1
- i32.eq $push45=, $1, $pop44
- br_if $pop45, 2 # 2: down to label11
+ i32.const $push130=, -1
+ i32.eq $push41=, $4, $pop130
+ br_if $pop41, 2 # 2: down to label11
.LBB2_18: # %if.end79
# in Loop: Header=BB2_1 Depth=1
end_block # label14:
- i32.const $5=, 31
- i32.shr_s $13=, $1, $5
- i32.rem_s $15=, $19, $1
- i32.shr_s $5=, $15, $5
+ i32.rem_s $2=, $7, $4
block
- i32.add $push48=, $15, $5
- i32.xor $push49=, $pop48, $5
- i32.add $push46=, $1, $13
- i32.xor $push47=, $pop46, $13
- i32.ge_u $push50=, $pop49, $pop47
- br_if $pop50, 0 # 0: down to label15
+ i32.const $push134=, 31
+ i32.shr_s $push45=, $2, $pop134
+ tee_local $push133=, $3=, $pop45
+ i32.add $push46=, $2, $pop133
+ i32.xor $push47=, $pop46, $3
+ i32.const $push132=, 31
+ i32.shr_s $push42=, $4, $pop132
+ tee_local $push131=, $3=, $pop42
+ i32.add $push43=, $4, $pop131
+ i32.xor $push44=, $pop43, $3
+ i32.ge_u $push48=, $pop47, $pop44
+ br_if $pop48, 0 # 0: down to label15
# BB#19: # %lor.lhs.false103
# in Loop: Header=BB2_1 Depth=1
block
- i32.const $push98=, 0
- i32.eq $push99=, $15, $pop98
- br_if $pop99, 0 # 0: down to label16
+ i32.const $push181=, 0
+ i32.eq $push182=, $2, $pop181
+ br_if $pop182, 0 # 0: down to label16
# BB#20: # %lor.lhs.false103
# in Loop: Header=BB2_1 Depth=1
- i32.xor $push51=, $15, $19
- i32.const $push52=, -1
- i32.le_s $push53=, $pop51, $pop52
- br_if $pop53, 1 # 1: down to label15
+ i32.xor $push49=, $2, $7
+ i32.const $push135=, -1
+ i32.le_s $push50=, $pop49, $pop135
+ br_if $pop50, 1 # 1: down to label15
.LBB2_21: # %cleanup.cont118
# in Loop: Header=BB2_1 Depth=1
end_block # label16:
- i32.const $14=, 65535
- i32.and $push54=, $1, $14
- i32.const $push100=, 0
- i32.eq $push101=, $pop54, $pop100
- br_if $pop101, 2 # 2: down to label11
+ i32.const $push136=, 65535
+ i32.and $push51=, $4, $pop136
+ i32.const $push183=, 0
+ i32.eq $push184=, $pop51, $pop183
+ br_if $pop184, 2 # 2: down to label11
# BB#22: # %cleanup.cont158
# in Loop: Header=BB2_1 Depth=1
- i32.const $15=, 16
- i32.shl $push55=, $19, $15
- i32.shr_s $4=, $pop55, $15
- i32.shl $16=, $1, $15
- i32.shr_s $5=, $16, $15
- i32.rem_s $push56=, $4, $5
- i32.shl $17=, $pop56, $15
- i32.shr_s $6=, $17, $15
- i32.const $18=, -65536
- i32.const $13=, 0
+ i32.const $push151=, 16
+ i32.shl $push52=, $7, $pop151
+ i32.const $push150=, 16
+ i32.shr_s $push6=, $pop52, $pop150
+ tee_local $push149=, $12=, $pop6
+ i32.const $push148=, 16
+ i32.shl $push53=, $4, $pop148
+ tee_local $push147=, $11=, $pop53
+ i32.const $push146=, 16
+ i32.shr_s $push7=, $pop147, $pop146
+ tee_local $push145=, $2=, $pop7
+ i32.rem_s $push54=, $pop149, $pop145
+ i32.const $push144=, 16
+ i32.shl $push55=, $pop54, $pop144
+ tee_local $push143=, $10=, $pop55
+ i32.const $push142=, 16
+ i32.shr_s $3=, $pop143, $pop142
block
- i32.gt_s $push57=, $17, $18
- i32.sub $push58=, $13, $6
- i32.select $push59=, $pop57, $6, $pop58
- i32.gt_s $push60=, $16, $18
- i32.sub $push61=, $13, $5
- i32.select $push62=, $pop60, $5, $pop61
- i32.and $push63=, $pop62, $14
- i32.ge_s $push64=, $pop59, $pop63
- br_if $pop64, 0 # 0: down to label17
+ i32.const $push141=, -65536
+ i32.gt_s $push56=, $10, $pop141
+ i32.const $push140=, 0
+ i32.sub $push57=, $pop140, $3
+ i32.select $push58=, $pop56, $3, $pop57
+ i32.const $push139=, -65536
+ i32.gt_s $push59=, $11, $pop139
+ i32.const $push138=, 0
+ i32.sub $push60=, $pop138, $2
+ i32.select $push61=, $pop59, $2, $pop60
+ i32.const $push137=, 65535
+ i32.and $push62=, $pop61, $pop137
+ i32.ge_s $push63=, $pop58, $pop62
+ br_if $pop63, 0 # 0: down to label17
# BB#23: # %lor.lhs.false197
# in Loop: Header=BB2_1 Depth=1
- i32.div_s $push65=, $4, $5
- i32.mul $push66=, $pop65, $5
- i32.add $push67=, $pop66, $6
- i32.shl $push68=, $pop67, $15
- i32.shr_s $push69=, $pop68, $15
- i32.ne $push70=, $pop69, $4
- br_if $pop70, 0 # 0: down to label17
+ i32.div_s $push64=, $12, $2
+ i32.mul $push65=, $pop64, $2
+ i32.add $push66=, $pop65, $3
+ i32.const $push153=, 16
+ i32.shl $push67=, $pop66, $pop153
+ i32.const $push152=, 16
+ i32.shr_s $push68=, $pop67, $pop152
+ i32.ne $push69=, $pop68, $12
+ br_if $pop69, 0 # 0: down to label17
# BB#24: # %if.end209
# in Loop: Header=BB2_1 Depth=1
- i32.const $5=, 255
- i32.and $push71=, $1, $5
- i32.const $push102=, 0
- i32.eq $push103=, $pop71, $pop102
- br_if $pop103, 3 # 3: down to label11
+ i32.const $push154=, 255
+ i32.and $push71=, $4, $pop154
+ i32.const $push185=, 0
+ i32.eq $push186=, $pop71, $pop185
+ br_if $pop186, 3 # 3: down to label11
# BB#25: # %cleanup.cont249
# in Loop: Header=BB2_1 Depth=1
- i32.const $15=, 24
- i32.shl $push72=, $19, $15
- i32.shr_s $14=, $pop72, $15
- i32.shl $6=, $1, $15
- i32.shr_s $1=, $6, $15
- i32.rem_s $push73=, $14, $1
- i32.shl $4=, $pop73, $15
- i32.shr_s $19=, $4, $15
- i32.const $16=, -16777216
+ i32.const $push169=, 24
+ i32.shl $push72=, $7, $pop169
+ i32.const $push168=, 24
+ i32.shr_s $push8=, $pop72, $pop168
+ tee_local $push167=, $2=, $pop8
+ i32.const $push166=, 24
+ i32.shl $push73=, $4, $pop166
+ tee_local $push165=, $3=, $pop73
+ i32.const $push164=, 24
+ i32.shr_s $push9=, $pop165, $pop164
+ tee_local $push163=, $4=, $pop9
+ i32.rem_s $push74=, $pop167, $pop163
+ i32.const $push162=, 24
+ i32.shl $push75=, $pop74, $pop162
+ tee_local $push161=, $12=, $pop75
+ i32.const $push160=, 24
+ i32.shr_s $7=, $pop161, $pop160
block
- i32.gt_s $push74=, $4, $16
- i32.sub $push75=, $13, $19
- i32.select $push76=, $pop74, $19, $pop75
- i32.gt_s $push77=, $6, $16
- i32.sub $push78=, $13, $1
- i32.select $push79=, $pop77, $1, $pop78
- i32.and $push80=, $pop79, $5
- i32.ge_s $push81=, $pop76, $pop80
- br_if $pop81, 0 # 0: down to label18
+ i32.const $push159=, -16777216
+ i32.gt_s $push76=, $12, $pop159
+ i32.const $push158=, 0
+ i32.sub $push77=, $pop158, $7
+ i32.select $push78=, $pop76, $7, $pop77
+ i32.const $push157=, -16777216
+ i32.gt_s $push79=, $3, $pop157
+ i32.const $push156=, 0
+ i32.sub $push80=, $pop156, $4
+ i32.select $push81=, $pop79, $4, $pop80
+ i32.const $push155=, 255
+ i32.and $push82=, $pop81, $pop155
+ i32.ge_s $push83=, $pop78, $pop82
+ br_if $pop83, 0 # 0: down to label18
# BB#26: # %lor.lhs.false288
# in Loop: Header=BB2_1 Depth=1
- i32.div_s $push82=, $14, $1
- i32.mul $push83=, $pop82, $1
- i32.add $push84=, $pop83, $19
- i32.shl $push85=, $pop84, $15
- i32.shr_s $push86=, $pop85, $15
- i32.eq $push87=, $pop86, $14
- br_if $pop87, 4 # 4: down to label11
+ i32.div_s $push84=, $2, $4
+ i32.mul $push85=, $pop84, $4
+ i32.add $push86=, $pop85, $7
+ i32.const $push171=, 24
+ i32.shl $push87=, $pop86, $pop171
+ i32.const $push170=, 24
+ i32.shr_s $push88=, $pop87, $pop170
+ i32.eq $push89=, $pop88, $2
+ br_if $pop89, 4 # 4: down to label11
.LBB2_27: # %if.then299
end_block # label18:
- i64.store $discard=, simple_rand.seed($13), $2
+ i32.const $push90=, 0
+ i64.store $discard=, simple_rand.seed($pop90), $1
call abort@FUNCTION
unreachable
.LBB2_28: # %if.then208
end_block # label17:
- i64.store $discard=, simple_rand.seed($13), $2
+ i32.const $push70=, 0
+ i64.store $discard=, simple_rand.seed($pop70), $1
call abort@FUNCTION
unreachable
.LBB2_29: # %if.then111
end_block # label15:
- i32.const $push88=, 0
- i64.store $discard=, simple_rand.seed($pop88), $2
+ i32.const $push91=, 0
+ i64.store $discard=, simple_rand.seed($pop91), $1
call abort@FUNCTION
unreachable
.LBB2_30: # %if.then32
end_block # label13:
- i32.const $push41=, 0
- i64.store $discard=, simple_rand.seed($pop41), $2
+ i32.const $push39=, 0
+ i64.store $discard=, simple_rand.seed($pop39), $1
call abort@FUNCTION
unreachable
.LBB2_31: # %cleanup301
# in Loop: Header=BB2_1 Depth=1
end_block # label11:
- i64.const $push89=, 1
- i64.add $0=, $0, $pop89
- i64.const $push90=, 10000
- i64.lt_s $push91=, $0, $pop90
- br_if $pop91, 0 # 0: up to label3
+ i64.const $push173=, 1
+ i64.add $0=, $0, $pop173
+ i64.const $push172=, 10000
+ i64.lt_s $push92=, $0, $pop172
+ br_if $pop92, 0 # 0: up to label3
# BB#32: # %for.end
end_loop # label4:
- i32.const $1=, 0
- i64.store $discard=, simple_rand.seed($1), $2
- call exit@FUNCTION, $1
+ i32.const $push93=, 0
+ i64.store $discard=, simple_rand.seed($pop93), $1
+ i32.const $push174=, 0
+ call exit@FUNCTION, $pop174
unreachable
.endfunc
.Lfunc_end2:
@@ -382,7 +433,7 @@ main: # @main
.type simple_rand.seed,@object # @simple_rand.seed
.section .data.simple_rand.seed,"aw",@progbits
- .align 3
+ .p2align 3
simple_rand.seed:
.int64 47114711 # 0x2cee9d7
.size simple_rand.seed, 8
diff --git a/test/torture-s/arith-rand.c.s b/test/torture-s/arith-rand.c.s
index 2528db984..b64f03ade 100644
--- a/test/torture-s/arith-rand.c.s
+++ b/test/torture-s/arith-rand.c.s
@@ -6,18 +6,18 @@
.type simple_rand,@function
simple_rand: # @simple_rand
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, simple_rand.seed($0)
- i32.const $push1=, 1103515245
- i32.mul $push2=, $pop0, $pop1
- i32.const $push3=, 12345
- i32.add $push4=, $pop2, $pop3
- i32.store $push5=, simple_rand.seed($0), $pop4
- i32.const $push6=, 8
- i32.shr_u $push7=, $pop5, $pop6
- return $pop7
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, simple_rand.seed($pop9)
+ i32.const $push2=, 1103515245
+ i32.mul $push3=, $pop1, $pop2
+ i32.const $push4=, 12345
+ i32.add $push5=, $pop3, $pop4
+ i32.store $push6=, simple_rand.seed($pop0), $pop5
+ i32.const $push7=, 8
+ i32.shr_u $push8=, $pop6, $pop7
+ return $pop8
.endfunc
.Lfunc_end0:
.size simple_rand, .Lfunc_end0-simple_rand
@@ -30,51 +30,53 @@ random_bitstring: # @random_bitstring
.result i32
.local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.load $1=, simple_rand.seed($3)
- copy_local $2=, $3
+ i32.const $2=, 0
+ i32.const $push8=, 0
+ i32.load $0=, simple_rand.seed($pop8)
+ i32.const $1=, 0
.LBB1_1: # %for.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $push0=, 1103515245
- i32.mul $push1=, $1, $pop0
- i32.const $push2=, 12345
- i32.add $1=, $pop1, $pop2
- i32.const $push3=, 9
- i32.shr_u $push4=, $1, $pop3
- i32.const $push5=, 15
- i32.and $0=, $pop4, $pop5
- i32.const $push15=, 0
- i32.eq $push16=, $0, $pop15
- br_if $pop16, 1 # 1: down to label1
+ i32.const $push13=, 1103515245
+ i32.mul $push1=, $0, $pop13
+ i32.const $push12=, 12345
+ i32.add $0=, $pop1, $pop12
+ i32.const $push11=, 9
+ i32.shr_u $push2=, $0, $pop11
+ i32.const $push10=, 15
+ i32.and $push0=, $pop2, $pop10
+ tee_local $push9=, $3=, $pop0
+ i32.const $push18=, 0
+ i32.eq $push19=, $pop9, $pop18
+ br_if $pop19, 1 # 1: down to label1
# BB#2: # %if.else
# in Loop: Header=BB1_1 Depth=1
- i32.add $2=, $0, $2
- i32.shl $3=, $3, $0
+ i32.add $1=, $3, $1
+ i32.shl $2=, $2, $3
block
- i32.const $push6=, 256
- i32.and $push7=, $1, $pop6
- i32.const $push17=, 0
- i32.eq $push18=, $pop7, $pop17
- br_if $pop18, 0 # 0: down to label2
+ i32.const $push14=, 256
+ i32.and $push3=, $0, $pop14
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop3, $pop20
+ br_if $pop21, 0 # 0: down to label2
# BB#3: # %if.then1
# in Loop: Header=BB1_1 Depth=1
- i32.const $push8=, 1
- i32.shl $push9=, $pop8, $0
- i32.const $push10=, -1
- i32.add $push11=, $pop9, $pop10
- i32.or $3=, $pop11, $3
+ i32.const $push16=, 1
+ i32.shl $push4=, $pop16, $3
+ i32.const $push15=, -1
+ i32.add $push5=, $pop4, $pop15
+ i32.or $2=, $pop5, $2
.LBB1_4: # %if.end
# in Loop: Header=BB1_1 Depth=1
end_block # label2:
- i32.const $push12=, 39
- i32.lt_u $push13=, $2, $pop12
- br_if $pop13, 0 # 0: up to label0
+ i32.const $push17=, 39
+ i32.lt_u $push6=, $1, $pop17
+ br_if $pop6, 0 # 0: up to label0
.LBB1_5: # %cleanup
end_loop # label1:
- i32.const $push14=, 0
- i32.store $discard=, simple_rand.seed($pop14), $1
- return $3
+ i32.const $push7=, 0
+ i32.store $discard=, simple_rand.seed($pop7), $0
+ return $2
.endfunc
.Lfunc_end1:
.size random_bitstring, .Lfunc_end1-random_bitstring
@@ -85,231 +87,272 @@ random_bitstring: # @random_bitstring
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.load $2=, simple_rand.seed($3)
- copy_local $0=, $3
+ i32.const $push70=, 0
+ i32.load $1=, simple_rand.seed($pop70)
+ i32.const $0=, 0
.LBB2_1: # %for.body
# =>This Loop Header: Depth=1
# Child Loop BB2_2 Depth 2
# Child Loop BB2_7 Depth 2
loop # label3:
- copy_local $11=, $3
- copy_local $13=, $3
+ i32.const $2=, 0
+ i32.const $4=, 0
.LBB2_2: # %for.cond.i
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label5:
- i32.const $4=, 1103515245
- i32.const $5=, 12345
- i32.mul $push0=, $2, $4
- i32.add $2=, $pop0, $5
- i32.const $6=, 9
- i32.const $7=, 15
- i32.shr_u $push1=, $2, $6
- i32.and $1=, $pop1, $7
- i32.const $push67=, 0
- i32.eq $push68=, $1, $pop67
- br_if $pop68, 1 # 1: down to label6
+ i32.const $push75=, 1103515245
+ i32.mul $push6=, $1, $pop75
+ i32.const $push74=, 12345
+ i32.add $1=, $pop6, $pop74
+ i32.const $push73=, 9
+ i32.shr_u $push7=, $1, $pop73
+ i32.const $push72=, 15
+ i32.and $push0=, $pop7, $pop72
+ tee_local $push71=, $5=, $pop0
+ i32.const $push134=, 0
+ i32.eq $push135=, $pop71, $pop134
+ br_if $pop135, 1 # 1: down to label6
# BB#3: # %if.else.i
# in Loop: Header=BB2_2 Depth=2
- i32.add $13=, $1, $13
- i32.shl $11=, $11, $1
+ i32.add $4=, $5, $4
+ i32.shl $2=, $2, $5
block
- i32.const $push2=, 256
- i32.and $push3=, $2, $pop2
- i32.const $push69=, 0
- i32.eq $push70=, $pop3, $pop69
- br_if $pop70, 0 # 0: down to label7
+ i32.const $push76=, 256
+ i32.and $push8=, $1, $pop76
+ i32.const $push136=, 0
+ i32.eq $push137=, $pop8, $pop136
+ br_if $pop137, 0 # 0: down to label7
# BB#4: # %if.then1.i
# in Loop: Header=BB2_2 Depth=2
- i32.const $push4=, 1
- i32.shl $push5=, $pop4, $1
- i32.const $push6=, -1
- i32.add $push7=, $pop5, $pop6
- i32.or $11=, $pop7, $11
+ i32.const $push78=, 1
+ i32.shl $push9=, $pop78, $5
+ i32.const $push77=, -1
+ i32.add $push10=, $pop9, $pop77
+ i32.or $2=, $pop10, $2
.LBB2_5: # %if.end.i
# in Loop: Header=BB2_2 Depth=2
end_block # label7:
- i32.const $push8=, 39
- i32.lt_u $push9=, $13, $pop8
- br_if $pop9, 0 # 0: up to label5
+ i32.const $push79=, 39
+ i32.lt_u $push11=, $4, $pop79
+ br_if $pop11, 0 # 0: up to label5
.LBB2_6: # %random_bitstring.exit
# in Loop: Header=BB2_1 Depth=1
end_loop # label6:
- i32.const $13=, 0
- copy_local $12=, $13
+ i32.const $4=, 0
+ i32.const $3=, 0
.LBB2_7: # %for.cond.i339
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label8:
- i32.mul $push10=, $2, $4
- i32.add $2=, $pop10, $5
- i32.shr_u $push11=, $2, $6
- i32.and $1=, $pop11, $7
- i32.const $push71=, 0
- i32.eq $push72=, $1, $pop71
- br_if $pop72, 1 # 1: down to label9
+ i32.const $push84=, 1103515245
+ i32.mul $push12=, $1, $pop84
+ i32.const $push83=, 12345
+ i32.add $1=, $pop12, $pop83
+ i32.const $push82=, 9
+ i32.shr_u $push13=, $1, $pop82
+ i32.const $push81=, 15
+ i32.and $push1=, $pop13, $pop81
+ tee_local $push80=, $5=, $pop1
+ i32.const $push138=, 0
+ i32.eq $push139=, $pop80, $pop138
+ br_if $pop139, 1 # 1: down to label9
# BB#8: # %if.else.i343
# in Loop: Header=BB2_7 Depth=2
- i32.add $12=, $1, $12
- i32.shl $13=, $13, $1
+ i32.add $3=, $5, $3
+ i32.shl $4=, $4, $5
block
- i32.const $push12=, 256
- i32.and $push13=, $2, $pop12
- i32.const $push73=, 0
- i32.eq $push74=, $pop13, $pop73
- br_if $pop74, 0 # 0: down to label10
+ i32.const $push85=, 256
+ i32.and $push14=, $1, $pop85
+ i32.const $push140=, 0
+ i32.eq $push141=, $pop14, $pop140
+ br_if $pop141, 0 # 0: down to label10
# BB#9: # %if.then1.i347
# in Loop: Header=BB2_7 Depth=2
- i32.const $push14=, 1
- i32.shl $push15=, $pop14, $1
- i32.const $push16=, -1
- i32.add $push17=, $pop15, $pop16
- i32.or $13=, $pop17, $13
+ i32.const $push87=, 1
+ i32.shl $push15=, $pop87, $5
+ i32.const $push86=, -1
+ i32.add $push16=, $pop15, $pop86
+ i32.or $4=, $pop16, $4
.LBB2_10: # %if.end.i350
# in Loop: Header=BB2_7 Depth=2
end_block # label10:
- i32.const $push18=, 39
- i32.lt_u $push19=, $12, $pop18
- br_if $pop19, 0 # 0: up to label8
+ i32.const $push88=, 39
+ i32.lt_u $push17=, $3, $pop88
+ br_if $pop17, 0 # 0: up to label8
.LBB2_11: # %random_bitstring.exit352
# in Loop: Header=BB2_1 Depth=1
end_loop # label9:
block
- i32.const $push75=, 0
- i32.eq $push76=, $13, $pop75
- br_if $pop76, 0 # 0: down to label11
+ i32.const $push142=, 0
+ i32.eq $push143=, $4, $pop142
+ br_if $pop143, 0 # 0: down to label11
# BB#12: # %cleanup.cont
# in Loop: Header=BB2_1 Depth=1
block
- i32.const $push20=, 2147483647
- i32.and $push21=, $11, $pop20
- br_if $pop21, 0 # 0: down to label12
+ i32.const $push89=, 2147483647
+ i32.and $push18=, $2, $pop89
+ br_if $pop18, 0 # 0: down to label12
# BB#13: # %cleanup.cont
# in Loop: Header=BB2_1 Depth=1
- i32.const $push22=, -1
- i32.eq $push23=, $13, $pop22
- br_if $pop23, 1 # 1: down to label11
+ i32.const $push90=, -1
+ i32.eq $push19=, $4, $pop90
+ br_if $pop19, 1 # 1: down to label11
.LBB2_14: # %if.end25
# in Loop: Header=BB2_1 Depth=1
end_block # label12:
- i32.const $1=, 31
- i32.shr_s $4=, $13, $1
- i32.rem_s $5=, $11, $13
- i32.shr_s $1=, $5, $1
+ i32.rem_s $5=, $2, $4
block
- i32.add $push26=, $5, $1
- i32.xor $push27=, $pop26, $1
- i32.add $push24=, $13, $4
- i32.xor $push25=, $pop24, $4
- i32.ge_u $push28=, $pop27, $pop25
- br_if $pop28, 0 # 0: down to label13
+ i32.const $push94=, 31
+ i32.shr_s $push23=, $5, $pop94
+ tee_local $push93=, $3=, $pop23
+ i32.add $push24=, $5, $pop93
+ i32.xor $push25=, $pop24, $3
+ i32.const $push92=, 31
+ i32.shr_s $push20=, $4, $pop92
+ tee_local $push91=, $5=, $pop20
+ i32.add $push21=, $4, $pop91
+ i32.xor $push22=, $pop21, $5
+ i32.ge_u $push26=, $pop25, $pop22
+ br_if $pop26, 0 # 0: down to label13
# BB#15: # %cleanup.cont47
# in Loop: Header=BB2_1 Depth=1
- i32.const $6=, 65535
- i32.and $push30=, $13, $6
- i32.const $push77=, 0
- i32.eq $push78=, $pop30, $pop77
- br_if $pop78, 1 # 1: down to label11
+ i32.const $push95=, 65535
+ i32.and $push28=, $4, $pop95
+ i32.const $push144=, 0
+ i32.eq $push145=, $pop28, $pop144
+ br_if $pop145, 1 # 1: down to label11
# BB#16: # %cleanup.cont86
# in Loop: Header=BB2_1 Depth=1
- i32.const $1=, 16
- i32.shl $push31=, $11, $1
- i32.shr_s $12=, $pop31, $1
- i32.shl $8=, $13, $1
- i32.shr_s $4=, $8, $1
- i32.rem_s $push32=, $12, $4
- i32.shl $9=, $pop32, $1
- i32.shr_s $7=, $9, $1
- i32.const $10=, -65536
- i32.const $5=, 0
+ i32.const $push110=, 16
+ i32.shl $push29=, $2, $pop110
+ i32.const $push109=, 16
+ i32.shr_s $push2=, $pop29, $pop109
+ tee_local $push108=, $8=, $pop2
+ i32.const $push107=, 16
+ i32.shl $push30=, $4, $pop107
+ tee_local $push106=, $7=, $pop30
+ i32.const $push105=, 16
+ i32.shr_s $push3=, $pop106, $pop105
+ tee_local $push104=, $5=, $pop3
+ i32.rem_s $push31=, $pop108, $pop104
+ i32.const $push103=, 16
+ i32.shl $push32=, $pop31, $pop103
+ tee_local $push102=, $6=, $pop32
+ i32.const $push101=, 16
+ i32.shr_s $3=, $pop102, $pop101
block
- i32.gt_s $push33=, $9, $10
- i32.sub $push34=, $5, $7
- i32.select $push35=, $pop33, $7, $pop34
- i32.gt_s $push36=, $8, $10
- i32.sub $push37=, $5, $4
- i32.select $push38=, $pop36, $4, $pop37
- i32.and $push39=, $pop38, $6
+ i32.const $push100=, -65536
+ i32.gt_s $push33=, $6, $pop100
+ i32.const $push99=, 0
+ i32.sub $push34=, $pop99, $3
+ i32.select $push35=, $pop33, $3, $pop34
+ i32.const $push98=, -65536
+ i32.gt_s $push36=, $7, $pop98
+ i32.const $push97=, 0
+ i32.sub $push37=, $pop97, $5
+ i32.select $push38=, $pop36, $5, $pop37
+ i32.const $push96=, 65535
+ i32.and $push39=, $pop38, $pop96
i32.ge_s $push40=, $pop35, $pop39
br_if $pop40, 0 # 0: down to label14
# BB#17: # %lor.lhs.false125
# in Loop: Header=BB2_1 Depth=1
- i32.div_s $push41=, $12, $4
- i32.mul $push42=, $pop41, $4
- i32.add $push43=, $pop42, $7
- i32.shl $push44=, $pop43, $1
- i32.shr_s $push45=, $pop44, $1
- i32.ne $push46=, $pop45, $12
+ i32.div_s $push41=, $8, $5
+ i32.mul $push42=, $pop41, $5
+ i32.add $push43=, $pop42, $3
+ i32.const $push112=, 16
+ i32.shl $push44=, $pop43, $pop112
+ i32.const $push111=, 16
+ i32.shr_s $push45=, $pop44, $pop111
+ i32.ne $push46=, $pop45, $8
br_if $pop46, 0 # 0: down to label14
# BB#18: # %if.end137
# in Loop: Header=BB2_1 Depth=1
- i32.const $4=, 255
- i32.and $push47=, $13, $4
- i32.const $push79=, 0
- i32.eq $push80=, $pop47, $pop79
- br_if $pop80, 2 # 2: down to label11
+ i32.const $push113=, 255
+ i32.and $push48=, $4, $pop113
+ i32.const $push146=, 0
+ i32.eq $push147=, $pop48, $pop146
+ br_if $pop147, 2 # 2: down to label11
# BB#19: # %cleanup.cont177
# in Loop: Header=BB2_1 Depth=1
- i32.const $1=, 24
- i32.shl $push48=, $11, $1
- i32.shr_s $6=, $pop48, $1
- i32.shl $7=, $13, $1
- i32.shr_s $13=, $7, $1
- i32.rem_s $push49=, $6, $13
- i32.shl $12=, $pop49, $1
- i32.shr_s $11=, $12, $1
- i32.const $8=, -16777216
+ i32.const $push128=, 24
+ i32.shl $push49=, $2, $pop128
+ i32.const $push127=, 24
+ i32.shr_s $push4=, $pop49, $pop127
+ tee_local $push126=, $2=, $pop4
+ i32.const $push125=, 24
+ i32.shl $push50=, $4, $pop125
+ tee_local $push124=, $3=, $pop50
+ i32.const $push123=, 24
+ i32.shr_s $push5=, $pop124, $pop123
+ tee_local $push122=, $5=, $pop5
+ i32.rem_s $push51=, $pop126, $pop122
+ i32.const $push121=, 24
+ i32.shl $push52=, $pop51, $pop121
+ tee_local $push120=, $8=, $pop52
+ i32.const $push119=, 24
+ i32.shr_s $4=, $pop120, $pop119
block
- i32.gt_s $push50=, $12, $8
- i32.sub $push51=, $5, $11
- i32.select $push52=, $pop50, $11, $pop51
- i32.gt_s $push53=, $7, $8
- i32.sub $push54=, $5, $13
- i32.select $push55=, $pop53, $13, $pop54
- i32.and $push56=, $pop55, $4
- i32.ge_s $push57=, $pop52, $pop56
- br_if $pop57, 0 # 0: down to label15
+ i32.const $push118=, -16777216
+ i32.gt_s $push53=, $8, $pop118
+ i32.const $push117=, 0
+ i32.sub $push54=, $pop117, $4
+ i32.select $push55=, $pop53, $4, $pop54
+ i32.const $push116=, -16777216
+ i32.gt_s $push56=, $3, $pop116
+ i32.const $push115=, 0
+ i32.sub $push57=, $pop115, $5
+ i32.select $push58=, $pop56, $5, $pop57
+ i32.const $push114=, 255
+ i32.and $push59=, $pop58, $pop114
+ i32.ge_s $push60=, $pop55, $pop59
+ br_if $pop60, 0 # 0: down to label15
# BB#20: # %lor.lhs.false216
# in Loop: Header=BB2_1 Depth=1
- i32.div_s $push58=, $6, $13
- i32.mul $push59=, $pop58, $13
- i32.add $push60=, $pop59, $11
- i32.shl $push61=, $pop60, $1
- i32.shr_s $push62=, $pop61, $1
- i32.eq $push63=, $pop62, $6
- br_if $pop63, 3 # 3: down to label11
+ i32.div_s $push61=, $2, $5
+ i32.mul $push62=, $pop61, $5
+ i32.add $push63=, $pop62, $4
+ i32.const $push130=, 24
+ i32.shl $push64=, $pop63, $pop130
+ i32.const $push129=, 24
+ i32.shr_s $push65=, $pop64, $pop129
+ i32.eq $push66=, $pop65, $2
+ br_if $pop66, 3 # 3: down to label11
.LBB2_21: # %if.then227
end_block # label15:
- i32.store $discard=, simple_rand.seed($5), $2
+ i32.const $push67=, 0
+ i32.store $discard=, simple_rand.seed($pop67), $1
call abort@FUNCTION
unreachable
.LBB2_22: # %if.then136
end_block # label14:
- i32.store $discard=, simple_rand.seed($5), $2
+ i32.const $push47=, 0
+ i32.store $discard=, simple_rand.seed($pop47), $1
call abort@FUNCTION
unreachable
.LBB2_23: # %if.then40
end_block # label13:
- i32.const $push29=, 0
- i32.store $discard=, simple_rand.seed($pop29), $2
+ i32.const $push27=, 0
+ i32.store $discard=, simple_rand.seed($pop27), $1
call abort@FUNCTION
unreachable
.LBB2_24: # %cleanup229
# in Loop: Header=BB2_1 Depth=1
end_block # label11:
- i32.const $push64=, 1
- i32.add $0=, $0, $pop64
- i32.const $push65=, 1000
- i32.lt_s $push66=, $0, $pop65
- br_if $pop66, 0 # 0: up to label3
+ i32.const $push132=, 1
+ i32.add $0=, $0, $pop132
+ i32.const $push131=, 1000
+ i32.lt_s $push68=, $0, $pop131
+ br_if $pop68, 0 # 0: up to label3
# BB#25: # %for.end
end_loop # label4:
- i32.const $1=, 0
- i32.store $discard=, simple_rand.seed($1), $2
- call exit@FUNCTION, $1
+ i32.const $push69=, 0
+ i32.store $discard=, simple_rand.seed($pop69), $1
+ i32.const $push133=, 0
+ call exit@FUNCTION, $pop133
unreachable
.endfunc
.Lfunc_end2:
@@ -317,7 +360,7 @@ main: # @main
.type simple_rand.seed,@object # @simple_rand.seed
.section .data.simple_rand.seed,"aw",@progbits
- .align 2
+ .p2align 2
simple_rand.seed:
.int32 47114711 # 0x2cee9d7
.size simple_rand.seed, 4
diff --git a/test/torture-s/bcp-1.c.s b/test/torture-s/bcp-1.c.s
index c27542eef..73e1e198b 100644
--- a/test/torture-s/bcp-1.c.s
+++ b/test/torture-s/bcp-1.c.s
@@ -232,97 +232,116 @@ opt2: # @opt2
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, bad_t0($0)
+ i32.const $push39=, 0
+ i32.load $push0=, bad_t0($pop39):p2align=4
i32.call_indirect $push1=, $pop0
br_if $pop1, 0 # 0: down to label0
# BB#1: # %for.cond
- i32.load $push2=, bad_t0+4($0)
+ i32.const $push40=, 0
+ i32.load $push2=, bad_t0+4($pop40)
i32.call_indirect $push3=, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#2: # %for.cond.1
- i32.load $push4=, bad_t0+8($0)
+ i32.const $push53=, 0
+ i32.load $push4=, bad_t0+8($pop53):p2align=3
i32.call_indirect $push5=, $pop4
br_if $pop5, 0 # 0: down to label0
# BB#3: # %for.cond.2
- i32.load $push6=, bad_t0+12($0)
+ i32.const $push54=, 0
+ i32.load $push6=, bad_t0+12($pop54)
i32.call_indirect $push7=, $pop6
br_if $pop7, 0 # 0: down to label0
# BB#4: # %for.cond.3
- i32.load $push8=, bad_t0+16($0)
+ i32.const $push55=, 0
+ i32.load $push8=, bad_t0+16($pop55):p2align=4
i32.call_indirect $push9=, $pop8
br_if $pop9, 0 # 0: down to label0
# BB#5: # %for.cond.4
- i32.load $push10=, bad_t0+20($0)
+ i32.const $push56=, 0
+ i32.load $push10=, bad_t0+20($pop56)
i32.call_indirect $push11=, $pop10
br_if $pop11, 0 # 0: down to label0
# BB#6: # %for.cond.5
- i32.load $1=, bad_t1($0)
- i32.const $2=, 1
block
- i32.call_indirect $push12=, $1, $2
- br_if $pop12, 0 # 0: down to label1
+ i32.const $push12=, 0
+ i32.load $push13=, bad_t1($pop12)
+ i32.const $push14=, 1
+ i32.call_indirect $push15=, $pop13, $pop14
+ br_if $pop15, 0 # 0: down to label1
# BB#7: # %for.cond1
- i32.load $push13=, bad_t1+4($0)
- i32.call_indirect $push14=, $pop13, $2
- br_if $pop14, 0 # 0: down to label1
+ i32.const $push42=, 0
+ i32.load $push16=, bad_t1+4($pop42)
+ i32.const $push41=, 1
+ i32.call_indirect $push17=, $pop16, $pop41
+ br_if $pop17, 0 # 0: down to label1
# BB#8: # %for.cond1.1
- i32.load $push15=, bad_t1+8($0)
- i32.call_indirect $push16=, $pop15, $2
- br_if $pop16, 0 # 0: down to label1
+ i32.const $push51=, 0
+ i32.load $push18=, bad_t1+8($pop51)
+ i32.const $push19=, 1
+ i32.call_indirect $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label1
# BB#9: # %for.cond1.2
- i32.load $1=, bad_t2($0)
- i32.const $2=, .L.str
block
- i32.call_indirect $push17=, $1, $2
- br_if $pop17, 0 # 0: down to label2
+ i32.const $push52=, 0
+ i32.load $push21=, bad_t2($pop52)
+ i32.const $push22=, .L.str
+ i32.call_indirect $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label2
# BB#10: # %for.cond12
- i32.load $push18=, bad_t2+4($0)
- i32.call_indirect $push19=, $pop18, $2
- br_if $pop19, 0 # 0: down to label2
+ i32.const $push44=, 0
+ i32.load $push24=, bad_t2+4($pop44)
+ i32.const $push43=, .L.str
+ i32.call_indirect $push25=, $pop24, $pop43
+ br_if $pop25, 0 # 0: down to label2
# BB#11: # %for.cond12.1
block
- i32.load $push20=, good_t0($0)
- i32.call_indirect $push21=, $pop20
- i32.const $push32=, 0
- i32.eq $push33=, $pop21, $pop32
- br_if $pop33, 0 # 0: down to label3
+ i32.const $push50=, 0
+ i32.load $push26=, good_t0($pop50)
+ i32.call_indirect $push27=, $pop26
+ i32.const $push57=, 0
+ i32.eq $push58=, $pop27, $pop57
+ br_if $pop58, 0 # 0: down to label3
# BB#12: # %for.cond23
- i32.load $push22=, good_t0+4($0)
- i32.call_indirect $push23=, $pop22
- i32.const $push34=, 0
- i32.eq $push35=, $pop23, $pop34
- br_if $pop35, 0 # 0: down to label3
+ i32.const $push45=, 0
+ i32.load $push28=, good_t0+4($pop45)
+ i32.call_indirect $push29=, $pop28
+ i32.const $push59=, 0
+ i32.eq $push60=, $pop29, $pop59
+ br_if $pop60, 0 # 0: down to label3
# BB#13: # %for.cond23.1
- i32.load $push24=, good_t0+8($0)
- i32.call_indirect $push25=, $pop24
- i32.const $push36=, 0
- i32.eq $push37=, $pop25, $pop36
- br_if $pop37, 0 # 0: down to label3
+ i32.const $push49=, 0
+ i32.load $push30=, good_t0+8($pop49)
+ i32.call_indirect $push31=, $pop30
+ i32.const $push61=, 0
+ i32.eq $push62=, $pop31, $pop61
+ br_if $pop62, 0 # 0: down to label3
# BB#14: # %for.cond23.2
block
- i32.load $push26=, opt_t0($0)
- i32.call_indirect $push27=, $pop26
- i32.const $push38=, 0
- i32.eq $push39=, $pop27, $pop38
- br_if $pop39, 0 # 0: down to label4
+ i32.const $push32=, 0
+ i32.load $push33=, opt_t0($pop32)
+ i32.call_indirect $push34=, $pop33
+ i32.const $push63=, 0
+ i32.eq $push64=, $pop34, $pop63
+ br_if $pop64, 0 # 0: down to label4
# BB#15: # %for.cond34
- i32.load $push28=, opt_t0+4($0)
- i32.call_indirect $push29=, $pop28
- i32.const $push40=, 0
- i32.eq $push41=, $pop29, $pop40
- br_if $pop41, 0 # 0: down to label4
+ i32.const $push46=, 0
+ i32.load $push35=, opt_t0+4($pop46)
+ i32.call_indirect $push36=, $pop35
+ i32.const $push65=, 0
+ i32.eq $push66=, $pop36, $pop65
+ br_if $pop66, 0 # 0: down to label4
# BB#16: # %for.cond34.1
- i32.load $push30=, opt_t0+8($0)
- i32.call_indirect $push31=, $pop30
- i32.const $push42=, 0
- i32.eq $push43=, $pop31, $pop42
- br_if $pop43, 0 # 0: down to label4
+ i32.const $push47=, 0
+ i32.load $push37=, opt_t0+8($pop47)
+ i32.call_indirect $push38=, $pop37
+ i32.const $push67=, 0
+ i32.eq $push68=, $pop38, $pop67
+ br_if $pop68, 0 # 0: down to label4
# BB#17: # %for.cond34.2
- call exit@FUNCTION, $0
+ i32.const $push48=, 0
+ call exit@FUNCTION, $pop48
unreachable
.LBB17_18: # %if.then40
end_block # label4:
@@ -352,7 +371,7 @@ main: # @main
.type bad_t0,@object
.section .data.bad_t0,"aw",@progbits
.globl bad_t0
- .align 4
+ .p2align 4
bad_t0:
.int32 bad0@FUNCTION
.int32 bad1@FUNCTION
@@ -366,7 +385,7 @@ bad_t0:
.type bad_t1,@object
.section .data.bad_t1,"aw",@progbits
.globl bad_t1
- .align 2
+ .p2align 2
bad_t1:
.int32 bad2@FUNCTION
.int32 bad3@FUNCTION
@@ -377,7 +396,7 @@ bad_t1:
.type bad_t2,@object
.section .data.bad_t2,"aw",@progbits
.globl bad_t2
- .align 2
+ .p2align 2
bad_t2:
.int32 bad4@FUNCTION
.int32 bad9@FUNCTION
@@ -387,7 +406,7 @@ bad_t2:
.type good_t0,@object
.section .data.good_t0,"aw",@progbits
.globl good_t0
- .align 2
+ .p2align 2
good_t0:
.int32 good0@FUNCTION
.int32 good1@FUNCTION
@@ -398,7 +417,7 @@ good_t0:
.type opt_t0,@object
.section .data.opt_t0,"aw",@progbits
.globl opt_t0
- .align 2
+ .p2align 2
opt_t0:
.int32 opt0@FUNCTION
.int32 opt1@FUNCTION
@@ -415,7 +434,7 @@ opt_t0:
.type global,@object
.section .bss.global,"aw",@nobits
.globl global
- .align 2
+ .p2align 2
global:
.int32 0 # 0x0
.size global, 4
diff --git a/test/torture-s/bf-layout-1.c.s b/test/torture-s/bf-layout-1.c.s
index df122b0e8..ddeaf4c54 100644
--- a/test/torture-s/bf-layout-1.c.s
+++ b/test/torture-s/bf-layout-1.c.s
@@ -18,7 +18,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 4
.size a, 4
@@ -27,7 +27,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.skip 4
.size b, 4
diff --git a/test/torture-s/bf-pack-1.c.s b/test/torture-s/bf-pack-1.c.s
index 548767655..3a0330b0c 100644
--- a/test/torture-s/bf-pack-1.c.s
+++ b/test/torture-s/bf-pack-1.c.s
@@ -10,25 +10,20 @@ f: # @f
.local i64
# BB#0: # %entry
block
- i32.const $push0=, 4
- i32.add $push1=, $0, $pop0
- i64.load32_u $push2=, 0($pop1)
- i64.const $push3=, 32
- i64.shl $push4=, $pop2, $pop3
- i64.load32_u $push5=, 0($0)
- i64.or $1=, $pop4, $pop5
- i64.const $push6=, 65535
- i64.and $push7=, $1, $pop6
- i64.const $push8=, 4660
- i64.ne $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label0
+ i64.load $push0=, 0($0):p2align=2
+ tee_local $push9=, $1=, $pop0
+ i64.const $push1=, 65535
+ i64.and $push2=, $pop9, $pop1
+ i64.const $push3=, 4660
+ i64.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
block
- i64.const $push10=, 281474976645120
- i64.and $push11=, $1, $pop10
- i64.const $push12=, 95075992076288
- i64.ne $push13=, $pop11, $pop12
- br_if $pop13, 0 # 0: down to label1
+ i64.const $push5=, 281474976645120
+ i64.and $push6=, $1, $pop5
+ i64.const $push7=, 95075992076288
+ i64.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label1
# BB#2: # %if.end6
return $0
.LBB0_3: # %if.then5
@@ -49,9 +44,21 @@ f: # @f
.type main,@function
main: # @main
.result i32
-# BB#0: # %f.exit
- i32.const $push0=, 0
- call exit@FUNCTION, $pop0
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i64.const $push0=, 95075992080948
+ i64.store $discard=, 8($3), $pop0
+ i32.const $2=, 8
+ i32.add $2=, $3, $2
+ i32.call $discard=, f@FUNCTION, $2
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/bf-sign-2.c.s b/test/torture-s/bf-sign-2.c.s
index 3def85495..a1bcdd1c2 100644
--- a/test/torture-s/bf-sign-2.c.s
+++ b/test/torture-s/bf-sign-2.c.s
@@ -6,89 +6,107 @@
.type main,@function
main: # @main
.result i32
- .local i64, i32, i32, i32
+ .local i64
# BB#0: # %entry
- i32.const $1=, 0
- i64.load $0=, x($1)
- i32.const $2=, 7
- i32.const $3=, -2
block
- i32.wrap/i64 $push0=, $0
- i32.and $push1=, $pop0, $2
- i32.add $push2=, $pop1, $3
- i32.lt_s $push3=, $pop2, $1
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push41=, 0
+ i64.load $push0=, x($pop41)
+ tee_local $push40=, $0=, $pop0
+ i32.wrap/i64 $push2=, $pop40
+ i32.const $push3=, 7
+ i32.and $push4=, $pop2, $pop3
+ i32.const $push39=, -2
+ i32.add $push5=, $pop4, $pop39
+ i32.const $push38=, 0
+ i32.lt_s $push6=, $pop5, $pop38
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %if.then
call abort@FUNCTION
unreachable
.LBB0_2: # %if.end
end_block # label0:
block
- i64.const $push4=, 31
- i64.shr_u $push5=, $0, $pop4
- i32.wrap/i64 $push6=, $pop5
- i32.const $push7=, 1
- i32.shr_s $push8=, $pop6, $pop7
- i32.add $push9=, $pop8, $3
- i32.lt_s $push10=, $pop9, $1
- br_if $pop10, 0 # 0: down to label1
+ i64.const $push7=, 31
+ i64.shr_u $push8=, $0, $pop7
+ i32.wrap/i64 $push9=, $pop8
+ i32.const $push10=, 1
+ i32.shr_s $push11=, $pop9, $pop10
+ i32.const $push43=, -2
+ i32.add $push12=, $pop11, $pop43
+ i32.const $push42=, 0
+ i32.lt_s $push13=, $pop12, $pop42
+ br_if $pop13, 0 # 0: down to label1
# BB#3: # %if.then4
call abort@FUNCTION
unreachable
.LBB0_4: # %if.end5
end_block # label1:
- i64.load $0=, x+8($1)
block
- i32.wrap/i64 $push11=, $0
- i32.add $push12=, $pop11, $3
- i32.lt_s $push13=, $pop12, $1
- br_if $pop13, 0 # 0: down to label2
+ i32.const $push47=, 0
+ i64.load $push1=, x+8($pop47)
+ tee_local $push46=, $0=, $pop1
+ i32.wrap/i64 $push14=, $pop46
+ i32.const $push45=, -2
+ i32.add $push15=, $pop14, $pop45
+ i32.const $push44=, 0
+ i32.lt_s $push16=, $pop15, $pop44
+ br_if $pop16, 0 # 0: down to label2
# BB#5: # %if.then12
call abort@FUNCTION
unreachable
.LBB0_6: # %if.end13
end_block # label2:
block
- i64.load $push14=, x+24($1)
- i64.const $push15=, 35
- i64.shr_u $push16=, $pop14, $pop15
- i32.wrap/i64 $push17=, $pop16
- i32.const $push18=, 32767
- i32.and $push19=, $pop17, $pop18
- i32.add $push20=, $pop19, $3
- i32.lt_s $push21=, $pop20, $1
- br_if $pop21, 0 # 0: down to label3
+ i32.const $push50=, 0
+ i64.load $push17=, x+24($pop50)
+ i64.const $push18=, 35
+ i64.shr_u $push19=, $pop17, $pop18
+ i32.wrap/i64 $push20=, $pop19
+ i32.const $push21=, 32767
+ i32.and $push22=, $pop20, $pop21
+ i32.const $push49=, -2
+ i32.add $push23=, $pop22, $pop49
+ i32.const $push48=, 0
+ i32.lt_s $push24=, $pop23, $pop48
+ br_if $pop24, 0 # 0: down to label3
# BB#7: # %if.then19
call abort@FUNCTION
unreachable
.LBB0_8: # %if.end20
end_block # label3:
block
- i64.const $push22=, 32
- i64.shr_u $push23=, $0, $pop22
- i32.wrap/i64 $push24=, $pop23
- i32.const $push25=, 2147483647
- i32.and $push26=, $pop24, $pop25
- i32.add $push27=, $pop26, $3
- i32.lt_s $push28=, $pop27, $1
- br_if $pop28, 0 # 0: down to label4
+ i64.const $push25=, 32
+ i64.shr_u $push26=, $0, $pop25
+ i32.wrap/i64 $push27=, $pop26
+ i32.const $push28=, 2147483647
+ i32.and $push29=, $pop27, $pop28
+ i32.const $push52=, -2
+ i32.add $push30=, $pop29, $pop52
+ i32.const $push51=, 0
+ i32.lt_s $push31=, $pop30, $pop51
+ br_if $pop31, 0 # 0: down to label4
# BB#9: # %if.then27
call abort@FUNCTION
unreachable
.LBB0_10: # %if.end35
end_block # label4:
block
- i32.load $push29=, x+20($1)
- i32.and $push30=, $pop29, $2
- i32.add $push31=, $pop30, $3
- i32.lt_s $push32=, $pop31, $1
- br_if $pop32, 0 # 0: down to label5
+ i32.const $push55=, 0
+ i32.load $push32=, x+20($pop55)
+ i32.const $push33=, 7
+ i32.and $push34=, $pop32, $pop33
+ i32.const $push54=, -2
+ i32.add $push35=, $pop34, $pop54
+ i32.const $push53=, 0
+ i32.lt_s $push36=, $pop35, $pop53
+ br_if $pop36, 0 # 0: down to label5
# BB#11: # %if.then42
call abort@FUNCTION
unreachable
.LBB0_12: # %if.end50
end_block # label5:
- call exit@FUNCTION, $1
+ i32.const $push37=, 0
+ call exit@FUNCTION, $pop37
unreachable
.endfunc
.Lfunc_end0:
@@ -98,7 +116,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 3
+ .p2align 3
x:
.skip 32
.size x, 32
diff --git a/test/torture-s/bf64-1.c.s b/test/torture-s/bf64-1.c.s
new file mode 100644
index 000000000..da638af88
--- /dev/null
+++ b/test/torture-s/bf64-1.c.s
@@ -0,0 +1,50 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/bf64-1.c"
+ .section .text.sub,"ax",@progbits
+ .hidden sub
+ .globl sub
+ .type sub,@function
+sub: # @sub
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1)
+ i64.const $push1=, -8690468286197432320
+ i64.or $push2=, $pop0, $pop1
+ i64.store $discard=, 0($0), $pop2
+ return
+ .endfunc
+.Lfunc_end0:
+ .size sub, .Lfunc_end0-sub
+
+ .section .text.sub2,"ax",@progbits
+ .hidden sub2
+ .globl sub2
+ .type sub2,@function
+sub2: # @sub2
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1)
+ i64.const $push1=, 2381903268435576
+ i64.or $push2=, $pop0, $pop1
+ i64.store $discard=, 0($0), $pop2
+ return
+ .endfunc
+.Lfunc_end1:
+ .size sub2, .Lfunc_end1-sub2
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end22
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/bitfld-3.c.s b/test/torture-s/bitfld-3.c.s
index b2d3c49f1..e4f30aa74 100644
--- a/test/torture-s/bitfld-3.c.s
+++ b/test/torture-s/bitfld-3.c.s
@@ -6,26 +6,30 @@
.type main,@function
main: # @main
.result i32
- .local i64, i32, i64, i64
+ .local i64, i64
# BB#0: # %entry
- i32.const $1=, 0
- i64.load $push0=, a($1)
- i64.const $push1=, 8589934591
- i64.and $0=, $pop0, $pop1
- i64.const $2=, 0
block
- i64.mul $push2=, $0, $0
- i64.ne $push3=, $pop2, $2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push14=, 0
+ i64.load $push1=, a($pop14)
+ i64.const $push2=, 8589934591
+ i64.and $push0=, $pop1, $pop2
+ tee_local $push13=, $0=, $pop0
+ i64.mul $push3=, $pop13, $0
+ i64.const $push12=, 0
+ i64.ne $push4=, $pop3, $pop12
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i64.load $push4=, a+8($1)
- i64.const $push5=, 1099511627775
- i64.and $3=, $pop4, $pop5
- i64.mul $push6=, $3, $0
- i64.mul $push7=, $3, $3
- i64.or $push8=, $pop6, $pop7
- i64.ne $push9=, $pop8, $2
- br_if $pop9, 0 # 0: down to label0
+ i32.const $push17=, 0
+ i64.load $push5=, a+8($pop17)
+ i64.const $push6=, 1099511627775
+ i64.and $push7=, $pop5, $pop6
+ tee_local $push16=, $1=, $pop7
+ i64.mul $push8=, $pop16, $0
+ i64.mul $push9=, $1, $1
+ i64.or $push10=, $pop8, $pop9
+ i64.const $push15=, 0
+ i64.ne $push11=, $pop10, $pop15
+ br_if $pop11, 0 # 0: down to label0
# BB#2: # %if.end
call abort@FUNCTION
unreachable
@@ -41,7 +45,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 3
+ .p2align 3
a:
.int8 0 # 0x0
.int8 0 # 0x0
@@ -68,7 +72,7 @@ a:
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 3
+ .p2align 3
b:
.int8 0 # 0x0
.int8 0 # 0x0
@@ -95,7 +99,7 @@ b:
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 3
+ .p2align 3
c:
.int8 255 # 0xff
.int8 255 # 0xff
diff --git a/test/torture-s/bitfld-4.c.s b/test/torture-s/bitfld-4.c.s
index 0aeeb9ca5..42aca2e9c 100644
--- a/test/torture-s/bitfld-4.c.s
+++ b/test/torture-s/bitfld-4.c.s
@@ -6,16 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, x($0)
+ i32.const $push3=, 0
+ i32.load $push0=, x($pop3)
i32.const $push1=, -1863803
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -28,7 +28,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int8 133 # 0x85
.int8 143 # 0x8f
diff --git a/test/torture-s/bitfld-5.c.s b/test/torture-s/bitfld-5.c.s
new file mode 100644
index 000000000..7589c8fdc
--- /dev/null
+++ b/test/torture-s/bitfld-5.c.s
@@ -0,0 +1,109 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/bitfld-5.c"
+ .section .text.g,"ax",@progbits
+ .hidden g
+ .globl g
+ .type g,@function
+g: # @g
+ .param i64, i64
+# BB#0: # %entry
+ #APP
+ #NO_APP
+ block
+ i64.ne $push0=, $0, $1
+ br_if $pop0, 0 # 0: down to label0
+# BB#1: # %if.end
+ return
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size g, .Lfunc_end0-g
+
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i64
+# BB#0: # %entry
+ #APP
+ #NO_APP
+ i64.load $push0=, 0($0)
+ i64.const $push1=, 2
+ i64.shr_u $push2=, $pop0, $pop1
+ i64.const $push3=, 1099511627775
+ i64.and $push4=, $pop2, $pop3
+ call g@FUNCTION, $pop4, $1
+ return
+ .endfunc
+.Lfunc_end1:
+ .size f, .Lfunc_end1-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $4=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $4=, 0($1), $4
+ i32.const $push0=, 0
+ i64.load $push1=, .Lmain.s($pop0)
+ i64.store $discard=, 8($4), $pop1
+ i64.const $push2=, 10
+ i32.const $3=, 8
+ i32.add $3=, $4, $3
+ call f@FUNCTION, $3, $pop2
+ i32.const $push6=, 0
+ i64.load $push3=, .Lmain.t($pop6)
+ i64.store $discard=, 0($4), $pop3
+ i64.const $push4=, 1099511627778
+ call f@FUNCTION, $4, $pop4
+ i32.const $push5=, 0
+ i32.const $2=, 16
+ i32.add $4=, $4, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ return $pop5
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .type .Lmain.s,@object # @main.s
+ .section .rodata.cst8,"aM",@progbits,8
+ .p2align 3
+.Lmain.s:
+ .int8 41 # 0x29
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 12 # 0xc
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .size .Lmain.s, 8
+
+ .type .Lmain.t,@object # @main.t
+ .p2align 3
+.Lmain.t:
+ .int8 9 # 0x9
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .int8 12 # 0xc
+ .int8 0 # 0x0
+ .int8 0 # 0x0
+ .size .Lmain.t, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/bswap-1.c.s b/test/torture-s/bswap-1.c.s
index 5250f0fec..317181fda 100644
--- a/test/torture-s/bswap-1.c.s
+++ b/test/torture-s/bswap-1.c.s
@@ -7,40 +7,43 @@
g: # @g
.param i64
.result i64
- .local i64, i64, i64, i64
# BB#0: # %entry
- i64.const $2=, 40
- i64.const $1=, 56
- i64.const $3=, 24
- i64.const $4=, 8
- i64.shl $push20=, $0, $1
- i64.shl $push21=, $0, $2
- i64.const $push22=, 71776119061217280
- i64.and $push23=, $pop21, $pop22
- i64.or $push24=, $pop20, $pop23
- i64.shl $push16=, $0, $3
- i64.const $push17=, 280375465082880
- i64.and $push18=, $pop16, $pop17
- i64.shl $push13=, $0, $4
- i64.const $push14=, 1095216660480
- i64.and $push15=, $pop13, $pop14
- i64.or $push19=, $pop18, $pop15
- i64.or $push25=, $pop24, $pop19
- i64.shr_u $push8=, $0, $4
- i64.const $push9=, 4278190080
+ i64.const $push0=, 56
+ i64.shl $push24=, $0, $pop0
+ i64.const $push2=, 40
+ i64.shl $push25=, $0, $pop2
+ i64.const $push26=, 71776119061217280
+ i64.and $push27=, $pop25, $pop26
+ i64.or $push28=, $pop24, $pop27
+ i64.const $push7=, 24
+ i64.shl $push20=, $0, $pop7
+ i64.const $push21=, 280375465082880
+ i64.and $push22=, $pop20, $pop21
+ i64.const $push11=, 8
+ i64.shl $push17=, $0, $pop11
+ i64.const $push18=, 1095216660480
+ i64.and $push19=, $pop17, $pop18
+ i64.or $push23=, $pop22, $pop19
+ i64.or $push29=, $pop28, $pop23
+ i64.const $push34=, 8
+ i64.shr_u $push12=, $0, $pop34
+ i64.const $push13=, 4278190080
+ i64.and $push14=, $pop12, $pop13
+ i64.const $push33=, 24
+ i64.shr_u $push8=, $0, $pop33
+ i64.const $push9=, 16711680
i64.and $push10=, $pop8, $pop9
- i64.shr_u $push5=, $0, $3
- i64.const $push6=, 16711680
- i64.and $push7=, $pop5, $pop6
- i64.or $push11=, $pop10, $pop7
- i64.shr_u $push1=, $0, $2
- i64.const $push2=, 65280
- i64.and $push3=, $pop1, $pop2
- i64.shr_u $push0=, $0, $1
- i64.or $push4=, $pop3, $pop0
- i64.or $push12=, $pop11, $pop4
- i64.or $push26=, $pop25, $pop12
- return $pop26
+ i64.or $push15=, $pop14, $pop10
+ i64.const $push32=, 40
+ i64.shr_u $push3=, $0, $pop32
+ i64.const $push4=, 65280
+ i64.and $push5=, $pop3, $pop4
+ i64.const $push31=, 56
+ i64.shr_u $push1=, $0, $pop31
+ i64.or $push6=, $pop5, $pop1
+ i64.or $push16=, $pop15, $pop6
+ i64.or $push30=, $pop29, $pop16
+ return $pop30
.endfunc
.Lfunc_end0:
.size g, .Lfunc_end0-g
@@ -52,40 +55,43 @@ g: # @g
f: # @f
.param i64
.result i64
- .local i64, i64, i64, i64
# BB#0: # %entry
- i64.const $2=, 40
- i64.const $1=, 56
- i64.const $3=, 24
- i64.const $4=, 8
- i64.shl $push20=, $0, $1
- i64.shl $push21=, $0, $2
- i64.const $push22=, 71776119061217280
- i64.and $push23=, $pop21, $pop22
- i64.or $push24=, $pop20, $pop23
- i64.shl $push16=, $0, $3
- i64.const $push17=, 280375465082880
- i64.and $push18=, $pop16, $pop17
- i64.shl $push13=, $0, $4
- i64.const $push14=, 1095216660480
- i64.and $push15=, $pop13, $pop14
- i64.or $push19=, $pop18, $pop15
- i64.or $push25=, $pop24, $pop19
- i64.shr_u $push8=, $0, $4
- i64.const $push9=, 4278190080
+ i64.const $push0=, 56
+ i64.shl $push24=, $0, $pop0
+ i64.const $push2=, 40
+ i64.shl $push25=, $0, $pop2
+ i64.const $push26=, 71776119061217280
+ i64.and $push27=, $pop25, $pop26
+ i64.or $push28=, $pop24, $pop27
+ i64.const $push7=, 24
+ i64.shl $push20=, $0, $pop7
+ i64.const $push21=, 280375465082880
+ i64.and $push22=, $pop20, $pop21
+ i64.const $push11=, 8
+ i64.shl $push17=, $0, $pop11
+ i64.const $push18=, 1095216660480
+ i64.and $push19=, $pop17, $pop18
+ i64.or $push23=, $pop22, $pop19
+ i64.or $push29=, $pop28, $pop23
+ i64.const $push34=, 8
+ i64.shr_u $push12=, $0, $pop34
+ i64.const $push13=, 4278190080
+ i64.and $push14=, $pop12, $pop13
+ i64.const $push33=, 24
+ i64.shr_u $push8=, $0, $pop33
+ i64.const $push9=, 16711680
i64.and $push10=, $pop8, $pop9
- i64.shr_u $push5=, $0, $3
- i64.const $push6=, 16711680
- i64.and $push7=, $pop5, $pop6
- i64.or $push11=, $pop10, $pop7
- i64.shr_u $push1=, $0, $2
- i64.const $push2=, 65280
- i64.and $push3=, $pop1, $pop2
- i64.shr_u $push0=, $0, $1
- i64.or $push4=, $pop3, $pop0
- i64.or $push12=, $pop11, $pop4
- i64.or $push26=, $pop25, $pop12
- return $pop26
+ i64.or $push15=, $pop14, $pop10
+ i64.const $push32=, 40
+ i64.shr_u $push3=, $0, $pop32
+ i64.const $push4=, 65280
+ i64.and $push5=, $pop3, $pop4
+ i64.const $push31=, 56
+ i64.shr_u $push1=, $0, $pop31
+ i64.or $push6=, $pop5, $pop1
+ i64.or $push16=, $pop15, $pop6
+ i64.or $push30=, $pop29, $pop16
+ return $pop30
.endfunc
.Lfunc_end1:
.size f, .Lfunc_end1-f
diff --git a/test/torture-s/builtin-constant.c.s b/test/torture-s/builtin-constant.c.s
index 813d0c12c..c048715df 100644
--- a/test/torture-s/builtin-constant.c.s
+++ b/test/torture-s/builtin-constant.c.s
@@ -29,11 +29,22 @@ foo: # @foo
main: # @main
.result i32
# BB#0: # %entry
- call abort@FUNCTION
+ i32.const $push0=, .L.str
+ call foo@FUNCTION, $pop0
+ i32.const $push2=, .L.str
+ call foo@FUNCTION, $pop2
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "0"
+ .size .L.str, 2
+
.ident "clang version 3.9.0 "
diff --git a/test/torture-s/builtin-prefetch-1.c.s b/test/torture-s/builtin-prefetch-1.c.s
index 55501479d..38b6a6844 100644
--- a/test/torture-s/builtin-prefetch-1.c.s
+++ b/test/torture-s/builtin-prefetch-1.c.s
@@ -55,8 +55,16 @@ good_vararg: # @good_vararg
main: # @main
.result i32
# BB#0: # %entry
- i32.const $push0=, 0
- call exit@FUNCTION, $pop0
+ i32.const $push0=, arr
+ call good_const@FUNCTION, $pop0
+ i32.const $push4=, arr
+ call good_enum@FUNCTION, $pop4
+ i32.const $push3=, arr
+ call good_expr@FUNCTION, $pop3
+ i32.const $push2=, arr
+ call good_vararg@FUNCTION, $pop2
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end4:
@@ -66,7 +74,7 @@ main: # @main
.type arr,@object
.section .bss.arr,"aw",@nobits
.globl arr
- .align 4
+ .p2align 4
arr:
.skip 40
.size arr, 40
diff --git a/test/torture-s/builtin-prefetch-2.c.s b/test/torture-s/builtin-prefetch-2.c.s
index 261aea6c4..c534108c2 100644
--- a/test/torture-s/builtin-prefetch-2.c.s
+++ b/test/torture-s/builtin-prefetch-2.c.s
@@ -66,14 +66,14 @@ simple_arg: # @simple_arg
i32.const $3=, __stack_pointer
i32.load $3=, 0($3)
i32.const $4=, 16
- i32.sub $3=, $3, $4
+ i32.sub $6=, $3, $4
i32.const $4=, __stack_pointer
- i32.store $3=, 0($4), $3
- i32.store $discard=, 12($3), $2
+ i32.store $6=, 0($4), $6
+ i32.store $discard=, 12($6), $2
i32.const $5=, 16
- i32.add $3=, $3, $5
+ i32.add $6=, $6, $5
i32.const $5=, __stack_pointer
- i32.store $3=, 0($5), $3
+ i32.store $6=, 0($5), $6
return
.endfunc
.Lfunc_end4:
@@ -118,20 +118,23 @@ expr_local: # @expr_local
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 80
- i32.sub $3=, $1, $2
- i32.const $2=, __stack_pointer
- i32.store $3=, 0($2), $3
- i32.const $0=, 0
- i32.load $push0=, glob_int($0)
- i32.store $discard=, 32($3), $pop0
- i32.const $push1=, str
- i32.store $discard=, str+16($0), $pop1
- call exit@FUNCTION, $0
+ call simple_global@FUNCTION
+ call simple_file@FUNCTION
+ call simple_static_local@FUNCTION
+ i32.const $push3=, glob_int_arr
+ i32.const $push0=, 0
+ i32.load $push1=, glob_ptr_int($pop0)
+ i32.const $push7=, 0
+ i32.load $push2=, glob_int($pop7)
+ call simple_arg@FUNCTION, $pop3, $pop1, $pop2
+ i32.const $push6=, 0
+ i32.const $push4=, str
+ i32.store $discard=, str+16($pop6), $pop4
+ call expr_global@FUNCTION
+ call expr_local@FUNCTION
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
unreachable
.endfunc
.Lfunc_end7:
@@ -141,7 +144,7 @@ main: # @main
.type glob_int_arr,@object
.section .bss.glob_int_arr,"aw",@nobits
.globl glob_int_arr
- .align 4
+ .p2align 4
glob_int_arr:
.skip 400
.size glob_int_arr, 400
@@ -150,7 +153,7 @@ glob_int_arr:
.type glob_ptr_int,@object
.section .data.glob_ptr_int,"aw",@progbits
.globl glob_ptr_int
- .align 2
+ .p2align 2
glob_ptr_int:
.int32 glob_int_arr
.size glob_ptr_int, 4
@@ -159,7 +162,7 @@ glob_ptr_int:
.type glob_int,@object
.section .data.glob_int,"aw",@progbits
.globl glob_int
- .align 2
+ .p2align 2
glob_int:
.int32 4 # 0x4
.size glob_int, 4
@@ -168,7 +171,7 @@ glob_int:
.type str,@object
.section .bss.str,"aw",@nobits
.globl str
- .align 2
+ .p2align 2
str:
.skip 20
.size str, 20
@@ -177,7 +180,7 @@ str:
.type ptr_str,@object
.section .data.ptr_str,"aw",@progbits
.globl ptr_str
- .align 2
+ .p2align 2
ptr_str:
.int32 str
.size ptr_str, 4
diff --git a/test/torture-s/builtin-prefetch-3.c.s b/test/torture-s/builtin-prefetch-3.c.s
index b6fecb3fd..e23d00424 100644
--- a/test/torture-s/builtin-prefetch-3.c.s
+++ b/test/torture-s/builtin-prefetch-3.c.s
@@ -5,11 +5,11 @@
.globl simple_vol_global
.type simple_vol_global,@function
simple_vol_global: # @simple_vol_global
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $discard=, glob_vol_ptr_int($0)
- i32.load $discard=, glob_vol_ptr_vol_int($0)
+ i32.const $push0=, 0
+ i32.load $discard=, glob_vol_ptr_int($pop0)
+ i32.const $push1=, 0
+ i32.load $discard=, glob_vol_ptr_vol_int($pop1)
return
.endfunc
.Lfunc_end0:
@@ -20,11 +20,11 @@ simple_vol_global: # @simple_vol_global
.globl simple_vol_file
.type simple_vol_file,@function
simple_vol_file: # @simple_vol_file
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $discard=, stat_vol_ptr_int($0)
- i32.load $discard=, stat_vol_ptr_vol_int($0)
+ i32.const $push0=, 0
+ i32.load $discard=, stat_vol_ptr_int($pop0)
+ i32.const $push1=, 0
+ i32.load $discard=, stat_vol_ptr_vol_int($pop1)
return
.endfunc
.Lfunc_end1:
@@ -35,39 +35,63 @@ simple_vol_file: # @simple_vol_file
.globl expr_vol_global
.type expr_vol_global,@function
expr_vol_global: # @expr_vol_global
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $discard=, vol_ptr_str($0)
- i32.load $discard=, vol_ptr_vol_str($0)
- i32.load $discard=, vol_ptr_str($0)
- i32.load $discard=, vol_ptr_vol_str($0)
- i32.load $discard=, vol_ptr_str($0)
- i32.load $discard=, vol_ptr_vol_str($0)
- i32.load $discard=, vol_str+16($0)
- i32.load $discard=, vol_ptr_str($0)
- i32.load $push0=, ptr_vol_str($0)
- i32.load $discard=, 16($pop0)
- i32.load $push1=, vol_ptr_vol_str($0)
+ i32.const $push0=, 0
+ i32.load $discard=, vol_ptr_str($pop0)
+ i32.const $push29=, 0
+ i32.load $discard=, vol_ptr_vol_str($pop29)
+ i32.const $push28=, 0
+ i32.load $discard=, vol_ptr_str($pop28)
+ i32.const $push27=, 0
+ i32.load $discard=, vol_ptr_vol_str($pop27)
+ i32.const $push26=, 0
+ i32.load $discard=, vol_ptr_str($pop26)
+ i32.const $push25=, 0
+ i32.load $discard=, vol_ptr_vol_str($pop25)
+ i32.const $push24=, 0
+ i32.load $discard=, vol_str+16($pop24)
+ i32.const $push23=, 0
+ i32.load $discard=, vol_ptr_str($pop23)
+ i32.const $push22=, 0
+ i32.load $push1=, ptr_vol_str($pop22)
i32.load $discard=, 16($pop1)
- i32.load $discard=, vol_str+16($0)
- i32.load $discard=, vol_ptr_str($0)
- i32.load $push2=, ptr_vol_str($0)
+ i32.const $push21=, 0
+ i32.load $push2=, vol_ptr_vol_str($pop21)
i32.load $discard=, 16($pop2)
- i32.load $push3=, vol_ptr_vol_str($0)
+ i32.const $push20=, 0
+ i32.load $discard=, vol_str+16($pop20)
+ i32.const $push19=, 0
+ i32.load $discard=, vol_ptr_str($pop19)
+ i32.const $push18=, 0
+ i32.load $push3=, ptr_vol_str($pop18)
i32.load $discard=, 16($pop3)
- i32.load $discard=, glob_vol_ptr_int($0)
- i32.load $discard=, glob_vol_ptr_vol_int($0)
- i32.load $discard=, glob_vol_ptr_int($0)
- i32.load $discard=, glob_vol_ptr_vol_int($0)
- i32.load $discard=, glob_vol_int($0)
- i32.load $discard=, glob_vol_ptr_int($0)
- i32.load $discard=, glob_vol_ptr_vol_int($0)
- i32.load $discard=, glob_vol_ptr_int($0)
- i32.load $discard=, glob_vol_int($0)
- i32.load $discard=, glob_vol_int($0)
- i32.load $discard=, glob_vol_ptr_vol_int($0)
- i32.load $discard=, glob_vol_int($0)
+ i32.const $push17=, 0
+ i32.load $push4=, vol_ptr_vol_str($pop17)
+ i32.load $discard=, 16($pop4)
+ i32.const $push16=, 0
+ i32.load $discard=, glob_vol_ptr_int($pop16)
+ i32.const $push15=, 0
+ i32.load $discard=, glob_vol_ptr_vol_int($pop15)
+ i32.const $push14=, 0
+ i32.load $discard=, glob_vol_ptr_int($pop14)
+ i32.const $push13=, 0
+ i32.load $discard=, glob_vol_ptr_vol_int($pop13)
+ i32.const $push12=, 0
+ i32.load $discard=, glob_vol_int($pop12)
+ i32.const $push11=, 0
+ i32.load $discard=, glob_vol_ptr_int($pop11)
+ i32.const $push10=, 0
+ i32.load $discard=, glob_vol_ptr_vol_int($pop10)
+ i32.const $push9=, 0
+ i32.load $discard=, glob_vol_ptr_int($pop9)
+ i32.const $push8=, 0
+ i32.load $discard=, glob_vol_int($pop8)
+ i32.const $push7=, 0
+ i32.load $discard=, glob_vol_int($pop7)
+ i32.const $push6=, 0
+ i32.load $discard=, glob_vol_ptr_vol_int($pop6)
+ i32.const $push5=, 0
+ i32.load $discard=, glob_vol_int($pop5)
return
.endfunc
.Lfunc_end2:
@@ -79,18 +103,17 @@ expr_vol_global: # @expr_vol_global
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $discard=, glob_vol_ptr_int($0)
- i32.load $discard=, glob_vol_ptr_vol_int($0)
- i32.load $discard=, stat_vol_ptr_int($0)
- i32.load $discard=, stat_vol_ptr_vol_int($0)
+ call simple_vol_global@FUNCTION
+ call simple_vol_file@FUNCTION
+ i32.const $push1=, 0
+ i32.const $push4=, 0
i32.const $push0=, str
- i32.store $push1=, str+16($0), $pop0
- i32.store $discard=, vol_str+16($0), $pop1
+ i32.store $push2=, str+16($pop4), $pop0
+ i32.store $discard=, vol_str+16($pop1), $pop2
call expr_vol_global@FUNCTION
- call exit@FUNCTION, $0
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.endfunc
.Lfunc_end3:
@@ -100,7 +123,7 @@ main: # @main
.type glob_int,@object
.section .data.glob_int,"aw",@progbits
.globl glob_int
- .align 2
+ .p2align 2
glob_int:
.int32 4 # 0x4
.size glob_int, 4
@@ -109,7 +132,7 @@ glob_int:
.type glob_int_arr,@object
.section .bss.glob_int_arr,"aw",@nobits
.globl glob_int_arr
- .align 4
+ .p2align 4
glob_int_arr:
.skip 400
.size glob_int_arr, 400
@@ -118,7 +141,7 @@ glob_int_arr:
.type glob_vol_ptr_int,@object
.section .data.glob_vol_ptr_int,"aw",@progbits
.globl glob_vol_ptr_int
- .align 2
+ .p2align 2
glob_vol_ptr_int:
.int32 glob_int_arr
.size glob_vol_ptr_int, 4
@@ -127,7 +150,7 @@ glob_vol_ptr_int:
.type glob_vol_int_arr,@object
.section .bss.glob_vol_int_arr,"aw",@nobits
.globl glob_vol_int_arr
- .align 4
+ .p2align 4
glob_vol_int_arr:
.skip 400
.size glob_vol_int_arr, 400
@@ -136,7 +159,7 @@ glob_vol_int_arr:
.type glob_ptr_vol_int,@object
.section .data.glob_ptr_vol_int,"aw",@progbits
.globl glob_ptr_vol_int
- .align 2
+ .p2align 2
glob_ptr_vol_int:
.int32 glob_vol_int_arr
.size glob_ptr_vol_int, 4
@@ -145,7 +168,7 @@ glob_ptr_vol_int:
.type glob_vol_ptr_vol_int,@object
.section .data.glob_vol_ptr_vol_int,"aw",@progbits
.globl glob_vol_ptr_vol_int
- .align 2
+ .p2align 2
glob_vol_ptr_vol_int:
.int32 glob_vol_int_arr
.size glob_vol_ptr_vol_int, 4
@@ -154,7 +177,7 @@ glob_vol_ptr_vol_int:
.type str,@object
.section .bss.str,"aw",@nobits
.globl str
- .align 2
+ .p2align 2
str:
.skip 20
.size str, 20
@@ -163,7 +186,7 @@ str:
.type vol_ptr_str,@object
.section .data.vol_ptr_str,"aw",@progbits
.globl vol_ptr_str
- .align 2
+ .p2align 2
vol_ptr_str:
.int32 str
.size vol_ptr_str, 4
@@ -172,7 +195,7 @@ vol_ptr_str:
.type vol_str,@object
.section .bss.vol_str,"aw",@nobits
.globl vol_str
- .align 2
+ .p2align 2
vol_str:
.skip 20
.size vol_str, 20
@@ -181,7 +204,7 @@ vol_str:
.type ptr_vol_str,@object
.section .data.ptr_vol_str,"aw",@progbits
.globl ptr_vol_str
- .align 2
+ .p2align 2
ptr_vol_str:
.int32 vol_str
.size ptr_vol_str, 4
@@ -190,7 +213,7 @@ ptr_vol_str:
.type vol_ptr_vol_str,@object
.section .data.vol_ptr_vol_str,"aw",@progbits
.globl vol_ptr_vol_str
- .align 2
+ .p2align 2
vol_ptr_vol_str:
.int32 vol_str
.size vol_ptr_vol_str, 4
@@ -199,7 +222,7 @@ vol_ptr_vol_str:
.type glob_vol_int,@object
.section .bss.glob_vol_int,"aw",@nobits
.globl glob_vol_int
- .align 2
+ .p2align 2
glob_vol_int:
.int32 0 # 0x0
.size glob_vol_int, 4
@@ -208,14 +231,14 @@ glob_vol_int:
.lcomm stat_vol_int_arr,400,4
.type stat_vol_ptr_int,@object # @stat_vol_ptr_int
.section .data.stat_vol_ptr_int,"aw",@progbits
- .align 2
+ .p2align 2
stat_vol_ptr_int:
.int32 stat_int_arr
.size stat_vol_ptr_int, 4
.type stat_vol_ptr_vol_int,@object # @stat_vol_ptr_vol_int
.section .data.stat_vol_ptr_vol_int,"aw",@progbits
- .align 2
+ .p2align 2
stat_vol_ptr_vol_int:
.int32 stat_vol_int_arr
.size stat_vol_ptr_vol_int, 4
diff --git a/test/torture-s/builtin-prefetch-4.c.s b/test/torture-s/builtin-prefetch-4.c.s
index e9ff83098..bdf492bab 100644
--- a/test/torture-s/builtin-prefetch-4.c.s
+++ b/test/torture-s/builtin-prefetch-4.c.s
@@ -23,9 +23,10 @@ assign_glob_ptr: # @assign_glob_ptr
.local i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $0=, ptr($pop0)
- i32.eq $push1=, $0, $0
- return $pop1
+ i32.load $push1=, ptr($pop0)
+ tee_local $push3=, $0=, $pop1
+ i32.eq $push2=, $pop3, $0
+ return $pop2
.endfunc
.Lfunc_end1:
.size assign_glob_ptr, .Lfunc_end1-assign_glob_ptr
@@ -53,9 +54,10 @@ assign_glob_idx: # @assign_glob_idx
.local i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $0=, arrindex($pop0)
- i32.eq $push1=, $0, $0
- return $pop1
+ i32.load $push1=, arrindex($pop0)
+ tee_local $push3=, $0=, $pop1
+ i32.eq $push2=, $pop3, $0
+ return $pop2
.endfunc
.Lfunc_end3:
.size assign_glob_idx, .Lfunc_end3-assign_glob_idx
@@ -80,15 +82,15 @@ preinc_arg_ptr: # @preinc_arg_ptr
.type preinc_glob_ptr,@function
preinc_glob_ptr: # @preinc_glob_ptr
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, ptr($0)
- i32.const $push1=, 4
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, ptr($0), $pop2
- i32.const $push3=, 1
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, ptr($pop5)
+ i32.const $push2=, 4
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, ptr($pop0), $pop3
+ i32.const $push4=, 1
+ return $pop4
.endfunc
.Lfunc_end5:
.size preinc_glob_ptr, .Lfunc_end5-preinc_glob_ptr
@@ -113,15 +115,15 @@ postinc_arg_ptr: # @postinc_arg_ptr
.type postinc_glob_ptr,@function
postinc_glob_ptr: # @postinc_glob_ptr
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, ptr($0)
- i32.const $push1=, 4
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, ptr($0), $pop2
- i32.const $push3=, 1
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, ptr($pop5)
+ i32.const $push2=, 4
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, ptr($pop0), $pop3
+ i32.const $push4=, 1
+ return $pop4
.endfunc
.Lfunc_end7:
.size postinc_glob_ptr, .Lfunc_end7-postinc_glob_ptr
@@ -146,15 +148,15 @@ predec_arg_ptr: # @predec_arg_ptr
.type predec_glob_ptr,@function
predec_glob_ptr: # @predec_glob_ptr
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, ptr($0)
- i32.const $push1=, -4
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, ptr($0), $pop2
- i32.const $push3=, 1
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, ptr($pop5)
+ i32.const $push2=, -4
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, ptr($pop0), $pop3
+ i32.const $push4=, 1
+ return $pop4
.endfunc
.Lfunc_end9:
.size predec_glob_ptr, .Lfunc_end9-predec_glob_ptr
@@ -179,15 +181,15 @@ postdec_arg_ptr: # @postdec_arg_ptr
.type postdec_glob_ptr,@function
postdec_glob_ptr: # @postdec_glob_ptr
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, ptr($0)
- i32.const $push1=, -4
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, ptr($0), $pop2
- i32.const $push3=, 1
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, ptr($pop5)
+ i32.const $push2=, -4
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, ptr($pop0), $pop3
+ i32.const $push4=, 1
+ return $pop4
.endfunc
.Lfunc_end11:
.size postdec_glob_ptr, .Lfunc_end11-postdec_glob_ptr
@@ -212,16 +214,17 @@ preinc_arg_idx: # @preinc_arg_idx
.type preinc_glob_idx,@function
preinc_glob_idx: # @preinc_glob_idx
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, arrindex($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $1=, arrindex($0), $pop2
- i32.load $push3=, arrindex($0)
- i32.eq $push4=, $pop3, $1
- return $pop4
+ i32.const $push0=, 0
+ i32.load $push5=, arrindex($pop0)
+ i32.const $push8=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, arrindex($pop7)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, arrindex($pop8), $pop3
+ i32.eq $push6=, $pop5, $pop4
+ return $pop6
.endfunc
.Lfunc_end13:
.size preinc_glob_idx, .Lfunc_end13-preinc_glob_idx
@@ -246,16 +249,17 @@ postinc_arg_idx: # @postinc_arg_idx
.type postinc_glob_idx,@function
postinc_glob_idx: # @postinc_glob_idx
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, arrindex($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $1=, arrindex($0), $pop2
- i32.load $push3=, arrindex($0)
- i32.eq $push4=, $pop3, $1
- return $pop4
+ i32.const $push0=, 0
+ i32.load $push5=, arrindex($pop0)
+ i32.const $push8=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, arrindex($pop7)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, arrindex($pop8), $pop3
+ i32.eq $push6=, $pop5, $pop4
+ return $pop6
.endfunc
.Lfunc_end15:
.size postinc_glob_idx, .Lfunc_end15-postinc_glob_idx
@@ -280,16 +284,17 @@ predec_arg_idx: # @predec_arg_idx
.type predec_glob_idx,@function
predec_glob_idx: # @predec_glob_idx
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, arrindex($0)
- i32.const $push1=, -1
- i32.add $push2=, $pop0, $pop1
- i32.store $1=, arrindex($0), $pop2
- i32.load $push3=, arrindex($0)
- i32.eq $push4=, $pop3, $1
- return $pop4
+ i32.const $push0=, 0
+ i32.load $push5=, arrindex($pop0)
+ i32.const $push8=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, arrindex($pop7)
+ i32.const $push2=, -1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, arrindex($pop8), $pop3
+ i32.eq $push6=, $pop5, $pop4
+ return $pop6
.endfunc
.Lfunc_end17:
.size predec_glob_idx, .Lfunc_end17-predec_glob_idx
@@ -314,16 +319,17 @@ postdec_arg_idx: # @postdec_arg_idx
.type postdec_glob_idx,@function
postdec_glob_idx: # @postdec_glob_idx
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, arrindex($0)
- i32.const $push1=, -1
- i32.add $push2=, $pop0, $pop1
- i32.store $1=, arrindex($0), $pop2
- i32.load $push3=, arrindex($0)
- i32.eq $push4=, $pop3, $1
- return $pop4
+ i32.const $push0=, 0
+ i32.load $push5=, arrindex($pop0)
+ i32.const $push8=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, arrindex($pop7)
+ i32.const $push2=, -1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, arrindex($pop8), $pop3
+ i32.eq $push6=, $pop5, $pop4
+ return $pop6
.endfunc
.Lfunc_end19:
.size postdec_glob_idx, .Lfunc_end19-postdec_glob_idx
@@ -335,16 +341,16 @@ postdec_glob_idx: # @postdec_glob_idx
getptr: # @getptr
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, getptrcnt($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, getptrcnt($1), $pop2
- i32.const $push3=, 4
- i32.add $push4=, $0, $pop3
- return $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, getptrcnt($pop6)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, getptrcnt($pop0), $pop3
+ i32.const $push4=, 4
+ i32.add $push5=, $0, $pop4
+ return $pop5
.endfunc
.Lfunc_end20:
.size getptr, .Lfunc_end20-getptr
@@ -356,15 +362,16 @@ getptr: # @getptr
funccall_arg_ptr: # @funccall_arg_ptr
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 1
- i32.load $push0=, getptrcnt($1)
- i32.add $push1=, $pop0, $2
- i32.store $push2=, getptrcnt($1), $pop1
- i32.eq $push3=, $pop2, $2
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, getptrcnt($pop7)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, getptrcnt($pop0), $pop3
+ i32.const $push6=, 1
+ i32.eq $push5=, $pop4, $pop6
+ return $pop5
.endfunc
.Lfunc_end21:
.size funccall_arg_ptr, .Lfunc_end21-funccall_arg_ptr
@@ -376,15 +383,16 @@ funccall_arg_ptr: # @funccall_arg_ptr
getint: # @getint
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 1
- i32.load $push0=, getintcnt($1)
- i32.add $push1=, $pop0, $2
- i32.store $discard=, getintcnt($1), $pop1
- i32.add $push2=, $0, $2
- return $pop2
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, getintcnt($pop6)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, getintcnt($pop0), $pop3
+ i32.const $push5=, 1
+ i32.add $push4=, $0, $pop5
+ return $pop4
.endfunc
.Lfunc_end22:
.size getint, .Lfunc_end22-getint
@@ -396,15 +404,16 @@ getint: # @getint
funccall_arg_idx: # @funccall_arg_idx
.param i32, i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.const $3=, 1
- i32.load $push0=, getintcnt($2)
- i32.add $push1=, $pop0, $3
- i32.store $push2=, getintcnt($2), $pop1
- i32.eq $push3=, $pop2, $3
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, getintcnt($pop7)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, getintcnt($pop0), $pop3
+ i32.const $push6=, 1
+ i32.eq $push5=, $pop4, $pop6
+ return $pop5
.endfunc
.Lfunc_end23:
.size funccall_arg_idx, .Lfunc_end23-funccall_arg_idx
@@ -415,102 +424,142 @@ funccall_arg_idx: # @funccall_arg_idx
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $0=, ptr($1)
block
- i32.ne $push4=, $0, $0
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push42=, 0
+ i32.load $push0=, ptr($pop42)
+ tee_local $push41=, $0=, $pop0
+ i32.ne $push5=, $pop41, $0
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end4
- i32.load $0=, arrindex($1)
block
- i32.ne $push5=, $0, $0
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push44=, 0
+ i32.load $push6=, arrindex($pop44)
+ tee_local $push43=, $0=, $pop6
+ i32.ne $push7=, $pop43, $0
+ br_if $pop7, 0 # 0: down to label1
# BB#2: # %if.end12
- i32.const $2=, 4
- i32.load $push6=, ptr($1)
- i32.add $push0=, $pop6, $2
- i32.store $discard=, ptr($1), $pop0
- i32.const $0=, 1
+ i32.const $push48=, 0
+ i32.const $push47=, 0
+ i32.load $push8=, ptr($pop47)
+ i32.const $push46=, 4
+ i32.add $push1=, $pop8, $pop46
+ i32.store $discard=, ptr($pop48), $pop1
block
- i32.const $push34=, 0
- i32.eq $push35=, $0, $pop34
- br_if $pop35, 0 # 0: down to label2
+ i32.const $push45=, 1
+ i32.const $push85=, 0
+ i32.eq $push86=, $pop45, $pop85
+ br_if $pop86, 0 # 0: down to label2
# BB#3: # %if.end20
+ i32.const $push52=, 0
+ i32.const $push51=, 0
+ i32.load $push2=, ptr($pop51)
+ i32.const $push50=, 4
+ i32.add $push9=, $pop2, $pop50
+ i32.store $discard=, ptr($pop52), $pop9
block
- i32.load $push1=, ptr($1)
- i32.add $push7=, $pop1, $2
- i32.store $discard=, ptr($1), $pop7
- i32.const $push36=, 0
- i32.eq $push37=, $0, $pop36
- br_if $pop37, 0 # 0: down to label3
+ i32.const $push49=, 1
+ i32.const $push87=, 0
+ i32.eq $push88=, $pop49, $pop87
+ br_if $pop88, 0 # 0: down to label3
# BB#4: # %if.end28
- i32.const $2=, -4
+ i32.const $push56=, 0
+ i32.const $push55=, 0
+ i32.load $push10=, ptr($pop55)
+ i32.const $push54=, -4
+ i32.add $push3=, $pop10, $pop54
+ i32.store $discard=, ptr($pop56), $pop3
block
- i32.load $push8=, ptr($1)
- i32.add $push2=, $pop8, $2
- i32.store $discard=, ptr($1), $pop2
- i32.const $push38=, 0
- i32.eq $push39=, $0, $pop38
- br_if $pop39, 0 # 0: down to label4
+ i32.const $push53=, 1
+ i32.const $push89=, 0
+ i32.eq $push90=, $pop53, $pop89
+ br_if $pop90, 0 # 0: down to label4
# BB#5: # %if.end36
+ i32.const $push60=, 0
+ i32.const $push59=, 0
+ i32.load $push4=, ptr($pop59)
+ i32.const $push58=, -4
+ i32.add $push11=, $pop4, $pop58
+ i32.store $discard=, ptr($pop60), $pop11
block
- i32.load $push3=, ptr($1)
- i32.add $push9=, $pop3, $2
- i32.store $discard=, ptr($1), $pop9
- i32.const $push40=, 0
- i32.eq $push41=, $0, $pop40
- br_if $pop41, 0 # 0: down to label5
+ i32.const $push57=, 1
+ i32.const $push91=, 0
+ i32.eq $push92=, $pop57, $pop91
+ br_if $pop92, 0 # 0: down to label5
# BB#6: # %if.end44
block
- i32.load $push10=, arrindex($1)
- i32.add $push11=, $pop10, $0
- i32.store $2=, arrindex($1), $pop11
- i32.load $push12=, arrindex($1)
- i32.ne $push13=, $pop12, $2
- br_if $pop13, 0 # 0: down to label6
+ i32.const $push64=, 0
+ i32.load $push15=, arrindex($pop64)
+ i32.const $push63=, 0
+ i32.const $push62=, 0
+ i32.load $push12=, arrindex($pop62)
+ i32.const $push61=, 1
+ i32.add $push13=, $pop12, $pop61
+ i32.store $push14=, arrindex($pop63), $pop13
+ i32.ne $push16=, $pop15, $pop14
+ br_if $pop16, 0 # 0: down to label6
# BB#7: # %if.end52
block
- i32.load $push14=, arrindex($1)
- i32.add $push15=, $pop14, $0
- i32.store $2=, arrindex($1), $pop15
- i32.load $push16=, arrindex($1)
- i32.ne $push17=, $pop16, $2
- br_if $pop17, 0 # 0: down to label7
+ i32.const $push68=, 0
+ i32.load $push20=, arrindex($pop68)
+ i32.const $push67=, 0
+ i32.const $push66=, 0
+ i32.load $push17=, arrindex($pop66)
+ i32.const $push65=, 1
+ i32.add $push18=, $pop17, $pop65
+ i32.store $push19=, arrindex($pop67), $pop18
+ i32.ne $push21=, $pop20, $pop19
+ br_if $pop21, 0 # 0: down to label7
# BB#8: # %if.end64
- i32.const $2=, -1
block
- i32.load $push18=, arrindex($1)
- i32.add $push19=, $pop18, $2
- i32.store $3=, arrindex($1), $pop19
- i32.load $push20=, arrindex($1)
- i32.ne $push21=, $pop20, $3
- br_if $pop21, 0 # 0: down to label8
+ i32.const $push72=, 0
+ i32.load $push25=, arrindex($pop72)
+ i32.const $push71=, 0
+ i32.const $push70=, 0
+ i32.load $push22=, arrindex($pop70)
+ i32.const $push69=, -1
+ i32.add $push23=, $pop22, $pop69
+ i32.store $push24=, arrindex($pop71), $pop23
+ i32.ne $push26=, $pop25, $pop24
+ br_if $pop26, 0 # 0: down to label8
# BB#9: # %if.end72
block
- i32.load $push22=, arrindex($1)
- i32.add $push23=, $pop22, $2
- i32.store $2=, arrindex($1), $pop23
- i32.load $push24=, arrindex($1)
- i32.ne $push25=, $pop24, $2
- br_if $pop25, 0 # 0: down to label9
+ i32.const $push76=, 0
+ i32.load $push30=, arrindex($pop76)
+ i32.const $push75=, 0
+ i32.const $push74=, 0
+ i32.load $push27=, arrindex($pop74)
+ i32.const $push73=, -1
+ i32.add $push28=, $pop27, $pop73
+ i32.store $push29=, arrindex($pop75), $pop28
+ i32.ne $push31=, $pop30, $pop29
+ br_if $pop31, 0 # 0: down to label9
# BB#10: # %if.end76
block
- i32.load $push26=, getptrcnt($1)
- i32.add $push27=, $pop26, $0
- i32.store $push28=, getptrcnt($1), $pop27
- i32.ne $push29=, $pop28, $0
- br_if $pop29, 0 # 0: down to label10
+ i32.const $push80=, 0
+ i32.const $push79=, 0
+ i32.load $push32=, getptrcnt($pop79)
+ i32.const $push78=, 1
+ i32.add $push33=, $pop32, $pop78
+ i32.store $push34=, getptrcnt($pop80), $pop33
+ i32.const $push77=, 1
+ i32.ne $push35=, $pop34, $pop77
+ br_if $pop35, 0 # 0: down to label10
# BB#11: # %if.end80
block
- i32.load $push30=, getintcnt($1)
- i32.add $push31=, $pop30, $0
- i32.store $push32=, getintcnt($1), $pop31
- i32.ne $push33=, $pop32, $0
- br_if $pop33, 0 # 0: down to label11
+ i32.const $push84=, 0
+ i32.const $push83=, 0
+ i32.load $push36=, getintcnt($pop83)
+ i32.const $push82=, 1
+ i32.add $push37=, $pop36, $pop82
+ i32.store $push38=, getintcnt($pop84), $pop37
+ i32.const $push81=, 1
+ i32.ne $push39=, $pop38, $pop81
+ br_if $pop39, 0 # 0: down to label11
# BB#12: # %if.end84
- call exit@FUNCTION, $1
+ i32.const $push40=, 0
+ call exit@FUNCTION, $pop40
unreachable
.LBB24_13: # %if.then83
end_block # label11:
@@ -568,7 +617,7 @@ main: # @main
.type arr,@object
.section .bss.arr,"aw",@nobits
.globl arr
- .align 4
+ .p2align 4
arr:
.skip 400
.size arr, 400
@@ -577,7 +626,7 @@ arr:
.type ptr,@object
.section .data.ptr,"aw",@progbits
.globl ptr
- .align 2
+ .p2align 2
ptr:
.int32 arr+80
.size ptr, 4
@@ -586,7 +635,7 @@ ptr:
.type arrindex,@object
.section .data.arrindex,"aw",@progbits
.globl arrindex
- .align 2
+ .p2align 2
arrindex:
.int32 4 # 0x4
.size arrindex, 4
@@ -595,7 +644,7 @@ arrindex:
.type getptrcnt,@object
.section .bss.getptrcnt,"aw",@nobits
.globl getptrcnt
- .align 2
+ .p2align 2
getptrcnt:
.int32 0 # 0x0
.size getptrcnt, 4
@@ -604,7 +653,7 @@ getptrcnt:
.type getintcnt,@object
.section .bss.getintcnt,"aw",@nobits
.globl getintcnt
- .align 2
+ .p2align 2
getintcnt:
.int32 0 # 0x0
.size getintcnt, 4
diff --git a/test/torture-s/builtin-prefetch-5.c.s b/test/torture-s/builtin-prefetch-5.c.s
index ada93c2ad..204baccd4 100644
--- a/test/torture-s/builtin-prefetch-5.c.s
+++ b/test/torture-s/builtin-prefetch-5.c.s
@@ -52,18 +52,25 @@ glob_idx: # @glob_idx
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, ptr($0)
+ i32.const $push1=, 0
i32.const $push0=, 3
- i32.store $discard=, idx($0), $pop0
- i32.const $push1=, 1
- i32.add $push2=, $1, $pop1
- i32.store $discard=, ptr($0), $pop2
- i32.const $push3=, 2
- i32.store $discard=, idx($0), $pop3
- call exit@FUNCTION, $0
+ i32.store $discard=, idx($pop1), $pop0
+ call glob_ptr@FUNCTION
+ call glob_idx@FUNCTION
+ i32.const $push9=, 0
+ i32.const $push8=, 0
+ i32.load $push2=, ptr($pop8)
+ i32.const $push3=, 1
+ i32.add $push4=, $pop2, $pop3
+ i32.store $discard=, ptr($pop9), $pop4
+ i32.const $push7=, 0
+ i32.const $push5=, 2
+ i32.store $discard=, idx($pop7), $pop5
+ call glob_ptr@FUNCTION
+ call glob_idx@FUNCTION
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.endfunc
.Lfunc_end4:
@@ -73,7 +80,7 @@ main: # @main
.type arr,@object
.section .bss.arr,"aw",@nobits
.globl arr
- .align 4
+ .p2align 4
arr:
.skip 100
.size arr, 100
@@ -82,7 +89,7 @@ arr:
.type ptr,@object
.section .data.ptr,"aw",@progbits
.globl ptr
- .align 2
+ .p2align 2
ptr:
.int32 arr
.size ptr, 4
@@ -91,7 +98,7 @@ ptr:
.type idx,@object
.section .data.idx,"aw",@progbits
.globl idx
- .align 2
+ .p2align 2
idx:
.int32 3 # 0x3
.size idx, 4
@@ -100,7 +107,7 @@ idx:
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 1
+ .p2align 1
s:
.skip 12
.size s, 12
diff --git a/test/torture-s/builtin-prefetch-6.c.s b/test/torture-s/builtin-prefetch-6.c.s
index 5709bc6f8..08adbcf55 100644
--- a/test/torture-s/builtin-prefetch-6.c.s
+++ b/test/torture-s/builtin-prefetch-6.c.s
@@ -5,65 +5,91 @@
.globl init_addrs
.type init_addrs,@function
init_addrs: # @init_addrs
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $push5=, 1024
- i32.store $discard=, bad_addr+40($0), $pop5
- i32.const $push6=, 2048
- i32.store $discard=, bad_addr+44($0), $pop6
- i32.const $push7=, 4096
- i32.store $discard=, bad_addr+48($0), $pop7
- i32.const $push8=, 8192
- i32.store $discard=, bad_addr+52($0), $pop8
- i32.const $push9=, 16384
- i32.store $discard=, bad_addr+56($0), $pop9
- i32.const $push10=, 32768
- i32.store $discard=, bad_addr+60($0), $pop10
- i32.const $push11=, 65536
- i32.store $discard=, bad_addr+64($0), $pop11
- i32.const $push12=, 131072
- i32.store $discard=, bad_addr+68($0), $pop12
- i32.const $push13=, 262144
- i32.store $discard=, bad_addr+72($0), $pop13
- i32.const $push14=, 524288
- i32.store $discard=, bad_addr+76($0), $pop14
- i32.const $push15=, 1048576
- i32.store $discard=, bad_addr+80($0), $pop15
- i32.const $push16=, 2097152
- i32.store $discard=, bad_addr+84($0), $pop16
- i32.const $push17=, 4194304
- i32.store $discard=, bad_addr+88($0), $pop17
- i32.const $push18=, 8388608
- i32.store $discard=, bad_addr+92($0), $pop18
- i32.const $push19=, 16777216
- i32.store $discard=, bad_addr+96($0), $pop19
- i32.const $push20=, 33554432
- i32.store $discard=, bad_addr+100($0), $pop20
- i32.const $push21=, 67108864
- i32.store $discard=, bad_addr+104($0), $pop21
- i32.const $push22=, 134217728
- i32.store $discard=, bad_addr+108($0), $pop22
- i32.const $push23=, 268435456
- i32.store $discard=, bad_addr+112($0), $pop23
- i32.const $push24=, 536870912
- i32.store $discard=, bad_addr+116($0), $pop24
- i32.const $push25=, 1073741824
- i32.store $discard=, bad_addr+120($0), $pop25
- i32.const $push26=, -2147483648
- i32.store $discard=, bad_addr+124($0), $pop26
- i32.const $push27=, 33
- i32.store $discard=, arr_used($0), $pop27
- i64.const $push0=, 8589934593
- i64.store $discard=, bad_addr($0), $pop0
- i64.const $push1=, 34359738372
- i64.store $discard=, bad_addr+8($0), $pop1
- i64.const $push2=, 137438953488
- i64.store $discard=, bad_addr+16($0), $pop2
- i64.const $push3=, 549755813952
- i64.store $discard=, bad_addr+24($0), $pop3
- i64.const $push4=, 2199023255808
- i64.store $discard=, bad_addr+32($0), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 1024
+ i32.store $discard=, bad_addr+40($pop0):p2align=3, $pop6
+ i32.const $push55=, 0
+ i32.const $push7=, 2048
+ i32.store $discard=, bad_addr+44($pop55), $pop7
+ i32.const $push54=, 0
+ i32.const $push8=, 4096
+ i32.store $discard=, bad_addr+48($pop54):p2align=4, $pop8
+ i32.const $push53=, 0
+ i32.const $push9=, 8192
+ i32.store $discard=, bad_addr+52($pop53), $pop9
+ i32.const $push52=, 0
+ i32.const $push10=, 16384
+ i32.store $discard=, bad_addr+56($pop52):p2align=3, $pop10
+ i32.const $push51=, 0
+ i32.const $push11=, 32768
+ i32.store $discard=, bad_addr+60($pop51), $pop11
+ i32.const $push50=, 0
+ i32.const $push12=, 65536
+ i32.store $discard=, bad_addr+64($pop50):p2align=4, $pop12
+ i32.const $push49=, 0
+ i32.const $push13=, 131072
+ i32.store $discard=, bad_addr+68($pop49), $pop13
+ i32.const $push48=, 0
+ i32.const $push14=, 262144
+ i32.store $discard=, bad_addr+72($pop48):p2align=3, $pop14
+ i32.const $push47=, 0
+ i32.const $push15=, 524288
+ i32.store $discard=, bad_addr+76($pop47), $pop15
+ i32.const $push46=, 0
+ i32.const $push16=, 1048576
+ i32.store $discard=, bad_addr+80($pop46):p2align=4, $pop16
+ i32.const $push45=, 0
+ i32.const $push17=, 2097152
+ i32.store $discard=, bad_addr+84($pop45), $pop17
+ i32.const $push44=, 0
+ i32.const $push18=, 4194304
+ i32.store $discard=, bad_addr+88($pop44):p2align=3, $pop18
+ i32.const $push43=, 0
+ i32.const $push19=, 8388608
+ i32.store $discard=, bad_addr+92($pop43), $pop19
+ i32.const $push42=, 0
+ i32.const $push20=, 16777216
+ i32.store $discard=, bad_addr+96($pop42):p2align=4, $pop20
+ i32.const $push41=, 0
+ i32.const $push21=, 33554432
+ i32.store $discard=, bad_addr+100($pop41), $pop21
+ i32.const $push40=, 0
+ i32.const $push22=, 67108864
+ i32.store $discard=, bad_addr+104($pop40):p2align=3, $pop22
+ i32.const $push39=, 0
+ i32.const $push23=, 134217728
+ i32.store $discard=, bad_addr+108($pop39), $pop23
+ i32.const $push38=, 0
+ i32.const $push24=, 268435456
+ i32.store $discard=, bad_addr+112($pop38):p2align=4, $pop24
+ i32.const $push37=, 0
+ i32.const $push25=, 536870912
+ i32.store $discard=, bad_addr+116($pop37), $pop25
+ i32.const $push36=, 0
+ i32.const $push26=, 1073741824
+ i32.store $discard=, bad_addr+120($pop36):p2align=3, $pop26
+ i32.const $push35=, 0
+ i32.const $push27=, -2147483648
+ i32.store $discard=, bad_addr+124($pop35), $pop27
+ i32.const $push34=, 0
+ i32.const $push28=, 33
+ i32.store $discard=, arr_used($pop34), $pop28
+ i32.const $push33=, 0
+ i64.const $push1=, 8589934593
+ i64.store $discard=, bad_addr($pop33):p2align=4, $pop1
+ i32.const $push32=, 0
+ i64.const $push2=, 34359738372
+ i64.store $discard=, bad_addr+8($pop32), $pop2
+ i32.const $push31=, 0
+ i64.const $push3=, 137438953488
+ i64.store $discard=, bad_addr+16($pop31):p2align=4, $pop3
+ i32.const $push30=, 0
+ i64.const $push4=, 549755813952
+ i64.store $discard=, bad_addr+24($pop30), $pop4
+ i32.const $push29=, 0
+ i64.const $push5=, 2199023255808
+ i64.store $discard=, bad_addr+32($pop29):p2align=4, $pop5
return
.endfunc
.Lfunc_end0:
@@ -117,85 +143,12 @@ prefetch_for_write: # @prefetch_for_write
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push5=, 1024
- i32.store $discard=, bad_addr+40($1), $pop5
- i32.const $push6=, 2048
- i32.store $discard=, bad_addr+44($1), $pop6
- i32.const $push7=, 4096
- i32.store $discard=, bad_addr+48($1), $pop7
- i32.const $push8=, 8192
- i32.store $discard=, bad_addr+52($1), $pop8
- i32.const $push9=, 16384
- i32.store $discard=, bad_addr+56($1), $pop9
- i32.const $push10=, 32768
- i32.store $discard=, bad_addr+60($1), $pop10
- i32.const $push11=, 65536
- i32.store $discard=, bad_addr+64($1), $pop11
- i32.const $push12=, 131072
- i32.store $discard=, bad_addr+68($1), $pop12
- i32.const $push13=, 262144
- i32.store $discard=, bad_addr+72($1), $pop13
- i32.const $push14=, 524288
- i32.store $discard=, bad_addr+76($1), $pop14
- i32.const $push15=, 1048576
- i32.store $discard=, bad_addr+80($1), $pop15
- i32.const $push16=, 2097152
- i32.store $discard=, bad_addr+84($1), $pop16
- i32.const $push17=, 4194304
- i32.store $discard=, bad_addr+88($1), $pop17
- i32.const $push18=, 8388608
- i32.store $discard=, bad_addr+92($1), $pop18
- i32.const $push19=, 16777216
- i32.store $discard=, bad_addr+96($1), $pop19
- i32.const $push20=, 33554432
- i32.store $discard=, bad_addr+100($1), $pop20
- i32.const $push21=, 67108864
- i32.store $discard=, bad_addr+104($1), $pop21
- i32.const $push22=, 134217728
- i32.store $discard=, bad_addr+108($1), $pop22
- i32.const $push23=, 268435456
- i32.store $discard=, bad_addr+112($1), $pop23
- i32.const $push24=, 536870912
- i32.store $discard=, bad_addr+116($1), $pop24
- i32.const $push25=, 1073741824
- i32.store $discard=, bad_addr+120($1), $pop25
- i32.const $push26=, -2147483648
- i32.store $discard=, bad_addr+124($1), $pop26
- i32.const $push27=, 33
- i32.store $discard=, arr_used($1), $pop27
- i64.const $push0=, 8589934593
- i64.store $discard=, bad_addr($1), $pop0
- i64.const $push1=, 34359738372
- i64.store $discard=, bad_addr+8($1), $pop1
- i64.const $push2=, 137438953488
- i64.store $discard=, bad_addr+16($1), $pop2
- i64.const $push3=, 549755813952
- i64.store $discard=, bad_addr+24($1), $pop3
- i32.const $0=, 4
- i64.const $push4=, 2199023255808
- i64.store $discard=, bad_addr+32($1), $pop4
- copy_local $2=, $0
-.LBB3_1: # %for.body.i5.for.body.i5_crit_edge
- # =>This Inner Loop Header: Depth=1
- loop # label4:
- i32.add $2=, $2, $0
- i32.const $3=, -260
- i32.const $push28=, 260
- i32.ne $push29=, $2, $pop28
- br_if $pop29, 0 # 0: up to label4
-.LBB3_2: # %for.body.i
- # =>This Inner Loop Header: Depth=1
- end_loop # label5:
- loop # label6:
- i32.const $push30=, 4
- i32.add $3=, $3, $pop30
- br_if $3, 0 # 0: up to label6
-# BB#3: # %prefetch_for_write.exit
- end_loop # label7:
- call exit@FUNCTION, $1
+ call init_addrs@FUNCTION
+ call prefetch_for_read@FUNCTION
+ call prefetch_for_write@FUNCTION
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
unreachable
.endfunc
.Lfunc_end3:
@@ -205,7 +158,7 @@ main: # @main
.type bad_addr,@object
.section .bss.bad_addr,"aw",@nobits
.globl bad_addr
- .align 4
+ .p2align 4
bad_addr:
.skip 260
.size bad_addr, 260
@@ -214,7 +167,7 @@ bad_addr:
.type arr_used,@object
.section .bss.arr_used,"aw",@nobits
.globl arr_used
- .align 2
+ .p2align 2
arr_used:
.int32 0 # 0x0
.size arr_used, 4
diff --git a/test/torture-s/builtin-types-compatible-p.c.s b/test/torture-s/builtin-types-compatible-p.c.s
index 9e754d834..e2786d532 100644
--- a/test/torture-s/builtin-types-compatible-p.c.s
+++ b/test/torture-s/builtin-types-compatible-p.c.s
@@ -18,7 +18,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -27,7 +27,7 @@ i:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 3
+ .p2align 3
d:
.int64 0 # double 0
.size d, 8
@@ -36,7 +36,7 @@ d:
.type rootbeer,@object
.section .bss.rootbeer,"aw",@nobits
.globl rootbeer
- .align 2
+ .p2align 2
rootbeer:
.skip 4
.size rootbeer, 4
diff --git a/test/torture-s/cbrt.c.s b/test/torture-s/cbrt.c.s
index f3d2f12e3..72a95cfa2 100644
--- a/test/torture-s/cbrt.c.s
+++ b/test/torture-s/cbrt.c.s
@@ -7,137 +7,152 @@
cbrtl: # @cbrtl
.param f64
.result f64
- .local i64, i32, i64, i32, i32, f64, f64, f64, i32, i32, i32, i32, i32, i32, i32, i32
+ .local f64, i32, i32, i64, f64, f64, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 16
- i32.sub $15=, $9, $10
- i32.const $10=, __stack_pointer
- i32.store $15=, 0($10), $15
- i64.const $push0=, 0
- i64.store $discard=, 8($15), $pop0
- f64.store $discard=, 0($15), $0
- i64.reinterpret/f64 $1=, $0
- i64.const $3=, 32
- i64.shr_u $push1=, $1, $3
- i32.wrap/i64 $4=, $pop1
- i32.const $push2=, -2147483648
- i32.and $2=, $4, $pop2
- i32.xor $4=, $2, $4
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 16
+ i32.sub $13=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $13=, 0($8), $13
+ i64.const $push3=, 0
+ i64.store $discard=, 8($13), $pop3
block
block
- i32.const $push3=, 2146435072
- i32.lt_s $push4=, $4, $pop3
- br_if $pop4, 0 # 0: down to label1
+ f64.store $push77=, 0($13), $0
+ tee_local $push82=, $0=, $pop77
+ i64.reinterpret/f64 $push0=, $pop82
+ tee_local $push81=, $4=, $pop0
+ i64.const $push4=, 32
+ i64.shr_u $push5=, $pop81, $pop4
+ i32.wrap/i64 $push6=, $pop5
+ tee_local $push80=, $3=, $pop6
+ i32.const $push7=, -2147483648
+ i32.and $push1=, $pop80, $pop7
+ tee_local $push79=, $2=, $pop1
+ i32.xor $push2=, $pop79, $3
+ tee_local $push78=, $3=, $pop2
+ i32.const $push8=, 2146435072
+ i32.lt_s $push9=, $pop78, $pop8
+ br_if $pop9, 0 # 0: down to label1
# BB#1: # %if.then
f64.add $0=, $0, $0
br 1 # 1: down to label0
.LBB0_2: # %if.end
end_block # label1:
- i32.wrap/i64 $push5=, $1
- i32.or $push6=, $pop5, $4
- i32.const $push62=, 0
- i32.eq $push63=, $pop6, $pop62
- br_if $pop63, 0 # 0: down to label0
+ i32.wrap/i64 $push10=, $4
+ i32.or $push11=, $pop10, $3
+ i32.const $push93=, 0
+ i32.eq $push94=, $pop11, $pop93
+ br_if $pop94, 0 # 0: down to label0
# BB#3: # %if.end13
- i32.const $5=, 4
- i32.const $12=, 0
- i32.add $12=, $15, $12
block
block
- i32.or $push7=, $12, $5
- i32.store $discard=, 0($pop7), $4
- i32.const $push8=, 1048575
- i32.gt_s $push9=, $4, $pop8
- br_if $pop9, 0 # 0: down to label3
+ i32.const $push84=, 4
+ i32.or $push12=, $13, $pop84
+ i32.store $push13=, 0($pop12), $3
+ tee_local $push83=, $3=, $pop13
+ i32.const $push14=, 1048575
+ i32.gt_s $push15=, $pop83, $pop14
+ br_if $pop15, 0 # 0: down to label3
# BB#4: # %if.then18
- i32.const $13=, 8
- i32.add $13=, $15, $13
- i32.or $4=, $13, $5
- i32.const $push14=, 1129316352
- i32.store $discard=, 0($4), $pop14
- f64.load $push15=, 8($15)
- f64.mul $push16=, $pop15, $0
- f64.store $push17=, 8($15), $pop16
- i64.reinterpret/f64 $push18=, $pop17
- i64.shr_u $push19=, $pop18, $3
- i32.wrap/i64 $push20=, $pop19
- i32.const $push21=, 3
- i32.div_u $push22=, $pop20, $pop21
- i32.const $push23=, 696219795
- i32.add $push24=, $pop22, $pop23
- i32.store $discard=, 0($4), $pop24
+ i32.const $push86=, 4
+ i32.const $10=, 8
+ i32.add $10=, $13, $10
+ i32.or $push21=, $10, $pop86
+ tee_local $push85=, $3=, $pop21
+ i32.const $push22=, 1129316352
+ i32.store $discard=, 0($pop85), $pop22
+ f64.load $push23=, 8($13)
+ f64.mul $push24=, $pop23, $0
+ f64.store $push25=, 8($13), $pop24
+ i64.reinterpret/f64 $push26=, $pop25
+ i64.const $push27=, 32
+ i64.shr_u $push28=, $pop26, $pop27
+ i32.wrap/i64 $push29=, $pop28
+ i32.const $push30=, 3
+ i32.div_u $push31=, $pop29, $pop30
+ i32.const $push32=, 696219795
+ i32.add $push33=, $pop31, $pop32
+ i32.store $discard=, 0($3), $pop33
br 1 # 1: down to label2
.LBB0_5: # %if.else
end_block # label3:
- i32.const $push10=, 3
- i32.div_s $4=, $4, $pop10
- i32.const $15=, 8
- i32.add $15=, $15, $15
- i32.or $push13=, $15, $5
- i32.const $push11=, 715094163
- i32.add $push12=, $4, $pop11
- i32.store $discard=, 0($pop13), $pop12
+ i32.const $push87=, 4
+ i32.const $12=, 8
+ i32.add $12=, $13, $12
+ i32.or $push20=, $12, $pop87
+ i32.const $push16=, 3
+ i32.div_s $push17=, $3, $pop16
+ i32.const $push18=, 715094163
+ i32.add $push19=, $pop17, $pop18
+ i32.store $discard=, 0($pop20), $pop19
.LBB0_6: # %if.end31
end_block # label2:
- f64.load $8=, 8($15)
- f64.load $6=, 0($15)
- f64.mul $push25=, $8, $8
- f64.div $push26=, $pop25, $6
- f64.mul $push27=, $8, $pop26
- f64.const $push28=, 0x1.15f15f15f15f1p-1
- f64.add $7=, $pop27, $pop28
- f64.const $push34=, 0x1.9b6db6db6db6ep0
- f64.const $push29=, 0x1.6a0ea0ea0ea0fp0
- f64.add $push30=, $7, $pop29
- f64.const $push31=, -0x1.691de2532c834p-1
- f64.div $push32=, $pop31, $7
- f64.add $push33=, $pop30, $pop32
- f64.div $push35=, $pop34, $pop33
- f64.const $push36=, 0x1.6db6db6db6db7p-2
- f64.add $push37=, $pop35, $pop36
- f64.mul $push38=, $8, $pop37
- f64.store $8=, 8($15), $pop38
- i32.const $push39=, 0
- i32.store $discard=, 8($15), $pop39
- i32.const $14=, 8
- i32.add $14=, $15, $14
- i32.or $4=, $14, $5
- i64.reinterpret/f64 $push40=, $8
- i64.shr_u $push41=, $pop40, $3
- i32.wrap/i64 $push42=, $pop41
- i32.const $push43=, 1
- i32.add $push44=, $pop42, $pop43
- i32.store $discard=, 0($4), $pop44
- f64.load $8=, 8($15)
- f64.mul $push45=, $8, $8
- f64.div $6=, $6, $pop45
- f64.sub $push47=, $6, $8
- f64.add $push46=, $8, $8
- f64.add $push48=, $pop46, $6
- f64.div $push49=, $pop47, $pop48
- f64.mul $push50=, $8, $pop49
- f64.add $push51=, $8, $pop50
- f64.store $push52=, 8($15), $pop51
- i64.reinterpret/f64 $push53=, $pop52
- i64.shr_u $push54=, $pop53, $3
- i32.wrap/i64 $push55=, $pop54
- i32.or $push56=, $pop55, $2
- i32.store $discard=, 0($4), $pop56
- f64.load $8=, 8($15)
- f64.mul $push57=, $8, $8
- f64.div $push58=, $0, $pop57
- f64.sub $push59=, $8, $pop58
- f64.const $push60=, -0x1.5555555555555p-2
- f64.mul $push61=, $pop59, $pop60
- f64.add $0=, $8, $pop61
+ f64.load $1=, 8($13)
+ f64.const $push45=, 0x1.9b6db6db6db6ep0
+ f64.mul $push34=, $1, $1
+ f64.load $push35=, 0($13)
+ tee_local $push92=, $6=, $pop35
+ f64.div $push36=, $pop34, $pop92
+ f64.mul $push37=, $1, $pop36
+ f64.const $push38=, 0x1.15f15f15f15f1p-1
+ f64.add $push39=, $pop37, $pop38
+ tee_local $push91=, $5=, $pop39
+ f64.const $push40=, 0x1.6a0ea0ea0ea0fp0
+ f64.add $push41=, $pop91, $pop40
+ f64.const $push42=, -0x1.691de2532c834p-1
+ f64.div $push43=, $pop42, $5
+ f64.add $push44=, $pop41, $pop43
+ f64.div $push46=, $pop45, $pop44
+ f64.const $push47=, 0x1.6db6db6db6db7p-2
+ f64.add $push48=, $pop46, $pop47
+ f64.mul $push49=, $1, $pop48
+ f64.store $1=, 8($13), $pop49
+ i32.const $push50=, 0
+ i32.store $discard=, 8($13):p2align=3, $pop50
+ i32.const $push57=, 4
+ i32.const $11=, 8
+ i32.add $11=, $13, $11
+ i32.or $push58=, $11, $pop57
+ tee_local $push90=, $3=, $pop58
+ i64.reinterpret/f64 $push51=, $1
+ i64.const $push52=, 32
+ i64.shr_u $push53=, $pop51, $pop52
+ i32.wrap/i64 $push54=, $pop53
+ i32.const $push55=, 1
+ i32.add $push56=, $pop54, $pop55
+ i32.store $discard=, 0($pop90), $pop56
+ f64.load $1=, 8($13)
+ f64.mul $push59=, $1, $1
+ f64.div $push60=, $6, $pop59
+ tee_local $push89=, $6=, $pop60
+ f64.sub $push62=, $pop89, $1
+ f64.add $push61=, $1, $1
+ f64.add $push63=, $pop61, $6
+ f64.div $push64=, $pop62, $pop63
+ f64.mul $push65=, $1, $pop64
+ f64.add $push66=, $1, $pop65
+ f64.store $push67=, 8($13), $pop66
+ i64.reinterpret/f64 $push68=, $pop67
+ i64.const $push88=, 32
+ i64.shr_u $push69=, $pop68, $pop88
+ i32.wrap/i64 $push70=, $pop69
+ i32.or $push71=, $pop70, $2
+ i32.store $discard=, 0($3), $pop71
+ f64.load $1=, 8($13)
+ f64.mul $push72=, $1, $1
+ f64.div $push73=, $0, $pop72
+ f64.sub $push74=, $1, $pop73
+ f64.const $push75=, -0x1.5555555555555p-2
+ f64.mul $push76=, $pop74, $pop75
+ f64.add $0=, $1, $pop76
.LBB0_7: # %cleanup
end_block # label0:
- i32.const $11=, 16
- i32.add $15=, $15, $11
- i32.const $11=, __stack_pointer
- i32.store $15=, 0($11), $15
+ i32.const $9=, 16
+ i32.add $13=, $13, $9
+ i32.const $9=, __stack_pointer
+ i32.store $13=, 0($9), $13
return $0
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/cmpdi-1.c.s b/test/torture-s/cmpdi-1.c.s
index 6dfe96bce..da593c815 100644
--- a/test/torture-s/cmpdi-1.c.s
+++ b/test/torture-s/cmpdi-1.c.s
@@ -176,11 +176,10 @@ fleu: # @fleu
.type main,@function
main: # @main
.result i32
- .local i32, i64, i32, i32, i32, i64, i32, i32, i32, i32, i32
+ .local i32, i64, i32, i32, i32, i32, i64
# BB#0: # %entry
- i32.const $6=, 0
i32.const $4=, correct_results
- copy_local $0=, $6
+ i32.const $0=, 0
.LBB10_1: # %for.body
# =>This Loop Header: Depth=1
# Child Loop BB10_2 Depth 2
@@ -195,119 +194,146 @@ main: # @main
block
block
loop # label10:
+ i32.const $push49=, 3
+ i32.shl $push1=, $0, $pop49
+ i64.load $1=, args($pop1)
i32.const $2=, args
- i32.const $push0=, 3
- i32.shl $push1=, $0, $pop0
- i32.add $push2=, $2, $pop1
- i64.load $1=, 0($pop2)
- copy_local $3=, $6
+ i32.const $3=, 0
.LBB10_2: # %for.body3
# Parent Loop BB10_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label12:
- i64.load $5=, 0($2)
- i64.eq $10=, $1, $5
- i32.const $7=, 140
- i32.const $8=, 13
- i32.select $push3=, $10, $8, $7
+ i64.load $push0=, 0($2)
+ tee_local $push53=, $6=, $pop0
+ i64.eq $push2=, $1, $pop53
+ tee_local $push52=, $5=, $pop2
+ i32.const $push51=, 13
+ i32.const $push50=, 140
+ i32.select $push3=, $pop52, $pop51, $pop50
i32.load $push4=, 0($4)
i32.ne $push5=, $pop3, $pop4
br_if $pop5, 13 # 13: down to label0
# BB#3: # %if.end
# in Loop: Header=BB10_2 Depth=2
- i32.select $push6=, $10, $7, $8
- i32.const $push7=, 4
- i32.add $push8=, $4, $pop7
- i32.load $push9=, 0($pop8)
- i32.ne $push10=, $pop6, $pop9
- br_if $pop10, 12 # 12: down to label1
+ i32.const $push56=, 140
+ i32.const $push55=, 13
+ i32.select $push6=, $5, $pop56, $pop55
+ i32.const $push54=, 4
+ i32.add $push7=, $4, $pop54
+ i32.load $push8=, 0($pop7)
+ i32.ne $push9=, $pop6, $pop8
+ br_if $pop9, 12 # 12: down to label1
# BB#4: # %if.end10
# in Loop: Header=BB10_2 Depth=2
- i32.const $10=, 8
- i64.lt_s $9=, $1, $5
- i32.select $push11=, $9, $8, $7
- i32.add $push12=, $4, $10
+ i64.lt_s $push10=, $1, $6
+ tee_local $push60=, $5=, $pop10
+ i32.const $push59=, 13
+ i32.const $push58=, 140
+ i32.select $push11=, $pop60, $pop59, $pop58
+ i32.const $push57=, 8
+ i32.add $push12=, $4, $pop57
i32.load $push13=, 0($pop12)
i32.ne $push14=, $pop11, $pop13
br_if $pop14, 11 # 11: down to label2
# BB#5: # %if.end15
# in Loop: Header=BB10_2 Depth=2
- i32.select $push15=, $9, $7, $8
- i32.const $push16=, 12
- i32.add $push17=, $4, $pop16
- i32.load $push18=, 0($pop17)
- i32.ne $push19=, $pop15, $pop18
- br_if $pop19, 10 # 10: down to label3
+ i32.const $push63=, 140
+ i32.const $push62=, 13
+ i32.select $push15=, $5, $pop63, $pop62
+ i32.const $push61=, 12
+ i32.add $push16=, $4, $pop61
+ i32.load $push17=, 0($pop16)
+ i32.ne $push18=, $pop15, $pop17
+ br_if $pop18, 10 # 10: down to label3
# BB#6: # %if.end20
# in Loop: Header=BB10_2 Depth=2
- i64.gt_s $9=, $1, $5
- i32.select $push20=, $9, $8, $7
- i32.const $push21=, 16
- i32.add $push22=, $4, $pop21
- i32.load $push23=, 0($pop22)
- i32.ne $push24=, $pop20, $pop23
- br_if $pop24, 9 # 9: down to label4
+ i64.gt_s $push19=, $1, $6
+ tee_local $push67=, $5=, $pop19
+ i32.const $push66=, 13
+ i32.const $push65=, 140
+ i32.select $push20=, $pop67, $pop66, $pop65
+ i32.const $push64=, 16
+ i32.add $push21=, $4, $pop64
+ i32.load $push22=, 0($pop21)
+ i32.ne $push23=, $pop20, $pop22
+ br_if $pop23, 9 # 9: down to label4
# BB#7: # %if.end25
# in Loop: Header=BB10_2 Depth=2
- i32.select $push25=, $9, $7, $8
- i32.const $push26=, 20
- i32.add $push27=, $4, $pop26
- i32.load $push28=, 0($pop27)
- i32.ne $push29=, $pop25, $pop28
- br_if $pop29, 8 # 8: down to label5
+ i32.const $push70=, 140
+ i32.const $push69=, 13
+ i32.select $push24=, $5, $pop70, $pop69
+ i32.const $push68=, 20
+ i32.add $push25=, $4, $pop68
+ i32.load $push26=, 0($pop25)
+ i32.ne $push27=, $pop24, $pop26
+ br_if $pop27, 8 # 8: down to label5
# BB#8: # %if.end30
# in Loop: Header=BB10_2 Depth=2
- i64.lt_u $9=, $1, $5
- i32.select $push30=, $9, $8, $7
- i32.const $push31=, 24
- i32.add $push32=, $4, $pop31
- i32.load $push33=, 0($pop32)
- i32.ne $push34=, $pop30, $pop33
- br_if $pop34, 7 # 7: down to label6
+ i64.lt_u $push28=, $1, $6
+ tee_local $push74=, $5=, $pop28
+ i32.const $push73=, 13
+ i32.const $push72=, 140
+ i32.select $push29=, $pop74, $pop73, $pop72
+ i32.const $push71=, 24
+ i32.add $push30=, $4, $pop71
+ i32.load $push31=, 0($pop30)
+ i32.ne $push32=, $pop29, $pop31
+ br_if $pop32, 7 # 7: down to label6
# BB#9: # %if.end35
# in Loop: Header=BB10_2 Depth=2
- i32.select $push35=, $9, $7, $8
- i32.const $push36=, 28
- i32.add $push37=, $4, $pop36
- i32.load $push38=, 0($pop37)
- i32.ne $push39=, $pop35, $pop38
- br_if $pop39, 6 # 6: down to label7
+ i32.const $push77=, 140
+ i32.const $push76=, 13
+ i32.select $push33=, $5, $pop77, $pop76
+ i32.const $push75=, 28
+ i32.add $push34=, $4, $pop75
+ i32.load $push35=, 0($pop34)
+ i32.ne $push36=, $pop33, $pop35
+ br_if $pop36, 6 # 6: down to label7
# BB#10: # %if.end40
# in Loop: Header=BB10_2 Depth=2
- i64.gt_u $9=, $1, $5
- i32.select $push40=, $9, $8, $7
- i32.const $push41=, 32
- i32.add $push42=, $4, $pop41
- i32.load $push43=, 0($pop42)
- i32.ne $push44=, $pop40, $pop43
- br_if $pop44, 5 # 5: down to label8
+ i64.gt_u $push37=, $1, $6
+ tee_local $push81=, $5=, $pop37
+ i32.const $push80=, 13
+ i32.const $push79=, 140
+ i32.select $push38=, $pop81, $pop80, $pop79
+ i32.const $push78=, 32
+ i32.add $push39=, $4, $pop78
+ i32.load $push40=, 0($pop39)
+ i32.ne $push41=, $pop38, $pop40
+ br_if $pop41, 5 # 5: down to label8
# BB#11: # %if.end45
# in Loop: Header=BB10_2 Depth=2
- i32.select $push45=, $9, $7, $8
- i32.const $push46=, 36
- i32.add $push47=, $4, $pop46
- i32.load $push48=, 0($pop47)
- i32.ne $push49=, $pop45, $pop48
- br_if $pop49, 4 # 4: down to label9
+ i32.const $push84=, 140
+ i32.const $push83=, 13
+ i32.select $push42=, $5, $pop84, $pop83
+ i32.const $push82=, 36
+ i32.add $push43=, $4, $pop82
+ i32.load $push44=, 0($pop43)
+ i32.ne $push45=, $pop42, $pop44
+ br_if $pop45, 4 # 4: down to label9
# BB#12: # %if.end50
# in Loop: Header=BB10_2 Depth=2
- i32.const $push50=, 40
- i32.add $4=, $4, $pop50
- i32.const $7=, 1
- i32.add $3=, $3, $7
- i32.add $2=, $2, $10
- i32.lt_s $push51=, $3, $10
- br_if $pop51, 0 # 0: up to label12
+ i32.const $push88=, 40
+ i32.add $4=, $4, $pop88
+ i32.const $push87=, 1
+ i32.add $3=, $3, $pop87
+ i32.const $push86=, 8
+ i32.add $2=, $2, $pop86
+ i32.const $push85=, 8
+ i32.lt_s $push46=, $3, $pop85
+ br_if $pop46, 0 # 0: up to label12
# BB#13: # %for.end
# in Loop: Header=BB10_1 Depth=1
end_loop # label13:
- i32.add $0=, $0, $7
- i32.lt_s $push52=, $0, $10
- br_if $pop52, 0 # 0: up to label10
+ i32.const $push90=, 1
+ i32.add $0=, $0, $pop90
+ i32.const $push89=, 8
+ i32.lt_s $push47=, $0, $pop89
+ br_if $pop47, 0 # 0: up to label10
# BB#14: # %for.end53
end_loop # label11:
- i32.const $push53=, 0
- call exit@FUNCTION, $pop53
+ i32.const $push48=, 0
+ call exit@FUNCTION, $pop48
unreachable
.LBB10_15: # %if.then49
end_block # label9:
@@ -357,7 +383,7 @@ main: # @main
.type args,@object
.section .data.args,"aw",@progbits
.globl args
- .align 4
+ .p2align 4
args:
.int64 0 # 0x0
.int64 1 # 0x1
@@ -373,7 +399,7 @@ args:
.type correct_results,@object
.section .data.correct_results,"aw",@progbits
.globl correct_results
- .align 4
+ .p2align 4
correct_results:
.int32 13 # 0xd
.int32 140 # 0x8c
diff --git a/test/torture-s/cmpsf-1.c.s b/test/torture-s/cmpsf-1.c.s
index e91c5c756..3e71ec369 100644
--- a/test/torture-s/cmpsf-1.c.s
+++ b/test/torture-s/cmpsf-1.c.s
@@ -116,11 +116,10 @@ fle: # @fle
.type main,@function
main: # @main
.result i32
- .local i32, f32, i32, i32, i32, f32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, f32, i32, i32, i32, f32, i32, i32
# BB#0: # %entry
- i32.const $6=, 0
i32.const $4=, correct_results
- copy_local $0=, $6
+ i32.const $0=, 0
.LBB6_1: # %for.body
# =>This Loop Header: Depth=1
# Child Loop BB6_2 Depth 2
@@ -131,39 +130,44 @@ main: # @main
block
block
loop # label6:
+ i32.const $push37=, 2
+ i32.shl $push1=, $0, $pop37
+ f32.load $1=, args($pop1)
i32.const $2=, args
- i32.const $push0=, 2
- i32.shl $push1=, $0, $pop0
- i32.add $push2=, $2, $pop1
- f32.load $1=, 0($pop2)
- copy_local $3=, $6
+ i32.const $3=, 0
.LBB6_2: # %for.body3
# Parent Loop BB6_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label8:
- f32.load $5=, 0($2)
- i32.const $7=, 140
- i32.const $8=, 13
- f32.eq $push3=, $1, $5
- i32.select $push4=, $pop3, $8, $7
- i32.load $push5=, 0($4)
- i32.ne $push6=, $pop4, $pop5
- br_if $pop6, 9 # 9: down to label0
+ f32.load $push0=, 0($2)
+ tee_local $push40=, $5=, $pop0
+ f32.eq $push2=, $1, $pop40
+ i32.const $push39=, 13
+ i32.const $push38=, 140
+ i32.select $push3=, $pop2, $pop39, $pop38
+ i32.load $push4=, 0($4)
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 9 # 9: down to label0
# BB#3: # %if.end
# in Loop: Header=BB6_2 Depth=2
- i32.const $9=, 4
- f32.ne $push7=, $1, $5
- i32.select $push8=, $pop7, $8, $7
- i32.add $push9=, $4, $9
- i32.load $push10=, 0($pop9)
- i32.ne $push11=, $pop8, $pop10
- br_if $pop11, 8 # 8: down to label1
+ f32.ne $push6=, $1, $5
+ i32.const $push43=, 13
+ i32.const $push42=, 140
+ i32.select $push7=, $pop6, $pop43, $pop42
+ i32.const $push41=, 4
+ i32.add $push8=, $4, $pop41
+ i32.load $push9=, 0($pop8)
+ i32.ne $push10=, $pop7, $pop9
+ br_if $pop10, 8 # 8: down to label1
# BB#4: # %if.end10
# in Loop: Header=BB6_2 Depth=2
- i32.const $11=, 8
- f32.lt $10=, $1, $5
- i32.select $push12=, $10, $8, $7
- i32.add $push13=, $4, $11
+ f32.lt $push11=, $1, $5
+ tee_local $push47=, $6=, $pop11
+ i32.const $push46=, 13
+ i32.const $push45=, 140
+ i32.select $push12=, $pop47, $pop46, $pop45
+ i32.const $push44=, 8
+ i32.add $push13=, $4, $pop44
i32.load $push14=, 0($pop13)
i32.ne $push15=, $pop12, $pop14
br_if $pop15, 7 # 7: down to label2
@@ -171,51 +175,63 @@ main: # @main
# in Loop: Header=BB6_2 Depth=2
f32.ne $push17=, $1, $1
f32.ne $push16=, $5, $5
- i32.or $12=, $pop17, $pop16
- i32.or $push18=, $10, $12
- i32.select $push19=, $pop18, $7, $8
- i32.const $push20=, 12
- i32.add $push21=, $4, $pop20
+ i32.or $push18=, $pop17, $pop16
+ tee_local $push51=, $7=, $pop18
+ i32.or $push19=, $6, $pop51
+ i32.const $push50=, 140
+ i32.const $push49=, 13
+ i32.select $push20=, $pop19, $pop50, $pop49
+ i32.const $push48=, 12
+ i32.add $push21=, $4, $pop48
i32.load $push22=, 0($pop21)
- i32.ne $push23=, $pop19, $pop22
+ i32.ne $push23=, $pop20, $pop22
br_if $pop23, 6 # 6: down to label3
# BB#6: # %if.end20
# in Loop: Header=BB6_2 Depth=2
- f32.gt $10=, $1, $5
- i32.select $push24=, $10, $8, $7
- i32.const $push25=, 16
- i32.add $push26=, $4, $pop25
+ f32.gt $push24=, $1, $5
+ tee_local $push55=, $6=, $pop24
+ i32.const $push54=, 13
+ i32.const $push53=, 140
+ i32.select $push25=, $pop55, $pop54, $pop53
+ i32.const $push52=, 16
+ i32.add $push26=, $4, $pop52
i32.load $push27=, 0($pop26)
- i32.ne $push28=, $pop24, $pop27
+ i32.ne $push28=, $pop25, $pop27
br_if $pop28, 5 # 5: down to label4
# BB#7: # %if.end25
# in Loop: Header=BB6_2 Depth=2
- i32.or $push29=, $10, $12
- i32.select $push30=, $pop29, $7, $8
- i32.const $push31=, 20
- i32.add $push32=, $4, $pop31
- i32.load $push33=, 0($pop32)
- i32.ne $push34=, $pop30, $pop33
- br_if $pop34, 4 # 4: down to label5
+ i32.or $push29=, $6, $7
+ i32.const $push58=, 140
+ i32.const $push57=, 13
+ i32.select $push30=, $pop29, $pop58, $pop57
+ i32.const $push56=, 20
+ i32.add $push31=, $4, $pop56
+ i32.load $push32=, 0($pop31)
+ i32.ne $push33=, $pop30, $pop32
+ br_if $pop33, 4 # 4: down to label5
# BB#8: # %if.end30
# in Loop: Header=BB6_2 Depth=2
- i32.const $push35=, 24
- i32.add $4=, $4, $pop35
- i32.add $2=, $2, $9
- i32.const $7=, 1
- i32.add $3=, $3, $7
- i32.lt_s $push36=, $3, $11
- br_if $pop36, 0 # 0: up to label8
+ i32.const $push62=, 24
+ i32.add $4=, $4, $pop62
+ i32.const $push61=, 1
+ i32.add $3=, $3, $pop61
+ i32.const $push60=, 4
+ i32.add $2=, $2, $pop60
+ i32.const $push59=, 8
+ i32.lt_s $push34=, $3, $pop59
+ br_if $pop34, 0 # 0: up to label8
# BB#9: # %for.end
# in Loop: Header=BB6_1 Depth=1
end_loop # label9:
- i32.add $0=, $0, $7
- i32.lt_s $push37=, $0, $11
- br_if $pop37, 0 # 0: up to label6
+ i32.const $push64=, 1
+ i32.add $0=, $0, $pop64
+ i32.const $push63=, 8
+ i32.lt_s $push35=, $0, $pop63
+ br_if $pop35, 0 # 0: up to label6
# BB#10: # %for.end33
end_loop # label7:
- i32.const $push38=, 0
- call exit@FUNCTION, $pop38
+ i32.const $push36=, 0
+ call exit@FUNCTION, $pop36
unreachable
.LBB6_11: # %if.then29
end_block # label5:
@@ -249,7 +265,7 @@ main: # @main
.type args,@object
.section .data.args,"aw",@progbits
.globl args
- .align 4
+ .p2align 4
args:
.int32 0 # float 0
.int32 1065353216 # float 1
@@ -265,7 +281,7 @@ args:
.type correct_results,@object
.section .data.correct_results,"aw",@progbits
.globl correct_results
- .align 4
+ .p2align 4
correct_results:
.int32 13 # 0xd
.int32 140 # 0x8c
diff --git a/test/torture-s/cmpsi-1.c.s b/test/torture-s/cmpsi-1.c.s
index 3530afe49..7927f7ee3 100644
--- a/test/torture-s/cmpsi-1.c.s
+++ b/test/torture-s/cmpsi-1.c.s
@@ -8,11 +8,12 @@ f1: # @f1
.param i32, i32
.result i32
# BB#0: # %entry
- i32.sub $1=, $0, $1
block
- i32.const $push0=, 0
- i32.ge_s $push1=, $1, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.sub $push0=, $0, $1
+ tee_local $push3=, $1=, $pop0
+ i32.const $push1=, 0
+ i32.ge_s $push2=, $pop3, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end3
return $1
.LBB0_2: # %if.then2
@@ -31,11 +32,12 @@ f2: # @f2
.param i32, i32
.result i32
# BB#0: # %entry
- i32.sub $1=, $0, $1
block
- i32.const $push0=, 0
- i32.ge_s $push1=, $1, $pop0
- br_if $pop1, 0 # 0: down to label1
+ i32.sub $push0=, $0, $1
+ tee_local $push3=, $1=, $pop0
+ i32.const $push1=, 0
+ i32.ge_s $push2=, $pop3, $pop1
+ br_if $pop2, 0 # 0: down to label1
# BB#1: # %if.end3
return $1
.LBB1_2: # %if.then2
diff --git a/test/torture-s/cmpsi-2.c.s b/test/torture-s/cmpsi-2.c.s
index 257965e43..ebb5e4c0b 100644
--- a/test/torture-s/cmpsi-2.c.s
+++ b/test/torture-s/cmpsi-2.c.s
@@ -176,11 +176,10 @@ fleu: # @fleu
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, 0
i32.const $4=, correct_results
- copy_local $0=, $6
+ i32.const $0=, 0
.LBB10_1: # %for.body
# =>This Loop Header: Depth=1
# Child Loop BB10_2 Depth 2
@@ -195,119 +194,146 @@ main: # @main
block
block
loop # label10:
+ i32.const $push49=, 2
+ i32.shl $push1=, $0, $pop49
+ i32.load $1=, args($pop1)
i32.const $2=, args
- i32.const $push0=, 2
- i32.shl $push1=, $0, $pop0
- i32.add $push2=, $2, $pop1
- i32.load $1=, 0($pop2)
- copy_local $3=, $6
+ i32.const $3=, 0
.LBB10_2: # %for.body3
# Parent Loop BB10_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label12:
- i32.load $5=, 0($2)
- i32.eq $11=, $1, $5
- i32.const $7=, 140
- i32.const $8=, 13
- i32.select $push3=, $11, $8, $7
+ i32.load $push0=, 0($2)
+ tee_local $push53=, $6=, $pop0
+ i32.eq $push2=, $1, $pop53
+ tee_local $push52=, $5=, $pop2
+ i32.const $push51=, 13
+ i32.const $push50=, 140
+ i32.select $push3=, $pop52, $pop51, $pop50
i32.load $push4=, 0($4)
i32.ne $push5=, $pop3, $pop4
br_if $pop5, 13 # 13: down to label0
# BB#3: # %if.end
# in Loop: Header=BB10_2 Depth=2
- i32.const $9=, 4
- i32.select $push6=, $11, $7, $8
- i32.add $push7=, $4, $9
+ i32.const $push56=, 140
+ i32.const $push55=, 13
+ i32.select $push6=, $5, $pop56, $pop55
+ i32.const $push54=, 4
+ i32.add $push7=, $4, $pop54
i32.load $push8=, 0($pop7)
i32.ne $push9=, $pop6, $pop8
br_if $pop9, 12 # 12: down to label1
# BB#4: # %if.end10
# in Loop: Header=BB10_2 Depth=2
- i32.const $11=, 8
- i32.lt_s $10=, $1, $5
- i32.select $push10=, $10, $8, $7
- i32.add $push11=, $4, $11
- i32.load $push12=, 0($pop11)
- i32.ne $push13=, $pop10, $pop12
- br_if $pop13, 11 # 11: down to label2
+ i32.lt_s $push10=, $1, $6
+ tee_local $push60=, $5=, $pop10
+ i32.const $push59=, 13
+ i32.const $push58=, 140
+ i32.select $push11=, $pop60, $pop59, $pop58
+ i32.const $push57=, 8
+ i32.add $push12=, $4, $pop57
+ i32.load $push13=, 0($pop12)
+ i32.ne $push14=, $pop11, $pop13
+ br_if $pop14, 11 # 11: down to label2
# BB#5: # %if.end15
# in Loop: Header=BB10_2 Depth=2
- i32.select $push14=, $10, $7, $8
- i32.const $push15=, 12
- i32.add $push16=, $4, $pop15
+ i32.const $push63=, 140
+ i32.const $push62=, 13
+ i32.select $push15=, $5, $pop63, $pop62
+ i32.const $push61=, 12
+ i32.add $push16=, $4, $pop61
i32.load $push17=, 0($pop16)
- i32.ne $push18=, $pop14, $pop17
+ i32.ne $push18=, $pop15, $pop17
br_if $pop18, 10 # 10: down to label3
# BB#6: # %if.end20
# in Loop: Header=BB10_2 Depth=2
- i32.gt_s $10=, $1, $5
- i32.select $push19=, $10, $8, $7
- i32.const $push20=, 16
- i32.add $push21=, $4, $pop20
+ i32.gt_s $push19=, $1, $6
+ tee_local $push67=, $5=, $pop19
+ i32.const $push66=, 13
+ i32.const $push65=, 140
+ i32.select $push20=, $pop67, $pop66, $pop65
+ i32.const $push64=, 16
+ i32.add $push21=, $4, $pop64
i32.load $push22=, 0($pop21)
- i32.ne $push23=, $pop19, $pop22
+ i32.ne $push23=, $pop20, $pop22
br_if $pop23, 9 # 9: down to label4
# BB#7: # %if.end25
# in Loop: Header=BB10_2 Depth=2
- i32.select $push24=, $10, $7, $8
- i32.const $push25=, 20
- i32.add $push26=, $4, $pop25
- i32.load $push27=, 0($pop26)
- i32.ne $push28=, $pop24, $pop27
- br_if $pop28, 8 # 8: down to label5
+ i32.const $push70=, 140
+ i32.const $push69=, 13
+ i32.select $push24=, $5, $pop70, $pop69
+ i32.const $push68=, 20
+ i32.add $push25=, $4, $pop68
+ i32.load $push26=, 0($pop25)
+ i32.ne $push27=, $pop24, $pop26
+ br_if $pop27, 8 # 8: down to label5
# BB#8: # %if.end30
# in Loop: Header=BB10_2 Depth=2
- i32.lt_u $10=, $1, $5
- i32.select $push29=, $10, $8, $7
- i32.const $push30=, 24
- i32.add $push31=, $4, $pop30
- i32.load $push32=, 0($pop31)
- i32.ne $push33=, $pop29, $pop32
- br_if $pop33, 7 # 7: down to label6
+ i32.lt_u $push28=, $1, $6
+ tee_local $push74=, $5=, $pop28
+ i32.const $push73=, 13
+ i32.const $push72=, 140
+ i32.select $push29=, $pop74, $pop73, $pop72
+ i32.const $push71=, 24
+ i32.add $push30=, $4, $pop71
+ i32.load $push31=, 0($pop30)
+ i32.ne $push32=, $pop29, $pop31
+ br_if $pop32, 7 # 7: down to label6
# BB#9: # %if.end35
# in Loop: Header=BB10_2 Depth=2
- i32.select $push34=, $10, $7, $8
- i32.const $push35=, 28
- i32.add $push36=, $4, $pop35
- i32.load $push37=, 0($pop36)
- i32.ne $push38=, $pop34, $pop37
- br_if $pop38, 6 # 6: down to label7
+ i32.const $push77=, 140
+ i32.const $push76=, 13
+ i32.select $push33=, $5, $pop77, $pop76
+ i32.const $push75=, 28
+ i32.add $push34=, $4, $pop75
+ i32.load $push35=, 0($pop34)
+ i32.ne $push36=, $pop33, $pop35
+ br_if $pop36, 6 # 6: down to label7
# BB#10: # %if.end40
# in Loop: Header=BB10_2 Depth=2
- i32.gt_u $5=, $1, $5
- i32.select $push39=, $5, $8, $7
- i32.const $push40=, 32
- i32.add $push41=, $4, $pop40
- i32.load $push42=, 0($pop41)
- i32.ne $push43=, $pop39, $pop42
- br_if $pop43, 5 # 5: down to label8
+ i32.gt_u $push37=, $1, $6
+ tee_local $push81=, $6=, $pop37
+ i32.const $push80=, 13
+ i32.const $push79=, 140
+ i32.select $push38=, $pop81, $pop80, $pop79
+ i32.const $push78=, 32
+ i32.add $push39=, $4, $pop78
+ i32.load $push40=, 0($pop39)
+ i32.ne $push41=, $pop38, $pop40
+ br_if $pop41, 5 # 5: down to label8
# BB#11: # %if.end45
# in Loop: Header=BB10_2 Depth=2
- i32.select $push44=, $5, $7, $8
- i32.const $push45=, 36
- i32.add $push46=, $4, $pop45
- i32.load $push47=, 0($pop46)
- i32.ne $push48=, $pop44, $pop47
- br_if $pop48, 4 # 4: down to label9
+ i32.const $push84=, 140
+ i32.const $push83=, 13
+ i32.select $push42=, $6, $pop84, $pop83
+ i32.const $push82=, 36
+ i32.add $push43=, $4, $pop82
+ i32.load $push44=, 0($pop43)
+ i32.ne $push45=, $pop42, $pop44
+ br_if $pop45, 4 # 4: down to label9
# BB#12: # %if.end50
# in Loop: Header=BB10_2 Depth=2
- i32.const $push49=, 40
- i32.add $4=, $4, $pop49
- i32.add $2=, $2, $9
- i32.const $7=, 1
- i32.add $3=, $3, $7
- i32.lt_s $push50=, $3, $11
- br_if $pop50, 0 # 0: up to label12
+ i32.const $push88=, 40
+ i32.add $4=, $4, $pop88
+ i32.const $push87=, 1
+ i32.add $3=, $3, $pop87
+ i32.const $push86=, 4
+ i32.add $2=, $2, $pop86
+ i32.const $push85=, 8
+ i32.lt_s $push46=, $3, $pop85
+ br_if $pop46, 0 # 0: up to label12
# BB#13: # %for.end
# in Loop: Header=BB10_1 Depth=1
end_loop # label13:
- i32.add $0=, $0, $7
- i32.lt_s $push51=, $0, $11
- br_if $pop51, 0 # 0: up to label10
+ i32.const $push90=, 1
+ i32.add $0=, $0, $pop90
+ i32.const $push89=, 8
+ i32.lt_s $push47=, $0, $pop89
+ br_if $pop47, 0 # 0: up to label10
# BB#14: # %for.end53
end_loop # label11:
- i32.const $push52=, 0
- call exit@FUNCTION, $pop52
+ i32.const $push48=, 0
+ call exit@FUNCTION, $pop48
unreachable
.LBB10_15: # %if.then49
end_block # label9:
@@ -357,7 +383,7 @@ main: # @main
.type args,@object
.section .data.args,"aw",@progbits
.globl args
- .align 4
+ .p2align 4
args:
.int32 0 # 0x0
.int32 1 # 0x1
@@ -373,7 +399,7 @@ args:
.type correct_results,@object
.section .data.correct_results,"aw",@progbits
.globl correct_results
- .align 4
+ .p2align 4
correct_results:
.int32 13 # 0xd
.int32 140 # 0x8c
diff --git a/test/torture-s/compare-1.c.s b/test/torture-s/compare-1.c.s
index 51833b304..a7893e63c 100644
--- a/test/torture-s/compare-1.c.s
+++ b/test/torture-s/compare-1.c.s
@@ -8,25 +8,26 @@ ieq: # @ieq
.param i32, i32, i32
.result i32
# BB#0: # %entry
- i32.ne $1=, $0, $1
block
block
block
- i32.const $push0=, 0
- i32.eq $push1=, $1, $pop0
- br_if $pop1, 0 # 0: down to label2
-# BB#1: # %if.else
+ i32.ne $push0=, $0, $1
+ tee_local $push1=, $1=, $pop0
i32.const $push2=, 0
- i32.eq $push3=, $2, $pop2
- br_if $pop3, 1 # 1: down to label1
+ i32.eq $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label2
+# BB#1: # %if.else
+ i32.const $push4=, 0
+ i32.eq $push5=, $2, $pop4
+ br_if $pop5, 1 # 1: down to label1
# BB#2: # %if.then4
call abort@FUNCTION
unreachable
.LBB0_3: # %if.then
end_block # label2:
- i32.const $push4=, 0
- i32.eq $push5=, $2, $pop4
- br_if $pop5, 1 # 1: down to label0
+ i32.const $push6=, 0
+ i32.eq $push7=, $2, $pop6
+ br_if $pop7, 1 # 1: down to label0
.LBB0_4: # %if.end6
end_block # label1:
block
@@ -46,21 +47,21 @@ ieq: # @ieq
block
block
block
- i32.const $push6=, 0
- i32.eq $push7=, $1, $pop6
- br_if $pop7, 0 # 0: down to label8
-# BB#9: # %if.else26
i32.const $push8=, 0
- i32.eq $push9=, $2, $pop8
- br_if $pop9, 1 # 1: down to label7
+ i32.eq $push9=, $1, $pop8
+ br_if $pop9, 0 # 0: down to label8
+# BB#9: # %if.else26
+ i32.const $push10=, 0
+ i32.eq $push11=, $2, $pop10
+ br_if $pop11, 1 # 1: down to label7
# BB#10: # %if.then28
call abort@FUNCTION
unreachable
.LBB0_11: # %if.then22
end_block # label8:
- i32.const $push10=, 0
- i32.eq $push11=, $2, $pop10
- br_if $pop11, 1 # 1: down to label6
+ i32.const $push12=, 0
+ i32.eq $push13=, $2, $pop12
+ br_if $pop13, 1 # 1: down to label6
.LBB0_12: # %if.end30
end_block # label7:
block
diff --git a/test/torture-s/complex-1.c.s b/test/torture-s/complex-1.c.s
new file mode 100644
index 000000000..9e4099493
--- /dev/null
+++ b/test/torture-s/complex-1.c.s
@@ -0,0 +1,76 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/complex-1.c"
+ .section .text.g0,"ax",@progbits
+ .hidden g0
+ .globl g0
+ .type g0,@function
+g0: # @g0
+ .param f64
+ .result f64
+# BB#0: # %entry
+ f64.const $push0=, 0x1p0
+ return $pop0
+ .endfunc
+.Lfunc_end0:
+ .size g0, .Lfunc_end0-g0
+
+ .section .text.g1,"ax",@progbits
+ .hidden g1
+ .globl g1
+ .type g1,@function
+g1: # @g1
+ .param f64
+ .result f64
+# BB#0: # %entry
+ f64.const $push0=, -0x1p0
+ return $pop0
+ .endfunc
+.Lfunc_end1:
+ .size g1, .Lfunc_end1-g1
+
+ .section .text.g2,"ax",@progbits
+ .hidden g2
+ .globl g2
+ .type g2,@function
+g2: # @g2
+ .param f64
+ .result f64
+# BB#0: # %entry
+ f64.const $push0=, 0x0p0
+ return $pop0
+ .endfunc
+.Lfunc_end2:
+ .size g2, .Lfunc_end2-g2
+
+ .section .text.xcexp,"ax",@progbits
+ .hidden xcexp
+ .globl xcexp
+ .type xcexp,@function
+xcexp: # @xcexp
+ .param i32, i32
+# BB#0: # %entry
+ i64.const $push0=, -4616189618054758400
+ i64.store $discard=, 0($0), $pop0
+ i64.const $push1=, 0
+ i64.store $discard=, 8($0), $pop1
+ return
+ .endfunc
+.Lfunc_end3:
+ .size xcexp, .Lfunc_end3-xcexp
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end6
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end4:
+ .size main, .Lfunc_end4-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/complex-2.c.s b/test/torture-s/complex-2.c.s
new file mode 100644
index 000000000..5dc23b760
--- /dev/null
+++ b/test/torture-s/complex-2.c.s
@@ -0,0 +1,76 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/complex-2.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32, i32
+ .local f64, f64
+# BB#0: # %entry
+ f64.load $3=, 8($2)
+ f64.load $4=, 8($1)
+ f64.load $push0=, 0($2)
+ f64.load $push1=, 0($1)
+ f64.add $push2=, $pop0, $pop1
+ f64.store $discard=, 0($0), $pop2
+ f64.add $push3=, $3, $4
+ f64.store $discard=, 8($0), $pop3
+ return
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push6=, 0
+ f64.load $push1=, ag($pop6)
+ f64.const $push5=, 0x1p0
+ f64.ne $push2=, $pop1, $pop5
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $push8=, 0
+ f64.load $push0=, ag+8($pop8)
+ f64.const $push7=, 0x1p0
+ f64.ne $push3=, $pop0, $pop7
+ br_if $pop3, 0 # 0: down to label0
+# BB#2: # %if.end26
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
+ unreachable
+.LBB1_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden ag # @ag
+ .type ag,@object
+ .section .data.ag,"aw",@progbits
+ .globl ag
+ .p2align 3
+ag:
+ .int64 4607182418800017408 # double 1
+ .int64 4607182418800017408 # double 1
+ .size ag, 16
+
+ .hidden bg # @bg
+ .type bg,@object
+ .section .data.bg,"aw",@progbits
+ .globl bg
+ .p2align 3
+bg:
+ .int64 -4611686018427387904 # double -2
+ .int64 4611686018427387904 # double 2
+ .size bg, 16
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/complex-5.c.s b/test/torture-s/complex-5.c.s
new file mode 100644
index 000000000..cc49c215a
--- /dev/null
+++ b/test/torture-s/complex-5.c.s
@@ -0,0 +1,136 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/complex-5.c"
+ .section .text.p,"ax",@progbits
+ .hidden p
+ .globl p
+ .type p,@function
+p: # @p
+ .param i32, i32, i32
+ .local f32, f32
+# BB#0: # %entry
+ f32.load $3=, 4($1)
+ f32.load $4=, 4($2)
+ f32.load $push0=, 0($1)
+ f32.load $push1=, 0($2)
+ f32.add $push2=, $pop0, $pop1
+ f32.store $discard=, 0($0), $pop2
+ f32.add $push3=, $3, $4
+ f32.store $discard=, 4($0), $pop3
+ return
+ .endfunc
+.Lfunc_end0:
+ .size p, .Lfunc_end0-p
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local f32, f32, f32, f32, f32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $9=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $9=, 0($6), $9
+ i32.const $push28=, 0
+ f32.load $0=, x+4($pop28)
+ i32.const $push27=, 0
+ f32.load $1=, y+4($pop27)
+ f32.const $push9=, 0x1p0
+ f32.const $push8=, 0x0p0
+ i32.const $push26=, 0
+ i32.const $push25=, 0
+ f32.load $push2=, x($pop25)
+ tee_local $push24=, $4=, $pop2
+ i32.const $push23=, 0
+ f32.load $push3=, y($pop23)
+ f32.add $push4=, $pop24, $pop3
+ f32.store $push6=, z($pop26), $pop4
+ i32.const $push22=, 0
+ f32.add $push5=, $0, $1
+ f32.store $push7=, z+4($pop22), $pop5
+ i32.const $7=, 8
+ i32.add $7=, $9, $7
+ call __divsc3@FUNCTION, $7, $pop9, $pop8, $pop6, $pop7
+ i32.const $push21=, 0
+ f32.load $1=, z($pop21)
+ i32.const $push20=, 0
+ f32.load $3=, w($pop20)
+ i32.const $push11=, 4
+ i32.const $8=, 8
+ i32.add $8=, $9, $8
+ i32.or $push12=, $8, $pop11
+ f32.load $2=, 0($pop12)
+ i32.const $push19=, 0
+ f32.load $push10=, 8($9):p2align=3
+ f32.add $push13=, $4, $pop10
+ f32.store $discard=, y($pop19), $pop13
+ i32.const $push18=, 0
+ f32.add $push14=, $0, $2
+ f32.store $discard=, y+4($pop18), $pop14
+ block
+ f32.ne $push15=, $1, $3
+ br_if $pop15, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $push30=, 0
+ f32.load $push0=, z+4($pop30)
+ i32.const $push29=, 0
+ f32.load $push1=, w+4($pop29)
+ f32.ne $push16=, $pop0, $pop1
+ br_if $pop16, 0 # 0: down to label0
+# BB#2: # %if.end
+ i32.const $push17=, 0
+ call exit@FUNCTION, $pop17
+ unreachable
+.LBB1_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden x # @x
+ .type x,@object
+ .section .data.x,"aw",@progbits
+ .globl x
+ .p2align 2
+x:
+ .int32 1065353216 # float 1
+ .int32 1096810496 # float 14
+ .size x, 8
+
+ .hidden y # @y
+ .type y,@object
+ .section .data.y,"aw",@progbits
+ .globl y
+ .p2align 2
+y:
+ .int32 1088421888 # float 7
+ .int32 1084227584 # float 5
+ .size y, 8
+
+ .hidden w # @w
+ .type w,@object
+ .section .data.w,"aw",@progbits
+ .globl w
+ .p2align 2
+w:
+ .int32 1090519040 # float 8
+ .int32 1100480512 # float 19
+ .size w, 8
+
+ .hidden z # @z
+ .type z,@object
+ .section .bss.z,"aw",@nobits
+ .globl z
+ .p2align 2
+z:
+ .skip 8
+ .size z, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/complex-6.c.s b/test/torture-s/complex-6.c.s
new file mode 100644
index 000000000..b66d040a3
--- /dev/null
+++ b/test/torture-s/complex-6.c.s
@@ -0,0 +1,203 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/complex-6.c"
+ .section .text.ctest_float,"ax",@progbits
+ .hidden ctest_float
+ .globl ctest_float
+ .type ctest_float,@function
+ctest_float: # @ctest_float
+ .param i32, i32
+ .local f32
+# BB#0: # %entry
+ f32.load $2=, 4($1)
+ i32.load $push0=, 0($1)
+ i32.store $discard=, 0($0), $pop0
+ f32.neg $push1=, $2
+ f32.store $discard=, 4($0), $pop1
+ return
+ .endfunc
+.Lfunc_end0:
+ .size ctest_float, .Lfunc_end0-ctest_float
+
+ .section .text.test_float,"ax",@progbits
+ .hidden test_float
+ .globl test_float
+ .type test_float,@function
+test_float: # @test_float
+# BB#0: # %if.end
+ return
+ .endfunc
+.Lfunc_end1:
+ .size test_float, .Lfunc_end1-test_float
+
+ .section .text.ctest_double,"ax",@progbits
+ .hidden ctest_double
+ .globl ctest_double
+ .type ctest_double,@function
+ctest_double: # @ctest_double
+ .param i32, i32
+ .local f64
+# BB#0: # %entry
+ f64.load $2=, 8($1)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ f64.neg $push1=, $2
+ f64.store $discard=, 8($0), $pop1
+ return
+ .endfunc
+.Lfunc_end2:
+ .size ctest_double, .Lfunc_end2-ctest_double
+
+ .section .text.test_double,"ax",@progbits
+ .hidden test_double
+ .globl test_double
+ .type test_double,@function
+test_double: # @test_double
+# BB#0: # %if.end
+ return
+ .endfunc
+.Lfunc_end3:
+ .size test_double, .Lfunc_end3-test_double
+
+ .section .text.ctest_long_double,"ax",@progbits
+ .hidden ctest_long_double
+ .globl ctest_long_double
+ .type ctest_long_double,@function
+ctest_long_double: # @ctest_long_double
+ .param i32, i32
+ .local i64, i64, i64, i64, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $9=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $9=, 0($7), $9
+ i32.const $push0=, 8
+ i32.add $push1=, $1, $pop0
+ i64.load $2=, 0($pop1)
+ i64.load $3=, 0($1):p2align=4
+ i64.const $push7=, 0
+ i64.const $push6=, -9223372036854775808
+ i64.load $push5=, 16($1):p2align=4
+ i32.const $push2=, 24
+ i32.add $push3=, $1, $pop2
+ i64.load $push4=, 0($pop3)
+ call __subtf3@FUNCTION, $9, $pop7, $pop6, $pop5, $pop4
+ i32.const $push13=, 8
+ i32.add $push8=, $9, $pop13
+ i64.load $4=, 0($pop8)
+ i64.load $5=, 0($9)
+ i64.store $discard=, 0($0):p2align=4, $3
+ i32.const $push12=, 8
+ i32.add $push9=, $0, $pop12
+ i64.store $discard=, 0($pop9), $2
+ i32.const $push11=, 24
+ i32.add $push10=, $0, $pop11
+ i64.store $discard=, 0($pop10), $4
+ i64.store $discard=, 16($0):p2align=4, $5
+ i32.const $8=, 16
+ i32.add $9=, $9, $8
+ i32.const $8=, __stack_pointer
+ i32.store $9=, 0($8), $9
+ return
+ .endfunc
+.Lfunc_end4:
+ .size ctest_long_double, .Lfunc_end4-ctest_long_double
+
+ .section .text.test_long_double,"ax",@progbits
+ .hidden test_long_double
+ .globl test_long_double
+ .type test_long_double,@function
+test_long_double: # @test_long_double
+# BB#0: # %if.end
+ return
+ .endfunc
+.Lfunc_end5:
+ .size test_long_double, .Lfunc_end5-test_long_double
+
+ .section .text.ctest_int,"ax",@progbits
+ .hidden ctest_int
+ .globl ctest_int
+ .type ctest_int,@function
+ctest_int: # @ctest_int
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.load $2=, 4($1)
+ i32.load $push0=, 0($1)
+ i32.store $discard=, 0($0), $pop0
+ i32.const $push1=, 0
+ i32.sub $push2=, $pop1, $2
+ i32.store $discard=, 4($0), $pop2
+ return
+ .endfunc
+.Lfunc_end6:
+ .size ctest_int, .Lfunc_end6-ctest_int
+
+ .section .text.test_int,"ax",@progbits
+ .hidden test_int
+ .globl test_int
+ .type test_int,@function
+test_int: # @test_int
+# BB#0: # %if.end
+ return
+ .endfunc
+.Lfunc_end7:
+ .size test_int, .Lfunc_end7-test_int
+
+ .section .text.ctest_long_int,"ax",@progbits
+ .hidden ctest_long_int
+ .globl ctest_long_int
+ .type ctest_long_int,@function
+ctest_long_int: # @ctest_long_int
+ .param i32, i32
+ .local i32
+# BB#0: # %entry
+ i32.load $2=, 4($1)
+ i32.load $push0=, 0($1)
+ i32.store $discard=, 0($0), $pop0
+ i32.const $push1=, 0
+ i32.sub $push2=, $pop1, $2
+ i32.store $discard=, 4($0), $pop2
+ return
+ .endfunc
+.Lfunc_end8:
+ .size ctest_long_int, .Lfunc_end8-ctest_long_int
+
+ .section .text.test_long_int,"ax",@progbits
+ .hidden test_long_int
+ .globl test_long_int
+ .type test_long_int,@function
+test_long_int: # @test_long_int
+# BB#0: # %if.end
+ return
+ .endfunc
+.Lfunc_end9:
+ .size test_long_int, .Lfunc_end9-test_long_int
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store $push1=, err($pop0), $pop2
+ return $pop1
+ .endfunc
+.Lfunc_end10:
+ .size main, .Lfunc_end10-main
+
+ .hidden err # @err
+ .type err,@object
+ .section .bss.err,"aw",@nobits
+ .globl err
+ .p2align 2
+err:
+ .int32 0 # 0x0
+ .size err, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/complex-7.c.s b/test/torture-s/complex-7.c.s
new file mode 100644
index 000000000..5e884c063
--- /dev/null
+++ b/test/torture-s/complex-7.c.s
@@ -0,0 +1,834 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/complex-7.c"
+ .section .text.check_float,"ax",@progbits
+ .hidden check_float
+ .globl check_float
+ .type check_float,@function
+check_float: # @check_float
+ .param i32, i32, i32, i32, i32, i32
+ .local f32, f32, f32, f32
+# BB#0: # %entry
+ f32.load $8=, 0($1)
+ f32.load $6=, 4($1)
+ i32.const $push0=, 0
+ f32.load $9=, f1($pop0)
+ i32.const $push15=, 0
+ f32.load $7=, f1+4($pop15)
+ block
+ f32.ne $push1=, $8, $9
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %entry
+ f32.ne $push2=, $6, $7
+ br_if $pop2, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false
+ f32.load $8=, 0($2)
+ f32.load $6=, 4($2)
+ i32.const $push3=, 0
+ f32.load $9=, f2($pop3)
+ i32.const $push16=, 0
+ f32.load $7=, f2+4($pop16)
+ f32.ne $push4=, $8, $9
+ br_if $pop4, 0 # 0: down to label0
+# BB#3: # %lor.lhs.false
+ f32.ne $push5=, $6, $7
+ br_if $pop5, 0 # 0: down to label0
+# BB#4: # %lor.lhs.false4
+ f32.load $8=, 0($3)
+ f32.load $9=, 4($3)
+ i32.const $push6=, 0
+ f32.load $6=, f3($pop6)
+ i32.const $push17=, 0
+ f32.load $7=, f3+4($pop17)
+ f32.ne $push7=, $8, $6
+ br_if $pop7, 0 # 0: down to label0
+# BB#5: # %lor.lhs.false4
+ f32.ne $push8=, $9, $7
+ br_if $pop8, 0 # 0: down to label0
+# BB#6: # %lor.lhs.false8
+ f32.load $8=, 0($4)
+ f32.load $6=, 4($4)
+ i32.const $push9=, 0
+ f32.load $9=, f4($pop9)
+ i32.const $push18=, 0
+ f32.load $7=, f4+4($pop18)
+ f32.ne $push10=, $8, $9
+ br_if $pop10, 0 # 0: down to label0
+# BB#7: # %lor.lhs.false8
+ f32.ne $push11=, $6, $7
+ br_if $pop11, 0 # 0: down to label0
+# BB#8: # %lor.lhs.false12
+ f32.load $8=, 0($5)
+ f32.load $9=, 4($5)
+ i32.const $push12=, 0
+ f32.load $6=, f5($pop12)
+ i32.const $push19=, 0
+ f32.load $7=, f5+4($pop19)
+ f32.ne $push13=, $8, $6
+ br_if $pop13, 0 # 0: down to label0
+# BB#9: # %lor.lhs.false12
+ f32.ne $push14=, $9, $7
+ br_if $pop14, 0 # 0: down to label0
+# BB#10: # %if.end
+ return
+.LBB0_11: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size check_float, .Lfunc_end0-check_float
+
+ .section .text.check_double,"ax",@progbits
+ .hidden check_double
+ .globl check_double
+ .type check_double,@function
+check_double: # @check_double
+ .param i32, i32, i32, i32, i32, i32
+ .local f64, f64, f64, f64
+# BB#0: # %entry
+ f64.load $8=, 0($1)
+ f64.load $6=, 8($1)
+ i32.const $push0=, 0
+ f64.load $9=, d1($pop0)
+ i32.const $push15=, 0
+ f64.load $7=, d1+8($pop15)
+ block
+ f64.ne $push1=, $8, $9
+ br_if $pop1, 0 # 0: down to label1
+# BB#1: # %entry
+ f64.ne $push2=, $6, $7
+ br_if $pop2, 0 # 0: down to label1
+# BB#2: # %lor.lhs.false
+ f64.load $8=, 0($2)
+ f64.load $6=, 8($2)
+ i32.const $push3=, 0
+ f64.load $9=, d2($pop3)
+ i32.const $push16=, 0
+ f64.load $7=, d2+8($pop16)
+ f64.ne $push4=, $8, $9
+ br_if $pop4, 0 # 0: down to label1
+# BB#3: # %lor.lhs.false
+ f64.ne $push5=, $6, $7
+ br_if $pop5, 0 # 0: down to label1
+# BB#4: # %lor.lhs.false4
+ f64.load $8=, 0($3)
+ f64.load $9=, 8($3)
+ i32.const $push6=, 0
+ f64.load $6=, d3($pop6)
+ i32.const $push17=, 0
+ f64.load $7=, d3+8($pop17)
+ f64.ne $push7=, $8, $6
+ br_if $pop7, 0 # 0: down to label1
+# BB#5: # %lor.lhs.false4
+ f64.ne $push8=, $9, $7
+ br_if $pop8, 0 # 0: down to label1
+# BB#6: # %lor.lhs.false8
+ f64.load $8=, 0($4)
+ f64.load $6=, 8($4)
+ i32.const $push9=, 0
+ f64.load $9=, d4($pop9)
+ i32.const $push18=, 0
+ f64.load $7=, d4+8($pop18)
+ f64.ne $push10=, $8, $9
+ br_if $pop10, 0 # 0: down to label1
+# BB#7: # %lor.lhs.false8
+ f64.ne $push11=, $6, $7
+ br_if $pop11, 0 # 0: down to label1
+# BB#8: # %lor.lhs.false12
+ f64.load $8=, 0($5)
+ f64.load $9=, 8($5)
+ i32.const $push12=, 0
+ f64.load $6=, d5($pop12)
+ i32.const $push19=, 0
+ f64.load $7=, d5+8($pop19)
+ f64.ne $push13=, $8, $6
+ br_if $pop13, 0 # 0: down to label1
+# BB#9: # %lor.lhs.false12
+ f64.ne $push14=, $9, $7
+ br_if $pop14, 0 # 0: down to label1
+# BB#10: # %if.end
+ return
+.LBB1_11: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size check_double, .Lfunc_end1-check_double
+
+ .section .text.check_long_double,"ax",@progbits
+ .hidden check_long_double
+ .globl check_long_double
+ .type check_long_double,@function
+check_long_double: # @check_long_double
+ .param i32, i32, i32, i32, i32, i32
+ .local i64, i64, i64, i64, i64, i64, i64, i64
+# BB#0: # %entry
+ i32.const $push0=, 8
+ i32.add $push1=, $1, $pop0
+ i64.load $10=, 0($pop1)
+ i32.const $push2=, 24
+ i32.add $push3=, $1, $pop2
+ i64.load $7=, 0($pop3)
+ i64.load $11=, 0($1):p2align=4
+ i64.load $6=, 16($1):p2align=4
+ i32.const $push4=, 0
+ i64.load $12=, ld1+8($pop4)
+ i32.const $push37=, 0
+ i64.load $13=, ld1($pop37):p2align=4
+ i32.const $push36=, 0
+ i64.load $9=, ld1+24($pop36)
+ i32.const $push35=, 0
+ i64.load $8=, ld1+16($pop35):p2align=4
+ block
+ i32.call $push5=, __netf2@FUNCTION, $11, $10, $13, $12
+ br_if $pop5, 0 # 0: down to label2
+# BB#1: # %entry
+ i32.call $push6=, __netf2@FUNCTION, $6, $7, $8, $9
+ br_if $pop6, 0 # 0: down to label2
+# BB#2: # %lor.lhs.false
+ i32.const $push7=, 8
+ i32.add $push8=, $2, $pop7
+ i64.load $10=, 0($pop8)
+ i32.const $push9=, 24
+ i32.add $push10=, $2, $pop9
+ i64.load $7=, 0($pop10)
+ i64.load $11=, 0($2):p2align=4
+ i64.load $6=, 16($2):p2align=4
+ i32.const $push11=, 0
+ i64.load $12=, ld2+8($pop11)
+ i32.const $push40=, 0
+ i64.load $13=, ld2($pop40):p2align=4
+ i32.const $push39=, 0
+ i64.load $9=, ld2+24($pop39)
+ i32.const $push38=, 0
+ i64.load $8=, ld2+16($pop38):p2align=4
+ i32.call $push12=, __netf2@FUNCTION, $11, $10, $13, $12
+ br_if $pop12, 0 # 0: down to label2
+# BB#3: # %lor.lhs.false
+ i32.call $push13=, __netf2@FUNCTION, $6, $7, $8, $9
+ br_if $pop13, 0 # 0: down to label2
+# BB#4: # %lor.lhs.false4
+ i32.const $push14=, 8
+ i32.add $push15=, $3, $pop14
+ i64.load $10=, 0($pop15)
+ i32.const $push16=, 24
+ i32.add $push17=, $3, $pop16
+ i64.load $11=, 0($pop17)
+ i64.load $12=, 0($3):p2align=4
+ i64.load $13=, 16($3):p2align=4
+ i32.const $push18=, 0
+ i64.load $7=, ld3+8($pop18)
+ i32.const $push43=, 0
+ i64.load $6=, ld3($pop43):p2align=4
+ i32.const $push42=, 0
+ i64.load $9=, ld3+24($pop42)
+ i32.const $push41=, 0
+ i64.load $8=, ld3+16($pop41):p2align=4
+ i32.call $push19=, __netf2@FUNCTION, $12, $10, $6, $7
+ br_if $pop19, 0 # 0: down to label2
+# BB#5: # %lor.lhs.false4
+ i32.call $push20=, __netf2@FUNCTION, $13, $11, $8, $9
+ br_if $pop20, 0 # 0: down to label2
+# BB#6: # %lor.lhs.false8
+ i32.const $push21=, 8
+ i32.add $push22=, $4, $pop21
+ i64.load $10=, 0($pop22)
+ i32.const $push23=, 24
+ i32.add $push24=, $4, $pop23
+ i64.load $7=, 0($pop24)
+ i64.load $11=, 0($4):p2align=4
+ i64.load $6=, 16($4):p2align=4
+ i32.const $push25=, 0
+ i64.load $12=, ld4+8($pop25)
+ i32.const $push46=, 0
+ i64.load $13=, ld4($pop46):p2align=4
+ i32.const $push45=, 0
+ i64.load $9=, ld4+24($pop45)
+ i32.const $push44=, 0
+ i64.load $8=, ld4+16($pop44):p2align=4
+ i32.call $push26=, __netf2@FUNCTION, $11, $10, $13, $12
+ br_if $pop26, 0 # 0: down to label2
+# BB#7: # %lor.lhs.false8
+ i32.call $push27=, __netf2@FUNCTION, $6, $7, $8, $9
+ br_if $pop27, 0 # 0: down to label2
+# BB#8: # %lor.lhs.false12
+ i32.const $push28=, 8
+ i32.add $push29=, $5, $pop28
+ i64.load $10=, 0($pop29)
+ i32.const $push30=, 24
+ i32.add $push31=, $5, $pop30
+ i64.load $11=, 0($pop31)
+ i64.load $12=, 0($5):p2align=4
+ i64.load $13=, 16($5):p2align=4
+ i32.const $push32=, 0
+ i64.load $7=, ld5+8($pop32)
+ i32.const $push49=, 0
+ i64.load $6=, ld5($pop49):p2align=4
+ i32.const $push48=, 0
+ i64.load $9=, ld5+24($pop48)
+ i32.const $push47=, 0
+ i64.load $8=, ld5+16($pop47):p2align=4
+ i32.call $push33=, __netf2@FUNCTION, $12, $10, $6, $7
+ br_if $pop33, 0 # 0: down to label2
+# BB#9: # %lor.lhs.false12
+ i32.call $push34=, __eqtf2@FUNCTION, $13, $11, $8, $9
+ br_if $pop34, 0 # 0: down to label2
+# BB#10: # %if.end
+ return
+.LBB2_11: # %if.then
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size check_long_double, .Lfunc_end2-check_long_double
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f64, f64, f64, f64, f64, f64, f64, f64, f64, f64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $50=, __stack_pointer
+ i32.load $50=, 0($50)
+ i32.const $51=, 576
+ i32.sub $98=, $50, $51
+ i32.const $51=, __stack_pointer
+ i32.store $98=, 0($51), $98
+ i32.const $push0=, 0
+ f32.load $0=, f1($pop0)
+ i32.const $push155=, 0
+ f32.load $1=, f1+4($pop155)
+ i32.const $push154=, 0
+ f32.load $2=, f2($pop154)
+ i32.const $push153=, 0
+ f32.load $3=, f2+4($pop153)
+ i32.const $push152=, 0
+ f32.load $4=, f3($pop152)
+ i32.const $push151=, 0
+ f32.load $5=, f3+4($pop151)
+ i32.const $push150=, 0
+ f32.load $6=, f4($pop150)
+ i32.const $push149=, 0
+ f32.load $7=, f4+4($pop149)
+ i32.const $push148=, 0
+ f32.load $8=, f5($pop148)
+ i32.const $push147=, 0
+ f32.load $9=, f5+4($pop147)
+ f32.store $discard=, 568($98):p2align=3, $0
+ i32.const $push1=, 4
+ i32.const $52=, 568
+ i32.add $52=, $98, $52
+ i32.or $push2=, $52, $pop1
+ f32.store $discard=, 0($pop2), $1
+ f32.store $discard=, 560($98):p2align=3, $2
+ i32.const $push146=, 4
+ i32.const $53=, 560
+ i32.add $53=, $98, $53
+ i32.or $push3=, $53, $pop146
+ f32.store $discard=, 0($pop3), $3
+ f32.store $discard=, 552($98):p2align=3, $4
+ i32.const $push145=, 4
+ i32.const $54=, 552
+ i32.add $54=, $98, $54
+ i32.or $push4=, $54, $pop145
+ f32.store $discard=, 0($pop4), $5
+ f32.store $discard=, 544($98):p2align=3, $6
+ i32.const $push144=, 4
+ i32.const $55=, 544
+ i32.add $55=, $98, $55
+ i32.or $push5=, $55, $pop144
+ f32.store $discard=, 0($pop5), $7
+ i32.const $push143=, 4
+ i32.const $56=, 536
+ i32.add $56=, $98, $56
+ i32.or $push6=, $56, $pop143
+ f32.store $discard=, 0($pop6), $9
+ f32.store $discard=, 536($98):p2align=3, $8
+ i64.load $push7=, 568($98)
+ i64.store $discard=, 280($98):p2align=2, $pop7
+ i64.load $push8=, 560($98)
+ i64.store $discard=, 272($98):p2align=2, $pop8
+ i64.load $push9=, 552($98)
+ i64.store $discard=, 264($98):p2align=2, $pop9
+ i64.load $push10=, 544($98)
+ i64.store $discard=, 256($98):p2align=2, $pop10
+ i64.load $push11=, 536($98)
+ i64.store $discard=, 248($98):p2align=2, $pop11
+ i32.const $57=, 280
+ i32.add $57=, $98, $57
+ i32.const $58=, 272
+ i32.add $58=, $98, $58
+ i32.const $59=, 264
+ i32.add $59=, $98, $59
+ i32.const $60=, 256
+ i32.add $60=, $98, $60
+ i32.const $61=, 248
+ i32.add $61=, $98, $61
+ call check_float@FUNCTION, $49, $57, $58, $59, $60, $61
+ i32.const $push142=, 0
+ f64.load $10=, d1($pop142)
+ i32.const $push141=, 0
+ f64.load $11=, d1+8($pop141)
+ i32.const $push140=, 0
+ f64.load $12=, d2($pop140)
+ i32.const $push139=, 0
+ f64.load $13=, d2+8($pop139)
+ i32.const $push138=, 0
+ f64.load $14=, d3($pop138)
+ i32.const $push137=, 0
+ f64.load $15=, d3+8($pop137)
+ i32.const $push136=, 0
+ f64.load $16=, d4($pop136)
+ i32.const $push135=, 0
+ f64.load $17=, d4+8($pop135)
+ i32.const $push134=, 0
+ f64.load $18=, d5($pop134)
+ i32.const $push133=, 0
+ f64.load $19=, d5+8($pop133)
+ f64.store $discard=, 520($98), $10
+ f64.store $discard=, 528($98), $11
+ f64.store $discard=, 504($98), $12
+ f64.store $discard=, 512($98), $13
+ f64.store $discard=, 488($98), $14
+ f64.store $discard=, 496($98), $15
+ f64.store $discard=, 472($98), $16
+ f64.store $discard=, 480($98), $17
+ f64.store $discard=, 456($98), $18
+ f64.store $discard=, 464($98), $19
+ i32.const $push12=, 8
+ i32.const $62=, 232
+ i32.add $62=, $98, $62
+ i32.add $push13=, $62, $pop12
+ i64.load $push14=, 528($98)
+ i64.store $discard=, 0($pop13), $pop14
+ i64.load $push15=, 520($98)
+ i64.store $discard=, 232($98), $pop15
+ i32.const $push132=, 8
+ i32.const $63=, 216
+ i32.add $63=, $98, $63
+ i32.add $push16=, $63, $pop132
+ i64.load $push17=, 512($98)
+ i64.store $discard=, 0($pop16), $pop17
+ i64.load $push18=, 504($98)
+ i64.store $discard=, 216($98), $pop18
+ i32.const $push131=, 8
+ i32.const $64=, 200
+ i32.add $64=, $98, $64
+ i32.add $push19=, $64, $pop131
+ i64.load $push20=, 496($98)
+ i64.store $discard=, 0($pop19), $pop20
+ i64.load $push21=, 488($98)
+ i64.store $discard=, 200($98), $pop21
+ i32.const $push130=, 8
+ i32.const $65=, 184
+ i32.add $65=, $98, $65
+ i32.add $push22=, $65, $pop130
+ i64.load $push23=, 480($98)
+ i64.store $discard=, 0($pop22), $pop23
+ i64.load $push24=, 472($98)
+ i64.store $discard=, 184($98), $pop24
+ i32.const $push129=, 8
+ i32.const $66=, 168
+ i32.add $66=, $98, $66
+ i32.add $push25=, $66, $pop129
+ i64.load $push26=, 464($98)
+ i64.store $discard=, 0($pop25), $pop26
+ i64.load $push27=, 456($98)
+ i64.store $discard=, 168($98), $pop27
+ i32.const $67=, 232
+ i32.add $67=, $98, $67
+ i32.const $68=, 216
+ i32.add $68=, $98, $68
+ i32.const $69=, 200
+ i32.add $69=, $98, $69
+ i32.const $70=, 184
+ i32.add $70=, $98, $70
+ i32.const $71=, 168
+ i32.add $71=, $98, $71
+ call check_double@FUNCTION, $49, $67, $68, $69, $70, $71
+ i32.const $push128=, 0
+ i64.load $20=, ld1($pop128):p2align=4
+ i32.const $push127=, 0
+ i64.load $21=, ld1+8($pop127)
+ i32.const $push126=, 0
+ i64.load $22=, ld1+16($pop126):p2align=4
+ i32.const $push125=, 0
+ i64.load $23=, ld1+24($pop125)
+ i32.const $push124=, 0
+ i64.load $24=, ld2($pop124):p2align=4
+ i32.const $push123=, 0
+ i64.load $25=, ld2+8($pop123)
+ i32.const $push122=, 0
+ i64.load $26=, ld2+16($pop122):p2align=4
+ i32.const $push121=, 0
+ i64.load $27=, ld2+24($pop121)
+ i32.const $push120=, 0
+ i64.load $28=, ld3($pop120):p2align=4
+ i32.const $push119=, 0
+ i64.load $29=, ld3+8($pop119)
+ i32.const $push118=, 0
+ i64.load $30=, ld3+16($pop118):p2align=4
+ i32.const $push117=, 0
+ i64.load $31=, ld3+24($pop117)
+ i32.const $push116=, 0
+ i64.load $32=, ld4($pop116):p2align=4
+ i32.const $push115=, 0
+ i64.load $33=, ld4+8($pop115)
+ i32.const $push114=, 0
+ i64.load $34=, ld4+16($pop114):p2align=4
+ i32.const $push113=, 0
+ i64.load $35=, ld4+24($pop113)
+ i32.const $push112=, 0
+ i64.load $36=, ld5($pop112):p2align=4
+ i32.const $push111=, 0
+ i64.load $37=, ld5+8($pop111)
+ i32.const $push110=, 0
+ i64.load $38=, ld5+16($pop110):p2align=4
+ i32.const $push109=, 0
+ i64.load $39=, ld5+24($pop109)
+ i32.const $push108=, 8
+ i32.const $72=, 416
+ i32.add $72=, $98, $72
+ i32.or $push28=, $72, $pop108
+ tee_local $push107=, $49=, $pop28
+ i64.store $discard=, 0($pop107), $21
+ i64.store $discard=, 416($98):p2align=4, $20
+ i32.const $push29=, 24
+ i32.const $73=, 416
+ i32.add $73=, $98, $73
+ i32.add $push30=, $73, $pop29
+ tee_local $push106=, $48=, $pop30
+ i64.store $discard=, 0($pop106), $23
+ i64.store $discard=, 432($98):p2align=4, $22
+ i32.const $push105=, 8
+ i32.const $74=, 384
+ i32.add $74=, $98, $74
+ i32.or $push31=, $74, $pop105
+ tee_local $push104=, $47=, $pop31
+ i64.store $discard=, 0($pop104), $25
+ i64.store $discard=, 384($98):p2align=4, $24
+ i32.const $push103=, 24
+ i32.const $75=, 384
+ i32.add $75=, $98, $75
+ i32.add $push32=, $75, $pop103
+ tee_local $push102=, $46=, $pop32
+ i64.store $discard=, 0($pop102), $27
+ i64.store $discard=, 400($98):p2align=4, $26
+ i32.const $push101=, 8
+ i32.const $76=, 352
+ i32.add $76=, $98, $76
+ i32.or $push33=, $76, $pop101
+ tee_local $push100=, $45=, $pop33
+ i64.store $discard=, 0($pop100), $29
+ i64.store $discard=, 352($98):p2align=4, $28
+ i32.const $push99=, 24
+ i32.const $77=, 352
+ i32.add $77=, $98, $77
+ i32.add $push34=, $77, $pop99
+ tee_local $push98=, $44=, $pop34
+ i64.store $discard=, 0($pop98), $31
+ i64.store $discard=, 368($98):p2align=4, $30
+ i32.const $push97=, 8
+ i32.const $78=, 320
+ i32.add $78=, $98, $78
+ i32.or $push35=, $78, $pop97
+ tee_local $push96=, $43=, $pop35
+ i64.store $discard=, 0($pop96), $33
+ i64.store $discard=, 320($98):p2align=4, $32
+ i32.const $push95=, 24
+ i32.const $79=, 320
+ i32.add $79=, $98, $79
+ i32.add $push36=, $79, $pop95
+ tee_local $push94=, $42=, $pop36
+ i64.store $discard=, 0($pop94), $35
+ i64.store $discard=, 336($98):p2align=4, $34
+ i32.const $push93=, 8
+ i32.const $80=, 288
+ i32.add $80=, $98, $80
+ i32.or $push37=, $80, $pop93
+ tee_local $push92=, $41=, $pop37
+ i64.store $discard=, 0($pop92), $37
+ i64.store $discard=, 288($98):p2align=4, $36
+ i32.const $push91=, 24
+ i32.const $81=, 288
+ i32.add $81=, $98, $81
+ i32.add $push38=, $81, $pop91
+ tee_local $push90=, $40=, $pop38
+ i64.store $discard=, 0($pop90), $39
+ i64.store $discard=, 304($98):p2align=4, $38
+ i32.const $push89=, 24
+ i32.const $82=, 128
+ i32.add $82=, $98, $82
+ i32.add $push39=, $82, $pop89
+ i64.load $push40=, 0($48)
+ i64.store $discard=, 0($pop39), $pop40
+ i32.const $push41=, 16
+ i32.const $83=, 128
+ i32.add $83=, $98, $83
+ i32.add $push42=, $83, $pop41
+ i64.load $push43=, 432($98):p2align=4
+ i64.store $discard=, 0($pop42):p2align=4, $pop43
+ i32.const $push88=, 8
+ i32.const $84=, 128
+ i32.add $84=, $98, $84
+ i32.or $push44=, $84, $pop88
+ i64.load $push45=, 0($49)
+ i64.store $discard=, 0($pop44), $pop45
+ i64.load $push46=, 416($98):p2align=4
+ i64.store $discard=, 128($98):p2align=4, $pop46
+ i32.const $push87=, 24
+ i32.const $85=, 96
+ i32.add $85=, $98, $85
+ i32.add $push47=, $85, $pop87
+ i64.load $push48=, 0($46)
+ i64.store $discard=, 0($pop47), $pop48
+ i32.const $push86=, 16
+ i32.const $86=, 96
+ i32.add $86=, $98, $86
+ i32.add $push49=, $86, $pop86
+ i64.load $push50=, 400($98):p2align=4
+ i64.store $discard=, 0($pop49):p2align=4, $pop50
+ i32.const $push85=, 8
+ i32.const $87=, 96
+ i32.add $87=, $98, $87
+ i32.or $push51=, $87, $pop85
+ i64.load $push52=, 0($47)
+ i64.store $discard=, 0($pop51), $pop52
+ i64.load $push53=, 384($98):p2align=4
+ i64.store $discard=, 96($98):p2align=4, $pop53
+ i32.const $push84=, 24
+ i32.const $88=, 64
+ i32.add $88=, $98, $88
+ i32.add $push54=, $88, $pop84
+ i64.load $push55=, 0($44)
+ i64.store $discard=, 0($pop54), $pop55
+ i32.const $push83=, 16
+ i32.const $89=, 64
+ i32.add $89=, $98, $89
+ i32.add $push56=, $89, $pop83
+ i64.load $push57=, 368($98):p2align=4
+ i64.store $discard=, 0($pop56):p2align=4, $pop57
+ i32.const $push82=, 8
+ i32.const $90=, 64
+ i32.add $90=, $98, $90
+ i32.or $push58=, $90, $pop82
+ i64.load $push59=, 0($45)
+ i64.store $discard=, 0($pop58), $pop59
+ i64.load $push60=, 352($98):p2align=4
+ i64.store $discard=, 64($98):p2align=4, $pop60
+ i32.const $push81=, 24
+ i32.const $91=, 32
+ i32.add $91=, $98, $91
+ i32.add $push61=, $91, $pop81
+ i64.load $push62=, 0($42)
+ i64.store $discard=, 0($pop61), $pop62
+ i32.const $push80=, 16
+ i32.const $92=, 32
+ i32.add $92=, $98, $92
+ i32.add $push63=, $92, $pop80
+ i64.load $push64=, 336($98):p2align=4
+ i64.store $discard=, 0($pop63):p2align=4, $pop64
+ i32.const $push79=, 8
+ i32.const $93=, 32
+ i32.add $93=, $98, $93
+ i32.or $push65=, $93, $pop79
+ i64.load $push66=, 0($43)
+ i64.store $discard=, 0($pop65), $pop66
+ i64.load $push67=, 320($98):p2align=4
+ i64.store $discard=, 32($98):p2align=4, $pop67
+ i32.const $push78=, 24
+ i32.add $push68=, $98, $pop78
+ i64.load $push69=, 0($40)
+ i64.store $discard=, 0($pop68), $pop69
+ i32.const $push77=, 16
+ i32.add $push70=, $98, $pop77
+ i64.load $push71=, 304($98):p2align=4
+ i64.store $discard=, 0($pop70):p2align=4, $pop71
+ i32.const $push76=, 8
+ i32.or $push72=, $98, $pop76
+ i64.load $push73=, 0($41)
+ i64.store $discard=, 0($pop72), $pop73
+ i64.load $push74=, 288($98):p2align=4
+ i64.store $discard=, 0($98):p2align=4, $pop74
+ i32.const $94=, 128
+ i32.add $94=, $98, $94
+ i32.const $95=, 96
+ i32.add $95=, $98, $95
+ i32.const $96=, 64
+ i32.add $96=, $98, $96
+ i32.const $97=, 32
+ i32.add $97=, $98, $97
+ call check_long_double@FUNCTION, $49, $94, $95, $96, $97, $98
+ i32.const $push75=, 0
+ call exit@FUNCTION, $pop75
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size main, .Lfunc_end3-main
+
+ .hidden f1 # @f1
+ .type f1,@object
+ .section .data.f1,"aw",@progbits
+ .globl f1
+ .p2align 2
+f1:
+ .int32 1066192077 # float 1.10000002
+ .int32 1074580685 # float 2.20000005
+ .size f1, 8
+
+ .hidden f2 # @f2
+ .type f2,@object
+ .section .data.f2,"aw",@progbits
+ .globl f2
+ .p2align 2
+f2:
+ .int32 1079194419 # float 3.29999995
+ .int32 1082969293 # float 4.4000001
+ .size f2, 8
+
+ .hidden f3 # @f3
+ .type f3,@object
+ .section .data.f3,"aw",@progbits
+ .globl f3
+ .p2align 2
+f3:
+ .int32 1085276160 # float 5.5
+ .int32 1087583027 # float 6.5999999
+ .size f3, 8
+
+ .hidden f4 # @f4
+ .type f4,@object
+ .section .data.f4,"aw",@progbits
+ .globl f4
+ .p2align 2
+f4:
+ .int32 1089889894 # float 7.6999998
+ .int32 1091357901 # float 8.80000019
+ .size f4, 8
+
+ .hidden f5 # @f5
+ .type f5,@object
+ .section .data.f5,"aw",@progbits
+ .globl f5
+ .p2align 2
+f5:
+ .int32 1092511334 # float 9.89999961
+ .int32 1092721050 # float 10.1000004
+ .size f5, 8
+
+ .hidden d1 # @d1
+ .type d1,@object
+ .section .data.d1,"aw",@progbits
+ .globl d1
+ .p2align 3
+d1:
+ .int64 4607632778762754458 # double 1.1000000000000001
+ .int64 4612136378390124954 # double 2.2000000000000002
+ .size d1, 16
+
+ .hidden d2 # @d2
+ .type d2,@object
+ .section .data.d2,"aw",@progbits
+ .globl d2
+ .p2align 3
+d2:
+ .int64 4614613358185178726 # double 3.2999999999999998
+ .int64 4616639978017495450 # double 4.4000000000000004
+ .size d2, 16
+
+ .hidden d3 # @d3
+ .type d3,@object
+ .section .data.d3,"aw",@progbits
+ .globl d3
+ .p2align 3
+d3:
+ .int64 4617878467915022336 # double 5.5
+ .int64 4619116957812549222 # double 6.5999999999999996
+ .size d3, 16
+
+ .hidden d4 # @d4
+ .type d4,@object
+ .section .data.d4,"aw",@progbits
+ .globl d4
+ .p2align 3
+d4:
+ .int64 4620355447710076109 # double 7.7000000000000001
+ .int64 4621143577644865946 # double 8.8000000000000007
+ .size d4, 16
+
+ .hidden d5 # @d5
+ .type d5,@object
+ .section .data.d5,"aw",@progbits
+ .globl d5
+ .p2align 3
+d5:
+ .int64 4621762822593629389 # double 9.9000000000000003
+ .int64 4621875412584313651 # double 10.1
+ .size d5, 16
+
+ .hidden ld1 # @ld1
+ .type ld1,@object
+ .section .data.ld1,"aw",@progbits
+ .globl ld1
+ .p2align 4
+ld1:
+ .int64 -7378697629483820646 # fp128 1.10000000000000000000000000000000008
+ .int64 4611432690948348313
+ .int64 -7378697629483820646 # fp128 2.20000000000000000000000000000000015
+ .int64 4611714165925058969
+ .size ld1, 32
+
+ .hidden ld2 # @ld2
+ .type ld2,@object
+ .section .data.ld2,"aw",@progbits
+ .globl ld2
+ .p2align 4
+ld2:
+ .int64 7378697629483820646 # fp128 3.29999999999999999999999999999999985
+ .int64 4611868977162249830
+ .int64 -7378697629483820646 # fp128 4.40000000000000000000000000000000031
+ .int64 4611995640901769625
+ .size ld2, 32
+
+ .hidden ld3 # @ld3
+ .type ld3,@object
+ .section .data.ld3,"aw",@progbits
+ .globl ld3
+ .p2align 4
+ld3:
+ .int64 0 # fp128 5.5
+ .int64 4612073046520365056
+ .int64 7378697629483820646 # fp128 6.59999999999999999999999999999999969
+ .int64 4612150452138960486
+ .size ld3, 32
+
+ .hidden ld4 # @ld4
+ .type ld4,@object
+ .section .data.ld4,"aw",@progbits
+ .globl ld4
+ .p2align 4
+ld4:
+ .int64 -3689348814741910323 # fp128 7.70000000000000000000000000000000015
+ .int64 4612227857757555916
+ .int64 -7378697629483820646 # fp128 8.80000000000000000000000000000000062
+ .int64 4612277115878480281
+ .size ld4, 32
+
+ .hidden ld5 # @ld5
+ .type ld5,@object
+ .section .data.ld5,"aw",@progbits
+ .globl ld5
+ .p2align 4
+ld5:
+ .int64 -3689348814741910323 # fp128 9.9000000000000000000000000000000003
+ .int64 4612315818687777996
+ .int64 3689348814741910323 # fp128 10.0999999999999999999999999999999997
+ .int64 4612322855562195763
+ .size ld5, 32
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/compndlit-1.c.s b/test/torture-s/compndlit-1.c.s
index 4554634a7..3ff8c1740 100644
--- a/test/torture-s/compndlit-1.c.s
+++ b/test/torture-s/compndlit-1.c.s
@@ -6,24 +6,27 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
- i32.load $push0=, x($0)
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load $push0=, x($pop9)
i32.const $push1=, 7
i32.and $push2=, $pop0, $pop1
i32.const $push3=, 1
- i32.eq $1=, $pop2, $pop3
- i32.const $push5=, 160
- i32.const $push4=, 320
- i32.select $push6=, $1, $pop5, $pop4
- i32.store $discard=, x($0), $pop6
- i32.const $push7=, 0
- i32.eq $push8=, $1, $pop7
- br_if $pop8, 0 # 0: down to label0
+ i32.eq $push4=, $pop2, $pop3
+ tee_local $push8=, $0=, $pop4
+ i32.const $push6=, 160
+ i32.const $push5=, 320
+ i32.select $push7=, $pop8, $pop6, $pop5
+ i32.store $discard=, x($pop10), $pop7
+ block
+ i32.const $push12=, 0
+ i32.eq $push13=, $0, $pop12
+ br_if $pop13, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push11=, 0
+ call exit@FUNCTION, $pop11
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -37,7 +40,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int8 25 # 0x19
.int8 0 # 0x0
diff --git a/test/torture-s/const-addr-expr-1.c.s b/test/torture-s/const-addr-expr-1.c.s
index f9161b15a..dc6bb563a 100644
--- a/test/torture-s/const-addr-expr-1.c.s
+++ b/test/torture-s/const-addr-expr-1.c.s
@@ -7,24 +7,25 @@
main: # @main
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
block
- i32.load $push0=, Upgd_minor_ID($2)
+ i32.const $push9=, 0
+ i32.load $push0=, Upgd_minor_ID($pop9)
i32.load $push1=, 0($pop0)
i32.const $push2=, 2
i32.ne $push3=, $pop1, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.load $push4=, Upgd_minor_ID1($2)
+ i32.const $push10=, 0
+ i32.load $push4=, Upgd_minor_ID1($pop10)
i32.load $push5=, 0($pop4)
i32.const $push6=, 1
i32.ne $push7=, $pop5, $pop6
br_if $pop7, 0 # 0: down to label1
# BB#2: # %if.end3
- return $2
+ i32.const $push8=, 0
+ return $pop8
.LBB0_3: # %if.then2
end_block # label1:
call abort@FUNCTION
@@ -52,7 +53,7 @@ main: # @main
.type Upgrade_items,@object
.section .data.Upgrade_items,"aw",@progbits
.globl Upgrade_items
- .align 4
+ .p2align 4
Upgrade_items:
.int32 1 # 0x1
.int32 .L.str
@@ -65,7 +66,7 @@ Upgrade_items:
.type Upgd_minor_ID,@object
.section .data.Upgd_minor_ID,"aw",@progbits
.globl Upgd_minor_ID
- .align 2
+ .p2align 2
Upgd_minor_ID:
.int32 Upgrade_items+8
.size Upgd_minor_ID, 4
@@ -74,7 +75,7 @@ Upgd_minor_ID:
.type Upgd_minor_ID1,@object
.section .data.Upgd_minor_ID1,"aw",@progbits
.globl Upgd_minor_ID1
- .align 2
+ .p2align 2
Upgd_minor_ID1:
.int32 Upgrade_items
.size Upgd_minor_ID1, 4
diff --git a/test/torture-s/conversion.c.s b/test/torture-s/conversion.c.s
index 6fae28940..747df65fa 100644
--- a/test/torture-s/conversion.c.s
+++ b/test/torture-s/conversion.c.s
@@ -34,7 +34,7 @@ u2d: # @u2d
.type u2ld,@function
u2ld: # @u2ld
.param i32, i32
- .local i64, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32
# BB#0: # %entry
i32.const $3=, __stack_pointer
i32.load $3=, 0($3)
@@ -42,18 +42,15 @@ u2ld: # @u2ld
i32.sub $6=, $3, $4
i32.const $4=, __stack_pointer
i32.store $6=, 0($4), $6
- i32.const $6=, 0
- i32.add $6=, $6, $6
call __floatunsitf@FUNCTION, $6, $1
- i32.const $1=, 8
i64.load $2=, 0($6)
- i32.add $push2=, $0, $1
- i32.const $7=, 0
- i32.add $7=, $6, $7
- i32.add $push0=, $7, $1
- i64.load $push1=, 0($pop0)
- i64.store $discard=, 0($pop2), $pop1
- i64.store $discard=, 0($0), $2
+ i32.const $push0=, 8
+ i32.add $push3=, $0, $pop0
+ i32.const $push4=, 8
+ i32.add $push1=, $6, $pop4
+ i64.load $push2=, 0($pop1)
+ i64.store $discard=, 0($pop3), $pop2
+ i64.store $discard=, 0($0):p2align=4, $2
i32.const $5=, 16
i32.add $6=, $6, $5
i32.const $5=, __stack_pointer
@@ -97,7 +94,7 @@ s2d: # @s2d
.type s2ld,@function
s2ld: # @s2ld
.param i32, i32
- .local i64, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32
# BB#0: # %entry
i32.const $3=, __stack_pointer
i32.load $3=, 0($3)
@@ -105,18 +102,15 @@ s2ld: # @s2ld
i32.sub $6=, $3, $4
i32.const $4=, __stack_pointer
i32.store $6=, 0($4), $6
- i32.const $6=, 0
- i32.add $6=, $6, $6
call __floatsitf@FUNCTION, $6, $1
- i32.const $1=, 8
i64.load $2=, 0($6)
- i32.add $push2=, $0, $1
- i32.const $7=, 0
- i32.add $7=, $6, $7
- i32.add $push0=, $7, $1
- i64.load $push1=, 0($pop0)
- i64.store $discard=, 0($pop2), $pop1
- i64.store $discard=, 0($0), $2
+ i32.const $push0=, 8
+ i32.add $push3=, $0, $pop0
+ i32.const $push4=, 8
+ i32.add $push1=, $6, $pop4
+ i64.load $push2=, 0($pop1)
+ i64.store $discard=, 0($pop3), $pop2
+ i64.store $discard=, 0($0):p2align=4, $2
i32.const $5=, 16
i32.add $6=, $6, $5
i32.const $5=, __stack_pointer
@@ -135,16 +129,17 @@ fnear: # @fnear
.result i32
.local i32
# BB#0: # %entry
- f32.sub $1=, $0, $1
i32.const $2=, 1
block
- f32.const $push0=, 0x0p0
- f32.eq $push1=, $1, $pop0
- br_if $pop1, 0 # 0: down to label0
+ f32.sub $push0=, $0, $1
+ tee_local $push5=, $1=, $pop0
+ f32.const $push1=, 0x0p0
+ f32.eq $push2=, $pop5, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %lor.rhs
- f32.div $push2=, $0, $1
- f32.const $push3=, 0x1.e848p19
- f32.gt $2=, $pop2, $pop3
+ f32.div $push3=, $0, $1
+ f32.const $push4=, 0x1.e848p19
+ f32.gt $2=, $pop3, $pop4
.LBB6_2: # %lor.end
end_block # label0:
return $2
@@ -161,16 +156,17 @@ dnear: # @dnear
.result i32
.local i32
# BB#0: # %entry
- f64.sub $1=, $0, $1
i32.const $2=, 1
block
- f64.const $push0=, 0x0p0
- f64.eq $push1=, $1, $pop0
- br_if $pop1, 0 # 0: down to label1
+ f64.sub $push0=, $0, $1
+ tee_local $push5=, $1=, $pop0
+ f64.const $push1=, 0x0p0
+ f64.eq $push2=, $pop5, $pop1
+ br_if $pop2, 0 # 0: down to label1
# BB#1: # %lor.rhs
- f64.div $push2=, $0, $1
- f64.const $push3=, 0x1.6bcc41e9p46
- f64.gt $2=, $pop2, $pop3
+ f64.div $push3=, $0, $1
+ f64.const $push4=, 0x1.6bcc41e9p46
+ f64.gt $2=, $pop3, $pop4
.LBB7_2: # %lor.end
end_block # label1:
return $2
@@ -185,51 +181,51 @@ dnear: # @dnear
ldnear: # @ldnear
.param i64, i64, i64, i64
.result i32
- .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 32
- i32.sub $11=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $11=, 0($9), $11
- i32.const $11=, 16
- i32.add $11=, $11, $11
- call __subtf3@FUNCTION, $11, $0, $1, $2, $3
- i32.const $5=, 8
- i32.const $12=, 16
- i32.add $12=, $11, $12
- i32.add $push0=, $12, $5
- i64.load $2=, 0($pop0)
- i64.load $4=, 16($11)
- i64.const $3=, 0
- i32.call $6=, __eqtf2@FUNCTION, $4, $2, $3, $3
- i32.const $7=, 1
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 32
+ i32.sub $10=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $10=, 0($6), $10
+ i32.const $8=, 16
+ i32.add $8=, $10, $8
+ call __subtf3@FUNCTION, $8, $0, $1, $2, $3
+ i32.const $4=, 1
+ i64.load $push0=, 16($10)
+ tee_local $push15=, $3=, $pop0
+ i32.const $push14=, 8
+ i32.const $9=, 16
+ i32.add $9=, $10, $9
block
- i32.const $push8=, 0
- i32.eq $push9=, $6, $pop8
- br_if $pop9, 0 # 0: down to label2
+ i32.add $push2=, $9, $pop14
+ i64.load $push1=, 0($pop2)
+ tee_local $push13=, $2=, $pop1
+ i64.const $push3=, 0
+ i64.const $push12=, 0
+ i32.call $push4=, __eqtf2@FUNCTION, $pop15, $pop13, $pop3, $pop12
+ i32.const $push17=, 0
+ i32.eq $push18=, $pop4, $pop17
+ br_if $pop18, 0 # 0: down to label2
# BB#1: # %lor.rhs
- i32.const $13=, 0
- i32.add $13=, $11, $13
- call __divtf3@FUNCTION, $13, $0, $1, $4, $2
- i64.load $push3=, 0($11)
- i32.const $14=, 0
- i32.add $14=, $11, $14
- i32.add $push1=, $14, $5
- i64.load $push2=, 0($pop1)
- i64.const $push5=, 8070450532247928832
- i64.const $push4=, 4641306360700491489
- i32.call $push6=, __gttf2@FUNCTION, $pop3, $pop2, $pop5, $pop4
- i32.const $push7=, 0
- i32.gt_s $7=, $pop6, $pop7
+ call __divtf3@FUNCTION, $10, $0, $1, $3, $2
+ i64.load $push7=, 0($10)
+ i32.const $push16=, 8
+ i32.add $push5=, $10, $pop16
+ i64.load $push6=, 0($pop5)
+ i64.const $push9=, 8070450532247928832
+ i64.const $push8=, 4641306360700491489
+ i32.call $push10=, __gttf2@FUNCTION, $pop7, $pop6, $pop9, $pop8
+ i32.const $push11=, 0
+ i32.gt_s $4=, $pop10, $pop11
.LBB8_2: # %lor.end
end_block # label2:
- i32.const $10=, 32
- i32.add $11=, $11, $10
- i32.const $10=, __stack_pointer
- i32.store $11=, 0($10), $11
- return $7
+ i32.const $7=, 32
+ i32.add $10=, $10, $7
+ i32.const $7=, __stack_pointer
+ i32.store $10=, 0($7), $10
+ return $4
.endfunc
.Lfunc_end8:
.size ldnear, .Lfunc_end8-ldnear
@@ -281,30 +277,27 @@ ull2d: # @ull2d
.type ull2ld,@function
ull2ld: # @ull2ld
.param i32, i64
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
i32.const $3=, __stack_pointer
- i32.load $3=, 0($3)
+ i32.store $5=, 0($3), $5
+ call __floatunditf@FUNCTION, $5, $1
+ i64.load $1=, 0($5)
+ i32.const $push0=, 8
+ i32.add $push3=, $0, $pop0
+ i32.const $push4=, 8
+ i32.add $push1=, $5, $pop4
+ i64.load $push2=, 0($pop1)
+ i64.store $discard=, 0($pop3), $pop2
+ i64.store $discard=, 0($0):p2align=4, $1
i32.const $4=, 16
- i32.sub $6=, $3, $4
+ i32.add $5=, $5, $4
i32.const $4=, __stack_pointer
- i32.store $6=, 0($4), $6
- i32.const $6=, 0
- i32.add $6=, $6, $6
- call __floatunditf@FUNCTION, $6, $1
- i32.const $2=, 8
- i64.load $1=, 0($6)
- i32.add $push2=, $0, $2
- i32.const $7=, 0
- i32.add $7=, $6, $7
- i32.add $push0=, $7, $2
- i64.load $push1=, 0($pop0)
- i64.store $discard=, 0($pop2), $pop1
- i64.store $discard=, 0($0), $1
- i32.const $5=, 16
- i32.add $6=, $6, $5
- i32.const $5=, __stack_pointer
- i32.store $6=, 0($5), $6
+ i32.store $5=, 0($4), $5
return
.endfunc
.Lfunc_end12:
@@ -344,30 +337,27 @@ sll2d: # @sll2d
.type sll2ld,@function
sll2ld: # @sll2ld
.param i32, i64
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
i32.const $3=, __stack_pointer
- i32.load $3=, 0($3)
+ i32.store $5=, 0($3), $5
+ call __floatditf@FUNCTION, $5, $1
+ i64.load $1=, 0($5)
+ i32.const $push0=, 8
+ i32.add $push3=, $0, $pop0
+ i32.const $push4=, 8
+ i32.add $push1=, $5, $pop4
+ i64.load $push2=, 0($pop1)
+ i64.store $discard=, 0($pop3), $pop2
+ i64.store $discard=, 0($0):p2align=4, $1
i32.const $4=, 16
- i32.sub $6=, $3, $4
+ i32.add $5=, $5, $4
i32.const $4=, __stack_pointer
- i32.store $6=, 0($4), $6
- i32.const $6=, 0
- i32.add $6=, $6, $6
- call __floatditf@FUNCTION, $6, $1
- i32.const $2=, 8
- i64.load $1=, 0($6)
- i32.add $push2=, $0, $2
- i32.const $7=, 0
- i32.add $7=, $6, $7
- i32.add $push0=, $7, $2
- i64.load $push1=, 0($pop0)
- i64.store $discard=, 0($pop2), $pop1
- i64.store $discard=, 0($0), $1
- i32.const $5=, 16
- i32.add $6=, $6, $5
- i32.const $5=, __stack_pointer
- i32.store $6=, 0($5), $6
+ i32.store $5=, 0($4), $5
return
.endfunc
.Lfunc_end15:
diff --git a/test/torture-s/dbra-1.c.s b/test/torture-s/dbra-1.c.s
index a91609977..7cad94d18 100644
--- a/test/torture-s/dbra-1.c.s
+++ b/test/torture-s/dbra-1.c.s
@@ -11,47 +11,56 @@ f1: # @f1
# BB#0: # %entry
i32.const $1=, 0
block
- i32.const $push11=, 0
- i32.eq $push12=, $0, $pop11
- br_if $pop12, 0 # 0: down to label0
+ i32.const $push21=, 0
+ i32.eq $push22=, $0, $pop21
+ br_if $pop22, 0 # 0: down to label0
# BB#1: # %for.inc
i32.const $1=, 1
- i32.eq $push0=, $0, $1
+ i32.const $push12=, 1
+ i32.eq $push0=, $0, $pop12
br_if $pop0, 0 # 0: down to label0
# BB#2: # %for.inc.1
i32.const $1=, 2
- i32.eq $push1=, $0, $1
+ i32.const $push13=, 2
+ i32.eq $push1=, $0, $pop13
br_if $pop1, 0 # 0: down to label0
# BB#3: # %for.inc.2
i32.const $1=, 3
- i32.eq $push2=, $0, $1
+ i32.const $push14=, 3
+ i32.eq $push2=, $0, $pop14
br_if $pop2, 0 # 0: down to label0
# BB#4: # %for.inc.3
i32.const $1=, 4
- i32.eq $push3=, $0, $1
+ i32.const $push15=, 4
+ i32.eq $push3=, $0, $pop15
br_if $pop3, 0 # 0: down to label0
# BB#5: # %for.inc.4
i32.const $1=, 5
- i32.eq $push4=, $0, $1
+ i32.const $push16=, 5
+ i32.eq $push4=, $0, $pop16
br_if $pop4, 0 # 0: down to label0
# BB#6: # %for.inc.5
i32.const $1=, 6
- i32.eq $push5=, $0, $1
+ i32.const $push17=, 6
+ i32.eq $push5=, $0, $pop17
br_if $pop5, 0 # 0: down to label0
# BB#7: # %for.inc.6
i32.const $1=, 7
- i32.eq $push6=, $0, $1
+ i32.const $push18=, 7
+ i32.eq $push6=, $0, $pop18
br_if $pop6, 0 # 0: down to label0
# BB#8: # %for.inc.7
i32.const $1=, 8
- i32.eq $push7=, $0, $1
+ i32.const $push19=, 8
+ i32.eq $push7=, $0, $pop19
br_if $pop7, 0 # 0: down to label0
# BB#9: # %for.inc.8
- i32.const $1=, 9
- i32.eq $push8=, $0, $1
- i32.const $push9=, -1
- i32.select $push10=, $pop8, $1, $pop9
- return $pop10
+ i32.const $push8=, 9
+ i32.eq $push9=, $0, $pop8
+ i32.const $push20=, 9
+ i32.const $push10=, -1
+ i32.select $push11=, $pop9, $pop20, $pop10
+ return $pop11
.LBB0_10: # %cleanup
end_block # label0:
return $1
@@ -81,62 +90,63 @@ f2: # @f2
f3: # @f3
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 1
- i32.const $2=, 0
+ i32.const $1=, 0
block
- i32.eq $push0=, $0, $1
- br_if $pop0, 0 # 0: down to label1
-# BB#1: # %for.inc
- copy_local $2=, $1
- i32.const $1=, 2
- i32.eq $push1=, $0, $1
+ i32.const $push0=, 1
+ i32.eq $push1=, $0, $pop0
br_if $pop1, 0 # 0: down to label1
+# BB#1: # %for.inc
+ i32.const $1=, 1
+ i32.const $push2=, 2
+ i32.eq $push3=, $0, $pop2
+ br_if $pop3, 0 # 0: down to label1
# BB#2: # %for.inc.1
- copy_local $2=, $1
- i32.const $1=, 3
- i32.eq $push2=, $0, $1
- br_if $pop2, 0 # 0: down to label1
+ i32.const $1=, 2
+ i32.const $push4=, 3
+ i32.eq $push5=, $0, $pop4
+ br_if $pop5, 0 # 0: down to label1
# BB#3: # %for.inc.2
- copy_local $2=, $1
- i32.const $1=, 4
- i32.eq $push3=, $0, $1
- br_if $pop3, 0 # 0: down to label1
+ i32.const $1=, 3
+ i32.const $push6=, 4
+ i32.eq $push7=, $0, $pop6
+ br_if $pop7, 0 # 0: down to label1
# BB#4: # %for.inc.3
- copy_local $2=, $1
- i32.const $1=, 5
- i32.eq $push4=, $0, $1
- br_if $pop4, 0 # 0: down to label1
+ i32.const $1=, 4
+ i32.const $push8=, 5
+ i32.eq $push9=, $0, $pop8
+ br_if $pop9, 0 # 0: down to label1
# BB#5: # %for.inc.4
- copy_local $2=, $1
- i32.const $1=, 6
- i32.eq $push5=, $0, $1
- br_if $pop5, 0 # 0: down to label1
+ i32.const $1=, 5
+ i32.const $push10=, 6
+ i32.eq $push11=, $0, $pop10
+ br_if $pop11, 0 # 0: down to label1
# BB#6: # %for.inc.5
- copy_local $2=, $1
- i32.const $1=, 7
- i32.eq $push6=, $0, $1
- br_if $pop6, 0 # 0: down to label1
+ i32.const $1=, 6
+ i32.const $push12=, 7
+ i32.eq $push13=, $0, $pop12
+ br_if $pop13, 0 # 0: down to label1
# BB#7: # %for.inc.6
- copy_local $2=, $1
- i32.const $1=, 8
- i32.eq $push7=, $0, $1
- br_if $pop7, 0 # 0: down to label1
+ i32.const $1=, 7
+ i32.const $push14=, 8
+ i32.eq $push15=, $0, $pop14
+ br_if $pop15, 0 # 0: down to label1
# BB#8: # %for.inc.7
- copy_local $2=, $1
- i32.const $1=, 9
- i32.eq $push8=, $0, $1
- br_if $pop8, 0 # 0: down to label1
+ i32.const $1=, 8
+ i32.const $push21=, 9
+ i32.eq $push16=, $0, $pop21
+ br_if $pop16, 0 # 0: down to label1
# BB#9: # %for.inc.8
- i32.const $push9=, 10
- i32.eq $push10=, $0, $pop9
- i32.const $push11=, -1
- i32.select $push12=, $pop10, $1, $pop11
- return $pop12
+ i32.const $push17=, 10
+ i32.eq $push18=, $0, $pop17
+ i32.const $push22=, 9
+ i32.const $push19=, -1
+ i32.select $push20=, $pop18, $pop22, $pop19
+ return $pop20
.LBB2_10: # %cleanup
end_block # label1:
- return $2
+ return $1
.endfunc
.Lfunc_end2:
.size f3, .Lfunc_end2-f3
@@ -163,62 +173,63 @@ f4: # @f4
f5: # @f5
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, -1
- i32.const $2=, 0
+ i32.const $1=, 0
block
- i32.eq $push0=, $0, $1
- br_if $pop0, 0 # 0: down to label2
+ i32.const $push0=, -1
+ i32.eq $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label2
# BB#1: # %for.inc
- i32.const $2=, 1
- i32.const $push1=, -2
- i32.eq $push2=, $0, $pop1
- br_if $pop2, 0 # 0: down to label2
+ i32.const $1=, 1
+ i32.const $push2=, -2
+ i32.eq $push3=, $0, $pop2
+ br_if $pop3, 0 # 0: down to label2
# BB#2: # %for.inc.1
- i32.const $2=, 2
- i32.const $push3=, -3
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label2
+ i32.const $1=, 2
+ i32.const $push4=, -3
+ i32.eq $push5=, $0, $pop4
+ br_if $pop5, 0 # 0: down to label2
# BB#3: # %for.inc.2
- i32.const $2=, 3
- i32.const $push5=, -4
- i32.eq $push6=, $0, $pop5
- br_if $pop6, 0 # 0: down to label2
+ i32.const $1=, 3
+ i32.const $push6=, -4
+ i32.eq $push7=, $0, $pop6
+ br_if $pop7, 0 # 0: down to label2
# BB#4: # %for.inc.3
- i32.const $2=, 4
- i32.const $push7=, -5
- i32.eq $push8=, $0, $pop7
- br_if $pop8, 0 # 0: down to label2
+ i32.const $1=, 4
+ i32.const $push8=, -5
+ i32.eq $push9=, $0, $pop8
+ br_if $pop9, 0 # 0: down to label2
# BB#5: # %for.inc.4
- i32.const $2=, 5
- i32.const $push9=, -6
- i32.eq $push10=, $0, $pop9
- br_if $pop10, 0 # 0: down to label2
+ i32.const $1=, 5
+ i32.const $push10=, -6
+ i32.eq $push11=, $0, $pop10
+ br_if $pop11, 0 # 0: down to label2
# BB#6: # %for.inc.5
- i32.const $2=, 6
- i32.const $push11=, -7
- i32.eq $push12=, $0, $pop11
- br_if $pop12, 0 # 0: down to label2
+ i32.const $1=, 6
+ i32.const $push12=, -7
+ i32.eq $push13=, $0, $pop12
+ br_if $pop13, 0 # 0: down to label2
# BB#7: # %for.inc.6
- i32.const $2=, 7
- i32.const $push13=, -8
- i32.eq $push14=, $0, $pop13
- br_if $pop14, 0 # 0: down to label2
+ i32.const $1=, 7
+ i32.const $push14=, -8
+ i32.eq $push15=, $0, $pop14
+ br_if $pop15, 0 # 0: down to label2
# BB#8: # %for.inc.7
- i32.const $2=, 8
- i32.const $push15=, -9
- i32.eq $push16=, $0, $pop15
- br_if $pop16, 0 # 0: down to label2
+ i32.const $1=, 8
+ i32.const $push16=, -9
+ i32.eq $push17=, $0, $pop16
+ br_if $pop17, 0 # 0: down to label2
# BB#9: # %for.inc.8
- i32.const $push17=, -10
- i32.eq $push18=, $0, $pop17
- i32.const $push19=, 9
- i32.select $push20=, $pop18, $pop19, $1
- return $pop20
+ i32.const $push18=, -10
+ i32.eq $push19=, $0, $pop18
+ i32.const $push21=, 9
+ i32.const $push20=, -1
+ i32.select $push22=, $pop19, $pop21, $pop20
+ return $pop22
.LBB4_10: # %cleanup
end_block # label2:
- return $2
+ return $1
.endfunc
.Lfunc_end4:
.size f5, .Lfunc_end4-f5
diff --git a/test/torture-s/divcmp-3.c.s b/test/torture-s/divcmp-3.c.s
index f018bd426..d345761fc 100644
--- a/test/torture-s/divcmp-3.c.s
+++ b/test/torture-s/divcmp-3.c.s
@@ -188,26 +188,26 @@ main: # @main
# =>This Inner Loop Header: Depth=1
block
loop # label1:
- i32.const $push0=, 24
- i32.shr_s $push1=, $0, $pop0
- i32.const $push2=, -300
- i32.add $push3=, $pop1, $pop2
- i32.const $push5=, 99
- i32.le_u $push6=, $pop3, $pop5
- br_if $pop6, 2 # 2: down to label0
+ i32.const $push10=, 24
+ i32.shr_s $push0=, $0, $pop10
+ i32.const $push9=, -300
+ i32.add $push1=, $pop0, $pop9
+ i32.const $push8=, 99
+ i32.le_u $push2=, $pop1, $pop8
+ br_if $pop2, 2 # 2: down to label0
# BB#2: # %for.cond
# in Loop: Header=BB12_1 Depth=1
- i32.const $push4=, 1
- i32.add $1=, $1, $pop4
- i32.const $push7=, 16777216
- i32.add $0=, $0, $pop7
- i32.const $push8=, 255
- i32.le_s $push9=, $1, $pop8
- br_if $pop9, 0 # 0: up to label1
+ i32.const $push7=, 1
+ i32.add $1=, $1, $pop7
+ i32.const $push6=, 16777216
+ i32.add $0=, $0, $pop6
+ i32.const $push5=, 255
+ i32.le_s $push3=, $1, $pop5
+ br_if $pop3, 0 # 0: up to label1
# BB#3: # %for.end
end_loop # label2:
- i32.const $push10=, 0
- return $pop10
+ i32.const $push4=, 0
+ return $pop4
.LBB12_4: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/divconst-1.c.s b/test/torture-s/divconst-1.c.s
index 3068625b3..b22b899b3 100644
--- a/test/torture-s/divconst-1.c.s
+++ b/test/torture-s/divconst-1.c.s
@@ -8,12 +8,9 @@ f: # @f
.param i32
.result i32
# BB#0: # %entry
- i32.const $push0=, 10000
- i32.store $push1=, 0($0), $pop0
- i32.store $discard=, 8($0), $pop1
- i32.const $push2=, 3333
- i32.store $push3=, 4($0), $pop2
- i32.store $discard=, 12($0), $pop3
+ i64.const $push0=, 14315126007568
+ i64.store $push1=, 0($0):p2align=2, $pop0
+ i64.store $discard=, 8($0):p2align=2, $pop1
return $0
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/divconst-2.c.s b/test/torture-s/divconst-2.c.s
index c1dbca9cb..278cb0be5 100644
--- a/test/torture-s/divconst-2.c.s
+++ b/test/torture-s/divconst-2.c.s
@@ -22,19 +22,20 @@ f: # @f
r: # @r
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 31
- i32.const $push5=, 0
- i32.shr_s $push0=, $0, $1
- i32.const $push1=, 1
- i32.shr_u $push2=, $pop0, $pop1
- i32.add $push3=, $0, $pop2
- i32.shr_u $push4=, $pop3, $1
- i32.sub $push6=, $pop5, $pop4
- i32.shl $push7=, $pop6, $1
- i32.sub $push8=, $0, $pop7
- return $pop8
+ i32.const $push6=, 0
+ i32.const $push0=, 31
+ i32.shr_s $push1=, $0, $pop0
+ i32.const $push2=, 1
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.add $push4=, $0, $pop3
+ i32.const $push11=, 31
+ i32.shr_u $push5=, $pop4, $pop11
+ i32.sub $push7=, $pop6, $pop5
+ i32.const $push10=, 31
+ i32.shl $push8=, $pop7, $pop10
+ i32.sub $push9=, $0, $pop8
+ return $pop9
.endfunc
.Lfunc_end1:
.size r, .Lfunc_end1-r
@@ -62,56 +63,80 @@ std_eqn: # @std_eqn
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, nums($0)
- i32.const $3=, 31
- i32.const $4=, 1
- i32.const $2=, -2147483648
block
- i32.eq $push0=, $1, $2
- i32.shl $push8=, $pop0, $3
- i32.shr_s $push1=, $1, $3
- i32.shr_u $push2=, $pop1, $4
- i32.add $push3=, $1, $pop2
- i32.shr_u $push4=, $pop3, $3
- i32.sub $push5=, $0, $pop4
- i32.shl $push6=, $pop5, $3
- i32.sub $push7=, $1, $pop6
- i32.add $push9=, $pop8, $pop7
- i32.ne $push10=, $pop9, $1
- br_if $pop10, 0 # 0: down to label0
+ i32.const $push47=, 0
+ i32.load $push0=, nums($pop47)
+ tee_local $push46=, $0=, $pop0
+ i32.const $push45=, -2147483648
+ i32.eq $push1=, $pop46, $pop45
+ i32.const $push44=, 31
+ i32.shl $push9=, $pop1, $pop44
+ i32.const $push43=, 0
+ i32.const $push42=, 31
+ i32.shr_s $push2=, $0, $pop42
+ i32.const $push41=, 1
+ i32.shr_u $push3=, $pop2, $pop41
+ i32.add $push4=, $0, $pop3
+ i32.const $push40=, 31
+ i32.shr_u $push5=, $pop4, $pop40
+ i32.sub $push6=, $pop43, $pop5
+ i32.const $push39=, 31
+ i32.shl $push7=, $pop6, $pop39
+ i32.sub $push8=, $0, $pop7
+ i32.add $push10=, $pop9, $pop8
+ i32.ne $push11=, $pop10, $0
+ br_if $pop11, 0 # 0: down to label0
# BB#1: # %for.cond
- i32.load $1=, nums+4($0)
- i32.eq $push11=, $1, $2
- i32.shl $push19=, $pop11, $3
- i32.shr_s $push12=, $1, $3
- i32.shr_u $push13=, $pop12, $4
- i32.add $push14=, $1, $pop13
- i32.shr_u $push15=, $pop14, $3
- i32.sub $push16=, $0, $pop15
- i32.shl $push17=, $pop16, $3
- i32.sub $push18=, $1, $pop17
- i32.add $push20=, $pop19, $pop18
- i32.ne $push21=, $pop20, $1
- br_if $pop21, 0 # 0: down to label0
+ i32.const $push56=, 0
+ i32.load $push12=, nums+4($pop56)
+ tee_local $push55=, $0=, $pop12
+ i32.const $push54=, -2147483648
+ i32.eq $push13=, $pop55, $pop54
+ i32.const $push53=, 31
+ i32.shl $push21=, $pop13, $pop53
+ i32.const $push52=, 0
+ i32.const $push51=, 31
+ i32.shr_s $push14=, $0, $pop51
+ i32.const $push50=, 1
+ i32.shr_u $push15=, $pop14, $pop50
+ i32.add $push16=, $0, $pop15
+ i32.const $push49=, 31
+ i32.shr_u $push17=, $pop16, $pop49
+ i32.sub $push18=, $pop52, $pop17
+ i32.const $push48=, 31
+ i32.shl $push19=, $pop18, $pop48
+ i32.sub $push20=, $0, $pop19
+ i32.add $push22=, $pop21, $pop20
+ i32.ne $push23=, $pop22, $0
+ br_if $pop23, 0 # 0: down to label0
# BB#2: # %for.cond.1
- i32.load $1=, nums+8($0)
- i32.eq $push22=, $1, $2
- i32.shl $push30=, $pop22, $3
- i32.shr_s $push23=, $1, $3
- i32.shr_u $push24=, $pop23, $4
- i32.add $push25=, $1, $pop24
- i32.shr_u $push26=, $pop25, $3
- i32.sub $push27=, $0, $pop26
- i32.shl $push28=, $pop27, $3
- i32.sub $push29=, $1, $pop28
- i32.add $push31=, $pop30, $pop29
- i32.ne $push32=, $pop31, $1
- br_if $pop32, 0 # 0: down to label0
+ i32.const $push62=, 0
+ i32.load $push24=, nums+8($pop62)
+ tee_local $push61=, $0=, $pop24
+ i32.const $push25=, -2147483648
+ i32.eq $push26=, $pop61, $pop25
+ i32.const $push27=, 31
+ i32.shl $push36=, $pop26, $pop27
+ i32.const $push60=, 0
+ i32.const $push59=, 31
+ i32.shr_s $push28=, $0, $pop59
+ i32.const $push29=, 1
+ i32.shr_u $push30=, $pop28, $pop29
+ i32.add $push31=, $0, $pop30
+ i32.const $push58=, 31
+ i32.shr_u $push32=, $pop31, $pop58
+ i32.sub $push33=, $pop60, $pop32
+ i32.const $push57=, 31
+ i32.shl $push34=, $pop33, $pop57
+ i32.sub $push35=, $0, $pop34
+ i32.add $push37=, $pop36, $pop35
+ i32.ne $push38=, $pop37, $0
+ br_if $pop38, 0 # 0: down to label0
# BB#3: # %for.cond.2
- call exit@FUNCTION, $0
+ i32.const $push63=, 0
+ call exit@FUNCTION, $pop63
unreachable
.LBB3_4: # %if.then
end_block # label0:
@@ -125,7 +150,7 @@ main: # @main
.type nums,@object
.section .data.nums,"aw",@progbits
.globl nums
- .align 2
+ .p2align 2
nums:
.int32 4294967295 # 0xffffffff
.int32 2147483647 # 0x7fffffff
diff --git a/test/torture-s/doloop-1.c.s b/test/torture-s/doloop-1.c.s
index 13dc75fee..28365db20 100644
--- a/test/torture-s/doloop-1.c.s
+++ b/test/torture-s/doloop-1.c.s
@@ -6,32 +6,34 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
i32.const $0=, 0
- copy_local $1=, $0
.LBB0_1: # %do.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.load $push0=, i($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, i($0), $pop2
- i32.const $push3=, -1
- i32.add $1=, $1, $pop3
- i32.const $push4=, 255
- i32.and $push5=, $1, $pop4
- br_if $pop5, 0 # 0: up to label0
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load $push0=, i($pop9)
+ i32.const $push8=, 1
+ i32.add $push1=, $pop0, $pop8
+ i32.store $discard=, i($pop10), $pop1
+ i32.const $push7=, -1
+ i32.add $0=, $0, $pop7
+ i32.const $push6=, 255
+ i32.and $push2=, $0, $pop6
+ br_if $pop2, 0 # 0: up to label0
# BB#2: # %do.end
end_loop # label1:
- i32.const $1=, 0
block
- i32.load $push6=, i($1)
- i32.const $push7=, 256
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label2
+ i32.const $push11=, 0
+ i32.load $push3=, i($pop11)
+ i32.const $push4=, 256
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label2
# BB#3: # %if.end
- call exit@FUNCTION, $1
+ i32.const $push12=, 0
+ call exit@FUNCTION, $pop12
unreachable
.LBB0_4: # %if.then
end_block # label2:
@@ -45,7 +47,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/doloop-2.c.s b/test/torture-s/doloop-2.c.s
index 46c11abd6..7fed4750a 100644
--- a/test/torture-s/doloop-2.c.s
+++ b/test/torture-s/doloop-2.c.s
@@ -6,32 +6,34 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
i32.const $0=, 0
- copy_local $1=, $0
.LBB0_1: # %do.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.load $push0=, i($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, i($0), $pop2
- i32.const $push3=, -1
- i32.add $1=, $1, $pop3
- i32.const $push4=, 65535
- i32.and $push5=, $1, $pop4
- br_if $pop5, 0 # 0: up to label0
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load $push0=, i($pop9)
+ i32.const $push8=, 1
+ i32.add $push1=, $pop0, $pop8
+ i32.store $discard=, i($pop10), $pop1
+ i32.const $push7=, -1
+ i32.add $0=, $0, $pop7
+ i32.const $push6=, 65535
+ i32.and $push2=, $0, $pop6
+ br_if $pop2, 0 # 0: up to label0
# BB#2: # %do.end
end_loop # label1:
- i32.const $1=, 0
block
- i32.load $push6=, i($1)
- i32.const $push7=, 65536
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label2
+ i32.const $push11=, 0
+ i32.load $push3=, i($pop11)
+ i32.const $push4=, 65536
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label2
# BB#3: # %if.end
- call exit@FUNCTION, $1
+ i32.const $push12=, 0
+ call exit@FUNCTION, $pop12
unreachable
.LBB0_4: # %if.then
end_block # label2:
@@ -45,7 +47,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/eeprof-1.c.s b/test/torture-s/eeprof-1.c.s
index 5a0f1291a..789425b0d 100644
--- a/test/torture-s/eeprof-1.c.s
+++ b/test/torture-s/eeprof-1.c.s
@@ -27,51 +27,61 @@ foo: # @foo
.globl nfoo
.type nfoo,@function
nfoo: # @nfoo
- .local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, 2
block
- i32.load $push1=, entry_calls($0)
- i32.ne $push2=, $pop1, $1
+ i32.const $push19=, 0
+ i32.load $push1=, entry_calls($pop19)
+ i32.const $push18=, 2
+ i32.ne $push2=, $pop1, $pop18
br_if $pop2, 0 # 0: down to label1
# BB#1: # %entry
- i32.load $push0=, exit_calls($0)
- i32.ne $push3=, $pop0, $1
+ i32.const $push21=, 0
+ i32.load $push0=, exit_calls($pop21)
+ i32.const $push20=, 2
+ i32.ne $push3=, $pop0, $pop20
br_if $pop3, 0 # 0: down to label1
# BB#2: # %if.end
- i32.const $1=, foo@FUNCTION
block
- i32.load $push4=, last_fn_entered($0)
- i32.ne $push5=, $pop4, $1
- br_if $pop5, 0 # 0: down to label2
+ i32.const $push22=, 0
+ i32.load $push4=, last_fn_entered($pop22)
+ i32.const $push5=, foo@FUNCTION
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label2
# BB#3: # %if.end4
block
- i32.load $push6=, last_fn_exited($0)
- i32.const $push7=, foo2@FUNCTION
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label3
+ i32.const $push23=, 0
+ i32.load $push7=, last_fn_exited($pop23)
+ i32.const $push8=, foo2@FUNCTION
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label3
# BB#4: # %if.end7
call foo@FUNCTION
- i32.const $2=, 3
block
- i32.load $push10=, entry_calls($0)
- i32.ne $push11=, $pop10, $2
- br_if $pop11, 0 # 0: down to label4
-# BB#5: # %if.end7
- i32.load $push9=, exit_calls($0)
- i32.ne $push12=, $pop9, $2
+ i32.const $push25=, 0
+ i32.load $push11=, entry_calls($pop25)
+ i32.const $push24=, 3
+ i32.ne $push12=, $pop11, $pop24
br_if $pop12, 0 # 0: down to label4
+# BB#5: # %if.end7
+ i32.const $push27=, 0
+ i32.load $push10=, exit_calls($pop27)
+ i32.const $push26=, 3
+ i32.ne $push13=, $pop10, $pop26
+ br_if $pop13, 0 # 0: down to label4
# BB#6: # %if.end12
block
- i32.load $push13=, last_fn_entered($0)
- i32.ne $push14=, $pop13, $1
- br_if $pop14, 0 # 0: down to label5
+ i32.const $push29=, 0
+ i32.load $push14=, last_fn_entered($pop29)
+ i32.const $push28=, foo@FUNCTION
+ i32.ne $push15=, $pop14, $pop28
+ br_if $pop15, 0 # 0: down to label5
# BB#7: # %if.end15
block
- i32.load $push15=, last_fn_exited($0)
- i32.ne $push16=, $pop15, $1
- br_if $pop16, 0 # 0: down to label6
+ i32.const $push31=, 0
+ i32.load $push16=, last_fn_exited($pop31)
+ i32.const $push30=, foo@FUNCTION
+ i32.ne $push17=, $pop16, $pop30
+ br_if $pop17, 0 # 0: down to label6
# BB#8: # %if.end18
return
.LBB1_9: # %if.then17
@@ -108,55 +118,66 @@ nfoo: # @nfoo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push1=, exit_calls($0)
- i32.load $push0=, entry_calls($0)
+ i32.const $push21=, 0
+ i32.load $push1=, exit_calls($pop21)
+ i32.const $push20=, 0
+ i32.load $push0=, entry_calls($pop20)
i32.or $push2=, $pop1, $pop0
br_if $pop2, 0 # 0: down to label7
# BB#1: # %if.end
call foo2@FUNCTION
- i32.const $1=, 2
block
- i32.load $push4=, entry_calls($0)
- i32.ne $push5=, $pop4, $1
+ i32.const $push23=, 0
+ i32.load $push4=, entry_calls($pop23)
+ i32.const $push22=, 2
+ i32.ne $push5=, $pop4, $pop22
br_if $pop5, 0 # 0: down to label8
# BB#2: # %if.end
- i32.load $push3=, exit_calls($0)
- i32.ne $push6=, $pop3, $1
+ i32.const $push25=, 0
+ i32.load $push3=, exit_calls($pop25)
+ i32.const $push24=, 2
+ i32.ne $push6=, $pop3, $pop24
br_if $pop6, 0 # 0: down to label8
# BB#3: # %if.end6
- i32.const $1=, foo@FUNCTION
block
- i32.load $push7=, last_fn_entered($0)
- i32.ne $push8=, $pop7, $1
- br_if $pop8, 0 # 0: down to label9
+ i32.const $push26=, 0
+ i32.load $push7=, last_fn_entered($pop26)
+ i32.const $push8=, foo@FUNCTION
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label9
# BB#4: # %if.end9
block
- i32.load $push9=, last_fn_exited($0)
- i32.const $push10=, foo2@FUNCTION
- i32.ne $push11=, $pop9, $pop10
- br_if $pop11, 0 # 0: down to label10
+ i32.const $push27=, 0
+ i32.load $push10=, last_fn_exited($pop27)
+ i32.const $push11=, foo2@FUNCTION
+ i32.ne $push12=, $pop10, $pop11
+ br_if $pop12, 0 # 0: down to label10
# BB#5: # %if.end12
call nfoo@FUNCTION
- i32.const $2=, 3
block
- i32.load $push13=, entry_calls($0)
- i32.ne $push14=, $pop13, $2
- br_if $pop14, 0 # 0: down to label11
-# BB#6: # %if.end12
- i32.load $push12=, exit_calls($0)
- i32.ne $push15=, $pop12, $2
+ i32.const $push29=, 0
+ i32.load $push14=, entry_calls($pop29)
+ i32.const $push28=, 3
+ i32.ne $push15=, $pop14, $pop28
br_if $pop15, 0 # 0: down to label11
+# BB#6: # %if.end12
+ i32.const $push31=, 0
+ i32.load $push13=, exit_calls($pop31)
+ i32.const $push30=, 3
+ i32.ne $push16=, $pop13, $pop30
+ br_if $pop16, 0 # 0: down to label11
# BB#7: # %if.end17
block
- i32.load $push16=, last_fn_entered($0)
- i32.ne $push17=, $pop16, $1
- br_if $pop17, 0 # 0: down to label12
+ i32.const $push32=, 0
+ i32.load $push17=, last_fn_entered($pop32)
+ i32.const $push18=, foo@FUNCTION
+ i32.ne $push19=, $pop17, $pop18
+ br_if $pop19, 0 # 0: down to label12
# BB#8: # %if.end20
- return $0
+ i32.const $push33=, 0
+ return $pop33
.LBB2_9: # %if.then19
end_block # label12:
call abort@FUNCTION
@@ -191,14 +212,15 @@ main: # @main
.type __cyg_profile_func_enter,@function
__cyg_profile_func_enter: # @__cyg_profile_func_enter
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $push0=, entry_calls($2)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, entry_calls($2), $pop2
- i32.store $discard=, last_fn_entered($2), $0
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, entry_calls($pop5)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, entry_calls($pop0), $pop3
+ i32.const $push4=, 0
+ i32.store $discard=, last_fn_entered($pop4), $0
return
.endfunc
.Lfunc_end3:
@@ -210,14 +232,15 @@ __cyg_profile_func_enter: # @__cyg_profile_func_enter
.type __cyg_profile_func_exit,@function
__cyg_profile_func_exit: # @__cyg_profile_func_exit
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $push0=, exit_calls($2)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, exit_calls($2), $pop2
- i32.store $discard=, last_fn_exited($2), $0
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, exit_calls($pop5)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, exit_calls($pop0), $pop3
+ i32.const $push4=, 0
+ i32.store $discard=, last_fn_exited($pop4), $0
return
.endfunc
.Lfunc_end4:
@@ -226,45 +249,52 @@ __cyg_profile_func_exit: # @__cyg_profile_func_exit
.section .text.foo2,"ax",@progbits
.type foo2,@function
foo2: # @foo2
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, 1
block
- i32.load $push1=, entry_calls($0)
- i32.ne $push2=, $pop1, $1
- br_if $pop2, 0 # 0: down to label13
+ i32.const $push17=, 0
+ i32.load $push1=, entry_calls($pop17)
+ i32.const $push2=, 1
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label13
# BB#1: # %entry
- i32.load $push0=, exit_calls($0)
+ i32.const $push18=, 0
+ i32.load $push0=, exit_calls($pop18)
br_if $pop0, 0 # 0: down to label13
# BB#2: # %if.end
block
- i32.load $push3=, last_fn_entered($0)
- i32.const $push4=, foo2@FUNCTION
- i32.ne $push5=, $pop3, $pop4
- br_if $pop5, 0 # 0: down to label14
+ i32.const $push19=, 0
+ i32.load $push4=, last_fn_entered($pop19)
+ i32.const $push5=, foo2@FUNCTION
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label14
# BB#3: # %if.end4
call foo@FUNCTION
block
- i32.load $push7=, entry_calls($0)
- i32.const $push8=, 2
- i32.ne $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label15
-# BB#4: # %if.end4
- i32.load $push6=, exit_calls($0)
- i32.ne $push10=, $pop6, $1
+ i32.const $push20=, 0
+ i32.load $push8=, entry_calls($pop20)
+ i32.const $push9=, 2
+ i32.ne $push10=, $pop8, $pop9
br_if $pop10, 0 # 0: down to label15
+# BB#4: # %if.end4
+ i32.const $push21=, 0
+ i32.load $push7=, exit_calls($pop21)
+ i32.const $push11=, 1
+ i32.ne $push12=, $pop7, $pop11
+ br_if $pop12, 0 # 0: down to label15
# BB#5: # %if.end9
- i32.const $1=, foo@FUNCTION
block
- i32.load $push11=, last_fn_entered($0)
- i32.ne $push12=, $pop11, $1
- br_if $pop12, 0 # 0: down to label16
+ i32.const $push23=, 0
+ i32.load $push13=, last_fn_entered($pop23)
+ i32.const $push22=, foo@FUNCTION
+ i32.ne $push14=, $pop13, $pop22
+ br_if $pop14, 0 # 0: down to label16
# BB#6: # %if.end12
block
- i32.load $push13=, last_fn_exited($0)
- i32.ne $push14=, $pop13, $1
- br_if $pop14, 0 # 0: down to label17
+ i32.const $push25=, 0
+ i32.load $push15=, last_fn_exited($pop25)
+ i32.const $push24=, foo@FUNCTION
+ i32.ne $push16=, $pop15, $pop24
+ br_if $pop16, 0 # 0: down to label17
# BB#7: # %if.end15
return
.LBB5_8: # %if.then14
@@ -295,7 +325,7 @@ foo2: # @foo2
.type last_fn_entered,@object
.section .bss.last_fn_entered,"aw",@nobits
.globl last_fn_entered
- .align 2
+ .p2align 2
last_fn_entered:
.int32 0
.size last_fn_entered, 4
@@ -304,7 +334,7 @@ last_fn_entered:
.type entry_calls,@object
.section .bss.entry_calls,"aw",@nobits
.globl entry_calls
- .align 2
+ .p2align 2
entry_calls:
.int32 0 # 0x0
.size entry_calls, 4
@@ -313,7 +343,7 @@ entry_calls:
.type exit_calls,@object
.section .bss.exit_calls,"aw",@nobits
.globl exit_calls
- .align 2
+ .p2align 2
exit_calls:
.int32 0 # 0x0
.size exit_calls, 4
@@ -322,7 +352,7 @@ exit_calls:
.type last_fn_exited,@object
.section .bss.last_fn_exited,"aw",@nobits
.globl last_fn_exited
- .align 2
+ .p2align 2
last_fn_exited:
.int32 0
.size last_fn_exited, 4
diff --git a/test/torture-s/enum-3.c.s b/test/torture-s/enum-3.c.s
new file mode 100644
index 000000000..6ad546a41
--- /dev/null
+++ b/test/torture-s/enum-3.c.s
@@ -0,0 +1,49 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/enum-3.c"
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i32.const $push0=, -2147483648
+ i32.store $discard=, 12($3), $pop0
+ i32.const $push1=, 0
+ i32.const $2=, 12
+ i32.add $2=, $3, $2
+ i32.store $discard=, q($pop1), $2
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+
+ .hidden q # @q
+ .type q,@object
+ .section .bss.q,"aw",@nobits
+ .globl q
+ .p2align 2
+q:
+ .int32 0
+ .size q, 4
+
+ .hidden p # @p
+ .type p,@object
+ .section .bss.p,"aw",@nobits
+ .globl p
+ .p2align 2
+p:
+ .int32 0
+ .size p, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/extzvsi.c.s b/test/torture-s/extzvsi.c.s
index b4fc7fb70..e648d4989 100644
--- a/test/torture-s/extzvsi.c.s
+++ b/test/torture-s/extzvsi.c.s
@@ -6,18 +6,21 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 1
i32.const $push0=, 0
- i32.load $push1=, x($pop0)
- i32.shr_u $push2=, $pop1, $0
- i32.const $push3=, 2047
- i32.and $1=, $pop2, $pop3
- i32.gt_u $push4=, $1, $0
- i32.shl $push5=, $pop4, $0
- i32.select $push6=, $1, $pop5, $0
- return $pop6
+ i32.load $push1=, x($pop0):p2align=3
+ i32.const $push2=, 1
+ i32.shr_u $push3=, $pop1, $pop2
+ i32.const $push4=, 2047
+ i32.and $0=, $pop3, $pop4
+ i32.const $push10=, 1
+ i32.gt_u $push5=, $0, $pop10
+ i32.const $push9=, 1
+ i32.shl $push6=, $pop5, $pop9
+ i32.const $push8=, 1
+ i32.select $push7=, $0, $pop6, $pop8
+ return $pop7
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -28,16 +31,17 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i64.load $push0=, x($0)
- i64.const $push1=, -4095
- i64.and $push2=, $pop0, $pop1
- i64.const $push3=, 2
- i64.or $push4=, $pop2, $pop3
- i64.store $discard=, x($0), $pop4
- return $0
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i64.load $push1=, x($pop7)
+ i64.const $push2=, -4095
+ i64.and $push3=, $pop1, $pop2
+ i64.const $push4=, 2
+ i64.or $push5=, $pop3, $pop4
+ i64.store $discard=, x($pop0), $pop5
+ i32.const $push6=, 0
+ return $pop6
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -46,7 +50,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 3
+ .p2align 3
x:
.skip 8
.size x, 8
diff --git a/test/torture-s/ffs-1.c.s b/test/torture-s/ffs-1.c.s
index bc9c7b2b7..7fa88b055 100644
--- a/test/torture-s/ffs-1.c.s
+++ b/test/torture-s/ffs-1.c.s
@@ -6,14 +6,14 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, a($0)
+ i32.const $push1=, 0
+ i32.load $push0=, a($pop1)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -27,7 +27,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
diff --git a/test/torture-s/ffs-2.c.s b/test/torture-s/ffs-2.c.s
index 2fc285ea3..6f1623adc 100644
--- a/test/torture-s/ffs-2.c.s
+++ b/test/torture-s/ffs-2.c.s
@@ -6,93 +6,131 @@
.type main,@function
main: # @main
.result i32
- .local i32, i64, i32, i32, i64
+ .local i32, i64
# BB#0: # %entry
- i32.const $0=, 0
- i64.load $1=, ffstesttab($0)
- i32.wrap/i64 $2=, $1
- i32.const $3=, 1
- i64.const $4=, 32
+ i32.const $push61=, 0
+ i64.load $push0=, ffstesttab($pop61):p2align=4
+ tee_local $push60=, $1=, $pop0
+ i32.wrap/i64 $0=, $pop60
block
- i32.ctz $push0=, $2
- i32.add $push1=, $pop0, $3
- i32.select $push2=, $2, $pop1, $0
- i64.shr_u $push3=, $1, $4
- i32.wrap/i64 $push4=, $pop3
- i32.ne $push5=, $pop2, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.ctz $push1=, $0
+ i32.const $push59=, 1
+ i32.add $push2=, $pop1, $pop59
+ i32.const $push58=, 0
+ i32.select $push3=, $0, $pop2, $pop58
+ i64.const $push57=, 32
+ i64.shr_u $push4=, $1, $pop57
+ i32.wrap/i64 $push5=, $pop4
+ i32.ne $push6=, $pop3, $pop5
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %for.cond
- i64.load $1=, ffstesttab+8($0)
- i32.wrap/i64 $2=, $1
- i32.ctz $push6=, $2
- i32.add $push7=, $pop6, $3
- i32.select $push8=, $2, $pop7, $0
- i64.shr_u $push9=, $1, $4
- i32.wrap/i64 $push10=, $pop9
- i32.ne $push11=, $pop8, $pop10
- br_if $pop11, 0 # 0: down to label0
+ i32.const $push66=, 0
+ i64.load $push7=, ffstesttab+8($pop66)
+ tee_local $push65=, $1=, $pop7
+ i32.wrap/i64 $0=, $pop65
+ i32.ctz $push8=, $0
+ i32.const $push64=, 1
+ i32.add $push9=, $pop8, $pop64
+ i32.const $push63=, 0
+ i32.select $push10=, $0, $pop9, $pop63
+ i64.const $push62=, 32
+ i64.shr_u $push11=, $1, $pop62
+ i32.wrap/i64 $push12=, $pop11
+ i32.ne $push13=, $pop10, $pop12
+ br_if $pop13, 0 # 0: down to label0
# BB#2: # %for.cond.1
- i64.load $1=, ffstesttab+16($0)
- i32.wrap/i64 $2=, $1
- i32.ctz $push12=, $2
- i32.add $push13=, $pop12, $3
- i32.select $push14=, $2, $pop13, $0
- i64.shr_u $push15=, $1, $4
- i32.wrap/i64 $push16=, $pop15
- i32.ne $push17=, $pop14, $pop16
- br_if $pop17, 0 # 0: down to label0
+ i32.const $push71=, 0
+ i64.load $push14=, ffstesttab+16($pop71):p2align=4
+ tee_local $push70=, $1=, $pop14
+ i32.wrap/i64 $0=, $pop70
+ i32.ctz $push15=, $0
+ i32.const $push69=, 1
+ i32.add $push16=, $pop15, $pop69
+ i32.const $push68=, 0
+ i32.select $push17=, $0, $pop16, $pop68
+ i64.const $push67=, 32
+ i64.shr_u $push18=, $1, $pop67
+ i32.wrap/i64 $push19=, $pop18
+ i32.ne $push20=, $pop17, $pop19
+ br_if $pop20, 0 # 0: down to label0
# BB#3: # %for.cond.2
- i64.load $1=, ffstesttab+24($0)
- i32.wrap/i64 $2=, $1
- i32.ctz $push18=, $2
- i32.add $push19=, $pop18, $3
- i32.select $push20=, $2, $pop19, $0
- i64.shr_u $push21=, $1, $4
- i32.wrap/i64 $push22=, $pop21
- i32.ne $push23=, $pop20, $pop22
- br_if $pop23, 0 # 0: down to label0
+ i32.const $push76=, 0
+ i64.load $push21=, ffstesttab+24($pop76)
+ tee_local $push75=, $1=, $pop21
+ i32.wrap/i64 $0=, $pop75
+ i32.ctz $push22=, $0
+ i32.const $push74=, 1
+ i32.add $push23=, $pop22, $pop74
+ i32.const $push73=, 0
+ i32.select $push24=, $0, $pop23, $pop73
+ i64.const $push72=, 32
+ i64.shr_u $push25=, $1, $pop72
+ i32.wrap/i64 $push26=, $pop25
+ i32.ne $push27=, $pop24, $pop26
+ br_if $pop27, 0 # 0: down to label0
# BB#4: # %for.cond.3
- i64.load $1=, ffstesttab+32($0)
- i32.wrap/i64 $2=, $1
- i32.ctz $push24=, $2
- i32.add $push25=, $pop24, $3
- i32.select $push26=, $2, $pop25, $0
- i64.shr_u $push27=, $1, $4
- i32.wrap/i64 $push28=, $pop27
- i32.ne $push29=, $pop26, $pop28
- br_if $pop29, 0 # 0: down to label0
+ i32.const $push81=, 0
+ i64.load $push28=, ffstesttab+32($pop81):p2align=4
+ tee_local $push80=, $1=, $pop28
+ i32.wrap/i64 $0=, $pop80
+ i32.ctz $push29=, $0
+ i32.const $push79=, 1
+ i32.add $push30=, $pop29, $pop79
+ i32.const $push78=, 0
+ i32.select $push31=, $0, $pop30, $pop78
+ i64.const $push77=, 32
+ i64.shr_u $push32=, $1, $pop77
+ i32.wrap/i64 $push33=, $pop32
+ i32.ne $push34=, $pop31, $pop33
+ br_if $pop34, 0 # 0: down to label0
# BB#5: # %for.cond.4
- i64.load $1=, ffstesttab+40($0)
- i32.wrap/i64 $2=, $1
- i32.ctz $push30=, $2
- i32.add $push31=, $pop30, $3
- i32.select $push32=, $2, $pop31, $0
- i64.shr_u $push33=, $1, $4
- i32.wrap/i64 $push34=, $pop33
- i32.ne $push35=, $pop32, $pop34
- br_if $pop35, 0 # 0: down to label0
-# BB#6: # %for.cond.5
- i64.load $1=, ffstesttab+48($0)
- i32.wrap/i64 $2=, $1
- i32.ctz $push36=, $2
- i32.add $push37=, $pop36, $3
- i32.select $push38=, $2, $pop37, $0
- i64.shr_u $push39=, $1, $4
+ i32.const $push86=, 0
+ i64.load $push35=, ffstesttab+40($pop86)
+ tee_local $push85=, $1=, $pop35
+ i32.wrap/i64 $0=, $pop85
+ i32.ctz $push36=, $0
+ i32.const $push84=, 1
+ i32.add $push37=, $pop36, $pop84
+ i32.const $push83=, 0
+ i32.select $push38=, $0, $pop37, $pop83
+ i64.const $push82=, 32
+ i64.shr_u $push39=, $1, $pop82
i32.wrap/i64 $push40=, $pop39
i32.ne $push41=, $pop38, $pop40
br_if $pop41, 0 # 0: down to label0
+# BB#6: # %for.cond.5
+ i32.const $push91=, 0
+ i64.load $push42=, ffstesttab+48($pop91):p2align=4
+ tee_local $push90=, $1=, $pop42
+ i32.wrap/i64 $0=, $pop90
+ i32.ctz $push43=, $0
+ i32.const $push89=, 1
+ i32.add $push44=, $pop43, $pop89
+ i32.const $push88=, 0
+ i32.select $push45=, $0, $pop44, $pop88
+ i64.const $push87=, 32
+ i64.shr_u $push46=, $1, $pop87
+ i32.wrap/i64 $push47=, $pop46
+ i32.ne $push48=, $pop45, $pop47
+ br_if $pop48, 0 # 0: down to label0
# BB#7: # %for.cond.6
- i64.load $1=, ffstesttab+56($0)
- i32.wrap/i64 $2=, $1
- i32.ctz $push42=, $2
- i32.add $push43=, $pop42, $3
- i32.select $push44=, $2, $pop43, $0
- i64.shr_u $push45=, $1, $4
- i32.wrap/i64 $push46=, $pop45
- i32.ne $push47=, $pop44, $pop46
- br_if $pop47, 0 # 0: down to label0
+ i32.const $push96=, 0
+ i64.load $push49=, ffstesttab+56($pop96)
+ tee_local $push95=, $1=, $pop49
+ i32.wrap/i64 $0=, $pop95
+ i32.ctz $push50=, $0
+ i32.const $push94=, 1
+ i32.add $push51=, $pop50, $pop94
+ i32.const $push93=, 0
+ i32.select $push52=, $0, $pop51, $pop93
+ i64.const $push92=, 32
+ i64.shr_u $push53=, $1, $pop92
+ i32.wrap/i64 $push54=, $pop53
+ i32.ne $push55=, $pop52, $pop54
+ br_if $pop55, 0 # 0: down to label0
# BB#8: # %for.cond.7
- call exit@FUNCTION, $0
+ i32.const $push56=, 0
+ call exit@FUNCTION, $pop56
unreachable
.LBB0_9: # %if.then
end_block # label0:
@@ -106,7 +144,7 @@ main: # @main
.type ffstesttab,@object
.section .data.ffstesttab,"aw",@progbits
.globl ffstesttab
- .align 4
+ .p2align 4
ffstesttab:
.int32 2147483648 # 0x80000000
.int32 32 # 0x20
diff --git a/test/torture-s/float-floor.c.s b/test/torture-s/float-floor.c.s
index c08b59571..2567c7100 100644
--- a/test/torture-s/float-floor.c.s
+++ b/test/torture-s/float-floor.c.s
@@ -6,23 +6,26 @@
.type main,@function
main: # @main
.result i32
- .local f64, i32, i32, i32
+ .local f64
# BB#0: # %entry
- i32.const $1=, 0
- f64.load $push0=, d($1)
- f64.floor $0=, $pop0
- i32.trunc_s/f64 $2=, $0
- i32.const $3=, 1023
block
- i32.ne $push1=, $2, $3
- br_if $pop1, 0 # 0: down to label0
-# BB#1: # %lor.lhs.false
- f32.demote/f64 $push2=, $0
- i32.trunc_s/f32 $push3=, $pop2
- i32.ne $push4=, $pop3, $3
+ i32.const $push1=, 0
+ f64.load $push2=, d($pop1)
+ f64.floor $push0=, $pop2
+ tee_local $push10=, $0=, $pop0
+ i32.trunc_s/f64 $push3=, $pop10
+ i32.const $push9=, 1023
+ i32.ne $push4=, $pop3, $pop9
br_if $pop4, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ f32.demote/f64 $push5=, $0
+ i32.trunc_s/f32 $push6=, $pop5
+ i32.const $push11=, 1023
+ i32.ne $push7=, $pop6, $pop11
+ br_if $pop7, 0 # 0: down to label0
# BB#2: # %if.end
- return $1
+ i32.const $push8=, 0
+ return $pop8
.LBB0_3: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -35,7 +38,7 @@ main: # @main
.type d,@object
.section .data.d,"aw",@progbits
.globl d
- .align 3
+ .p2align 3
d:
.int64 4652218414805286912 # double 1023.9999694824219
.size d, 8
diff --git a/test/torture-s/floatunsisf-1.c.s b/test/torture-s/floatunsisf-1.c.s
index 9636bb510..c6ccf1b44 100644
--- a/test/torture-s/floatunsisf-1.c.s
+++ b/test/torture-s/floatunsisf-1.c.s
@@ -6,17 +6,20 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
- i32.load $push0=, u($0)
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load $push0=, u($pop9)
f32.convert_u/i32 $push1=, $pop0
- f32.store $discard=, f1($0), $pop1
+ f32.store $discard=, f1($pop10), $pop1
+ i32.const $push8=, 0
i32.const $push2=, 1325400065
- i32.store $discard=, f2($0), $pop2
- f32.load $push3=, f1($0)
- f32.load $push4=, f2($0)
+ i32.store $discard=, f2($pop8), $pop2
+ block
+ i32.const $push7=, 0
+ f32.load $push3=, f1($pop7)
+ i32.const $push6=, 0
+ f32.load $push4=, f2($pop6)
f32.eq $push5=, $pop3, $pop4
br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.then
@@ -24,7 +27,8 @@ main: # @main
unreachable
.LBB0_2: # %if.end
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push11=, 0
+ call exit@FUNCTION, $pop11
unreachable
.endfunc
.Lfunc_end0:
@@ -34,7 +38,7 @@ main: # @main
.type u,@object
.section .data.u,"aw",@progbits
.globl u
- .align 2
+ .p2align 2
u:
.int32 2147483777 # 0x80000081
.size u, 4
@@ -43,7 +47,7 @@ u:
.type f1,@object
.section .bss.f1,"aw",@nobits
.globl f1
- .align 2
+ .p2align 2
f1:
.int32 0 # float 0
.size f1, 4
@@ -52,7 +56,7 @@ f1:
.type f2,@object
.section .bss.f2,"aw",@nobits
.globl f2
- .align 2
+ .p2align 2
f2:
.int32 0 # float 0
.size f2, 4
diff --git a/test/torture-s/fprintf-1.c.s b/test/torture-s/fprintf-1.c.s
index 76fcc0c79..5f2188ce6 100644
--- a/test/torture-s/fprintf-1.c.s
+++ b/test/torture-s/fprintf-1.c.s
@@ -6,234 +6,281 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $47=, __stack_pointer
- i32.load $47=, 0($47)
- i32.const $48=, 16
- i32.sub $50=, $47, $48
- i32.const $48=, __stack_pointer
- i32.store $50=, 0($48), $50
- i32.const $0=, 0
- i32.const $1=, .L.str
- i32.const $2=, 1
- i32.const $3=, 5
+ i32.const $39=, __stack_pointer
+ i32.load $39=, 0($39)
+ i32.const $40=, 16
+ i32.sub $42=, $39, $40
+ i32.const $40=, __stack_pointer
+ i32.store $42=, 0($40), $42
+ i32.const $push1=, .L.str
+ i32.const $push2=, 5
+ i32.const $push49=, 1
+ i32.const $push48=, 0
+ i32.load $push0=, stdout($pop48)
+ i32.call $discard=, fwrite@FUNCTION, $pop1, $pop2, $pop49, $pop0
+ i32.const $push47=, 0
+ i32.load $push3=, stdout($pop47)
+ i32.const $push46=, .L.str
+ i32.call $1=, fprintf@FUNCTION, $pop3, $pop46
block
- i32.load $push0=, stdout($0)
- i32.call $discard=, fwrite@FUNCTION, $1, $3, $2, $pop0
- i32.load $push1=, stdout($0)
- i32.call $4=, fiprintf@FUNCTION, $pop1, $1
- i32.ne $push2=, $4, $3
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push45=, 5
+ i32.ne $push4=, $1, $pop45
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $4=, .L.str.1
- i32.const $5=, 6
+ i32.const $push6=, .L.str.1
+ i32.const $push7=, 6
+ i32.const $push54=, 1
+ i32.const $push53=, 0
+ i32.load $push5=, stdout($pop53)
+ i32.call $discard=, fwrite@FUNCTION, $pop6, $pop7, $pop54, $pop5
+ i32.const $push52=, 0
+ i32.load $push8=, stdout($pop52)
+ i32.const $push51=, .L.str.1
+ i32.call $1=, fprintf@FUNCTION, $pop8, $pop51
block
- i32.load $push3=, stdout($0)
- i32.call $discard=, fwrite@FUNCTION, $4, $5, $2, $pop3
- i32.load $push4=, stdout($0)
- i32.call $10=, fiprintf@FUNCTION, $pop4, $4
- i32.ne $push5=, $10, $5
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push50=, 6
+ i32.ne $push9=, $1, $pop50
+ br_if $pop9, 0 # 0: down to label1
# BB#2: # %if.end6
- i32.const $6=, 97
- i32.load $push6=, stdout($0)
- i32.call $discard=, fputc@FUNCTION, $6, $pop6
- i32.const $7=, .L.str.2
+ i32.const $push11=, 97
+ i32.const $push56=, 0
+ i32.load $push10=, stdout($pop56)
+ i32.call $discard=, fputc@FUNCTION, $pop11, $pop10
+ i32.const $push55=, 0
+ i32.load $push12=, stdout($pop55)
+ i32.const $push13=, .L.str.2
+ i32.call $1=, fprintf@FUNCTION, $pop12, $pop13
block
- i32.load $push7=, stdout($0)
- i32.call $10=, fiprintf@FUNCTION, $pop7, $7
- i32.ne $push8=, $10, $2
- br_if $pop8, 0 # 0: down to label2
+ i32.const $push14=, 1
+ i32.ne $push15=, $1, $pop14
+ br_if $pop15, 0 # 0: down to label2
# BB#3: # %if.end11
- i32.const $8=, .L.str.3
+ i32.const $push57=, 0
+ i32.load $push16=, stdout($pop57)
+ i32.const $push17=, .L.str.3
+ i32.call $1=, fprintf@FUNCTION, $pop16, $pop17
block
- i32.load $push9=, stdout($0)
- i32.call $10=, fiprintf@FUNCTION, $pop9, $8
- br_if $10, 0 # 0: down to label3
+ br_if $1, 0 # 0: down to label3
# BB#4: # %if.end16
- i32.load $push10=, stdout($0)
- i32.call $discard=, fwrite@FUNCTION, $1, $3, $2, $pop10
- i32.load $9=, stdout($0)
+ i32.const $push19=, .L.str
+ i32.const $push20=, 5
+ i32.const $push63=, 1
+ i32.const $push62=, 0
+ i32.load $push18=, stdout($pop62)
+ i32.call $discard=, fwrite@FUNCTION, $pop19, $pop20, $pop63, $pop18
+ i32.const $push61=, 0
+ i32.load $1=, stdout($pop61)
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.sub $42=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $42=, 0($4), $42
+ i32.const $push60=, .L.str
+ i32.store $discard=, 0($42), $pop60
+ i32.const $push59=, .L.str.4
+ i32.call $1=, fprintf@FUNCTION, $1, $pop59
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 4
+ i32.add $42=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $42=, 0($6), $42
+ block
+ i32.const $push58=, 5
+ i32.ne $push21=, $1, $pop58
+ br_if $pop21, 0 # 0: down to label4
+# BB#5: # %if.end21
+ i32.const $push23=, .L.str.1
+ i32.const $push24=, 6
+ i32.const $push69=, 1
+ i32.const $push68=, 0
+ i32.load $push22=, stdout($pop68)
+ i32.call $discard=, fwrite@FUNCTION, $pop23, $pop24, $pop69, $pop22
+ i32.const $push67=, 0
+ i32.load $1=, stdout($pop67)
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 4
+ i32.sub $42=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $42=, 0($8), $42
+ i32.const $push66=, .L.str.1
+ i32.store $discard=, 0($42), $pop66
+ i32.const $push65=, .L.str.4
+ i32.call $1=, fprintf@FUNCTION, $1, $pop65
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 4
+ i32.add $42=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $42=, 0($10), $42
+ block
+ i32.const $push64=, 6
+ i32.ne $push25=, $1, $pop64
+ br_if $pop25, 0 # 0: down to label5
+# BB#6: # %if.end26
+ i32.const $push27=, 97
+ i32.const $push72=, 0
+ i32.load $push26=, stdout($pop72)
+ i32.call $discard=, fputc@FUNCTION, $pop27, $pop26
+ i32.const $push71=, 0
+ i32.load $1=, stdout($pop71)
i32.const $11=, __stack_pointer
i32.load $11=, 0($11)
i32.const $12=, 4
- i32.sub $50=, $11, $12
+ i32.sub $42=, $11, $12
i32.const $12=, __stack_pointer
- i32.store $50=, 0($12), $50
- i32.const $10=, .L.str.4
- i32.store $discard=, 0($50), $1
- i32.call $1=, fiprintf@FUNCTION, $9, $10
+ i32.store $42=, 0($12), $42
+ i32.const $push28=, .L.str.2
+ i32.store $discard=, 0($42), $pop28
+ i32.const $push70=, .L.str.4
+ i32.call $1=, fprintf@FUNCTION, $1, $pop70
i32.const $13=, __stack_pointer
i32.load $13=, 0($13)
i32.const $14=, 4
- i32.add $50=, $13, $14
+ i32.add $42=, $13, $14
i32.const $14=, __stack_pointer
- i32.store $50=, 0($14), $50
+ i32.store $42=, 0($14), $42
block
- i32.ne $push11=, $1, $3
- br_if $pop11, 0 # 0: down to label4
-# BB#5: # %if.end21
- i32.load $push12=, stdout($0)
- i32.call $discard=, fwrite@FUNCTION, $4, $5, $2, $pop12
- i32.load $1=, stdout($0)
+ i32.const $push29=, 1
+ i32.ne $push30=, $1, $pop29
+ br_if $pop30, 0 # 0: down to label6
+# BB#7: # %if.end31
+ i32.const $push74=, 0
+ i32.load $1=, stdout($pop74)
i32.const $15=, __stack_pointer
i32.load $15=, 0($15)
i32.const $16=, 4
- i32.sub $50=, $15, $16
+ i32.sub $42=, $15, $16
i32.const $16=, __stack_pointer
- i32.store $50=, 0($16), $50
- i32.store $3=, 0($50), $4
- i32.call $1=, fiprintf@FUNCTION, $1, $10
+ i32.store $42=, 0($16), $42
+ i32.const $push31=, .L.str.3
+ i32.store $discard=, 0($42), $pop31
+ i32.const $push73=, .L.str.4
+ i32.call $1=, fprintf@FUNCTION, $1, $pop73
i32.const $17=, __stack_pointer
i32.load $17=, 0($17)
i32.const $18=, 4
- i32.add $50=, $17, $18
+ i32.add $42=, $17, $18
i32.const $18=, __stack_pointer
- i32.store $50=, 0($18), $50
+ i32.store $42=, 0($18), $42
block
- i32.ne $push13=, $1, $5
- br_if $pop13, 0 # 0: down to label5
-# BB#6: # %if.end26
- i32.load $push14=, stdout($0)
- i32.call $discard=, fputc@FUNCTION, $6, $pop14
- i32.load $1=, stdout($0)
+ br_if $1, 0 # 0: down to label7
+# BB#8: # %if.end36
+ i32.const $push33=, 120
+ i32.const $push77=, 0
+ i32.load $push32=, stdout($pop77)
+ i32.call $discard=, fputc@FUNCTION, $pop33, $pop32
+ i32.const $push76=, 0
+ i32.load $1=, stdout($pop76)
i32.const $19=, __stack_pointer
i32.load $19=, 0($19)
i32.const $20=, 4
- i32.sub $50=, $19, $20
+ i32.sub $42=, $19, $20
i32.const $20=, __stack_pointer
- i32.store $50=, 0($20), $50
- i32.store $discard=, 0($50), $7
- i32.call $1=, fiprintf@FUNCTION, $1, $10
+ i32.store $42=, 0($20), $42
+ i32.const $push75=, 120
+ i32.store $discard=, 0($42), $pop75
+ i32.const $push34=, .L.str.5
+ i32.call $1=, fprintf@FUNCTION, $1, $pop34
i32.const $21=, __stack_pointer
i32.load $21=, 0($21)
i32.const $22=, 4
- i32.add $50=, $21, $22
+ i32.add $42=, $21, $22
i32.const $22=, __stack_pointer
- i32.store $50=, 0($22), $50
+ i32.store $42=, 0($22), $42
block
- i32.ne $push15=, $1, $2
- br_if $pop15, 0 # 0: down to label6
-# BB#7: # %if.end31
- i32.load $1=, stdout($0)
+ i32.const $push35=, 1
+ i32.ne $push36=, $1, $pop35
+ br_if $pop36, 0 # 0: down to label8
+# BB#9: # %if.end41
+ i32.const $push80=, 0
+ i32.load $1=, stdout($pop80)
i32.const $23=, __stack_pointer
i32.load $23=, 0($23)
i32.const $24=, 4
- i32.sub $50=, $23, $24
+ i32.sub $42=, $23, $24
i32.const $24=, __stack_pointer
- i32.store $50=, 0($24), $50
- i32.store $discard=, 0($50), $8
- i32.call $1=, fiprintf@FUNCTION, $1, $10
+ i32.store $42=, 0($24), $42
+ i32.const $push37=, .L.str.1
+ i32.store $0=, 0($42), $pop37
+ i32.const $push38=, .L.str.6
+ i32.call $discard=, fprintf@FUNCTION, $1, $pop38
i32.const $25=, __stack_pointer
i32.load $25=, 0($25)
i32.const $26=, 4
- i32.add $50=, $25, $26
+ i32.add $42=, $25, $26
i32.const $26=, __stack_pointer
- i32.store $50=, 0($26), $50
- block
- br_if $1, 0 # 0: down to label7
-# BB#8: # %if.end36
- i32.const $1=, 120
- i32.load $push16=, stdout($0)
- i32.call $discard=, fputc@FUNCTION, $1, $pop16
- i32.load $4=, stdout($0)
+ i32.store $42=, 0($26), $42
+ i32.const $push79=, 0
+ i32.load $1=, stdout($pop79)
i32.const $27=, __stack_pointer
i32.load $27=, 0($27)
i32.const $28=, 4
- i32.sub $50=, $27, $28
+ i32.sub $42=, $27, $28
i32.const $28=, __stack_pointer
- i32.store $50=, 0($28), $50
- i32.store $discard=, 0($50), $1
- i32.const $push17=, .L.str.5
- i32.call $1=, fiprintf@FUNCTION, $4, $pop17
+ i32.store $42=, 0($28), $42
+ i32.store $discard=, 0($42), $0
+ i32.const $push78=, .L.str.6
+ i32.call $1=, fprintf@FUNCTION, $1, $pop78
i32.const $29=, __stack_pointer
i32.load $29=, 0($29)
i32.const $30=, 4
- i32.add $50=, $29, $30
+ i32.add $42=, $29, $30
i32.const $30=, __stack_pointer
- i32.store $50=, 0($30), $50
+ i32.store $42=, 0($30), $42
block
- i32.ne $push18=, $1, $2
- br_if $pop18, 0 # 0: down to label8
-# BB#9: # %if.end41
- i32.load $1=, stdout($0)
+ i32.const $push39=, 7
+ i32.ne $push40=, $1, $pop39
+ br_if $pop40, 0 # 0: down to label9
+# BB#10: # %if.end46
+ i32.const $push41=, 0
+ i32.load $0=, stdout($pop41)
i32.const $31=, __stack_pointer
i32.load $31=, 0($31)
i32.const $32=, 4
- i32.sub $50=, $31, $32
+ i32.sub $42=, $31, $32
i32.const $32=, __stack_pointer
- i32.store $50=, 0($32), $50
- i32.const $2=, .L.str.6
- i32.store $discard=, 0($50), $3
- i32.call $discard=, fiprintf@FUNCTION, $1, $2
+ i32.store $42=, 0($32), $42
+ i32.const $push82=, 0
+ i32.store $1=, 0($42), $pop82
+ i32.const $push42=, .L.str.7
+ i32.call $discard=, fprintf@FUNCTION, $0, $pop42
i32.const $33=, __stack_pointer
i32.load $33=, 0($33)
i32.const $34=, 4
- i32.add $50=, $33, $34
+ i32.add $42=, $33, $34
i32.const $34=, __stack_pointer
- i32.store $50=, 0($34), $50
- i32.load $1=, stdout($0)
+ i32.store $42=, 0($34), $42
+ i32.load $0=, stdout($1)
i32.const $35=, __stack_pointer
i32.load $35=, 0($35)
i32.const $36=, 4
- i32.sub $50=, $35, $36
+ i32.sub $42=, $35, $36
i32.const $36=, __stack_pointer
- i32.store $50=, 0($36), $50
- i32.store $discard=, 0($50), $3
- i32.call $2=, fiprintf@FUNCTION, $1, $2
+ i32.store $42=, 0($36), $42
+ i32.store $2=, 0($42), $1
+ i32.const $push81=, .L.str.7
+ i32.call $1=, fprintf@FUNCTION, $0, $pop81
i32.const $37=, __stack_pointer
i32.load $37=, 0($37)
i32.const $38=, 4
- i32.add $50=, $37, $38
+ i32.add $42=, $37, $38
i32.const $38=, __stack_pointer
- i32.store $50=, 0($38), $50
+ i32.store $42=, 0($38), $42
block
- i32.const $push19=, 7
- i32.ne $push20=, $2, $pop19
- br_if $pop20, 0 # 0: down to label9
-# BB#10: # %if.end46
- i32.load $1=, stdout($0)
- i32.const $39=, __stack_pointer
- i32.load $39=, 0($39)
- i32.const $40=, 4
- i32.sub $50=, $39, $40
- i32.const $40=, __stack_pointer
- i32.store $50=, 0($40), $50
- i32.const $2=, .L.str.7
- i32.store $discard=, 0($50), $0
- i32.call $discard=, fiprintf@FUNCTION, $1, $2
- i32.const $41=, __stack_pointer
- i32.load $41=, 0($41)
- i32.const $42=, 4
- i32.add $50=, $41, $42
- i32.const $42=, __stack_pointer
- i32.store $50=, 0($42), $50
- i32.load $1=, stdout($0)
- i32.const $43=, __stack_pointer
- i32.load $43=, 0($43)
- i32.const $44=, 4
- i32.sub $50=, $43, $44
- i32.const $44=, __stack_pointer
- i32.store $50=, 0($44), $50
- i32.store $3=, 0($50), $0
- i32.call $0=, fiprintf@FUNCTION, $1, $2
- i32.const $45=, __stack_pointer
- i32.load $45=, 0($45)
- i32.const $46=, 4
- i32.add $50=, $45, $46
- i32.const $46=, __stack_pointer
- i32.store $50=, 0($46), $50
- block
- i32.const $push21=, 2
- i32.ne $push22=, $0, $pop21
- br_if $pop22, 0 # 0: down to label10
+ i32.const $push43=, 2
+ i32.ne $push44=, $1, $pop43
+ br_if $pop44, 0 # 0: down to label10
# BB#11: # %if.end51
- i32.const $49=, 16
- i32.add $50=, $50, $49
- i32.const $49=, __stack_pointer
- i32.store $50=, 0($49), $50
- return $3
+ i32.const $41=, 16
+ i32.add $42=, $42, $41
+ i32.const $41=, __stack_pointer
+ i32.store $42=, 0($41), $42
+ return $2
.LBB0_12: # %if.then50
end_block # label10:
call abort@FUNCTION
diff --git a/test/torture-s/fprintf-chk-1.c.s b/test/torture-s/fprintf-chk-1.c.s
new file mode 100644
index 000000000..cc4c66f3b
--- /dev/null
+++ b/test/torture-s/fprintf-chk-1.c.s
@@ -0,0 +1,779 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/fprintf-chk-1.c"
+ .section .text.__fprintf_chk,"ax",@progbits
+ .hidden __fprintf_chk
+ .globl __fprintf_chk
+ .type __fprintf_chk,@function
+__fprintf_chk: # @__fprintf_chk
+ .param i32, i32, i32
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ block
+ i32.const $push4=, 0
+ i32.load $push0=, should_optimize($pop4)
+ br_if $pop0, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push5=, 0
+ i32.const $push1=, 1
+ i32.store $discard=, should_optimize($pop5), $pop1
+ i32.store $push2=, 12($6), $7
+ i32.call $push3=, vfprintf@FUNCTION, $0, $2, $pop2
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return $pop3
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size __fprintf_chk, .Lfunc_end0-__fprintf_chk
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $59=, __stack_pointer
+ i32.load $59=, 0($59)
+ i32.const $60=, 16
+ i32.sub $62=, $59, $60
+ i32.const $60=, __stack_pointer
+ i32.store $62=, 0($60), $62
+ i32.const $push82=, 0
+ i32.const $push0=, 1
+ i32.store $discard=, should_optimize($pop82), $pop0
+ i32.const $push81=, 0
+ i32.load $push1=, stdout($pop81)
+ i32.const $push80=, .L.str
+ i32.call $discard=, __fprintf_chk@FUNCTION, $pop1, $0, $pop80
+ block
+ i32.const $push79=, 0
+ i32.load $push2=, should_optimize($pop79)
+ i32.const $push161=, 0
+ i32.eq $push162=, $pop2, $pop161
+ br_if $pop162, 0 # 0: down to label1
+# BB#1: # %if.end
+ i32.const $push85=, 0
+ i32.const $push84=, 0
+ i32.store $push3=, should_optimize($pop85), $pop84
+ i32.load $push4=, stdout($pop3)
+ i32.const $push83=, .L.str
+ i32.call $0=, __fprintf_chk@FUNCTION, $pop4, $0, $pop83
+ block
+ i32.const $push5=, 5
+ i32.ne $push6=, $0, $pop5
+ br_if $pop6, 0 # 0: down to label2
+# BB#2: # %if.end3
+ block
+ i32.const $push86=, 0
+ i32.load $push7=, should_optimize($pop86)
+ i32.const $push163=, 0
+ i32.eq $push164=, $pop7, $pop163
+ br_if $pop164, 0 # 0: down to label3
+# BB#3: # %if.end6
+ i32.const $push90=, 0
+ i32.const $push8=, 1
+ i32.store $discard=, should_optimize($pop90), $pop8
+ i32.const $push89=, 0
+ i32.load $push9=, stdout($pop89)
+ i32.const $push88=, .L.str.1
+ i32.call $discard=, __fprintf_chk@FUNCTION, $pop9, $0, $pop88
+ block
+ i32.const $push87=, 0
+ i32.load $push10=, should_optimize($pop87)
+ i32.const $push165=, 0
+ i32.eq $push166=, $pop10, $pop165
+ br_if $pop166, 0 # 0: down to label4
+# BB#4: # %if.end10
+ i32.const $push11=, 0
+ i32.const $push93=, 0
+ i32.store $push12=, should_optimize($pop11), $pop93
+ tee_local $push92=, $1=, $pop12
+ i32.load $push13=, stdout($pop92)
+ i32.const $push91=, .L.str.1
+ i32.call $0=, __fprintf_chk@FUNCTION, $pop13, $0, $pop91
+ block
+ i32.const $push14=, 6
+ i32.ne $push15=, $0, $pop14
+ br_if $pop15, 0 # 0: down to label5
+# BB#5: # %if.end14
+ block
+ i32.load $push16=, should_optimize($1)
+ i32.const $push167=, 0
+ i32.eq $push168=, $pop16, $pop167
+ br_if $pop168, 0 # 0: down to label6
+# BB#6: # %if.end17
+ i32.const $push97=, 0
+ i32.const $push17=, 1
+ i32.store $0=, should_optimize($pop97), $pop17
+ i32.const $push96=, 0
+ i32.load $push18=, stdout($pop96)
+ i32.const $push95=, .L.str.2
+ i32.call $discard=, __fprintf_chk@FUNCTION, $pop18, $0, $pop95
+ block
+ i32.const $push94=, 0
+ i32.load $push19=, should_optimize($pop94)
+ i32.const $push169=, 0
+ i32.eq $push170=, $pop19, $pop169
+ br_if $pop170, 0 # 0: down to label7
+# BB#7: # %if.end21
+ i32.const $push100=, 0
+ i32.const $push99=, 0
+ i32.store $push20=, should_optimize($pop100), $pop99
+ i32.load $push21=, stdout($pop20)
+ i32.const $push98=, .L.str.2
+ i32.call $1=, __fprintf_chk@FUNCTION, $pop21, $0, $pop98
+ block
+ i32.ne $push22=, $1, $0
+ br_if $pop22, 0 # 0: down to label8
+# BB#8: # %if.end25
+ block
+ i32.const $push101=, 0
+ i32.load $push23=, should_optimize($pop101)
+ i32.const $push171=, 0
+ i32.eq $push172=, $pop23, $pop171
+ br_if $pop172, 0 # 0: down to label9
+# BB#9: # %if.end28
+ i32.const $push105=, 0
+ i32.const $push24=, 1
+ i32.store $discard=, should_optimize($pop105), $pop24
+ i32.const $push104=, 0
+ i32.load $push25=, stdout($pop104)
+ i32.const $push103=, .L.str.3
+ i32.call $discard=, __fprintf_chk@FUNCTION, $pop25, $0, $pop103
+ block
+ i32.const $push102=, 0
+ i32.load $push26=, should_optimize($pop102)
+ i32.const $push173=, 0
+ i32.eq $push174=, $pop26, $pop173
+ br_if $pop174, 0 # 0: down to label10
+# BB#10: # %if.end32
+ i32.const $push27=, 0
+ i32.const $push108=, 0
+ i32.store $push28=, should_optimize($pop27), $pop108
+ tee_local $push107=, $1=, $pop28
+ i32.load $push29=, stdout($pop107)
+ i32.const $push106=, .L.str.3
+ i32.call $0=, __fprintf_chk@FUNCTION, $pop29, $0, $pop106
+ block
+ br_if $0, 0 # 0: down to label11
+# BB#11: # %if.end36
+ block
+ i32.load $push30=, should_optimize($1)
+ i32.const $push175=, 0
+ i32.eq $push176=, $pop30, $pop175
+ br_if $pop176, 0 # 0: down to label12
+# BB#12: # %if.end39
+ i32.const $push112=, 0
+ i32.const $push31=, 1
+ i32.store $discard=, should_optimize($pop112), $pop31
+ i32.const $push111=, 0
+ i32.load $0=, stdout($pop111)
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.sub $62=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $62=, 0($4), $62
+ i32.const $push32=, .L.str
+ i32.store $1=, 0($62), $pop32
+ i32.const $push110=, .L.str.4
+ i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop110
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 4
+ i32.add $62=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $62=, 0($6), $62
+ block
+ i32.const $push109=, 0
+ i32.load $push33=, should_optimize($pop109)
+ i32.const $push177=, 0
+ i32.eq $push178=, $pop33, $pop177
+ br_if $pop178, 0 # 0: down to label13
+# BB#13: # %if.end43
+ i32.const $push115=, 0
+ i32.const $push114=, 0
+ i32.store $push34=, should_optimize($pop115), $pop114
+ i32.load $0=, stdout($pop34)
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 4
+ i32.sub $62=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $62=, 0($8), $62
+ i32.store $discard=, 0($62), $1
+ i32.const $push113=, .L.str.4
+ i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop113
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 4
+ i32.add $62=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $62=, 0($10), $62
+ block
+ i32.const $push35=, 5
+ i32.ne $push36=, $0, $pop35
+ br_if $pop36, 0 # 0: down to label14
+# BB#14: # %if.end47
+ block
+ i32.const $push116=, 0
+ i32.load $push37=, should_optimize($pop116)
+ i32.const $push179=, 0
+ i32.eq $push180=, $pop37, $pop179
+ br_if $pop180, 0 # 0: down to label15
+# BB#15: # %if.end50
+ i32.const $push120=, 0
+ i32.const $push38=, 1
+ i32.store $discard=, should_optimize($pop120), $pop38
+ i32.const $push119=, 0
+ i32.load $0=, stdout($pop119)
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 4
+ i32.sub $62=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $62=, 0($12), $62
+ i32.const $push39=, .L.str.1
+ i32.store $1=, 0($62), $pop39
+ i32.const $push118=, .L.str.4
+ i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop118
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 4
+ i32.add $62=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $62=, 0($14), $62
+ block
+ i32.const $push117=, 0
+ i32.load $push40=, should_optimize($pop117)
+ i32.const $push181=, 0
+ i32.eq $push182=, $pop40, $pop181
+ br_if $pop182, 0 # 0: down to label16
+# BB#16: # %if.end54
+ i32.const $push41=, 0
+ i32.const $push123=, 0
+ i32.store $push42=, should_optimize($pop41), $pop123
+ tee_local $push122=, $2=, $pop42
+ i32.load $0=, stdout($pop122)
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 4
+ i32.sub $62=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $62=, 0($16), $62
+ i32.store $discard=, 0($62), $1
+ i32.const $push121=, .L.str.4
+ i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop121
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 4
+ i32.add $62=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $62=, 0($18), $62
+ block
+ i32.const $push43=, 6
+ i32.ne $push44=, $0, $pop43
+ br_if $pop44, 0 # 0: down to label17
+# BB#17: # %if.end58
+ block
+ i32.load $push45=, should_optimize($2)
+ i32.const $push183=, 0
+ i32.eq $push184=, $pop45, $pop183
+ br_if $pop184, 0 # 0: down to label18
+# BB#18: # %if.end61
+ i32.const $push127=, 0
+ i32.const $push46=, 1
+ i32.store $1=, should_optimize($pop127), $pop46
+ i32.const $push126=, 0
+ i32.load $0=, stdout($pop126)
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 4
+ i32.sub $62=, $19, $20
+ i32.const $20=, __stack_pointer
+ i32.store $62=, 0($20), $62
+ i32.const $push47=, .L.str.2
+ i32.store $2=, 0($62), $pop47
+ i32.const $push125=, .L.str.4
+ i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop125
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 4
+ i32.add $62=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $62=, 0($22), $62
+ block
+ i32.const $push124=, 0
+ i32.load $push48=, should_optimize($pop124)
+ i32.const $push185=, 0
+ i32.eq $push186=, $pop48, $pop185
+ br_if $pop186, 0 # 0: down to label19
+# BB#19: # %if.end65
+ i32.const $push130=, 0
+ i32.const $push129=, 0
+ i32.store $push49=, should_optimize($pop130), $pop129
+ i32.load $0=, stdout($pop49)
+ i32.const $23=, __stack_pointer
+ i32.load $23=, 0($23)
+ i32.const $24=, 4
+ i32.sub $62=, $23, $24
+ i32.const $24=, __stack_pointer
+ i32.store $62=, 0($24), $62
+ i32.store $discard=, 0($62), $2
+ i32.const $push128=, .L.str.4
+ i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop128
+ i32.const $25=, __stack_pointer
+ i32.load $25=, 0($25)
+ i32.const $26=, 4
+ i32.add $62=, $25, $26
+ i32.const $26=, __stack_pointer
+ i32.store $62=, 0($26), $62
+ block
+ i32.ne $push50=, $0, $1
+ br_if $pop50, 0 # 0: down to label20
+# BB#20: # %if.end69
+ block
+ i32.const $push131=, 0
+ i32.load $push51=, should_optimize($pop131)
+ i32.const $push187=, 0
+ i32.eq $push188=, $pop51, $pop187
+ br_if $pop188, 0 # 0: down to label21
+# BB#21: # %if.end72
+ i32.const $push135=, 0
+ i32.const $push52=, 1
+ i32.store $discard=, should_optimize($pop135), $pop52
+ i32.const $push134=, 0
+ i32.load $0=, stdout($pop134)
+ i32.const $27=, __stack_pointer
+ i32.load $27=, 0($27)
+ i32.const $28=, 4
+ i32.sub $62=, $27, $28
+ i32.const $28=, __stack_pointer
+ i32.store $62=, 0($28), $62
+ i32.const $push53=, .L.str.3
+ i32.store $1=, 0($62), $pop53
+ i32.const $push133=, .L.str.4
+ i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop133
+ i32.const $29=, __stack_pointer
+ i32.load $29=, 0($29)
+ i32.const $30=, 4
+ i32.add $62=, $29, $30
+ i32.const $30=, __stack_pointer
+ i32.store $62=, 0($30), $62
+ block
+ i32.const $push132=, 0
+ i32.load $push54=, should_optimize($pop132)
+ i32.const $push189=, 0
+ i32.eq $push190=, $pop54, $pop189
+ br_if $pop190, 0 # 0: down to label22
+# BB#22: # %if.end76
+ i32.const $push55=, 0
+ i32.const $push138=, 0
+ i32.store $push56=, should_optimize($pop55), $pop138
+ tee_local $push137=, $2=, $pop56
+ i32.load $0=, stdout($pop137)
+ i32.const $31=, __stack_pointer
+ i32.load $31=, 0($31)
+ i32.const $32=, 4
+ i32.sub $62=, $31, $32
+ i32.const $32=, __stack_pointer
+ i32.store $62=, 0($32), $62
+ i32.store $discard=, 0($62), $1
+ i32.const $push136=, .L.str.4
+ i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop136
+ i32.const $33=, __stack_pointer
+ i32.load $33=, 0($33)
+ i32.const $34=, 4
+ i32.add $62=, $33, $34
+ i32.const $34=, __stack_pointer
+ i32.store $62=, 0($34), $62
+ block
+ br_if $0, 0 # 0: down to label23
+# BB#23: # %if.end80
+ block
+ i32.load $push57=, should_optimize($2)
+ i32.const $push191=, 0
+ i32.eq $push192=, $pop57, $pop191
+ br_if $pop192, 0 # 0: down to label24
+# BB#24: # %if.end83
+ i32.const $push142=, 0
+ i32.const $push58=, 1
+ i32.store $1=, should_optimize($pop142), $pop58
+ i32.const $push141=, 0
+ i32.load $0=, stdout($pop141)
+ i32.const $35=, __stack_pointer
+ i32.load $35=, 0($35)
+ i32.const $36=, 4
+ i32.sub $62=, $35, $36
+ i32.const $36=, __stack_pointer
+ i32.store $62=, 0($36), $62
+ i32.const $push59=, 120
+ i32.store $2=, 0($62), $pop59
+ i32.const $push140=, .L.str.5
+ i32.call $discard=, __fprintf_chk@FUNCTION, $0, $0, $pop140
+ i32.const $37=, __stack_pointer
+ i32.load $37=, 0($37)
+ i32.const $38=, 4
+ i32.add $62=, $37, $38
+ i32.const $38=, __stack_pointer
+ i32.store $62=, 0($38), $62
+ block
+ i32.const $push139=, 0
+ i32.load $push60=, should_optimize($pop139)
+ i32.const $push193=, 0
+ i32.eq $push194=, $pop60, $pop193
+ br_if $pop194, 0 # 0: down to label25
+# BB#25: # %if.end87
+ i32.const $push145=, 0
+ i32.const $push144=, 0
+ i32.store $push61=, should_optimize($pop145), $pop144
+ i32.load $0=, stdout($pop61)
+ i32.const $39=, __stack_pointer
+ i32.load $39=, 0($39)
+ i32.const $40=, 4
+ i32.sub $62=, $39, $40
+ i32.const $40=, __stack_pointer
+ i32.store $62=, 0($40), $62
+ i32.store $discard=, 0($62), $2
+ i32.const $push143=, .L.str.5
+ i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop143
+ i32.const $41=, __stack_pointer
+ i32.load $41=, 0($41)
+ i32.const $42=, 4
+ i32.add $62=, $41, $42
+ i32.const $42=, __stack_pointer
+ i32.store $62=, 0($42), $62
+ block
+ i32.ne $push62=, $0, $1
+ br_if $pop62, 0 # 0: down to label26
+# BB#26: # %if.end91
+ block
+ i32.const $push146=, 0
+ i32.load $push63=, should_optimize($pop146)
+ i32.const $push195=, 0
+ i32.eq $push196=, $pop63, $pop195
+ br_if $pop196, 0 # 0: down to label27
+# BB#27: # %if.end94
+ i32.const $push150=, 0
+ i32.const $push149=, 0
+ i32.store $push64=, should_optimize($pop150), $pop149
+ tee_local $push148=, $0=, $pop64
+ i32.load $1=, stdout($pop148)
+ i32.const $43=, __stack_pointer
+ i32.load $43=, 0($43)
+ i32.const $44=, 4
+ i32.sub $62=, $43, $44
+ i32.const $44=, __stack_pointer
+ i32.store $62=, 0($44), $62
+ i32.const $push65=, .L.str.1
+ i32.store $2=, 0($62), $pop65
+ i32.const $push147=, .L.str.6
+ i32.call $discard=, __fprintf_chk@FUNCTION, $1, $0, $pop147
+ i32.const $45=, __stack_pointer
+ i32.load $45=, 0($45)
+ i32.const $46=, 4
+ i32.add $62=, $45, $46
+ i32.const $46=, __stack_pointer
+ i32.store $62=, 0($46), $62
+ block
+ i32.load $push66=, should_optimize($0)
+ i32.const $push197=, 0
+ i32.eq $push198=, $pop66, $pop197
+ br_if $pop198, 0 # 0: down to label28
+# BB#28: # %if.end98
+ i32.const $push67=, 0
+ i32.const $push153=, 0
+ i32.store $push68=, should_optimize($pop67), $pop153
+ tee_local $push152=, $1=, $pop68
+ i32.load $0=, stdout($pop152)
+ i32.const $47=, __stack_pointer
+ i32.load $47=, 0($47)
+ i32.const $48=, 4
+ i32.sub $62=, $47, $48
+ i32.const $48=, __stack_pointer
+ i32.store $62=, 0($48), $62
+ i32.store $discard=, 0($62), $2
+ i32.const $push151=, .L.str.6
+ i32.call $0=, __fprintf_chk@FUNCTION, $0, $0, $pop151
+ i32.const $49=, __stack_pointer
+ i32.load $49=, 0($49)
+ i32.const $50=, 4
+ i32.add $62=, $49, $50
+ i32.const $50=, __stack_pointer
+ i32.store $62=, 0($50), $62
+ block
+ i32.const $push69=, 7
+ i32.ne $push70=, $0, $pop69
+ br_if $pop70, 0 # 0: down to label29
+# BB#29: # %if.end102
+ block
+ i32.load $push71=, should_optimize($1)
+ i32.const $push199=, 0
+ i32.eq $push200=, $pop71, $pop199
+ br_if $pop200, 0 # 0: down to label30
+# BB#30: # %if.end105
+ i32.const $push72=, 0
+ i32.const $push156=, 0
+ i32.store $push73=, should_optimize($pop72), $pop156
+ tee_local $push155=, $0=, $pop73
+ i32.load $1=, stdout($pop155)
+ i32.const $51=, __stack_pointer
+ i32.load $51=, 0($51)
+ i32.const $52=, 4
+ i32.sub $62=, $51, $52
+ i32.const $52=, __stack_pointer
+ i32.store $62=, 0($52), $62
+ i32.store $discard=, 0($62), $0
+ i32.const $push154=, .L.str.7
+ i32.call $discard=, __fprintf_chk@FUNCTION, $1, $0, $pop154
+ i32.const $53=, __stack_pointer
+ i32.load $53=, 0($53)
+ i32.const $54=, 4
+ i32.add $62=, $53, $54
+ i32.const $54=, __stack_pointer
+ i32.store $62=, 0($54), $62
+ block
+ i32.load $push74=, should_optimize($0)
+ i32.const $push201=, 0
+ i32.eq $push202=, $pop74, $pop201
+ br_if $pop202, 0 # 0: down to label31
+# BB#31: # %if.end109
+ i32.store $push75=, should_optimize($0), $0
+ tee_local $push158=, $0=, $pop75
+ i32.load $1=, stdout($pop158)
+ i32.const $55=, __stack_pointer
+ i32.load $55=, 0($55)
+ i32.const $56=, 4
+ i32.sub $62=, $55, $56
+ i32.const $56=, __stack_pointer
+ i32.store $62=, 0($56), $62
+ i32.store $discard=, 0($62), $0
+ i32.const $push157=, .L.str.7
+ i32.call $0=, __fprintf_chk@FUNCTION, $1, $0, $pop157
+ i32.const $57=, __stack_pointer
+ i32.load $57=, 0($57)
+ i32.const $58=, 4
+ i32.add $62=, $57, $58
+ i32.const $58=, __stack_pointer
+ i32.store $62=, 0($58), $62
+ block
+ i32.const $push76=, 2
+ i32.ne $push77=, $0, $pop76
+ br_if $pop77, 0 # 0: down to label32
+# BB#32: # %if.end113
+ block
+ i32.const $push159=, 0
+ i32.load $push78=, should_optimize($pop159)
+ i32.const $push203=, 0
+ i32.eq $push204=, $pop78, $pop203
+ br_if $pop204, 0 # 0: down to label33
+# BB#33: # %if.end116
+ i32.const $push160=, 0
+ i32.const $61=, 16
+ i32.add $62=, $62, $61
+ i32.const $61=, __stack_pointer
+ i32.store $62=, 0($61), $62
+ return $pop160
+.LBB1_34: # %if.then115
+ end_block # label33:
+ call abort@FUNCTION
+ unreachable
+.LBB1_35: # %if.then112
+ end_block # label32:
+ call abort@FUNCTION
+ unreachable
+.LBB1_36: # %if.then108
+ end_block # label31:
+ call abort@FUNCTION
+ unreachable
+.LBB1_37: # %if.then104
+ end_block # label30:
+ call abort@FUNCTION
+ unreachable
+.LBB1_38: # %if.then101
+ end_block # label29:
+ call abort@FUNCTION
+ unreachable
+.LBB1_39: # %if.then97
+ end_block # label28:
+ call abort@FUNCTION
+ unreachable
+.LBB1_40: # %if.then93
+ end_block # label27:
+ call abort@FUNCTION
+ unreachable
+.LBB1_41: # %if.then90
+ end_block # label26:
+ call abort@FUNCTION
+ unreachable
+.LBB1_42: # %if.then86
+ end_block # label25:
+ call abort@FUNCTION
+ unreachable
+.LBB1_43: # %if.then82
+ end_block # label24:
+ call abort@FUNCTION
+ unreachable
+.LBB1_44: # %if.then79
+ end_block # label23:
+ call abort@FUNCTION
+ unreachable
+.LBB1_45: # %if.then75
+ end_block # label22:
+ call abort@FUNCTION
+ unreachable
+.LBB1_46: # %if.then71
+ end_block # label21:
+ call abort@FUNCTION
+ unreachable
+.LBB1_47: # %if.then68
+ end_block # label20:
+ call abort@FUNCTION
+ unreachable
+.LBB1_48: # %if.then64
+ end_block # label19:
+ call abort@FUNCTION
+ unreachable
+.LBB1_49: # %if.then60
+ end_block # label18:
+ call abort@FUNCTION
+ unreachable
+.LBB1_50: # %if.then57
+ end_block # label17:
+ call abort@FUNCTION
+ unreachable
+.LBB1_51: # %if.then53
+ end_block # label16:
+ call abort@FUNCTION
+ unreachable
+.LBB1_52: # %if.then49
+ end_block # label15:
+ call abort@FUNCTION
+ unreachable
+.LBB1_53: # %if.then46
+ end_block # label14:
+ call abort@FUNCTION
+ unreachable
+.LBB1_54: # %if.then42
+ end_block # label13:
+ call abort@FUNCTION
+ unreachable
+.LBB1_55: # %if.then38
+ end_block # label12:
+ call abort@FUNCTION
+ unreachable
+.LBB1_56: # %if.then35
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+.LBB1_57: # %if.then31
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB1_58: # %if.then27
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB1_59: # %if.then24
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB1_60: # %if.then20
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB1_61: # %if.then16
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB1_62: # %if.then13
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB1_63: # %if.then9
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB1_64: # %if.then5
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB1_65: # %if.then2
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB1_66: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden should_optimize # @should_optimize
+ .type should_optimize,@object
+ .section .bss.should_optimize,"aw",@nobits
+ .globl should_optimize
+ .p2align 2
+should_optimize:
+ .int32 0 # 0x0
+ .size should_optimize, 4
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "hello"
+ .size .L.str, 6
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "hello\n"
+ .size .L.str.1, 7
+
+ .type .L.str.2,@object # @.str.2
+.L.str.2:
+ .asciz "a"
+ .size .L.str.2, 2
+
+ .type .L.str.3,@object # @.str.3
+.L.str.3:
+ .skip 1
+ .size .L.str.3, 1
+
+ .type .L.str.4,@object # @.str.4
+.L.str.4:
+ .asciz "%s"
+ .size .L.str.4, 3
+
+ .type .L.str.5,@object # @.str.5
+.L.str.5:
+ .asciz "%c"
+ .size .L.str.5, 3
+
+ .type .L.str.6,@object # @.str.6
+.L.str.6:
+ .asciz "%s\n"
+ .size .L.str.6, 4
+
+ .type .L.str.7,@object # @.str.7
+.L.str.7:
+ .asciz "%d\n"
+ .size .L.str.7, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/gofast.c.s b/test/torture-s/gofast.c.s
index ae9aebfd7..42ba54a52 100644
--- a/test/torture-s/gofast.c.s
+++ b/test/torture-s/gofast.c.s
@@ -427,40 +427,42 @@ fixunsdfsi: # @fixunsdfsi
fail: # @fail
.param i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $9=, $6, $7
i32.const $7=, __stack_pointer
- i32.load $7=, 0($7)
- i32.const $8=, 16
- i32.sub $9=, $7, $8
- i32.const $8=, __stack_pointer
- i32.store $9=, 0($8), $9
- i32.const $1=, 0
- i32.load $2=, stderr($1)
- i32.load $push0=, fail_count($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, fail_count($1), $pop2
+ i32.store $9=, 0($7), $9
+ i32.const $push0=, 0
+ i32.load $1=, stderr($pop0)
+ i32.const $push6=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, fail_count($pop5)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, fail_count($pop6), $pop3
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 4
+ i32.sub $9=, $2, $3
i32.const $3=, __stack_pointer
- i32.load $3=, 0($3)
- i32.const $4=, 4
- i32.sub $9=, $3, $4
- i32.const $4=, __stack_pointer
- i32.store $9=, 0($4), $9
+ i32.store $9=, 0($3), $9
i32.store $discard=, 0($9), $0
- i32.const $push3=, .L.str
- i32.call $discard=, fiprintf@FUNCTION, $2, $pop3
+ i32.const $push4=, .L.str
+ i32.call $discard=, fprintf@FUNCTION, $1, $pop4
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 4
+ i32.add $9=, $4, $5
i32.const $5=, __stack_pointer
- i32.load $5=, 0($5)
- i32.const $6=, 4
- i32.add $9=, $5, $6
- i32.const $6=, __stack_pointer
- i32.store $9=, 0($6), $9
- i32.const $9=, 16
- i32.add $9=, $9, $9
- i32.const $9=, __stack_pointer
- i32.store $9=, 0($9), $9
- return $1
+ i32.store $9=, 0($5), $9
+ i32.const $8=, 16
+ i32.add $9=, $9, $8
+ i32.const $8=, __stack_pointer
+ i32.store $9=, 0($8), $9
+ return $0
.endfunc
.Lfunc_end30:
.size fail, .Lfunc_end30-fail
@@ -471,14 +473,14 @@ fail: # @fail
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end11
- i32.const $0=, 0
block
- i32.load $push0=, fail_count($0)
+ i32.const $push1=, 0
+ i32.load $push0=, fail_count($pop1)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.end202
- call exit@FUNCTION, $0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.LBB31_2: # %if.then201
end_block # label0:
@@ -492,7 +494,7 @@ main: # @main
.type fail_count,@object
.section .bss.fail_count,"aw",@nobits
.globl fail_count
- .align 2
+ .p2align 2
fail_count:
.int32 0 # 0x0
.size fail_count, 4
diff --git a/test/torture-s/index-1.c.s b/test/torture-s/index-1.c.s
index 84dd4dd4d..c9e077567 100644
--- a/test/torture-s/index-1.c.s
+++ b/test/torture-s/index-1.c.s
@@ -10,12 +10,10 @@ f: # @f
# BB#0: # %entry
i32.const $push0=, 2
i32.shl $push1=, $0, $pop0
- i32.const $push2=, a
+ i32.const $push2=, a-400000
i32.add $push3=, $pop1, $pop2
- i32.const $push4=, -400000
- i32.add $push5=, $pop3, $pop4
- i32.load $push6=, 0($pop5)
- return $pop6
+ i32.load $push4=, 0($pop3)
+ return $pop4
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
@@ -26,16 +24,16 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, a+120($0)
+ i32.const $push3=, 0
+ i32.load $push0=, a+120($pop3):p2align=3
i32.const $push1=, 30
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -49,7 +47,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 4
+ .p2align 4
a:
.int32 0 # 0x0
.int32 1 # 0x1
diff --git a/test/torture-s/inst-check.c.s b/test/torture-s/inst-check.c.s
index b0c4e81d1..bd2bd8d63 100644
--- a/test/torture-s/inst-check.c.s
+++ b/test/torture-s/inst-check.c.s
@@ -15,18 +15,19 @@ f: # @f
i32.lt_s $push1=, $0, $pop0
br_if $pop1, 0 # 0: down to label0
# BB#1: # %for.body.preheader
- i32.const $1=, -1
- i32.add $push2=, $0, $1
- i64.extend_u/i32 $push3=, $pop2
- i32.const $push4=, -2
- i32.add $push5=, $0, $pop4
- i64.extend_u/i32 $push6=, $pop5
- i64.mul $push7=, $pop3, $pop6
- i64.const $push8=, 1
- i64.shr_u $push9=, $pop7, $pop8
- i32.wrap/i64 $push10=, $pop9
- i32.add $push11=, $pop10, $0
- i32.add $1=, $pop11, $1
+ i32.const $push2=, -1
+ i32.add $push3=, $0, $pop2
+ i64.extend_u/i32 $push4=, $pop3
+ i32.const $push5=, -2
+ i32.add $push6=, $0, $pop5
+ i64.extend_u/i32 $push7=, $pop6
+ i64.mul $push8=, $pop4, $pop7
+ i64.const $push9=, 1
+ i64.shr_u $push10=, $pop8, $pop9
+ i32.wrap/i64 $push11=, $pop10
+ i32.add $push12=, $pop11, $0
+ i32.const $push13=, -1
+ i32.add $1=, $pop12, $pop13
.LBB0_2: # %for.end
end_block # label0:
return $1
diff --git a/test/torture-s/ipa-sra-2.c.s b/test/torture-s/ipa-sra-2.c.s
index f1f4e8660..a8ca7a029 100644
--- a/test/torture-s/ipa-sra-2.c.s
+++ b/test/torture-s/ipa-sra-2.c.s
@@ -9,14 +9,15 @@ main: # @main
.result i32
.local i32
# BB#0: # %entry
+ i32.const $push3=, 2000
+ i32.gt_s $push4=, $0, $pop3
i32.const $push1=, 1
i32.const $push0=, 40
- i32.call $2=, calloc@FUNCTION, $pop1, $pop0
- call free@FUNCTION, $2
- i32.const $push2=, 2000
- i32.gt_s $push3=, $0, $pop2
- i32.call $push4=, foo@FUNCTION, $pop3, $2
- return $pop4
+ i32.call $push2=, calloc@FUNCTION, $pop1, $pop0
+ tee_local $push5=, $0=, $pop2
+ i32.call $2=, foo@FUNCTION, $pop4, $pop5
+ call free@FUNCTION, $0
+ return $2
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
diff --git a/test/torture-s/longlong.c.s b/test/torture-s/longlong.c.s
index 052d5c8d8..1d84ed67f 100644
--- a/test/torture-s/longlong.c.s
+++ b/test/torture-s/longlong.c.s
@@ -5,39 +5,45 @@
.globl alpha_ep_extbl_i_eq_0
.type alpha_ep_extbl_i_eq_0,@function
alpha_ep_extbl_i_eq_0: # @alpha_ep_extbl_i_eq_0
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $0=, pars($2)
- i32.const $3=, 31
- i32.and $1=, $0, $3
block
- i32.eq $push0=, $1, $3
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push29=, 0
+ i32.load $push0=, pars($pop29)
+ tee_local $push28=, $1=, $pop0
+ i32.const $push3=, 31
+ i32.and $push1=, $pop28, $pop3
+ tee_local $push27=, $0=, $pop1
+ i32.const $push26=, 31
+ i32.eq $push4=, $pop27, $pop26
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.then
- i32.load $3=, r($2)
- i32.const $2=, 248
- i32.const $push18=, 3
- i32.shl $push19=, $1, $pop18
- i32.add $push20=, $3, $pop19
- i32.const $push1=, 2
- i32.shr_u $push2=, $0, $pop1
- i32.and $push3=, $pop2, $2
- i32.add $push4=, $3, $pop3
- i64.load $push5=, 0($pop4)
- i32.const $push6=, 24
- i32.shr_u $push7=, $0, $pop6
- i32.and $push8=, $pop7, $2
- i32.add $push9=, $3, $pop8
+ i32.const $push32=, 0
+ i32.load $push2=, r($pop32)
+ tee_local $push31=, $2=, $pop2
+ i32.const $push23=, 3
+ i32.shl $push24=, $0, $pop23
+ i32.add $push25=, $pop31, $pop24
+ i32.const $push5=, 2
+ i32.shr_u $push6=, $1, $pop5
+ i32.const $push7=, 248
+ i32.and $push8=, $pop6, $pop7
+ i32.add $push9=, $2, $pop8
i64.load $push10=, 0($pop9)
- i64.const $push11=, 3
- i64.shl $push12=, $pop10, $pop11
- i64.const $push13=, 56
- i64.and $push14=, $pop12, $pop13
- i64.shr_u $push15=, $pop5, $pop14
- i64.const $push16=, 255
- i64.and $push17=, $pop15, $pop16
- i64.store $discard=, 0($pop20), $pop17
+ i32.const $push11=, 24
+ i32.shr_u $push12=, $1, $pop11
+ i32.const $push30=, 248
+ i32.and $push13=, $pop12, $pop30
+ i32.add $push14=, $2, $pop13
+ i64.load $push15=, 0($pop14)
+ i64.const $push16=, 3
+ i64.shl $push17=, $pop15, $pop16
+ i64.const $push18=, 56
+ i64.and $push19=, $pop17, $pop18
+ i64.shr_u $push20=, $pop10, $pop19
+ i64.const $push21=, 255
+ i64.and $push22=, $pop20, $pop21
+ i64.store $discard=, 0($pop25), $pop22
.LBB0_2: # %if.end
end_block # label0:
return
@@ -51,19 +57,21 @@ alpha_ep_extbl_i_eq_0: # @alpha_ep_extbl_i_eq_0
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %alpha_ep_extbl_i_eq_0.exit
- i32.const $0=, 0
+ i32.const $push19=, 0
i32.const $push2=, -2013265854
- i32.store $discard=, pars($0), $pop2
- i32.load $1=, r($0)
- block
+ i32.store $discard=, pars($pop19), $pop2
+ i32.const $push18=, 0
+ i32.load $0=, r($pop18)
+ i32.const $push17=, 0
i64.const $push0=, 3160194
- i64.store $discard=, b+136($0), $pop0
+ i64.store $discard=, b+136($pop17), $pop0
+ i32.const $push16=, 0
i64.const $push1=, 6003104017374052362
- i64.store $discard=, b+16($0), $pop1
- i64.load $push3=, 16($1)
- i64.load $push4=, 136($1)
+ i64.store $discard=, b+16($pop16):p2align=4, $pop1
+ i64.load $push3=, 16($0)
+ i64.load $push4=, 136($0)
i64.const $push5=, 3
i64.shl $push6=, $pop4, $pop5
i64.const $push7=, 56
@@ -71,13 +79,16 @@ main: # @main
i64.shr_u $push9=, $pop3, $pop8
i64.const $push10=, 255
i64.and $push11=, $pop9, $pop10
- i64.store $discard=, 16($1), $pop11
- i64.load $push12=, b+16($0)
+ i64.store $discard=, 16($0), $pop11
+ block
+ i32.const $push15=, 0
+ i64.load $push12=, b+16($pop15):p2align=4
i64.const $push13=, 77
i64.ne $push14=, $pop12, $pop13
br_if $pop14, 0 # 0: down to label1
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push20=, 0
+ call exit@FUNCTION, $pop20
unreachable
.LBB1_2: # %if.then
end_block # label1:
@@ -91,7 +102,7 @@ main: # @main
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 4
+ .p2align 4
b:
.skip 256
.size b, 256
@@ -100,7 +111,7 @@ b:
.type r,@object
.section .data.r,"aw",@progbits
.globl r
- .align 2
+ .p2align 2
r:
.int32 b
.size r, 4
@@ -109,7 +120,7 @@ r:
.type pars,@object
.section .bss.pars,"aw",@nobits
.globl pars
- .align 2
+ .p2align 2
pars:
.int32 0 # 0x0
.size pars, 4
diff --git a/test/torture-s/loop-10.c.s b/test/torture-s/loop-10.c.s
index b33b38b72..6fa9ac2e1 100644
--- a/test/torture-s/loop-10.c.s
+++ b/test/torture-s/loop-10.c.s
@@ -6,17 +6,20 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %while.end
- i32.const $0=, 0
- i32.load $1=, count($0)
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load $push0=, count($pop4)
+ tee_local $push3=, $0=, $pop0
+ i32.const $push1=, 2
+ i32.add $push2=, $pop3, $pop1
+ i32.store $discard=, count($pop5), $pop2
block
- i32.const $push0=, 2
- i32.add $push1=, $1, $pop0
- i32.store $discard=, count($0), $pop1
- br_if $1, 0 # 0: down to label0
+ br_if $0, 0 # 0: down to label0
# BB#1: # %if.end4
- return $0
+ i32.const $push6=, 0
+ return $pop6
.LBB0_2: # %if.then3
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/loop-12.c.s b/test/torture-s/loop-12.c.s
index 90d12c373..84f966a03 100644
--- a/test/torture-s/loop-12.c.s
+++ b/test/torture-s/loop-12.c.s
@@ -5,41 +5,43 @@
.globl foo
.type foo,@function
foo: # @foo
- .local i32, i32, i64, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $3=, p($0)
- i64.const $2=, 562949961809921
+ i32.const $push9=, 0
+ i32.load $0=, p($pop9)
.LBB0_1: # %while.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
block
- i32.load8_u $push2=, 0($3)
- i32.const $push3=, -10
- i32.add $push0=, $pop2, $pop3
- i32.const $push4=, 255
- i32.and $1=, $pop0, $pop4
- i32.const $push5=, 49
- i32.gt_u $push6=, $1, $pop5
- br_if $pop6, 0 # 0: down to label2
+ i32.load8_u $push2=, 0($0)
+ i32.const $push13=, -10
+ i32.add $push0=, $pop2, $pop13
+ i32.const $push12=, 255
+ i32.and $push3=, $pop0, $pop12
+ tee_local $push11=, $1=, $pop3
+ i32.const $push10=, 49
+ i32.gt_u $push4=, $pop11, $pop10
+ br_if $pop4, 0 # 0: down to label2
# BB#2: # %is_end_of_statement.exit
# in Loop: Header=BB0_1 Depth=1
- i64.extend_u/i32 $push7=, $1
- i64.shr_u $push8=, $2, $pop7
- i64.const $push9=, 1
- i64.and $push10=, $pop8, $pop9
- i32.wrap/i64 $push11=, $pop10
- i32.const $push13=, 0
- i32.eq $push14=, $pop11, $pop13
- br_if $pop14, 0 # 0: down to label2
+ i64.const $push15=, 562949961809921
+ i64.extend_u/i32 $push5=, $1
+ i64.shr_u $push6=, $pop15, $pop5
+ i64.const $push14=, 1
+ i64.and $push7=, $pop6, $pop14
+ i32.wrap/i64 $push8=, $pop7
+ i32.const $push18=, 0
+ i32.eq $push19=, $pop8, $pop18
+ br_if $pop19, 0 # 0: down to label2
# BB#3: # %while.end
return
.LBB0_4: # %while.body
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
- i32.const $push12=, 1
- i32.add $push1=, $3, $pop12
- i32.store $3=, p($0), $pop1
+ i32.const $push17=, 0
+ i32.const $push16=, 1
+ i32.add $push1=, $0, $pop16
+ i32.store $0=, p($pop17), $pop1
br 0 # 0: up to label0
.LBB0_5:
end_loop # label1:
@@ -53,41 +55,44 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i64
+ .local i32, i32
# BB#0: # %entry
- i64.const $3=, 562949961809921
- i32.const $1=, .L.str
+ i32.const $0=, .L.str
.LBB1_1: # %while.cond.i
# =>This Inner Loop Header: Depth=1
loop # label3:
- i32.const $0=, 0
- i32.store $discard=, p($0), $1
block
- i32.load8_u $push1=, 0($1)
- i32.const $push2=, -10
- i32.add $push0=, $pop1, $pop2
- i32.const $push3=, 255
- i32.and $2=, $pop0, $pop3
- i32.const $push4=, 49
- i32.gt_u $push5=, $2, $pop4
- br_if $pop5, 0 # 0: down to label5
+ i32.const $push15=, 0
+ i32.store $push1=, p($pop15), $0
+ tee_local $push14=, $0=, $pop1
+ i32.load8_u $push2=, 0($pop14)
+ i32.const $push13=, -10
+ i32.add $push0=, $pop2, $pop13
+ i32.const $push12=, 255
+ i32.and $push3=, $pop0, $pop12
+ tee_local $push11=, $1=, $pop3
+ i32.const $push10=, 49
+ i32.gt_u $push4=, $pop11, $pop10
+ br_if $pop4, 0 # 0: down to label5
# BB#2: # %is_end_of_statement.exit.i
# in Loop: Header=BB1_1 Depth=1
- i64.extend_u/i32 $push6=, $2
- i64.shr_u $push7=, $3, $pop6
- i64.const $push8=, 1
- i64.and $push9=, $pop7, $pop8
- i32.wrap/i64 $push10=, $pop9
- i32.const $push12=, 0
- i32.eq $push13=, $pop10, $pop12
- br_if $pop13, 0 # 0: down to label5
+ i64.const $push17=, 562949961809921
+ i64.extend_u/i32 $push5=, $1
+ i64.shr_u $push6=, $pop17, $pop5
+ i64.const $push16=, 1
+ i64.and $push7=, $pop6, $pop16
+ i32.wrap/i64 $push8=, $pop7
+ i32.const $push19=, 0
+ i32.eq $push20=, $pop8, $pop19
+ br_if $pop20, 0 # 0: down to label5
# BB#3: # %foo.exit
- return $0
+ i32.const $push9=, 0
+ return $pop9
.LBB1_4: # %while.body.i
# in Loop: Header=BB1_1 Depth=1
end_block # label5:
- i32.const $push11=, 1
- i32.add $1=, $1, $pop11
+ i32.const $push18=, 1
+ i32.add $0=, $0, $pop18
br 0 # 0: up to label3
.LBB1_5:
end_loop # label4:
@@ -99,7 +104,7 @@ main: # @main
.type p,@object
.section .bss.p,"aw",@nobits
.globl p
- .align 2
+ .p2align 2
p:
.int32 0
.size p, 4
diff --git a/test/torture-s/loop-13.c.s b/test/torture-s/loop-13.c.s
index cfff79ade..9ee93577d 100644
--- a/test/torture-s/loop-13.c.s
+++ b/test/torture-s/loop-13.c.s
@@ -6,46 +6,51 @@
.type scale,@function
scale: # @scale
.param i32, i32, i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.load $4=, 0($0)
- i32.const $6=, 1
block
- i32.eq $push0=, $4, $6
- br_if $pop0, 0 # 0: down to label0
-# BB#1: # %entry
- i32.lt_s $push1=, $2, $6
+ i32.load $push0=, 0($0)
+ tee_local $push14=, $3=, $pop0
+ i32.const $push13=, 1
+ i32.eq $push1=, $pop14, $pop13
br_if $pop1, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $push15=, 1
+ i32.lt_s $push2=, $2, $pop15
+ br_if $pop2, 0 # 0: down to label0
# BB#2: # %for.body.preheader
- i32.load $5=, 4($1)
- i32.load $push2=, 0($1)
- i32.mul $push3=, $pop2, $4
- i32.store $discard=, 0($1), $pop3
- i32.mul $push4=, $5, $4
- i32.store $discard=, 4($1), $pop4
- i32.eq $push5=, $2, $6
- br_if $pop5, 0 # 0: down to label0
+ i32.load $4=, 4($1)
+ i32.load $push3=, 0($1)
+ i32.mul $push4=, $pop3, $3
+ i32.store $discard=, 0($1), $pop4
+ i32.mul $push5=, $4, $3
+ i32.store $discard=, 4($1), $pop5
+ i32.const $push6=, 1
+ i32.eq $push7=, $2, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#3: # %for.body.for.body_crit_edge.preheader
- i32.const $push6=, 12
- i32.add $1=, $1, $pop6
- i32.const $3=, -1
- i32.add $6=, $2, $3
+ i32.const $push8=, 12
+ i32.add $1=, $1, $pop8
+ i32.const $push16=, -1
+ i32.add $2=, $2, $pop16
.LBB0_4: # %for.body.for.body_crit_edge
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push7=, -4
- i32.add $4=, $1, $pop7
- i32.load $2=, 0($0)
- i32.load $5=, 0($1)
- i32.load $push8=, 0($4)
- i32.mul $push9=, $pop8, $2
- i32.store $discard=, 0($4), $pop9
- i32.mul $push10=, $5, $2
- i32.store $discard=, 0($1), $pop10
- i32.const $push11=, 8
- i32.add $1=, $1, $pop11
- i32.add $6=, $6, $3
- br_if $6, 0 # 0: up to label1
+ i32.const $push20=, -4
+ i32.add $3=, $1, $pop20
+ i32.load $4=, 0($1)
+ i32.load $push10=, 0($3)
+ i32.load $push9=, 0($0)
+ tee_local $push19=, $5=, $pop9
+ i32.mul $push11=, $pop10, $pop19
+ i32.store $discard=, 0($3), $pop11
+ i32.mul $push12=, $4, $5
+ i32.store $discard=, 0($1), $pop12
+ i32.const $push18=, -1
+ i32.add $2=, $2, $pop18
+ i32.const $push17=, 8
+ i32.add $1=, $1, $pop17
+ br_if $2, 0 # 0: up to label1
.LBB0_5: # %if.end
end_loop # label2:
end_block # label0:
diff --git a/test/torture-s/loop-14.c.s b/test/torture-s/loop-14.c.s
index febcad549..6d7a0ab1b 100644
--- a/test/torture-s/loop-14.c.s
+++ b/test/torture-s/loop-14.c.s
@@ -7,10 +7,8 @@
f: # @f
.param i32
# BB#0: # %entry
- i32.const $push0=, 21
- i32.store $discard=, 8($0), $pop0
- i32.const $push1=, 42
- i32.store $discard=, 4($0), $pop1
+ i64.const $push0=, 90194313258
+ i64.store $discard=, 4($0):p2align=2, $pop0
return
.endfunc
.Lfunc_end0:
@@ -22,14 +20,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $push0=, 21
- i32.store $discard=, a3+8($0), $pop0
- i32.const $push1=, 42
- i32.store $discard=, a3+4($0), $pop1
- call exit@FUNCTION, $0
+ i32.const $push1=, 0
+ i64.const $push0=, 90194313258
+ i64.store $discard=, a3+4($pop1):p2align=2, $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end1:
@@ -39,7 +35,7 @@ main: # @main
.type a3,@object
.section .bss.a3,"aw",@nobits
.globl a3
- .align 2
+ .p2align 2
a3:
.skip 12
.size a3, 12
diff --git a/test/torture-s/loop-2.c.s b/test/torture-s/loop-2.c.s
index d3fee5588..80811a256 100644
--- a/test/torture-s/loop-2.c.s
+++ b/test/torture-s/loop-2.c.s
@@ -41,14 +41,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.const $push0=, -2
- i32.store $discard=, a($0), $pop0
- i32.const $push1=, -1
- i32.store $discard=, a+4($0), $pop1
- call exit@FUNCTION, $0
+ i32.const $push1=, 0
+ i64.const $push0=, -2
+ i64.store $discard=, a($pop1):p2align=2, $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end1:
@@ -58,7 +56,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 8
.size a, 8
diff --git a/test/torture-s/loop-2b.c.s b/test/torture-s/loop-2b.c.s
index c14e4fdb8..ac79b37ae 100644
--- a/test/torture-s/loop-2b.c.s
+++ b/test/torture-s/loop-2b.c.s
@@ -10,36 +10,37 @@ f: # @f
.local i32, i32
# BB#0: # %entry
block
- i32.const $push0=, 2147483647
- i32.eq $push1=, $0, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push1=, 2147483647
+ i32.eq $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %for.body.preheader
- i32.const $push4=, a
- i32.const $push2=, 2
- i32.shl $push3=, $0, $pop2
- i32.add $2=, $pop4, $pop3
- i32.const $push5=, 2147483646
- i32.sub $1=, $pop5, $0
+ i32.const $push3=, 2
+ i32.shl $push4=, $0, $pop3
+ i32.const $push5=, a
+ i32.add $2=, $pop4, $pop5
+ i32.const $push6=, 2147483646
+ i32.sub $1=, $pop6, $0
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push6=, -2
- i32.store $discard=, 0($2), $pop6
- copy_local $0=, $1
- i32.const $push7=, 2147483645
- i32.eq $push8=, $0, $pop7
- br_if $pop8, 1 # 1: down to label2
+ i32.const $push10=, -2
+ i32.store $discard=, 0($2), $pop10
+ copy_local $push0=, $1
+ tee_local $push9=, $0=, $pop0
+ i32.const $push8=, 2147483645
+ i32.eq $push7=, $pop9, $pop8
+ br_if $pop7, 1 # 1: down to label2
# BB#3: # %for.body
# in Loop: Header=BB0_2 Depth=1
- i32.const $push9=, 4
- i32.add $2=, $2, $pop9
- i32.const $push10=, -1
- i32.add $1=, $0, $pop10
+ i32.const $push12=, 4
+ i32.add $2=, $2, $pop12
+ i32.const $push11=, -1
+ i32.add $1=, $0, $pop11
br_if $0, 0 # 0: up to label1
.LBB0_4: # %for.end
end_loop # label2:
end_block # label0:
- return $0
+ return $2
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
@@ -50,13 +51,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.const $push0=, -2
- i32.store $push1=, a($0), $pop0
- i32.store $discard=, a+4($0), $pop1
- call exit@FUNCTION, $0
+ i32.const $push1=, 0
+ i64.const $push0=, -4294967298
+ i64.store $discard=, a($pop1):p2align=2, $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end1:
@@ -66,7 +66,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 8
.size a, 8
diff --git a/test/torture-s/loop-2c.c.s b/test/torture-s/loop-2c.c.s
index ed3a30a5a..b2b64a812 100644
--- a/test/torture-s/loop-2c.c.s
+++ b/test/torture-s/loop-2c.c.s
@@ -7,32 +7,32 @@
f: # @f
.param i32, i32
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
block
- i32.const $push9=, 0
- i32.eq $push10=, $0, $pop9
- br_if $pop10, 0 # 0: down to label0
+ i32.const $push11=, 0
+ i32.eq $push12=, $0, $pop11
+ br_if $pop12, 0 # 0: down to label0
# BB#1: # %for.body.preheader
- i32.const $2=, -3
+ i32.const $push3=, 2
+ i32.shl $push4=, $0, $pop3
+ i32.const $push5=, a-4
+ i32.add $2=, $pop4, $pop5
i32.const $push0=, 3
i32.mul $push1=, $0, $pop0
i32.add $push2=, $1, $pop1
- i32.add $4=, $pop2, $2
- i32.const $3=, -4
- i32.const $push3=, 2
- i32.shl $push4=, $0, $pop3
- i32.const $push5=, a
- i32.add $push6=, $pop4, $pop5
- i32.add $1=, $pop6, $3
+ i32.const $push7=, -3
+ i32.add $1=, $pop2, $pop7
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push7=, -1
- i32.add $0=, $0, $pop7
- i32.store $push8=, 0($1), $4
- i32.add $4=, $pop8, $2
- i32.add $1=, $1, $3
+ i32.const $push10=, -1
+ i32.add $0=, $0, $pop10
+ i32.store $push6=, 0($2), $1
+ i32.const $push9=, -3
+ i32.add $1=, $pop6, $pop9
+ i32.const $push8=, -4
+ i32.add $2=, $2, $pop8
br_if $0, 0 # 0: up to label1
.LBB0_3: # %for.end
end_loop # label2:
@@ -49,32 +49,31 @@ f: # @f
g: # @g
.param i32
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
block
- i32.const $push8=, 0
- i32.eq $push9=, $0, $pop8
- br_if $pop9, 0 # 0: down to label3
+ i32.const $push10=, 0
+ i32.eq $push11=, $0, $pop10
+ br_if $pop11, 0 # 0: down to label3
# BB#1: # %for.body.preheader.i
- i32.const $3=, a
- i32.const $1=, -3
i32.const $push0=, 3
i32.mul $push1=, $0, $pop0
- i32.add $push5=, $pop1, $3
- i32.add $4=, $pop5, $1
- i32.const $2=, -4
- i32.const $push2=, 2
- i32.shl $push3=, $0, $pop2
- i32.add $push4=, $pop3, $3
- i32.add $3=, $pop4, $2
+ i32.const $push2=, a-3
+ i32.add $2=, $pop1, $pop2
+ i32.const $push3=, 2
+ i32.shl $push4=, $0, $pop3
+ i32.const $push5=, a-4
+ i32.add $1=, $pop4, $pop5
.LBB1_2: # %for.body.i
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.const $push6=, -1
- i32.add $0=, $0, $pop6
- i32.store $push7=, 0($3), $4
- i32.add $4=, $pop7, $1
- i32.add $3=, $3, $2
+ i32.const $push9=, -1
+ i32.add $0=, $0, $pop9
+ i32.store $push6=, 0($1), $2
+ i32.const $push8=, -3
+ i32.add $2=, $pop6, $pop8
+ i32.const $push7=, -4
+ i32.add $1=, $1, $pop7
br_if $0, 0 # 0: up to label4
.LBB1_3: # %f.exit
end_loop # label5:
@@ -90,14 +89,15 @@ g: # @g
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, a+3
- i32.store $discard=, a+4($0), $pop0
- i32.const $push1=, a
- i32.store $discard=, a($0), $pop1
- call exit@FUNCTION, $0
+ i32.store $discard=, a+4($pop1), $pop0
+ i32.const $push4=, 0
+ i32.const $push2=, a
+ i32.store $discard=, a($pop4), $pop2
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.endfunc
.Lfunc_end2:
@@ -107,7 +107,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 8
.size a, 8
diff --git a/test/torture-s/loop-2d.c.s b/test/torture-s/loop-2d.c.s
index 36382f535..208a900ce 100644
--- a/test/torture-s/loop-2d.c.s
+++ b/test/torture-s/loop-2d.c.s
@@ -7,32 +7,31 @@
f: # @f
.param i32
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
block
- i32.const $push8=, 0
- i32.eq $push9=, $0, $pop8
- br_if $pop9, 0 # 0: down to label0
+ i32.const $push10=, 0
+ i32.eq $push11=, $0, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#1: # %for.body.preheader
- i32.const $3=, a
- i32.const $1=, -3
i32.const $push0=, 3
i32.mul $push1=, $0, $pop0
- i32.add $push5=, $pop1, $3
- i32.add $4=, $pop5, $1
- i32.const $2=, -4
- i32.const $push2=, 2
- i32.shl $push3=, $0, $pop2
- i32.add $push4=, $pop3, $3
- i32.add $3=, $pop4, $2
+ i32.const $push2=, a-3
+ i32.add $2=, $pop1, $pop2
+ i32.const $push3=, 2
+ i32.shl $push4=, $0, $pop3
+ i32.const $push5=, a-4
+ i32.add $1=, $pop4, $pop5
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push6=, -1
- i32.add $0=, $0, $pop6
- i32.store $push7=, 0($3), $4
- i32.add $4=, $pop7, $1
- i32.add $3=, $3, $2
+ i32.const $push9=, -1
+ i32.add $0=, $0, $pop9
+ i32.store $push6=, 0($1), $2
+ i32.const $push8=, -3
+ i32.add $2=, $pop6, $pop8
+ i32.const $push7=, -4
+ i32.add $1=, $1, $pop7
br_if $0, 0 # 0: up to label1
.LBB0_3: # %for.end
end_loop # label2:
@@ -48,14 +47,15 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, a+3
- i32.store $discard=, a+4($0), $pop0
- i32.const $push1=, a
- i32.store $discard=, a($0), $pop1
- call exit@FUNCTION, $0
+ i32.store $discard=, a+4($pop1), $pop0
+ i32.const $push4=, 0
+ i32.const $push2=, a
+ i32.store $discard=, a($pop4), $pop2
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
unreachable
.endfunc
.Lfunc_end1:
@@ -65,7 +65,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 8
.size a, 8
diff --git a/test/torture-s/loop-2e.c.s b/test/torture-s/loop-2e.c.s
index a1577ef92..dbd7ab53c 100644
--- a/test/torture-s/loop-2e.c.s
+++ b/test/torture-s/loop-2e.c.s
@@ -7,124 +7,125 @@
f: # @f
.param i32, i32
# BB#0: # %entry
- i32.store $discard=, 0($1), $0
- i32.const $push0=, 4
- i32.add $push1=, $0, $pop0
- i32.store $discard=, 4($1), $pop1
- i32.const $push2=, 8
- i32.add $push3=, $0, $pop2
- i32.store $discard=, 8($1), $pop3
- i32.const $push4=, 12
- i32.add $push5=, $0, $pop4
- i32.store $discard=, 12($1), $pop5
- i32.const $push6=, 16
- i32.add $push7=, $0, $pop6
- i32.store $discard=, 16($1), $pop7
- i32.const $push8=, 20
- i32.add $push9=, $0, $pop8
- i32.store $discard=, 20($1), $pop9
- i32.const $push10=, 24
- i32.add $push11=, $0, $pop10
- i32.store $discard=, 24($1), $pop11
- i32.const $push12=, 28
- i32.add $push13=, $0, $pop12
- i32.store $discard=, 28($1), $pop13
- i32.const $push14=, 32
- i32.add $push15=, $0, $pop14
- i32.store $discard=, 32($1), $pop15
- i32.const $push16=, 36
- i32.add $push17=, $0, $pop16
- i32.store $discard=, 36($1), $pop17
- i32.const $push18=, 40
- i32.add $push19=, $0, $pop18
- i32.store $discard=, 40($1), $pop19
- i32.const $push20=, 44
- i32.add $push21=, $0, $pop20
- i32.store $discard=, 44($1), $pop21
- i32.const $push22=, 48
- i32.add $push23=, $0, $pop22
- i32.store $discard=, 48($1), $pop23
- i32.const $push24=, 52
- i32.add $push25=, $0, $pop24
- i32.store $discard=, 52($1), $pop25
- i32.const $push26=, 56
- i32.add $push27=, $0, $pop26
- i32.store $discard=, 56($1), $pop27
- i32.const $push28=, 60
- i32.add $push29=, $0, $pop28
- i32.store $discard=, 60($1), $pop29
- i32.const $push30=, 64
- i32.add $push31=, $0, $pop30
- i32.store $discard=, 64($1), $pop31
- i32.const $push32=, 68
- i32.add $push33=, $0, $pop32
- i32.store $discard=, 68($1), $pop33
- i32.const $push34=, 72
- i32.add $push35=, $0, $pop34
- i32.store $discard=, 72($1), $pop35
- i32.const $push36=, 76
- i32.add $push37=, $0, $pop36
- i32.store $discard=, 76($1), $pop37
- i32.const $push38=, 80
- i32.add $push39=, $0, $pop38
- i32.store $discard=, 80($1), $pop39
- i32.const $push40=, 84
- i32.add $push41=, $0, $pop40
- i32.store $discard=, 84($1), $pop41
- i32.const $push42=, 88
- i32.add $push43=, $0, $pop42
- i32.store $discard=, 88($1), $pop43
- i32.const $push44=, 92
- i32.add $push45=, $0, $pop44
- i32.store $discard=, 92($1), $pop45
- i32.const $push46=, 96
- i32.add $push47=, $0, $pop46
- i32.store $discard=, 96($1), $pop47
- i32.const $push48=, 100
- i32.add $push49=, $0, $pop48
- i32.store $discard=, 100($1), $pop49
- i32.const $push50=, 104
- i32.add $push51=, $0, $pop50
- i32.store $discard=, 104($1), $pop51
- i32.const $push52=, 108
- i32.add $push53=, $0, $pop52
- i32.store $discard=, 108($1), $pop53
- i32.const $push54=, 112
- i32.add $push55=, $0, $pop54
- i32.store $discard=, 112($1), $pop55
- i32.const $push56=, 116
- i32.add $push57=, $0, $pop56
- i32.store $discard=, 116($1), $pop57
- i32.const $push58=, 120
- i32.add $push59=, $0, $pop58
- i32.store $discard=, 120($1), $pop59
- i32.const $push60=, 124
- i32.add $push61=, $0, $pop60
- i32.store $discard=, 124($1), $pop61
- i32.const $push62=, 128
- i32.add $push63=, $0, $pop62
- i32.store $discard=, 128($1), $pop63
- i32.const $push64=, 132
- i32.add $push65=, $0, $pop64
- i32.store $discard=, 132($1), $pop65
- i32.const $push66=, 136
- i32.add $push67=, $0, $pop66
- i32.store $discard=, 136($1), $pop67
- i32.const $push68=, 140
- i32.add $push69=, $0, $pop68
- i32.store $discard=, 140($1), $pop69
- i32.const $push70=, 144
- i32.add $push71=, $0, $pop70
- i32.store $discard=, 144($1), $pop71
- i32.const $push72=, 148
- i32.add $push73=, $0, $pop72
- i32.store $discard=, 148($1), $pop73
- i32.const $push74=, 152
- i32.add $push75=, $0, $pop74
- i32.store $discard=, 152($1), $pop75
- i32.const $push76=, 156
- i32.add $push77=, $0, $pop76
- i32.store $discard=, 156($1), $pop77
+ i32.store $push0=, 0($1), $0
+ tee_local $push79=, $0=, $pop0
+ i32.const $push1=, 4
+ i32.add $push2=, $pop79, $pop1
+ i32.store $discard=, 4($1), $pop2
+ i32.const $push3=, 8
+ i32.add $push4=, $0, $pop3
+ i32.store $discard=, 8($1), $pop4
+ i32.const $push5=, 12
+ i32.add $push6=, $0, $pop5
+ i32.store $discard=, 12($1), $pop6
+ i32.const $push7=, 16
+ i32.add $push8=, $0, $pop7
+ i32.store $discard=, 16($1), $pop8
+ i32.const $push9=, 20
+ i32.add $push10=, $0, $pop9
+ i32.store $discard=, 20($1), $pop10
+ i32.const $push11=, 24
+ i32.add $push12=, $0, $pop11
+ i32.store $discard=, 24($1), $pop12
+ i32.const $push13=, 28
+ i32.add $push14=, $0, $pop13
+ i32.store $discard=, 28($1), $pop14
+ i32.const $push15=, 32
+ i32.add $push16=, $0, $pop15
+ i32.store $discard=, 32($1), $pop16
+ i32.const $push17=, 36
+ i32.add $push18=, $0, $pop17
+ i32.store $discard=, 36($1), $pop18
+ i32.const $push19=, 40
+ i32.add $push20=, $0, $pop19
+ i32.store $discard=, 40($1), $pop20
+ i32.const $push21=, 44
+ i32.add $push22=, $0, $pop21
+ i32.store $discard=, 44($1), $pop22
+ i32.const $push23=, 48
+ i32.add $push24=, $0, $pop23
+ i32.store $discard=, 48($1), $pop24
+ i32.const $push25=, 52
+ i32.add $push26=, $0, $pop25
+ i32.store $discard=, 52($1), $pop26
+ i32.const $push27=, 56
+ i32.add $push28=, $0, $pop27
+ i32.store $discard=, 56($1), $pop28
+ i32.const $push29=, 60
+ i32.add $push30=, $0, $pop29
+ i32.store $discard=, 60($1), $pop30
+ i32.const $push31=, 64
+ i32.add $push32=, $0, $pop31
+ i32.store $discard=, 64($1), $pop32
+ i32.const $push33=, 68
+ i32.add $push34=, $0, $pop33
+ i32.store $discard=, 68($1), $pop34
+ i32.const $push35=, 72
+ i32.add $push36=, $0, $pop35
+ i32.store $discard=, 72($1), $pop36
+ i32.const $push37=, 76
+ i32.add $push38=, $0, $pop37
+ i32.store $discard=, 76($1), $pop38
+ i32.const $push39=, 80
+ i32.add $push40=, $0, $pop39
+ i32.store $discard=, 80($1), $pop40
+ i32.const $push41=, 84
+ i32.add $push42=, $0, $pop41
+ i32.store $discard=, 84($1), $pop42
+ i32.const $push43=, 88
+ i32.add $push44=, $0, $pop43
+ i32.store $discard=, 88($1), $pop44
+ i32.const $push45=, 92
+ i32.add $push46=, $0, $pop45
+ i32.store $discard=, 92($1), $pop46
+ i32.const $push47=, 96
+ i32.add $push48=, $0, $pop47
+ i32.store $discard=, 96($1), $pop48
+ i32.const $push49=, 100
+ i32.add $push50=, $0, $pop49
+ i32.store $discard=, 100($1), $pop50
+ i32.const $push51=, 104
+ i32.add $push52=, $0, $pop51
+ i32.store $discard=, 104($1), $pop52
+ i32.const $push53=, 108
+ i32.add $push54=, $0, $pop53
+ i32.store $discard=, 108($1), $pop54
+ i32.const $push55=, 112
+ i32.add $push56=, $0, $pop55
+ i32.store $discard=, 112($1), $pop56
+ i32.const $push57=, 116
+ i32.add $push58=, $0, $pop57
+ i32.store $discard=, 116($1), $pop58
+ i32.const $push59=, 120
+ i32.add $push60=, $0, $pop59
+ i32.store $discard=, 120($1), $pop60
+ i32.const $push61=, 124
+ i32.add $push62=, $0, $pop61
+ i32.store $discard=, 124($1), $pop62
+ i32.const $push63=, 128
+ i32.add $push64=, $0, $pop63
+ i32.store $discard=, 128($1), $pop64
+ i32.const $push65=, 132
+ i32.add $push66=, $0, $pop65
+ i32.store $discard=, 132($1), $pop66
+ i32.const $push67=, 136
+ i32.add $push68=, $0, $pop67
+ i32.store $discard=, 136($1), $pop68
+ i32.const $push69=, 140
+ i32.add $push70=, $0, $pop69
+ i32.store $discard=, 140($1), $pop70
+ i32.const $push71=, 144
+ i32.add $push72=, $0, $pop71
+ i32.store $discard=, 144($1), $pop72
+ i32.const $push73=, 148
+ i32.add $push74=, $0, $pop73
+ i32.store $discard=, 148($1), $pop74
+ i32.const $push75=, 152
+ i32.add $push76=, $0, $pop75
+ i32.store $discard=, 152($1), $pop76
+ i32.const $push77=, 156
+ i32.add $push78=, $0, $pop77
+ i32.store $discard=, 156($1), $pop78
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/loop-2f.c.s b/test/torture-s/loop-2f.c.s
index 5add7e140..cb2a5cd45 100644
--- a/test/torture-s/loop-2f.c.s
+++ b/test/torture-s/loop-2f.c.s
@@ -12,19 +12,13 @@ f: # @f
i32.const $push0=, 39
i32.gt_u $push1=, $0, $pop0
br_if $pop1, 0 # 0: down to label0
-.LBB0_1: # %for.body
- # =>This Inner Loop Header: Depth=1
- loop # label1:
+# BB#1: # %for.body.preheader
i32.add $push2=, $1, $0
- i32.const $push3=, 254
- i32.store8 $discard=, 0($pop2), $pop3
- i32.const $push4=, 1
- i32.add $0=, $0, $pop4
- i32.const $push5=, 40
- i32.ne $push6=, $0, $pop5
- br_if $pop6, 0 # 0: up to label1
+ i32.const $push5=, 254
+ i32.const $push3=, 40
+ i32.sub $push4=, $pop3, $0
+ i32.call $discard=, memset@FUNCTION, $pop2, $pop5, $pop4
.LBB0_2: # %for.end
- end_loop # label2:
end_block # label0:
return $0
.endfunc
@@ -37,65 +31,34 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
block
- i32.const $push0=, .L.str
- i32.call $0=, open@FUNCTION, $pop0, $1
- i32.const $push4=, 2147450880
- i32.const $push3=, 65536
- i32.const $push2=, 3
- i32.const $push1=, 50
- i32.call $0=, mmap@FUNCTION, $pop4, $pop3, $pop2, $pop1, $0, $1
- i32.const $push5=, -1
- i32.eq $push6=, $0, $pop5
- br_if $pop6, 0 # 0: down to label3
+ i32.const $push6=, 2147450880
+ i32.const $push5=, 65536
+ i32.const $push4=, 3
+ i32.const $push3=, 50
+ i32.const $push1=, .L.str
+ i32.const $push15=, 0
+ i32.call $push2=, open@FUNCTION, $pop1, $pop15
+ i32.const $push14=, 0
+ i32.call $push0=, mmap@FUNCTION, $pop6, $pop5, $pop4, $pop3, $pop2, $pop14
+ tee_local $push13=, $0=, $pop0
+ i32.const $push7=, -1
+ i32.eq $push8=, $pop13, $pop7
+ br_if $pop8, 0 # 0: down to label1
# BB#1: # %if.end
- i32.const $push7=, 254
- i32.store8 $push8=, 32766($0), $pop7
- i32.store8 $push9=, 32767($0), $pop8
- i32.store8 $push10=, 32768($0), $pop9
- i32.store8 $push11=, 32769($0), $pop10
- i32.store8 $push12=, 32770($0), $pop11
- i32.store8 $push13=, 32771($0), $pop12
- i32.store8 $push14=, 32772($0), $pop13
- i32.store8 $push15=, 32773($0), $pop14
- i32.store8 $push16=, 32774($0), $pop15
- i32.store8 $push17=, 32775($0), $pop16
- i32.store8 $push18=, 32776($0), $pop17
- i32.store8 $push19=, 32777($0), $pop18
- i32.store8 $push20=, 32778($0), $pop19
- i32.store8 $push21=, 32779($0), $pop20
- i32.store8 $push22=, 32780($0), $pop21
- i32.store8 $push23=, 32781($0), $pop22
- i32.store8 $push24=, 32782($0), $pop23
- i32.store8 $push25=, 32783($0), $pop24
- i32.store8 $push26=, 32784($0), $pop25
- i32.store8 $push27=, 32785($0), $pop26
- i32.store8 $push28=, 32786($0), $pop27
- i32.store8 $push29=, 32787($0), $pop28
- i32.store8 $push30=, 32788($0), $pop29
- i32.store8 $push31=, 32789($0), $pop30
- i32.store8 $push32=, 32790($0), $pop31
- i32.store8 $push33=, 32791($0), $pop32
- i32.store8 $push34=, 32792($0), $pop33
- i32.store8 $push35=, 32793($0), $pop34
- i32.store8 $push36=, 32794($0), $pop35
- i32.store8 $push37=, 32795($0), $pop36
- i32.store8 $push38=, 32796($0), $pop37
- i32.store8 $push39=, 32797($0), $pop38
- i32.store8 $push40=, 32798($0), $pop39
- i32.store8 $push41=, 32799($0), $pop40
- i32.store8 $push42=, 32800($0), $pop41
- i32.store8 $push43=, 32801($0), $pop42
- i32.store8 $push44=, 32802($0), $pop43
- i32.store8 $push45=, 32803($0), $pop44
- i32.store8 $discard=, 32804($0), $pop45
- i32.store8 $discard=, 32805($0), $1
+ i32.const $push9=, 32766
+ i32.add $push10=, $0, $pop9
+ i32.const $push12=, 254
+ i32.const $push11=, 39
+ i32.call $discard=, memset@FUNCTION, $pop10, $pop12, $pop11
+ i32.const $push16=, 0
+ i32.store8 $discard=, 32805($0), $pop16
.LBB1_2: # %if.end15
- end_block # label3:
- call exit@FUNCTION, $1
+ end_block # label1:
+ i32.const $push17=, 0
+ call exit@FUNCTION, $pop17
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/loop-2g.c.s b/test/torture-s/loop-2g.c.s
index 09fbfd3f1..cc02cdabb 100644
--- a/test/torture-s/loop-2g.c.s
+++ b/test/torture-s/loop-2g.c.s
@@ -12,19 +12,13 @@ f: # @f
i32.const $push0=, 39
i32.gt_u $push1=, $0, $pop0
br_if $pop1, 0 # 0: down to label0
-.LBB0_1: # %for.body
- # =>This Inner Loop Header: Depth=1
- loop # label1:
+# BB#1: # %for.body.preheader
i32.add $push2=, $1, $0
- i32.const $push3=, 254
- i32.store8 $discard=, 0($pop2), $pop3
- i32.const $push4=, 1
- i32.add $0=, $0, $pop4
- i32.const $push5=, 40
- i32.ne $push6=, $0, $pop5
- br_if $pop6, 0 # 0: up to label1
+ i32.const $push5=, 254
+ i32.const $push3=, 40
+ i32.sub $push4=, $pop3, $0
+ i32.call $discard=, memset@FUNCTION, $pop2, $pop5, $pop4
.LBB0_2: # %for.end
- end_loop # label2:
end_block # label0:
return $0
.endfunc
@@ -37,65 +31,34 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
block
- i32.const $push0=, .L.str
- i32.call $0=, open@FUNCTION, $pop0, $1
- i32.const $push4=, 2147450880
- i32.const $push3=, 65536
- i32.const $push2=, 3
- i32.const $push1=, 50
- i32.call $0=, mmap@FUNCTION, $pop4, $pop3, $pop2, $pop1, $0, $1
- i32.const $push5=, -1
- i32.eq $push6=, $0, $pop5
- br_if $pop6, 0 # 0: down to label3
+ i32.const $push6=, 2147450880
+ i32.const $push5=, 65536
+ i32.const $push4=, 3
+ i32.const $push3=, 50
+ i32.const $push1=, .L.str
+ i32.const $push15=, 0
+ i32.call $push2=, open@FUNCTION, $pop1, $pop15
+ i32.const $push14=, 0
+ i32.call $push0=, mmap@FUNCTION, $pop6, $pop5, $pop4, $pop3, $pop2, $pop14
+ tee_local $push13=, $0=, $pop0
+ i32.const $push7=, -1
+ i32.eq $push8=, $pop13, $pop7
+ br_if $pop8, 0 # 0: down to label1
# BB#1: # %if.end
- i32.const $push7=, 254
- i32.store8 $push8=, 32766($0), $pop7
- i32.store8 $push9=, 32767($0), $pop8
- i32.store8 $push10=, 32768($0), $pop9
- i32.store8 $push11=, 32769($0), $pop10
- i32.store8 $push12=, 32770($0), $pop11
- i32.store8 $push13=, 32771($0), $pop12
- i32.store8 $push14=, 32772($0), $pop13
- i32.store8 $push15=, 32773($0), $pop14
- i32.store8 $push16=, 32774($0), $pop15
- i32.store8 $push17=, 32775($0), $pop16
- i32.store8 $push18=, 32776($0), $pop17
- i32.store8 $push19=, 32777($0), $pop18
- i32.store8 $push20=, 32778($0), $pop19
- i32.store8 $push21=, 32779($0), $pop20
- i32.store8 $push22=, 32780($0), $pop21
- i32.store8 $push23=, 32781($0), $pop22
- i32.store8 $push24=, 32782($0), $pop23
- i32.store8 $push25=, 32783($0), $pop24
- i32.store8 $push26=, 32784($0), $pop25
- i32.store8 $push27=, 32785($0), $pop26
- i32.store8 $push28=, 32786($0), $pop27
- i32.store8 $push29=, 32787($0), $pop28
- i32.store8 $push30=, 32788($0), $pop29
- i32.store8 $push31=, 32789($0), $pop30
- i32.store8 $push32=, 32790($0), $pop31
- i32.store8 $push33=, 32791($0), $pop32
- i32.store8 $push34=, 32792($0), $pop33
- i32.store8 $push35=, 32793($0), $pop34
- i32.store8 $push36=, 32794($0), $pop35
- i32.store8 $push37=, 32795($0), $pop36
- i32.store8 $push38=, 32796($0), $pop37
- i32.store8 $push39=, 32797($0), $pop38
- i32.store8 $push40=, 32798($0), $pop39
- i32.store8 $push41=, 32799($0), $pop40
- i32.store8 $push42=, 32800($0), $pop41
- i32.store8 $push43=, 32801($0), $pop42
- i32.store8 $push44=, 32802($0), $pop43
- i32.store8 $push45=, 32803($0), $pop44
- i32.store8 $discard=, 32804($0), $pop45
- i32.store8 $discard=, 32805($0), $1
+ i32.const $push9=, 32766
+ i32.add $push10=, $0, $pop9
+ i32.const $push12=, 254
+ i32.const $push11=, 39
+ i32.call $discard=, memset@FUNCTION, $pop10, $pop12, $pop11
+ i32.const $push16=, 0
+ i32.store8 $discard=, 32805($0), $pop16
.LBB1_2: # %if.end15
- end_block # label3:
- call exit@FUNCTION, $1
+ end_block # label1:
+ i32.const $push17=, 0
+ call exit@FUNCTION, $pop17
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/loop-3.c.s b/test/torture-s/loop-3.c.s
index 53a8f9953..60a757f77 100644
--- a/test/torture-s/loop-3.c.s
+++ b/test/torture-s/loop-3.c.s
@@ -9,11 +9,12 @@ g: # @g
.result i32
.local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, n($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, n($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, n($pop4)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, n($pop0), $pop3
return $1
.endfunc
.Lfunc_end0:
@@ -26,20 +27,21 @@ g: # @g
f: # @f
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 1
- i32.load $push0=, n($1)
- i32.add $push1=, $pop0, $0
- i32.lt_s $push2=, $0, $2
- i32.select $push3=, $pop2, $0, $2
- i32.const $push4=, -1
- i32.xor $push5=, $pop3, $pop4
- i32.add $push6=, $pop1, $pop5
- i32.const $push7=, 2
- i32.add $push8=, $pop6, $pop7
- i32.store $discard=, n($1), $pop8
+ i32.const $push0=, 0
+ i32.const $push12=, 0
+ i32.load $push1=, n($pop12)
+ i32.add $push2=, $pop1, $0
+ i32.const $push3=, 1
+ i32.lt_s $push4=, $0, $pop3
+ i32.const $push11=, 1
+ i32.select $push5=, $pop4, $0, $pop11
+ i32.const $push6=, -1
+ i32.xor $push7=, $pop5, $pop6
+ i32.add $push8=, $pop2, $pop7
+ i32.const $push9=, 2
+ i32.add $push10=, $pop8, $pop9
+ i32.store $discard=, n($pop0), $pop10
return $0
.endfunc
.Lfunc_end1:
@@ -51,17 +53,20 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, n($0)
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load $push0=, n($pop4)
+ tee_local $push3=, $0=, $pop0
+ i32.const $push1=, 4
+ i32.add $push2=, $pop3, $pop1
+ i32.store $discard=, n($pop5), $pop2
block
- i32.const $push0=, 4
- i32.add $push1=, $1, $pop0
- i32.store $discard=, n($0), $pop1
- br_if $1, 0 # 0: down to label0
+ br_if $0, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.LBB2_2: # %if.then
end_block # label0:
@@ -75,7 +80,7 @@ main: # @main
.type n,@object
.section .bss.n,"aw",@nobits
.globl n
- .align 2
+ .p2align 2
n:
.int32 0 # 0x0
.size n, 4
diff --git a/test/torture-s/loop-3b.c.s b/test/torture-s/loop-3b.c.s
index 0e1da32bb..453d47d27 100644
--- a/test/torture-s/loop-3b.c.s
+++ b/test/torture-s/loop-3b.c.s
@@ -9,11 +9,12 @@ g: # @g
.result i32
.local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, n($1)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, n($1), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, n($pop4)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, n($pop0), $pop3
return $1
.endfunc
.Lfunc_end0:
@@ -26,23 +27,26 @@ g: # @g
f: # @f
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $2=, 268435455
- i32.const $1=, 0
- i32.load $push0=, n($1)
- i32.lt_s $push1=, $0, $2
- i32.select $push2=, $pop1, $0, $2
- i32.const $push3=, -1
- i32.xor $push4=, $pop2, $pop3
- i32.add $push5=, $0, $pop4
- i32.add $push6=, $pop5, $2
- i32.div_u $push7=, $pop6, $2
- i32.add $push8=, $pop0, $pop7
- i32.const $push9=, 1
- i32.add $push10=, $pop8, $pop9
- i32.store $discard=, n($1), $pop10
- return $2
+ i32.const $push0=, 0
+ i32.const $push16=, 0
+ i32.load $push1=, n($pop16)
+ i32.const $push2=, 268435455
+ i32.lt_s $push3=, $0, $pop2
+ i32.const $push15=, 268435455
+ i32.select $push4=, $pop3, $0, $pop15
+ i32.const $push5=, -1
+ i32.xor $push6=, $pop4, $pop5
+ i32.add $push7=, $0, $pop6
+ i32.const $push14=, 268435455
+ i32.add $push8=, $pop7, $pop14
+ i32.const $push13=, 268435455
+ i32.div_u $push9=, $pop8, $pop13
+ i32.add $push10=, $pop1, $pop9
+ i32.const $push11=, 1
+ i32.add $push12=, $pop10, $pop11
+ i32.store $discard=, n($pop0), $pop12
+ return $0
.endfunc
.Lfunc_end1:
.size f, .Lfunc_end1-f
@@ -53,17 +57,20 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, n($0)
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load $push0=, n($pop4)
+ tee_local $push3=, $0=, $pop0
+ i32.const $push1=, 4
+ i32.add $push2=, $pop3, $pop1
+ i32.store $discard=, n($pop5), $pop2
block
- i32.const $push0=, 4
- i32.add $push1=, $1, $pop0
- i32.store $discard=, n($0), $pop1
- br_if $1, 0 # 0: down to label0
+ br_if $0, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.LBB2_2: # %if.then
end_block # label0:
@@ -77,7 +84,7 @@ main: # @main
.type n,@object
.section .bss.n,"aw",@nobits
.globl n
- .align 2
+ .p2align 2
n:
.int32 0 # 0x0
.size n, 4
diff --git a/test/torture-s/loop-3c.c.s b/test/torture-s/loop-3c.c.s
index 39d4a95b2..8440bd12f 100644
--- a/test/torture-s/loop-3c.c.s
+++ b/test/torture-s/loop-3c.c.s
@@ -7,29 +7,28 @@
f: # @f
.param i32
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $1=, a
i32.const $push0=, 3
i32.shl $push1=, $0, $pop0
- i32.add $2=, $1, $pop1
- i32.const $3=, 256
+ i32.const $push2=, a
+ i32.add $1=, $pop1, $pop2
+ i32.const $2=, 256
.LBB0_1: # %do.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $push2=, 1
- i32.shr_s $3=, $3, $pop2
- i32.const $push3=, 2
- i32.shl $push4=, $3, $pop3
- i32.add $push5=, $1, $pop4
- i32.store $discard=, 0($pop5), $2
- i32.const $push6=, 4
- i32.add $0=, $0, $pop6
+ i32.const $push10=, 1
+ i32.shr_s $2=, $2, $pop10
+ i32.const $push9=, 4
+ i32.add $0=, $0, $pop9
+ i32.const $push8=, 2
+ i32.shl $push3=, $2, $pop8
+ i32.store $push4=, a($pop3), $1
i32.const $push7=, 32
- i32.add $2=, $2, $pop7
- i32.const $push8=, 1073741840
- i32.lt_s $push9=, $0, $pop8
- br_if $pop9, 0 # 0: up to label0
+ i32.add $1=, $pop4, $pop7
+ i32.const $push6=, 1073741840
+ i32.lt_s $push5=, $0, $pop6
+ br_if $pop5, 0 # 0: up to label0
# BB#2: # %do.end
end_loop # label1:
return $0
@@ -45,16 +44,18 @@ main: # @main
.result i32
.local i32
# BB#0: # %if.end7
- i32.const $0=, 0
- i32.store $discard=, a+32($0), $0
- i32.const $push0=, a
- i32.store $discard=, a+512($0), $pop0
- i32.const $push1=, a+32
- i32.store $discard=, a+256($0), $pop1
- i32.const $push2=, a+64
- i32.store $discard=, a+128($0), $pop2
- i32.const $push3=, a+96
- i32.store $discard=, a+64($0), $pop3
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.store $push1=, a+32($pop0):p2align=4, $pop7
+ tee_local $push6=, $0=, $pop1
+ i32.const $push2=, a
+ i32.store $discard=, a+512($pop6):p2align=4, $pop2
+ i32.const $push3=, a+32
+ i32.store $discard=, a+256($0):p2align=4, $pop3
+ i32.const $push4=, a+64
+ i32.store $discard=, a+128($0):p2align=4, $pop4
+ i32.const $push5=, a+96
+ i32.store $discard=, a+64($0):p2align=4, $pop5
call exit@FUNCTION, $0
unreachable
.endfunc
@@ -65,7 +66,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 1020
.size a, 1020
diff --git a/test/torture-s/loop-5.c.s b/test/torture-s/loop-5.c.s
index 3e903d88c..ba4941acd 100644
--- a/test/torture-s/loop-5.c.s
+++ b/test/torture-s/loop-5.c.s
@@ -6,73 +6,89 @@
.type main,@function
main: # @main
.result i32
- .local i32, i64, i32, i32, i32, i32, i32, i32, i32, i64
+ .local i64, i32, i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $0=, t($2)
- i32.const $3=, 4
block
- i32.ge_s $push3=, $0, $3
- br_if $pop3, 0 # 0: down to label0
-# BB#1: # %ap.exit.i
- i32.const $4=, 1
- i32.add $push0=, $0, $4
- i32.store $5=, t($2), $pop0
- i32.const $6=, 2
- i32.const $7=, a
- i32.shl $push4=, $0, $6
- i32.add $push5=, $7, $pop4
- i32.store $discard=, 0($pop5), $2
- i32.gt_s $push6=, $0, $6
+ i32.const $push37=, 0
+ i32.load $push0=, t($pop37)
+ tee_local $push36=, $2=, $pop0
+ i32.const $push5=, 4
+ i32.ge_s $push6=, $pop36, $pop5
br_if $pop6, 0 # 0: down to label0
+# BB#1: # %ap.exit.i
+ i32.const $push41=, 2
+ i32.shl $push8=, $2, $pop41
+ i32.const $push40=, 0
+ i32.store $discard=, a($pop8), $pop40
+ i32.const $push39=, 0
+ i32.const $push7=, 1
+ i32.add $push1=, $2, $pop7
+ i32.store $1=, t($pop39), $pop1
+ i32.const $push38=, 2
+ i32.gt_s $push9=, $2, $pop38
+ br_if $pop9, 0 # 0: down to label0
# BB#2: # %ap.exit.1.i
- i32.shl $push7=, $5, $6
- i32.add $push8=, $7, $pop7
- i32.const $push9=, 3
- i32.store $5=, 0($pop8), $pop9
- i32.add $push1=, $0, $6
- i32.store $8=, t($2), $pop1
- i32.gt_s $push10=, $8, $5
- br_if $pop10, 0 # 0: down to label0
-# BB#3: # %ap.exit.2.i
- i32.shl $push11=, $8, $6
- i32.add $push12=, $7, $pop11
- i32.store $discard=, 0($pop12), $6
- i32.add $push2=, $0, $5
- i32.store $5=, t($2), $pop2
- i32.gt_s $push13=, $0, $2
+ i32.const $push45=, 2
+ i32.shl $push11=, $1, $pop45
+ i32.const $push12=, 3
+ i32.store $1=, a($pop11), $pop12
+ i32.const $push44=, 0
+ i32.const $push43=, 2
+ i32.add $push2=, $2, $pop43
+ i32.store $push10=, t($pop44), $pop2
+ tee_local $push42=, $3=, $pop10
+ i32.gt_s $push13=, $pop42, $1
br_if $pop13, 0 # 0: down to label0
+# BB#3: # %ap.exit.2.i
+ i32.const $push14=, 2
+ i32.shl $push15=, $3, $pop14
+ i32.const $push48=, 2
+ i32.store $3=, a($pop15), $pop48
+ i32.const $push47=, 0
+ i32.add $push3=, $2, $1
+ i32.store $1=, t($pop47), $pop3
+ i32.const $push46=, 0
+ i32.gt_s $push16=, $2, $pop46
+ br_if $pop16, 0 # 0: down to label0
# BB#4: # %testit.exit
- i32.shl $push15=, $5, $6
- i32.add $push16=, $7, $pop15
- i32.store $discard=, 0($pop16), $4
- i64.load $1=, a($2)
+ i32.shl $push20=, $1, $3
+ i32.const $push21=, 1
+ i32.store $discard=, a($pop20), $pop21
+ i32.const $push19=, 0
+ i64.load $0=, a($pop19):p2align=4
+ i32.const $push49=, 0
+ i32.const $push17=, 4
+ i32.add $push18=, $2, $pop17
+ i32.store $discard=, t($pop49), $pop18
block
- i32.add $push14=, $0, $3
- i32.store $discard=, t($2), $pop14
- i32.wrap/i64 $push17=, $1
- br_if $pop17, 0 # 0: down to label1
+ i32.wrap/i64 $push22=, $0
+ br_if $pop22, 0 # 0: down to label1
# BB#5: # %if.end
- i64.const $9=, -4294967296
block
- i64.and $push18=, $1, $9
- i64.const $push19=, 12884901888
- i64.ne $push20=, $pop18, $pop19
- br_if $pop20, 0 # 0: down to label2
+ i64.const $push23=, -4294967296
+ i64.and $push24=, $0, $pop23
+ i64.const $push25=, 12884901888
+ i64.ne $push26=, $pop24, $pop25
+ br_if $pop26, 0 # 0: down to label2
# BB#6: # %if.end3
- i64.load $1=, a+8($2)
block
- i32.wrap/i64 $push21=, $1
- i32.ne $push22=, $pop21, $6
- br_if $pop22, 0 # 0: down to label3
+ i32.const $push27=, 0
+ i64.load $push4=, a+8($pop27)
+ tee_local $push50=, $0=, $pop4
+ i32.wrap/i64 $push28=, $pop50
+ i32.const $push29=, 2
+ i32.ne $push30=, $pop28, $pop29
+ br_if $pop30, 0 # 0: down to label3
# BB#7: # %if.end6
block
- i64.and $push23=, $1, $9
- i64.const $push24=, 4294967296
- i64.ne $push25=, $pop23, $pop24
- br_if $pop25, 0 # 0: down to label4
+ i64.const $push31=, -4294967296
+ i64.and $push32=, $0, $pop31
+ i64.const $push33=, 4294967296
+ i64.ne $push34=, $pop32, $pop33
+ br_if $pop34, 0 # 0: down to label4
# BB#8: # %if.end9
- call exit@FUNCTION, $2
+ i32.const $push35=, 0
+ call exit@FUNCTION, $pop35
unreachable
.LBB0_9: # %if.then8
end_block # label4:
diff --git a/test/torture-s/loop-7.c.s b/test/torture-s/loop-7.c.s
index 879672098..b86d7939c 100644
--- a/test/torture-s/loop-7.c.s
+++ b/test/torture-s/loop-7.c.s
@@ -6,32 +6,33 @@
.type foo,@function
foo: # @foo
.param i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.const $2=, -1
+ i32.const $1=, -1
+ i32.const $2=, 0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $1=, 1
- i32.shl $push0=, $1, $3
+ i32.const $push8=, 1
+ i32.shl $push0=, $pop8, $2
i32.eq $push1=, $pop0, $0
- i32.select $2=, $pop1, $3, $2
- i32.add $3=, $3, $1
- i32.const $push2=, 9
- i32.gt_s $push3=, $3, $pop2
- br_if $pop3, 1 # 1: down to label1
+ i32.select $1=, $pop1, $2, $1
+ i32.const $push7=, 1
+ i32.add $2=, $2, $pop7
+ i32.const $push6=, 9
+ i32.gt_s $push2=, $2, $pop6
+ br_if $pop2, 1 # 1: down to label1
# BB#2: # %for.body
# in Loop: Header=BB0_1 Depth=1
- i32.const $push4=, 0
- i32.lt_s $push5=, $2, $pop4
- br_if $pop5, 0 # 0: up to label0
+ i32.const $push9=, 0
+ i32.lt_s $push3=, $1, $pop9
+ br_if $pop3, 0 # 0: up to label0
.LBB0_3: # %for.end
end_loop # label1:
block
- i32.const $push6=, -1
- i32.le_s $push7=, $2, $pop6
- br_if $pop7, 0 # 0: down to label2
+ i32.const $push4=, -1
+ i32.le_s $push5=, $1, $pop4
+ br_if $pop5, 0 # 0: down to label2
# BB#4: # %if.end5
return
.LBB0_5: # %if.then4
@@ -48,40 +49,11 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 1
- i32.const $2=, -1
- copy_local $1=, $0
-.LBB1_1: # %for.body.i
- # =>This Inner Loop Header: Depth=1
- loop # label3:
- i32.const $push0=, 7
- i32.eq $push1=, $1, $pop0
- i32.const $push2=, 6
- i32.select $2=, $pop1, $pop2, $2
- i32.const $push3=, 9
- i32.gt_s $push4=, $1, $pop3
- br_if $pop4, 1 # 1: down to label4
-# BB#2: # %for.body.i
- # in Loop: Header=BB1_1 Depth=1
- i32.add $1=, $1, $0
- i32.const $push5=, 0
- i32.lt_s $push6=, $2, $pop5
- br_if $pop6, 0 # 0: up to label3
-.LBB1_3: # %for.end.i
- end_loop # label4:
- block
- i32.const $push7=, -1
- i32.gt_s $push8=, $2, $pop7
- br_if $pop8, 0 # 0: down to label5
-# BB#4: # %if.then4.i
- call abort@FUNCTION
- unreachable
-.LBB1_5: # %foo.exit
- end_block # label5:
- i32.const $push9=, 0
- call exit@FUNCTION, $pop9
+ i32.const $push0=, 64
+ call foo@FUNCTION, $pop0
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/loop-8.c.s b/test/torture-s/loop-8.c.s
index 40cf40745..dcd6fd56a 100644
--- a/test/torture-s/loop-8.c.s
+++ b/test/torture-s/loop-8.c.s
@@ -30,41 +30,60 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, f64, f64
+ .local f64, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- f64.load $2=, a($0)
- f64.const $1=, 0x0p0
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
block
- f64.gt $push0=, $2, $1
+ i32.const $push15=, 0
+ f64.load $push12=, a($pop15):p2align=4
+ tee_local $push14=, $0=, $pop12
+ f64.const $push13=, 0x0p0
+ f64.gt $push0=, $pop14, $pop13
br_if $pop0, 0 # 0: down to label1
# BB#1: # %for.cond
- f64.load $2=, a+8($0)
- f64.le $push1=, $2, $1
- f64.ne $push2=, $2, $2
+ i32.const $push17=, 0
+ f64.load $0=, a+8($pop17)
+ f64.const $push16=, 0x0p0
+ f64.le $push1=, $0, $pop16
+ f64.ne $push2=, $0, $0
i32.or $push3=, $pop1, $pop2
- i32.const $push7=, 0
- i32.eq $push8=, $pop3, $pop7
- br_if $pop8, 0 # 0: down to label1
+ i32.const $push19=, 0
+ i32.eq $push20=, $pop3, $pop19
+ br_if $pop20, 0 # 0: down to label1
# BB#2: # %for.cond.1
- f64.load $2=, a+16($0)
- f64.gt $push4=, $2, $1
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push4=, 0
+ f64.load $0=, a+16($pop4):p2align=4
+ f64.const $push5=, 0x0p0
+ f64.gt $push6=, $0, $pop5
+ br_if $pop6, 0 # 0: down to label1
# BB#3: # %for.cond.2
- call abort@FUNCTION
+ f64.store $discard=, 8($4), $0
+ i32.const $push7=, 1
+ i32.const $3=, 8
+ i32.add $3=, $4, $3
+ call bar@FUNCTION, $pop7, $3
+ i32.const $push18=, 1
+ call exit@FUNCTION, $pop18
unreachable
.LBB1_4: # %e
end_block # label1:
block
- f64.const $push5=, 0x1p0
- f64.eq $push6=, $2, $pop5
- br_if $pop6, 0 # 0: down to label2
+ f64.store $push8=, 8($4), $0
+ f64.const $push9=, 0x1p0
+ f64.eq $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label2
# BB#5: # %if.then.i
call abort@FUNCTION
unreachable
-.LBB1_6: # %bar.exit4
+.LBB1_6: # %bar.exit
end_block # label2:
- call exit@FUNCTION, $0
+ i32.const $push11=, 0
+ call exit@FUNCTION, $pop11
unreachable
.endfunc
.Lfunc_end1:
@@ -74,7 +93,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 4
+ .p2align 4
a:
.int64 0 # double 0
.int64 4607182418800017408 # double 1
diff --git a/test/torture-s/loop-ivopts-1.c.s b/test/torture-s/loop-ivopts-1.c.s
index 91ecc166f..616dae715 100644
--- a/test/torture-s/loop-ivopts-1.c.s
+++ b/test/torture-s/loop-ivopts-1.c.s
@@ -6,14 +6,15 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1126498304
- i32.store $discard=, foo.tmp+8($0), $pop0
- i64.const $push1=, 4803089003686395904
- i64.store $discard=, foo.tmp($0), $pop1
- return $0
+ i32.store $discard=, foo.tmp+8($pop1):p2align=3, $pop0
+ i32.const $push4=, 0
+ i64.const $push2=, 4803089003686395904
+ i64.store $discard=, foo.tmp($pop4):p2align=4, $pop2
+ i32.const $push3=, 0
+ return $pop3
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -24,22 +25,24 @@ main: # @main
.type foo,@function
foo: # @foo
.param i32
- .local i32, i32
# BB#0: # %for.inc9.3
- i32.const $1=, 0
- i32.const $push0=, 1126498304
- i32.store $discard=, foo.tmp+8($1), $pop0
- i32.const $push1=, 1118306304
- i32.store $2=, foo.tmp+4($1), $pop1
- i32.const $push2=, 1095761920
- i32.store $push3=, foo.tmp($1), $pop2
- i32.store $discard=, 0($0), $pop3
- i32.store $discard=, 4($0), $2
- i64.load $push4=, foo.tmp+8($1)
- i64.store32 $push5=, 8($0), $pop4
- i64.const $push6=, 32
- i64.shr_u $push7=, $pop5, $pop6
- i64.store32 $discard=, 12($0), $pop7
+ i32.const $push0=, 0
+ i32.const $push1=, 1126498304
+ i32.store $discard=, foo.tmp+8($pop0):p2align=3, $pop1
+ i32.const $push11=, 0
+ i32.const $push2=, 1118306304
+ i32.store $discard=, foo.tmp+4($pop11), $pop2
+ i32.const $push10=, 0
+ i32.const $push3=, 1095761920
+ i32.store $discard=, foo.tmp($pop10):p2align=4, $pop3
+ i64.const $push4=, 4803089003686395904
+ i64.store $discard=, 0($0):p2align=2, $pop4
+ i32.const $push9=, 0
+ i64.load $push5=, foo.tmp+8($pop9)
+ i64.store32 $push6=, 8($0), $pop5
+ i64.const $push7=, 32
+ i64.shr_u $push8=, $pop6, $pop7
+ i64.store32 $discard=, 12($0), $pop8
return
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/mayalias-3.c.s b/test/torture-s/mayalias-3.c.s
new file mode 100644
index 000000000..b09952cdd
--- /dev/null
+++ b/test/torture-s/mayalias-3.c.s
@@ -0,0 +1,101 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/mayalias-3.c"
+ .section .text.g,"ax",@progbits
+ .hidden g
+ .globl g
+ .type g,@function
+g: # @g
+ .param i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.store $discard=, p($pop0), $0
+ return $0
+ .endfunc
+.Lfunc_end0:
+ .size g, .Lfunc_end0-g
+
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .result i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $5=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $5=, 0($2), $5
+ i32.const $push1=, 10
+ i32.store $discard=, 12($5), $pop1
+ i32.const $push2=, 1
+ i32.store16 $discard=, 12($5):p2align=2, $pop2
+ i32.load $0=, 12($5)
+ i32.const $push0=, 0
+ i32.const $4=, 12
+ i32.add $4=, $5, $4
+ i32.store $discard=, p($pop0), $4
+ i32.const $3=, 16
+ i32.add $5=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ return $0
+ .endfunc
+.Lfunc_end1:
+ .size f, .Lfunc_end1-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $6=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $6=, 0($3), $6
+ i32.const $push0=, 10
+ i32.store $0=, 12($6), $pop0
+ i32.const $push1=, 1
+ i32.store16 $discard=, 12($6):p2align=2, $pop1
+ i32.load $1=, 12($6)
+ i32.const $push3=, 0
+ i32.const $5=, 12
+ i32.add $5=, $6, $5
+ i32.store $discard=, p($pop3), $5
+ block
+ i32.eq $push2=, $1, $0
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push4=, 0
+ i32.const $4=, 16
+ i32.add $6=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ return $pop4
+.LBB2_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden p # @p
+ .type p,@object
+ .section .bss.p,"aw",@nobits
+ .globl p
+ .p2align 2
+p:
+ .int32 0
+ .size p, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/medce-1.c.s b/test/torture-s/medce-1.c.s
index 629940172..9a8029f12 100644
--- a/test/torture-s/medce-1.c.s
+++ b/test/torture-s/medce-1.c.s
@@ -8,7 +8,7 @@ bar: # @bar
# BB#0: # %entry
i32.const $push0=, 0
i32.const $push1=, 1
- i32.store8 $discard=, ok($pop0), $pop1
+ i32.store8 $discard=, ok($pop0):p2align=2, $pop1
return
.endfunc
.Lfunc_end0:
@@ -20,15 +20,15 @@ bar: # @bar
.type foo,@function
foo: # @foo
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 1
block
- i32.ne $push0=, $0, $1
+ i32.const $push2=, 1
+ i32.ne $push0=, $0, $pop2
br_if $pop0, 0 # 0: down to label0
# BB#1: # %sw.bb1
i32.const $push1=, 0
- i32.store8 $discard=, ok($pop1), $1
+ i32.const $push3=, 1
+ i32.store8 $discard=, ok($pop1):p2align=2, $pop3
.LBB1_2: # %sw.epilog
end_block # label0:
return
@@ -42,17 +42,17 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store8 $discard=, ok($0), $pop0
- return $0
+ i32.store8 $discard=, ok($pop1):p2align=2, $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
.type ok,@object # @ok
- .lcomm ok,1
+ .lcomm ok,1,2
.ident "clang version 3.9.0 "
diff --git a/test/torture-s/memcpy-1.c.s b/test/torture-s/memcpy-1.c.s
index 43e9513b8..a06471718 100644
--- a/test/torture-s/memcpy-1.c.s
+++ b/test/torture-s/memcpy-1.c.s
@@ -8,8 +8,8 @@ copy: # @copy
.param i32, i32, i32
.result i32
# BB#0: # %entry
- call memcpy@FUNCTION, $0, $1, $2
- return $0
+ i32.call $push0=, memcpy@FUNCTION, $0, $1, $2
+ return $pop0
.endfunc
.Lfunc_end0:
.size copy, .Lfunc_end0-copy
@@ -20,189 +20,182 @@ copy: # @copy
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 262144
- i32.sub $28=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $28=, 0($9), $28
- i32.const $4=, 0
- copy_local $2=, $4
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 262144
+ i32.sub $9=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $9=, 0($3), $9
+ i32.const $1=, 0
+ i32.const $push37=, 0
+ i32.const $push36=, 131072
+ i32.call $discard=, memset@FUNCTION, $9, $pop37, $pop36
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $10=, 131072
- i32.add $10=, $28, $10
- i32.add $push0=, $10, $2
- i32.store8 $discard=, 0($pop0), $2
- i32.const $11=, 0
- i32.add $11=, $28, $11
- i32.add $push1=, $11, $2
- i32.store8 $discard=, 0($pop1), $4
- i32.const $7=, 1
- i32.add $2=, $2, $7
- i32.const $0=, 131072
- i32.ne $push2=, $2, $0
+ i32.const $4=, 131072
+ i32.add $4=, $9, $4
+ i32.add $push0=, $4, $1
+ i32.store8 $push1=, 0($pop0), $1
+ i32.const $push39=, 1
+ i32.add $1=, $pop1, $pop39
+ i32.const $push38=, 131072
+ i32.ne $push2=, $1, $pop38
br_if $pop2, 0 # 0: up to label0
# BB#2: # %for.end
end_loop # label1:
- i32.const $1=, 1024
- i32.const $12=, 0
- i32.add $12=, $28, $12
- i32.const $13=, 131072
- i32.add $13=, $28, $13
- call memcpy@FUNCTION, $12, $13, $1
- i32.const $4=, 0
+ i32.const $push3=, 1024
+ i32.const $5=, 131072
+ i32.add $5=, $9, $5
+ i32.call $discard=, memcpy@FUNCTION, $9, $5, $pop3
+ i32.const $1=, 0
.LBB1_3: # %for.body6
# =>This Inner Loop Header: Depth=1
block
loop # label3:
- i32.const $2=, 255
- i32.const $14=, 0
- i32.add $14=, $28, $14
- i32.add $push3=, $14, $4
- i32.load8_u $push4=, 0($pop3)
- i32.and $push5=, $4, $2
- i32.ne $push6=, $pop4, $pop5
- br_if $pop6, 2 # 2: down to label2
+ i32.add $push4=, $9, $1
+ i32.load8_u $push5=, 0($pop4)
+ i32.const $push42=, 255
+ i32.and $push6=, $1, $pop42
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 2 # 2: down to label2
# BB#4: # %for.cond3
# in Loop: Header=BB1_3 Depth=1
- i32.add $4=, $4, $7
- i32.const $3=, 1023
- i32.le_u $push7=, $4, $3
- br_if $pop7, 0 # 0: up to label3
+ i32.const $push41=, 1
+ i32.add $1=, $1, $pop41
+ i32.const $push40=, 1023
+ i32.le_u $push8=, $1, $pop40
+ br_if $pop8, 0 # 0: up to label3
# BB#5: # %for.end15
end_loop # label4:
- i32.const $15=, 0
- i32.add $15=, $28, $15
- call memset@FUNCTION, $15, $7, $1
+ i32.const $push43=, 1
+ i32.const $push9=, 1024
+ i32.call $discard=, memset@FUNCTION, $9, $pop43, $pop9
+ i32.const $1=, 1
.LBB1_6: # %for.cond17
# =>This Inner Loop Header: Depth=1
block
loop # label6:
- i32.gt_u $push8=, $7, $3
- br_if $pop8, 2 # 2: down to label5
+ i32.const $push44=, 1023
+ i32.gt_u $push10=, $1, $pop44
+ br_if $pop10, 2 # 2: down to label5
# BB#7: # %for.cond17.for.body20_crit_edge
# in Loop: Header=BB1_6 Depth=1
- i32.const $16=, 0
- i32.add $16=, $28, $16
- i32.add $5=, $16, $7
- i32.const $4=, 1
- i32.add $7=, $7, $4
- i32.load8_u $push28=, 0($5)
- i32.eq $push29=, $pop28, $4
- br_if $pop29, 0 # 0: up to label6
+ i32.add $0=, $9, $1
+ i32.const $push46=, 1
+ i32.add $1=, $1, $pop46
+ i32.load8_u $push34=, 0($0)
+ i32.const $push45=, 1
+ i32.eq $push35=, $pop34, $pop45
+ br_if $pop35, 0 # 0: up to label6
# BB#8: # %if.then25
end_loop # label7:
call abort@FUNCTION
unreachable
.LBB1_9: # %for.end29
end_block # label5:
- i32.const $17=, 0
- i32.add $17=, $28, $17
- i32.const $18=, 131072
- i32.add $18=, $28, $18
- call memcpy@FUNCTION, $17, $18, $0
- i32.const $5=, 0
+ i32.const $push11=, 131072
+ i32.const $6=, 131072
+ i32.add $6=, $9, $6
+ i32.call $discard=, memcpy@FUNCTION, $9, $6, $pop11
+ i32.const $1=, 0
.LBB1_10: # %for.body35
# =>This Inner Loop Header: Depth=1
block
loop # label9:
- i32.const $19=, 0
- i32.add $19=, $28, $19
- i32.add $push9=, $19, $5
- i32.load8_u $push10=, 0($pop9)
- i32.and $push11=, $5, $2
- i32.ne $push12=, $pop10, $pop11
- br_if $pop12, 2 # 2: down to label8
+ i32.add $push12=, $9, $1
+ i32.load8_u $push13=, 0($pop12)
+ i32.const $push49=, 255
+ i32.and $push14=, $1, $pop49
+ i32.ne $push15=, $pop13, $pop14
+ br_if $pop15, 2 # 2: down to label8
# BB#11: # %for.cond32
# in Loop: Header=BB1_10 Depth=1
- i32.const $7=, 1
- i32.add $5=, $5, $7
- i32.const $4=, 131071
- i32.le_u $push13=, $5, $4
- br_if $pop13, 0 # 0: up to label9
+ i32.const $push48=, 1
+ i32.add $1=, $1, $pop48
+ i32.const $push47=, 131071
+ i32.le_u $push16=, $1, $pop47
+ br_if $pop16, 0 # 0: up to label9
# BB#12: # %for.end46
end_loop # label10:
- i32.const $6=, 0
- i32.const $20=, 0
- i32.add $20=, $28, $20
- call memset@FUNCTION, $20, $6, $0
+ i32.const $push18=, 0
+ i32.const $push17=, 131072
+ i32.call $discard=, memset@FUNCTION, $9, $pop18, $pop17
+ i32.const $1=, 1
.LBB1_13: # %for.cond48
# =>This Inner Loop Header: Depth=1
block
loop # label12:
- i32.gt_u $push14=, $7, $4
- br_if $pop14, 2 # 2: down to label11
+ i32.const $push50=, 131071
+ i32.gt_u $push19=, $1, $pop50
+ br_if $pop19, 2 # 2: down to label11
# BB#14: # %for.cond48.for.body51_crit_edge
# in Loop: Header=BB1_13 Depth=1
- i32.const $21=, 0
- i32.add $21=, $28, $21
- i32.add $5=, $21, $7
- i32.const $push27=, 1
- i32.add $7=, $7, $pop27
- i32.load8_u $push26=, 0($5)
- i32.const $push30=, 0
- i32.eq $push31=, $pop26, $pop30
- br_if $pop31, 0 # 0: up to label12
+ i32.add $0=, $9, $1
+ i32.const $push51=, 1
+ i32.add $1=, $1, $pop51
+ i32.load8_u $push33=, 0($0)
+ i32.const $push58=, 0
+ i32.eq $push59=, $pop33, $pop58
+ br_if $pop59, 0 # 0: up to label12
# BB#15: # %if.then56
end_loop # label13:
call abort@FUNCTION
unreachable
.LBB1_16: # %for.end60
end_block # label11:
- i32.const $22=, 0
- i32.add $22=, $28, $22
- i32.const $23=, 131072
- i32.add $23=, $28, $23
- call memcpy@FUNCTION, $22, $23, $1
+ i32.const $push20=, 1024
+ i32.const $7=, 131072
+ i32.add $7=, $9, $7
+ i32.call $discard=, memcpy@FUNCTION, $9, $7, $pop20
+ i32.const $1=, 0
.LBB1_17: # %for.body66
# =>This Inner Loop Header: Depth=1
block
loop # label15:
- i32.const $24=, 0
- i32.add $24=, $28, $24
- i32.add $push15=, $24, $6
- i32.load8_u $push16=, 0($pop15)
- i32.and $push17=, $6, $2
- i32.ne $push18=, $pop16, $pop17
- br_if $pop18, 2 # 2: down to label14
+ i32.add $push21=, $9, $1
+ i32.load8_u $push22=, 0($pop21)
+ i32.const $push54=, 255
+ i32.and $push23=, $1, $pop54
+ i32.ne $push24=, $pop22, $pop23
+ br_if $pop24, 2 # 2: down to label14
# BB#18: # %for.cond63
# in Loop: Header=BB1_17 Depth=1
- i32.const $5=, 1
- i32.add $6=, $6, $5
- i32.le_u $push19=, $6, $3
- br_if $pop19, 0 # 0: up to label15
+ i32.const $push53=, 1
+ i32.add $1=, $1, $pop53
+ i32.const $push52=, 1023
+ i32.le_u $push25=, $1, $pop52
+ br_if $pop25, 0 # 0: up to label15
# BB#19: # %for.end77
end_loop # label16:
- i32.const $25=, 0
- i32.add $25=, $28, $25
- i32.const $26=, 131072
- i32.add $26=, $28, $26
- call memcpy@FUNCTION, $25, $26, $0
- i32.const $7=, 0
+ i32.const $push26=, 131072
+ i32.const $8=, 131072
+ i32.add $8=, $9, $8
+ i32.call $discard=, memcpy@FUNCTION, $9, $8, $pop26
+ i32.const $1=, 0
.LBB1_20: # %for.body85
# =>This Inner Loop Header: Depth=1
block
loop # label18:
- i32.const $27=, 0
- i32.add $27=, $28, $27
- i32.add $push20=, $27, $7
- i32.load8_u $push21=, 0($pop20)
- i32.and $push22=, $7, $2
- i32.ne $push23=, $pop21, $pop22
- br_if $pop23, 2 # 2: down to label17
+ i32.add $push27=, $9, $1
+ i32.load8_u $push28=, 0($pop27)
+ i32.const $push57=, 255
+ i32.and $push29=, $1, $pop57
+ i32.ne $push30=, $pop28, $pop29
+ br_if $pop30, 2 # 2: down to label17
# BB#21: # %for.cond82
# in Loop: Header=BB1_20 Depth=1
- i32.add $7=, $7, $5
- i32.le_u $push24=, $7, $4
- br_if $pop24, 0 # 0: up to label18
+ i32.const $push56=, 1
+ i32.add $1=, $1, $pop56
+ i32.const $push55=, 131071
+ i32.le_u $push31=, $1, $pop55
+ br_if $pop31, 0 # 0: up to label18
# BB#22: # %for.end96
end_loop # label19:
- i32.const $push25=, 0
- call exit@FUNCTION, $pop25
+ i32.const $push32=, 0
+ call exit@FUNCTION, $pop32
unreachable
.LBB1_23: # %if.then92
end_block # label17:
diff --git a/test/torture-s/memcpy-2.c.s b/test/torture-s/memcpy-2.c.s
index bc4367613..031722e4b 100644
--- a/test/torture-s/memcpy-2.c.s
+++ b/test/torture-s/memcpy-2.c.s
@@ -6,10 +6,9 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, 0
- copy_local $0=, $6
+ i32.const $0=, 0
.LBB0_1: # %for.cond1.preheader
# =>This Loop Header: Depth=1
# Child Loop BB0_2 Depth 2
@@ -20,9 +19,9 @@ main: # @main
block
block
loop # label2:
- i32.const $7=, u1
- i32.add $1=, $7, $0
- copy_local $2=, $6
+ i32.const $push46=, u1
+ i32.add $1=, $0, $pop46
+ i32.const $2=, 0
.LBB0_2: # %for.cond4.preheader
# Parent Loop BB0_1 Depth=1
# => This Loop Header: Depth=2
@@ -31,10 +30,10 @@ main: # @main
# Child Loop BB0_6 Depth 4
# Child Loop BB0_10 Depth 4
loop # label4:
- i32.const $8=, u2
- i32.add $3=, $8, $2
- i32.const $9=, 65
- i32.add $4=, $2, $9
+ i32.const $push48=, u2
+ i32.add $3=, $2, $pop48
+ i32.const $push47=, 65
+ i32.add $4=, $2, $pop47
i32.const $5=, 1
.LBB0_3: # %for.cond7.preheader
# Parent Loop BB0_1 Depth=1
@@ -44,58 +43,61 @@ main: # @main
# Child Loop BB0_6 Depth 4
# Child Loop BB0_10 Depth 4
loop # label6:
- i32.const $14=, -96
- copy_local $15=, $9
+ i32.const $push51=, u1
+ i32.const $push50=, 97
+ i32.const $push49=, 96
+ i32.call $discard=, memset@FUNCTION, $pop51, $pop50, $pop49
+ i32.const $6=, 65
+ i32.const $8=, -96
.LBB0_4: # %for.body9
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# Parent Loop BB0_3 Depth=3
# => This Inner Loop Header: Depth=4
loop # label8:
- i32.const $13=, 96
- i32.add $push0=, $7, $14
- i32.add $push1=, $pop0, $13
- i32.const $push2=, 97
- i32.store8 $10=, 0($pop1), $pop2
- i32.const $11=, 24
- i32.const $12=, 95
- i32.add $push7=, $8, $14
- i32.add $push8=, $pop7, $13
- i32.shl $push3=, $15, $11
- i32.shr_s $push4=, $pop3, $11
- i32.gt_s $push5=, $pop4, $12
- i32.select $push6=, $pop5, $9, $15
- i32.store8 $15=, 0($pop8), $pop6
- i32.const $13=, 1
- i32.add $15=, $15, $13
- i32.add $14=, $14, $13
- br_if $14, 0 # 0: up to label8
+ i32.const $push57=, 24
+ i32.shl $push2=, $6, $pop57
+ i32.const $push56=, 24
+ i32.shr_s $push3=, $pop2, $pop56
+ i32.const $push55=, 95
+ i32.gt_s $push4=, $pop3, $pop55
+ i32.const $push54=, 65
+ i32.select $push5=, $pop4, $pop54, $6
+ i32.store8 $push6=, u2+96($8), $pop5
+ i32.const $push53=, 1
+ i32.add $6=, $pop6, $pop53
+ i32.const $push52=, 1
+ i32.add $8=, $8, $pop52
+ br_if $8, 0 # 0: up to label8
# BB#5: # %for.end
# in Loop: Header=BB0_3 Depth=3
end_loop # label9:
- call memcpy@FUNCTION, $1, $3, $5
- i32.const $14=, 0
- copy_local $16=, $7
+ i32.call $discard=, memcpy@FUNCTION, $1, $3, $5
+ i32.const $7=, u1
+ i32.const $8=, 0
block
- i32.lt_s $push9=, $0, $13
- br_if $pop9, 0 # 0: down to label10
+ i32.const $push58=, 1
+ i32.lt_s $push7=, $0, $pop58
+ br_if $pop7, 0 # 0: down to label10
.LBB0_6: # %for.body23
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# Parent Loop BB0_3 Depth=3
# => This Inner Loop Header: Depth=4
loop # label11:
- i32.const $15=, u1
- i32.add $push10=, $15, $14
- i32.load8_u $push11=, 0($pop10)
- i32.ne $push12=, $pop11, $10
- br_if $pop12, 1 # 1: down to label12
+ i32.load8_u $push8=, u1($8)
+ i32.const $push59=, 97
+ i32.ne $push9=, $pop8, $pop59
+ br_if $pop9, 1 # 1: down to label12
# BB#7: # %for.inc29
# in Loop: Header=BB0_6 Depth=4
- i32.add $14=, $14, $13
- i32.add $16=, $15, $14
- i32.lt_s $push13=, $14, $0
- br_if $pop13, 0 # 0: up to label11
+ i32.const $push61=, u1+1
+ i32.add $7=, $8, $pop61
+ i32.const $push60=, 1
+ i32.add $6=, $8, $pop60
+ copy_local $8=, $6
+ i32.lt_s $push10=, $6, $0
+ br_if $pop10, 0 # 0: up to label11
br 2 # 2: down to label10
.LBB0_8: # %if.then27
end_loop # label12:
@@ -104,109 +106,129 @@ main: # @main
.LBB0_9: # %for.body36.preheader
# in Loop: Header=BB0_3 Depth=3
end_block # label10:
- i32.const $14=, 0
- copy_local $15=, $4
+ i32.const $8=, 0
+ copy_local $6=, $4
.LBB0_10: # %for.body36
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# Parent Loop BB0_3 Depth=3
# => This Inner Loop Header: Depth=4
loop # label13:
- i32.shl $push14=, $15, $11
- i32.shr_s $push15=, $pop14, $11
- i32.gt_s $push16=, $pop15, $12
- i32.const $push17=, 65
- i32.select $15=, $pop16, $pop17, $15
- i32.add $push20=, $16, $14
- i32.load8_u $push21=, 0($pop20)
- i32.const $push18=, 255
- i32.and $push19=, $15, $pop18
- i32.ne $push22=, $pop21, $pop19
- br_if $pop22, 9 # 9: down to label0
+ i32.add $push15=, $7, $8
+ i32.load8_u $push16=, 0($pop15)
+ i32.const $push67=, 24
+ i32.shl $push11=, $6, $pop67
+ i32.const $push66=, 24
+ i32.shr_s $push12=, $pop11, $pop66
+ i32.const $push65=, 95
+ i32.gt_s $push13=, $pop12, $pop65
+ i32.const $push64=, 65
+ i32.select $push0=, $pop13, $pop64, $6
+ tee_local $push63=, $6=, $pop0
+ i32.const $push62=, 255
+ i32.and $push14=, $pop63, $pop62
+ i32.ne $push17=, $pop16, $pop14
+ br_if $pop17, 9 # 9: down to label0
# BB#11: # %for.inc48
# in Loop: Header=BB0_10 Depth=4
- i32.add $14=, $14, $13
- i32.add $15=, $15, $13
- i32.lt_s $push23=, $14, $5
- br_if $pop23, 0 # 0: up to label13
+ i32.const $push69=, 1
+ i32.add $8=, $8, $pop69
+ i32.const $push68=, 1
+ i32.add $6=, $6, $pop68
+ i32.lt_s $push18=, $8, $5
+ br_if $pop18, 0 # 0: up to label13
# BB#12: # %for.body56.preheader
# in Loop: Header=BB0_3 Depth=3
end_loop # label14:
- i32.add $14=, $16, $14
- i32.load8_u $push24=, 0($14)
- i32.ne $push25=, $pop24, $10
- br_if $pop25, 6 # 6: down to label1
+ i32.add $push1=, $7, $8
+ tee_local $push71=, $8=, $pop1
+ i32.load8_u $push19=, 0($pop71)
+ i32.const $push70=, 97
+ i32.ne $push20=, $pop19, $pop70
+ br_if $pop20, 6 # 6: down to label1
# BB#13: # %for.inc62
# in Loop: Header=BB0_3 Depth=3
- i32.add $push26=, $14, $13
- i32.load8_u $push27=, 0($pop26)
- i32.ne $push28=, $pop27, $10
- br_if $pop28, 6 # 6: down to label1
+ i32.const $push73=, 1
+ i32.add $push21=, $8, $pop73
+ i32.load8_u $push22=, 0($pop21)
+ i32.const $push72=, 97
+ i32.ne $push23=, $pop22, $pop72
+ br_if $pop23, 6 # 6: down to label1
# BB#14: # %for.inc62.1
# in Loop: Header=BB0_3 Depth=3
- i32.const $push29=, 2
- i32.add $push30=, $14, $pop29
- i32.load8_u $push31=, 0($pop30)
- i32.ne $push32=, $pop31, $10
- br_if $pop32, 6 # 6: down to label1
+ i32.const $push79=, 2
+ i32.add $push24=, $8, $pop79
+ i32.load8_u $push25=, 0($pop24)
+ i32.const $push78=, 97
+ i32.ne $push26=, $pop25, $pop78
+ br_if $pop26, 6 # 6: down to label1
# BB#15: # %for.inc62.2
# in Loop: Header=BB0_3 Depth=3
- i32.const $push33=, 3
- i32.add $push34=, $14, $pop33
- i32.load8_u $push35=, 0($pop34)
- i32.ne $push36=, $pop35, $10
- br_if $pop36, 6 # 6: down to label1
+ i32.const $push81=, 3
+ i32.add $push27=, $8, $pop81
+ i32.load8_u $push28=, 0($pop27)
+ i32.const $push80=, 97
+ i32.ne $push29=, $pop28, $pop80
+ br_if $pop29, 6 # 6: down to label1
# BB#16: # %for.inc62.3
# in Loop: Header=BB0_3 Depth=3
- i32.const $push37=, 4
- i32.add $push38=, $14, $pop37
- i32.load8_u $push39=, 0($pop38)
- i32.ne $push40=, $pop39, $10
- br_if $pop40, 6 # 6: down to label1
+ i32.const $push83=, 4
+ i32.add $push30=, $8, $pop83
+ i32.load8_u $push31=, 0($pop30)
+ i32.const $push82=, 97
+ i32.ne $push32=, $pop31, $pop82
+ br_if $pop32, 6 # 6: down to label1
# BB#17: # %for.inc62.4
# in Loop: Header=BB0_3 Depth=3
- i32.const $push41=, 5
- i32.add $push42=, $14, $pop41
- i32.load8_u $push43=, 0($pop42)
- i32.ne $push44=, $pop43, $10
- br_if $pop44, 6 # 6: down to label1
+ i32.const $push85=, 5
+ i32.add $push33=, $8, $pop85
+ i32.load8_u $push34=, 0($pop33)
+ i32.const $push84=, 97
+ i32.ne $push35=, $pop34, $pop84
+ br_if $pop35, 6 # 6: down to label1
# BB#18: # %for.inc62.5
# in Loop: Header=BB0_3 Depth=3
- i32.const $push45=, 6
- i32.add $push46=, $14, $pop45
- i32.load8_u $push47=, 0($pop46)
- i32.ne $push48=, $pop47, $10
- br_if $pop48, 6 # 6: down to label1
+ i32.const $push87=, 6
+ i32.add $push36=, $8, $pop87
+ i32.load8_u $push37=, 0($pop36)
+ i32.const $push86=, 97
+ i32.ne $push38=, $pop37, $pop86
+ br_if $pop38, 6 # 6: down to label1
# BB#19: # %for.inc62.6
# in Loop: Header=BB0_3 Depth=3
- i32.const $push49=, 7
- i32.add $push50=, $14, $pop49
- i32.load8_u $push51=, 0($pop50)
- i32.ne $push52=, $pop51, $10
- br_if $pop52, 6 # 6: down to label1
+ i32.const $push89=, 7
+ i32.add $push39=, $8, $pop89
+ i32.load8_u $push40=, 0($pop39)
+ i32.const $push88=, 97
+ i32.ne $push41=, $pop40, $pop88
+ br_if $pop41, 6 # 6: down to label1
# BB#20: # %for.inc62.7
# in Loop: Header=BB0_3 Depth=3
- i32.add $5=, $5, $13
- i32.const $push53=, 80
- i32.lt_u $push54=, $5, $pop53
- br_if $pop54, 0 # 0: up to label6
+ i32.const $push91=, 1
+ i32.add $5=, $5, $pop91
+ i32.const $push90=, 80
+ i32.lt_u $push42=, $5, $pop90
+ br_if $pop42, 0 # 0: up to label6
# BB#21: # %for.inc69
# in Loop: Header=BB0_2 Depth=2
end_loop # label7:
- i32.add $2=, $2, $13
- i32.const $14=, 8
- i32.lt_u $push55=, $2, $14
- br_if $pop55, 0 # 0: up to label4
+ i32.const $push75=, 1
+ i32.add $2=, $2, $pop75
+ i32.const $push74=, 8
+ i32.lt_u $push43=, $2, $pop74
+ br_if $pop43, 0 # 0: up to label4
# BB#22: # %for.inc72
# in Loop: Header=BB0_1 Depth=1
end_loop # label5:
- i32.add $0=, $0, $13
- i32.lt_u $push56=, $0, $14
- br_if $pop56, 0 # 0: up to label2
+ i32.const $push77=, 1
+ i32.add $0=, $0, $pop77
+ i32.const $push76=, 8
+ i32.lt_u $push44=, $0, $pop76
+ br_if $pop44, 0 # 0: up to label2
# BB#23: # %for.end74
end_loop # label3:
- i32.const $push57=, 0
- call exit@FUNCTION, $pop57
+ i32.const $push45=, 0
+ call exit@FUNCTION, $pop45
unreachable
.LBB0_24: # %if.then60
end_block # label1:
diff --git a/test/torture-s/memcpy-bi.c.s b/test/torture-s/memcpy-bi.c.s
index 8c97fee8d..9a1e799c3 100644
--- a/test/torture-s/memcpy-bi.c.s
+++ b/test/torture-s/memcpy-bi.c.s
@@ -26,638 +26,1065 @@ check: # @check
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i64, i64, i64
+ .local i32, i64, i64, i64, i32
# BB#0: # %entry
- i32.const $2=, 0
+ i32.const $4=, 0
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $0=, 26
- i32.rem_s $4=, $2, $0
- i32.const $1=, src
- i32.add $push2=, $1, $2
- i32.const $push0=, 97
- i32.add $push1=, $4, $pop0
- i32.store8 $discard=, 0($pop2), $pop1
- i32.const $4=, 1
- i32.add $2=, $2, $4
- i32.const $push3=, 80
- i32.ne $push4=, $2, $pop3
- br_if $pop4, 0 # 0: up to label1
+ i32.const $push275=, 26
+ i32.rem_s $push0=, $4, $pop275
+ i32.const $push274=, 97
+ i32.add $push1=, $pop0, $pop274
+ i32.store8 $discard=, src($4), $pop1
+ i32.const $push273=, 1
+ i32.add $4=, $4, $pop273
+ i32.const $push272=, 80
+ i32.ne $push2=, $4, $pop272
+ br_if $pop2, 0 # 0: up to label1
# BB#2: # %check.exit
end_loop # label2:
- i32.const $2=, 0
- block
- i32.load16_u $push5=, src($2)
- i32.store16 $discard=, dst($2), $pop5
- i32.const $push134=, 0
- i32.eq $push135=, $4, $pop134
- br_if $pop135, 0 # 0: down to label3
+ i32.const $push277=, 0
+ i32.const $push276=, 0
+ i32.load16_u $push3=, src($pop276):p2align=4
+ i32.store16 $discard=, dst($pop277):p2align=4, $pop3
+ block
+ i32.const $push4=, 1
+ i32.const $push676=, 0
+ i32.eq $push677=, $pop4, $pop676
+ br_if $pop677, 0 # 0: down to label3
# BB#3: # %check.exit13
- i32.load16_u $3=, src($2)
- i32.load8_u $push6=, src+2($2)
- i32.store8 $discard=, dst+2($2), $pop6
- i32.const $4=, dst
- i32.store16 $discard=, dst($2), $3
- block
+ i32.const $push283=, 0
+ i32.const $push282=, 0
+ i32.load8_u $push5=, src+2($pop282):p2align=1
+ i32.store8 $discard=, dst+2($pop283):p2align=1, $pop5
+ i32.const $push281=, 0
+ i32.const $push280=, 0
+ i32.load16_u $push6=, src($pop280):p2align=4
+ i32.store16 $discard=, dst($pop281):p2align=4, $pop6
+ block
+ i32.const $push279=, dst
+ i32.const $push278=, src
i32.const $push7=, 3
- i32.call $push8=, memcmp@FUNCTION, $4, $1, $pop7
+ i32.call $push8=, memcmp@FUNCTION, $pop279, $pop278, $pop7
br_if $pop8, 0 # 0: down to label4
# BB#4: # %check.exit17
- i32.load $3=, src($2)
- i32.load8_u $push9=, src+4($2)
- i32.store8 $discard=, dst+4($2), $pop9
- i32.store $discard=, dst($2), $3
- block
+ i32.const $push289=, 0
+ i32.load $4=, src($pop289):p2align=4
+ i32.const $push288=, 0
+ i32.const $push287=, 0
+ i32.load8_u $push9=, src+4($pop287):p2align=2
+ i32.store8 $discard=, dst+4($pop288):p2align=2, $pop9
+ i32.const $push286=, 0
+ i32.store $discard=, dst($pop286):p2align=4, $4
+ block
+ i32.const $push285=, dst
+ i32.const $push284=, src
i32.const $push10=, 5
- i32.call $push11=, memcmp@FUNCTION, $4, $1, $pop10
+ i32.call $push11=, memcmp@FUNCTION, $pop285, $pop284, $pop10
br_if $pop11, 0 # 0: down to label5
# BB#5: # %check.exit25
- i32.load $3=, src($2)
- i32.load16_u $push12=, src+4($2)
- i32.store16 $discard=, dst+4($2), $pop12
- i32.store $discard=, dst($2), $3
- block
- i32.const $push13=, 6
- i32.call $push14=, memcmp@FUNCTION, $4, $1, $pop13
- br_if $pop14, 0 # 0: down to label6
+ i32.const $push295=, 0
+ i32.const $push294=, 0
+ i32.load16_u $push12=, src+4($pop294):p2align=2
+ i32.store16 $discard=, dst+4($pop295):p2align=2, $pop12
+ i32.const $push293=, 0
+ i32.const $push292=, 0
+ i32.load $push13=, src($pop292):p2align=4
+ i32.store $discard=, dst($pop293):p2align=4, $pop13
+ block
+ i32.const $push291=, dst
+ i32.const $push290=, src
+ i32.const $push14=, 6
+ i32.call $push15=, memcmp@FUNCTION, $pop291, $pop290, $pop14
+ br_if $pop15, 0 # 0: down to label6
# BB#6: # %check.exit29
- i32.load16_u $3=, src+4($2)
- i32.load $5=, src($2)
- i32.load8_u $push15=, src+6($2)
- i32.store8 $discard=, dst+6($2), $pop15
- i32.store16 $discard=, dst+4($2), $3
- i32.store $discard=, dst($2), $5
- block
- i32.const $push16=, 7
- i32.call $push17=, memcmp@FUNCTION, $4, $1, $pop16
- br_if $pop17, 0 # 0: down to label7
+ i32.const $push303=, 0
+ i32.load16_u $4=, src+4($pop303):p2align=2
+ i32.const $push302=, 0
+ i32.load $0=, src($pop302):p2align=4
+ i32.const $push301=, 0
+ i32.const $push300=, 0
+ i32.load8_u $push16=, src+6($pop300):p2align=1
+ i32.store8 $discard=, dst+6($pop301):p2align=1, $pop16
+ i32.const $push299=, 0
+ i32.store16 $discard=, dst+4($pop299):p2align=2, $4
+ i32.const $push298=, 0
+ i32.store $discard=, dst($pop298):p2align=4, $0
+ block
+ i32.const $push297=, dst
+ i32.const $push296=, src
+ i32.const $push17=, 7
+ i32.call $push18=, memcmp@FUNCTION, $pop297, $pop296, $pop17
+ br_if $pop18, 0 # 0: down to label7
# BB#7: # %check.exit33
- i64.load $6=, src($2)
- i32.load8_u $push18=, src+8($2)
- i32.store8 $discard=, dst+8($2), $pop18
- i64.store $discard=, dst($2), $6
- block
- i32.const $push19=, 9
- i32.call $push20=, memcmp@FUNCTION, $4, $1, $pop19
- br_if $pop20, 0 # 0: down to label8
+ i32.const $push309=, 0
+ i32.const $push308=, 0
+ i32.load8_u $push19=, src+8($pop308):p2align=3
+ i32.store8 $discard=, dst+8($pop309):p2align=3, $pop19
+ i32.const $push307=, 0
+ i32.const $push306=, 0
+ i64.load $push20=, src($pop306):p2align=4
+ i64.store $discard=, dst($pop307):p2align=4, $pop20
+ block
+ i32.const $push305=, dst
+ i32.const $push304=, src
+ i32.const $push21=, 9
+ i32.call $push22=, memcmp@FUNCTION, $pop305, $pop304, $pop21
+ br_if $pop22, 0 # 0: down to label8
# BB#8: # %check.exit41
- i64.load $6=, src($2)
- i32.load16_u $push21=, src+8($2)
- i32.store16 $discard=, dst+8($2), $pop21
- i64.store $discard=, dst($2), $6
- block
- i32.const $push22=, 10
- i32.call $push23=, memcmp@FUNCTION, $4, $1, $pop22
- br_if $pop23, 0 # 0: down to label9
+ i32.const $push315=, 0
+ i64.load $1=, src($pop315):p2align=4
+ i32.const $push314=, 0
+ i32.const $push313=, 0
+ i32.load16_u $push23=, src+8($pop313):p2align=3
+ i32.store16 $discard=, dst+8($pop314):p2align=3, $pop23
+ i32.const $push312=, 0
+ i64.store $discard=, dst($pop312):p2align=4, $1
+ block
+ i32.const $push311=, dst
+ i32.const $push310=, src
+ i32.const $push24=, 10
+ i32.call $push25=, memcmp@FUNCTION, $pop311, $pop310, $pop24
+ br_if $pop25, 0 # 0: down to label9
# BB#9: # %check.exit45
- i32.load16_u $3=, src+8($2)
- i64.load $6=, src($2)
- i32.load8_u $push24=, src+10($2)
- i32.store8 $discard=, dst+10($2), $pop24
- i32.store16 $discard=, dst+8($2), $3
- i64.store $discard=, dst($2), $6
- block
- i32.const $push25=, 11
- i32.call $push26=, memcmp@FUNCTION, $4, $1, $pop25
- br_if $pop26, 0 # 0: down to label10
+ i32.const $push323=, 0
+ i32.load16_u $4=, src+8($pop323):p2align=3
+ i32.const $push322=, 0
+ i32.const $push321=, 0
+ i32.load8_u $push26=, src+10($pop321):p2align=1
+ i32.store8 $discard=, dst+10($pop322):p2align=1, $pop26
+ i32.const $push320=, 0
+ i32.store16 $discard=, dst+8($pop320):p2align=3, $4
+ i32.const $push319=, 0
+ i32.const $push318=, 0
+ i64.load $push27=, src($pop318):p2align=4
+ i64.store $discard=, dst($pop319):p2align=4, $pop27
+ block
+ i32.const $push317=, dst
+ i32.const $push316=, src
+ i32.const $push28=, 11
+ i32.call $push29=, memcmp@FUNCTION, $pop317, $pop316, $pop28
+ br_if $pop29, 0 # 0: down to label10
# BB#10: # %check.exit49
- i64.load $6=, src($2)
- i32.load $push27=, src+8($2)
- i32.store $discard=, dst+8($2), $pop27
- i64.store $discard=, dst($2), $6
- block
- i32.const $push28=, 12
- i32.call $push29=, memcmp@FUNCTION, $4, $1, $pop28
- br_if $pop29, 0 # 0: down to label11
+ i32.const $push329=, 0
+ i64.load $1=, src($pop329):p2align=4
+ i32.const $push328=, 0
+ i32.const $push327=, 0
+ i32.load $push30=, src+8($pop327):p2align=3
+ i32.store $discard=, dst+8($pop328):p2align=3, $pop30
+ i32.const $push326=, 0
+ i64.store $discard=, dst($pop326):p2align=4, $1
+ block
+ i32.const $push325=, dst
+ i32.const $push324=, src
+ i32.const $push31=, 12
+ i32.call $push32=, memcmp@FUNCTION, $pop325, $pop324, $pop31
+ br_if $pop32, 0 # 0: down to label11
# BB#11: # %check.exit53
- i32.load $3=, src+8($2)
- i64.load $6=, src($2)
- i32.load8_u $push30=, src+12($2)
- i32.store8 $discard=, dst+12($2), $pop30
- i32.store $discard=, dst+8($2), $3
- i64.store $discard=, dst($2), $6
- block
- i32.const $push31=, 13
- i32.call $push32=, memcmp@FUNCTION, $4, $1, $pop31
- br_if $pop32, 0 # 0: down to label12
+ i32.const $push337=, 0
+ i32.load $4=, src+8($pop337):p2align=3
+ i32.const $push336=, 0
+ i32.const $push335=, 0
+ i32.load8_u $push33=, src+12($pop335):p2align=2
+ i32.store8 $discard=, dst+12($pop336):p2align=2, $pop33
+ i32.const $push334=, 0
+ i32.store $discard=, dst+8($pop334):p2align=3, $4
+ i32.const $push333=, 0
+ i32.const $push332=, 0
+ i64.load $push34=, src($pop332):p2align=4
+ i64.store $discard=, dst($pop333):p2align=4, $pop34
+ block
+ i32.const $push331=, dst
+ i32.const $push330=, src
+ i32.const $push35=, 13
+ i32.call $push36=, memcmp@FUNCTION, $pop331, $pop330, $pop35
+ br_if $pop36, 0 # 0: down to label12
# BB#12: # %check.exit57
- i32.load $3=, src+8($2)
- i64.load $6=, src($2)
- i32.load16_u $push33=, src+12($2)
- i32.store16 $discard=, dst+12($2), $pop33
- i32.store $discard=, dst+8($2), $3
- i64.store $discard=, dst($2), $6
- block
- i32.const $push34=, 14
- i32.call $push35=, memcmp@FUNCTION, $4, $1, $pop34
- br_if $pop35, 0 # 0: down to label13
+ i32.const $push345=, 0
+ i32.load $4=, src+8($pop345):p2align=3
+ i32.const $push344=, 0
+ i64.load $1=, src($pop344):p2align=4
+ i32.const $push343=, 0
+ i32.const $push342=, 0
+ i32.load16_u $push37=, src+12($pop342):p2align=2
+ i32.store16 $discard=, dst+12($pop343):p2align=2, $pop37
+ i32.const $push341=, 0
+ i32.store $discard=, dst+8($pop341):p2align=3, $4
+ i32.const $push340=, 0
+ i64.store $discard=, dst($pop340):p2align=4, $1
+ block
+ i32.const $push339=, dst
+ i32.const $push338=, src
+ i32.const $push38=, 14
+ i32.call $push39=, memcmp@FUNCTION, $pop339, $pop338, $pop38
+ br_if $pop39, 0 # 0: down to label13
# BB#13: # %check.exit61
- i32.load16_u $3=, src+12($2)
- i32.load $5=, src+8($2)
- i32.load8_u $push36=, src+14($2)
- i32.store8 $discard=, dst+14($2), $pop36
- i64.load $6=, src($2)
- i32.store16 $discard=, dst+12($2), $3
- i32.store $discard=, dst+8($2), $5
- i64.store $discard=, dst($2), $6
- block
- i32.const $push37=, 15
- i32.call $push38=, memcmp@FUNCTION, $4, $1, $pop37
- br_if $pop38, 0 # 0: down to label14
+ i32.const $push355=, 0
+ i32.load16_u $4=, src+12($pop355):p2align=2
+ i32.const $push354=, 0
+ i32.load $0=, src+8($pop354):p2align=3
+ i32.const $push353=, 0
+ i32.const $push352=, 0
+ i32.load8_u $push40=, src+14($pop352):p2align=1
+ i32.store8 $discard=, dst+14($pop353):p2align=1, $pop40
+ i32.const $push351=, 0
+ i32.store16 $discard=, dst+12($pop351):p2align=2, $4
+ i32.const $push350=, 0
+ i32.store $discard=, dst+8($pop350):p2align=3, $0
+ i32.const $push349=, 0
+ i32.const $push348=, 0
+ i64.load $push41=, src($pop348):p2align=4
+ i64.store $discard=, dst($pop349):p2align=4, $pop41
+ block
+ i32.const $push347=, dst
+ i32.const $push346=, src
+ i32.const $push42=, 15
+ i32.call $push43=, memcmp@FUNCTION, $pop347, $pop346, $pop42
+ br_if $pop43, 0 # 0: down to label14
# BB#14: # %check.exit65
- i64.load $6=, src($2)
- i64.load $push39=, src+8($2)
- i64.store $discard=, dst+8($2), $pop39
- i64.store $discard=, dst($2), $6
- block
- i32.const $push40=, 16
- i32.call $push41=, memcmp@FUNCTION, $4, $1, $pop40
- br_if $pop41, 0 # 0: down to label15
+ i32.const $push361=, 0
+ i64.load $1=, src($pop361):p2align=4
+ i32.const $push360=, 0
+ i32.const $push359=, 0
+ i64.load $push44=, src+8($pop359)
+ i64.store $discard=, dst+8($pop360), $pop44
+ i32.const $push358=, 0
+ i64.store $discard=, dst($pop358):p2align=4, $1
+ block
+ i32.const $push357=, dst
+ i32.const $push356=, src
+ i32.const $push45=, 16
+ i32.call $push46=, memcmp@FUNCTION, $pop357, $pop356, $pop45
+ br_if $pop46, 0 # 0: down to label15
# BB#15: # %check.exit69
- i64.load $6=, src+8($2)
- i64.load $7=, src($2)
- i32.load8_u $push42=, src+16($2)
- i32.store8 $discard=, dst+16($2), $pop42
- i64.store $discard=, dst+8($2), $6
- i64.store $discard=, dst($2), $7
- block
- i32.const $push43=, 17
- i32.call $push44=, memcmp@FUNCTION, $4, $1, $pop43
- br_if $pop44, 0 # 0: down to label16
+ i32.const $push369=, 0
+ i64.load $1=, src+8($pop369)
+ i32.const $push368=, 0
+ i32.const $push367=, 0
+ i32.load8_u $push47=, src+16($pop367):p2align=4
+ i32.store8 $discard=, dst+16($pop368):p2align=4, $pop47
+ i32.const $push366=, 0
+ i64.store $discard=, dst+8($pop366), $1
+ i32.const $push365=, 0
+ i32.const $push364=, 0
+ i64.load $push48=, src($pop364):p2align=4
+ i64.store $discard=, dst($pop365):p2align=4, $pop48
+ block
+ i32.const $push363=, dst
+ i32.const $push362=, src
+ i32.const $push49=, 17
+ i32.call $push50=, memcmp@FUNCTION, $pop363, $pop362, $pop49
+ br_if $pop50, 0 # 0: down to label16
# BB#16: # %check.exit73
- i64.load $6=, src+8($2)
- i64.load $7=, src($2)
- i32.load16_u $push45=, src+16($2)
- i32.store16 $discard=, dst+16($2), $pop45
- i64.store $discard=, dst+8($2), $6
- i64.store $discard=, dst($2), $7
- block
- i32.const $push46=, 18
- i32.call $push47=, memcmp@FUNCTION, $4, $1, $pop46
- br_if $pop47, 0 # 0: down to label17
+ i32.const $push377=, 0
+ i64.load $1=, src+8($pop377)
+ i32.const $push376=, 0
+ i64.load $2=, src($pop376):p2align=4
+ i32.const $push375=, 0
+ i32.const $push374=, 0
+ i32.load16_u $push51=, src+16($pop374):p2align=4
+ i32.store16 $discard=, dst+16($pop375):p2align=4, $pop51
+ i32.const $push373=, 0
+ i64.store $discard=, dst+8($pop373), $1
+ i32.const $push372=, 0
+ i64.store $discard=, dst($pop372):p2align=4, $2
+ block
+ i32.const $push371=, dst
+ i32.const $push370=, src
+ i32.const $push52=, 18
+ i32.call $push53=, memcmp@FUNCTION, $pop371, $pop370, $pop52
+ br_if $pop53, 0 # 0: down to label17
# BB#17: # %check.exit77
- i32.load16_u $3=, src+16($2)
- i64.load $6=, src+8($2)
- i32.load8_u $push48=, src+18($2)
- i32.store8 $discard=, dst+18($2), $pop48
- i64.load $7=, src($2)
- i32.store16 $discard=, dst+16($2), $3
- i64.store $discard=, dst+8($2), $6
- i64.store $discard=, dst($2), $7
- block
- i32.const $push49=, 19
- i32.call $push50=, memcmp@FUNCTION, $4, $1, $pop49
- br_if $pop50, 0 # 0: down to label18
+ i32.const $push387=, 0
+ i32.load16_u $4=, src+16($pop387):p2align=4
+ i32.const $push386=, 0
+ i64.load $1=, src+8($pop386)
+ i32.const $push385=, 0
+ i32.const $push384=, 0
+ i32.load8_u $push54=, src+18($pop384):p2align=1
+ i32.store8 $discard=, dst+18($pop385):p2align=1, $pop54
+ i32.const $push383=, 0
+ i32.store16 $discard=, dst+16($pop383):p2align=4, $4
+ i32.const $push382=, 0
+ i64.store $discard=, dst+8($pop382), $1
+ i32.const $push381=, 0
+ i32.const $push380=, 0
+ i64.load $push55=, src($pop380):p2align=4
+ i64.store $discard=, dst($pop381):p2align=4, $pop55
+ block
+ i32.const $push379=, dst
+ i32.const $push378=, src
+ i32.const $push56=, 19
+ i32.call $push57=, memcmp@FUNCTION, $pop379, $pop378, $pop56
+ br_if $pop57, 0 # 0: down to label18
# BB#18: # %check.exit81
- i64.load $6=, src+8($2)
- i64.load $7=, src($2)
- i32.load $push51=, src+16($2)
- i32.store $discard=, dst+16($2), $pop51
- i64.store $discard=, dst+8($2), $6
- i64.store $discard=, dst($2), $7
- block
- i32.const $push52=, 20
- i32.call $push53=, memcmp@FUNCTION, $4, $1, $pop52
- br_if $pop53, 0 # 0: down to label19
+ i32.const $push395=, 0
+ i64.load $1=, src+8($pop395)
+ i32.const $push394=, 0
+ i64.load $2=, src($pop394):p2align=4
+ i32.const $push393=, 0
+ i32.const $push392=, 0
+ i32.load $push58=, src+16($pop392):p2align=4
+ i32.store $discard=, dst+16($pop393):p2align=4, $pop58
+ i32.const $push391=, 0
+ i64.store $discard=, dst+8($pop391), $1
+ i32.const $push390=, 0
+ i64.store $discard=, dst($pop390):p2align=4, $2
+ block
+ i32.const $push389=, dst
+ i32.const $push388=, src
+ i32.const $push59=, 20
+ i32.call $push60=, memcmp@FUNCTION, $pop389, $pop388, $pop59
+ br_if $pop60, 0 # 0: down to label19
# BB#19: # %check.exit85
- i32.load $3=, src+16($2)
- i64.load $6=, src+8($2)
- i32.load8_u $push54=, src+20($2)
- i32.store8 $discard=, dst+20($2), $pop54
- i64.load $7=, src($2)
- i32.store $discard=, dst+16($2), $3
- i64.store $discard=, dst+8($2), $6
- i64.store $discard=, dst($2), $7
- block
- i32.const $push55=, 21
- i32.call $push56=, memcmp@FUNCTION, $4, $1, $pop55
- br_if $pop56, 0 # 0: down to label20
+ i32.const $push405=, 0
+ i32.load $4=, src+16($pop405):p2align=4
+ i32.const $push404=, 0
+ i64.load $1=, src+8($pop404)
+ i32.const $push403=, 0
+ i32.const $push402=, 0
+ i32.load8_u $push61=, src+20($pop402):p2align=2
+ i32.store8 $discard=, dst+20($pop403):p2align=2, $pop61
+ i32.const $push401=, 0
+ i32.store $discard=, dst+16($pop401):p2align=4, $4
+ i32.const $push400=, 0
+ i64.store $discard=, dst+8($pop400), $1
+ i32.const $push399=, 0
+ i32.const $push398=, 0
+ i64.load $push62=, src($pop398):p2align=4
+ i64.store $discard=, dst($pop399):p2align=4, $pop62
+ block
+ i32.const $push397=, dst
+ i32.const $push396=, src
+ i32.const $push63=, 21
+ i32.call $push64=, memcmp@FUNCTION, $pop397, $pop396, $pop63
+ br_if $pop64, 0 # 0: down to label20
# BB#20: # %check.exit89
- i32.load $3=, src+16($2)
- i64.load $6=, src+8($2)
- i32.load16_u $push57=, src+20($2)
- i32.store16 $discard=, dst+20($2), $pop57
- i64.load $7=, src($2)
- i32.store $discard=, dst+16($2), $3
- i64.store $discard=, dst+8($2), $6
- i64.store $discard=, dst($2), $7
- block
- i32.const $push58=, 22
- i32.call $push59=, memcmp@FUNCTION, $4, $1, $pop58
- br_if $pop59, 0 # 0: down to label21
+ i32.const $push415=, 0
+ i32.load $4=, src+16($pop415):p2align=4
+ i32.const $push414=, 0
+ i64.load $1=, src+8($pop414)
+ i32.const $push413=, 0
+ i32.const $push412=, 0
+ i32.load16_u $push65=, src+20($pop412):p2align=2
+ i32.store16 $discard=, dst+20($pop413):p2align=2, $pop65
+ i32.const $push411=, 0
+ i64.load $2=, src($pop411):p2align=4
+ i32.const $push410=, 0
+ i32.store $discard=, dst+16($pop410):p2align=4, $4
+ i32.const $push409=, 0
+ i64.store $discard=, dst+8($pop409), $1
+ i32.const $push408=, 0
+ i64.store $discard=, dst($pop408):p2align=4, $2
+ block
+ i32.const $push407=, dst
+ i32.const $push406=, src
+ i32.const $push66=, 22
+ i32.call $push67=, memcmp@FUNCTION, $pop407, $pop406, $pop66
+ br_if $pop67, 0 # 0: down to label21
# BB#21: # %check.exit93
- i32.load16_u $3=, src+20($2)
- i32.load8_u $push60=, src+22($2)
- i32.store8 $discard=, dst+22($2), $pop60
- i32.load $5=, src+16($2)
- i64.load $6=, src+8($2)
- i32.store16 $discard=, dst+20($2), $3
- i64.load $7=, src($2)
- i32.store $discard=, dst+16($2), $5
- i64.store $discard=, dst+8($2), $6
- i64.store $discard=, dst($2), $7
- block
- i32.const $push61=, 23
- i32.call $push62=, memcmp@FUNCTION, $4, $1, $pop61
- br_if $pop62, 0 # 0: down to label22
+ i32.const $push427=, 0
+ i32.load16_u $4=, src+20($pop427):p2align=2
+ i32.const $push426=, 0
+ i32.load $0=, src+16($pop426):p2align=4
+ i32.const $push425=, 0
+ i64.load $1=, src+8($pop425)
+ i32.const $push424=, 0
+ i32.const $push423=, 0
+ i32.load8_u $push68=, src+22($pop423):p2align=1
+ i32.store8 $discard=, dst+22($pop424):p2align=1, $pop68
+ i32.const $push422=, 0
+ i32.store16 $discard=, dst+20($pop422):p2align=2, $4
+ i32.const $push421=, 0
+ i32.store $discard=, dst+16($pop421):p2align=4, $0
+ i32.const $push420=, 0
+ i64.store $discard=, dst+8($pop420), $1
+ i32.const $push419=, 0
+ i32.const $push418=, 0
+ i64.load $push69=, src($pop418):p2align=4
+ i64.store $discard=, dst($pop419):p2align=4, $pop69
+ block
+ i32.const $push417=, dst
+ i32.const $push416=, src
+ i32.const $push70=, 23
+ i32.call $push71=, memcmp@FUNCTION, $pop417, $pop416, $pop70
+ br_if $pop71, 0 # 0: down to label22
# BB#22: # %check.exit97
- i64.load $6=, src+8($2)
- i64.load $7=, src($2)
- i64.load $push63=, src+16($2)
- i64.store $discard=, dst+16($2), $pop63
- i64.store $discard=, dst+8($2), $6
- i64.store $discard=, dst($2), $7
- block
- i32.const $push64=, 24
- i32.call $push65=, memcmp@FUNCTION, $4, $1, $pop64
- br_if $pop65, 0 # 0: down to label23
+ i32.const $push435=, 0
+ i64.load $1=, src+8($pop435)
+ i32.const $push434=, 0
+ i64.load $2=, src($pop434):p2align=4
+ i32.const $push433=, 0
+ i32.const $push432=, 0
+ i64.load $push72=, src+16($pop432):p2align=4
+ i64.store $discard=, dst+16($pop433):p2align=4, $pop72
+ i32.const $push431=, 0
+ i64.store $discard=, dst+8($pop431), $1
+ i32.const $push430=, 0
+ i64.store $discard=, dst($pop430):p2align=4, $2
+ block
+ i32.const $push429=, dst
+ i32.const $push428=, src
+ i32.const $push73=, 24
+ i32.call $push74=, memcmp@FUNCTION, $pop429, $pop428, $pop73
+ br_if $pop74, 0 # 0: down to label23
# BB#23: # %check.exit101
- i64.load $6=, src+16($2)
- i64.load $7=, src+8($2)
- i32.load8_u $push66=, src+24($2)
- i32.store8 $discard=, dst+24($2), $pop66
- i64.load $8=, src($2)
- i64.store $discard=, dst+16($2), $6
- i64.store $discard=, dst+8($2), $7
- i64.store $discard=, dst($2), $8
- block
- i32.const $push67=, 25
- i32.call $push68=, memcmp@FUNCTION, $4, $1, $pop67
- br_if $pop68, 0 # 0: down to label24
+ i32.const $push445=, 0
+ i64.load $1=, src+16($pop445):p2align=4
+ i32.const $push444=, 0
+ i64.load $2=, src+8($pop444)
+ i32.const $push443=, 0
+ i32.const $push442=, 0
+ i32.load8_u $push75=, src+24($pop442):p2align=3
+ i32.store8 $discard=, dst+24($pop443):p2align=3, $pop75
+ i32.const $push441=, 0
+ i64.store $discard=, dst+16($pop441):p2align=4, $1
+ i32.const $push440=, 0
+ i64.store $discard=, dst+8($pop440), $2
+ i32.const $push439=, 0
+ i32.const $push438=, 0
+ i64.load $push76=, src($pop438):p2align=4
+ i64.store $discard=, dst($pop439):p2align=4, $pop76
+ block
+ i32.const $push437=, dst
+ i32.const $push436=, src
+ i32.const $push77=, 25
+ i32.call $push78=, memcmp@FUNCTION, $pop437, $pop436, $pop77
+ br_if $pop78, 0 # 0: down to label24
# BB#24: # %check.exit105
- i64.load $6=, src+16($2)
- i64.load $7=, src+8($2)
- i64.load $8=, src($2)
- i32.load16_u $push69=, src+24($2)
- i32.store16 $discard=, dst+24($2), $pop69
- i64.store $discard=, dst+16($2), $6
- i64.store $discard=, dst+8($2), $7
- i64.store $discard=, dst($2), $8
- block
- i32.call $push70=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop70, 0 # 0: down to label25
+ i32.const $push455=, 0
+ i64.load $1=, src+16($pop455):p2align=4
+ i32.const $push454=, 0
+ i64.load $2=, src+8($pop454)
+ i32.const $push453=, 0
+ i32.const $push452=, 0
+ i32.load16_u $push79=, src+24($pop452):p2align=3
+ i32.store16 $discard=, dst+24($pop453):p2align=3, $pop79
+ i32.const $push451=, 0
+ i64.load $3=, src($pop451):p2align=4
+ i32.const $push450=, 0
+ i64.store $discard=, dst+16($pop450):p2align=4, $1
+ i32.const $push449=, 0
+ i64.store $discard=, dst+8($pop449), $2
+ i32.const $push448=, 0
+ i64.store $discard=, dst($pop448):p2align=4, $3
+ block
+ i32.const $push447=, dst
+ i32.const $push446=, src
+ i32.const $push80=, 26
+ i32.call $push81=, memcmp@FUNCTION, $pop447, $pop446, $pop80
+ br_if $pop81, 0 # 0: down to label25
# BB#25: # %check.exit109
- i32.load16_u $0=, src+24($2)
- i32.load8_u $push71=, src+26($2)
- i32.store8 $discard=, dst+26($2), $pop71
- i64.load $6=, src+16($2)
- i64.load $7=, src+8($2)
- i32.store16 $discard=, dst+24($2), $0
- i64.load $8=, src($2)
- i64.store $discard=, dst+16($2), $6
- i64.store $discard=, dst+8($2), $7
- i64.store $discard=, dst($2), $8
- block
- i32.const $push72=, 27
- i32.call $push73=, memcmp@FUNCTION, $4, $1, $pop72
- br_if $pop73, 0 # 0: down to label26
+ i32.const $push467=, 0
+ i32.load16_u $4=, src+24($pop467):p2align=3
+ i32.const $push466=, 0
+ i64.load $1=, src+16($pop466):p2align=4
+ i32.const $push465=, 0
+ i64.load $2=, src+8($pop465)
+ i32.const $push464=, 0
+ i32.const $push463=, 0
+ i32.load8_u $push82=, src+26($pop463):p2align=1
+ i32.store8 $discard=, dst+26($pop464):p2align=1, $pop82
+ i32.const $push462=, 0
+ i32.store16 $discard=, dst+24($pop462):p2align=3, $4
+ i32.const $push461=, 0
+ i64.store $discard=, dst+16($pop461):p2align=4, $1
+ i32.const $push460=, 0
+ i64.store $discard=, dst+8($pop460), $2
+ i32.const $push459=, 0
+ i32.const $push458=, 0
+ i64.load $push83=, src($pop458):p2align=4
+ i64.store $discard=, dst($pop459):p2align=4, $pop83
+ block
+ i32.const $push457=, dst
+ i32.const $push456=, src
+ i32.const $push84=, 27
+ i32.call $push85=, memcmp@FUNCTION, $pop457, $pop456, $pop84
+ br_if $pop85, 0 # 0: down to label26
# BB#26: # %check.exit113
- i64.load $6=, src+16($2)
- i64.load $7=, src+8($2)
- i32.load $push74=, src+24($2)
- i32.store $discard=, dst+24($2), $pop74
- i64.load $8=, src($2)
- i64.store $discard=, dst+16($2), $6
- i64.store $discard=, dst+8($2), $7
- i64.store $discard=, dst($2), $8
- block
- i32.const $push75=, 28
- i32.call $push76=, memcmp@FUNCTION, $4, $1, $pop75
- br_if $pop76, 0 # 0: down to label27
+ i32.const $push477=, 0
+ i64.load $1=, src+16($pop477):p2align=4
+ i32.const $push476=, 0
+ i64.load $2=, src+8($pop476)
+ i32.const $push475=, 0
+ i32.const $push474=, 0
+ i32.load $push86=, src+24($pop474):p2align=3
+ i32.store $discard=, dst+24($pop475):p2align=3, $pop86
+ i32.const $push473=, 0
+ i64.load $3=, src($pop473):p2align=4
+ i32.const $push472=, 0
+ i64.store $discard=, dst+16($pop472):p2align=4, $1
+ i32.const $push471=, 0
+ i64.store $discard=, dst+8($pop471), $2
+ i32.const $push470=, 0
+ i64.store $discard=, dst($pop470):p2align=4, $3
+ block
+ i32.const $push469=, dst
+ i32.const $push468=, src
+ i32.const $push87=, 28
+ i32.call $push88=, memcmp@FUNCTION, $pop469, $pop468, $pop87
+ br_if $pop88, 0 # 0: down to label27
# BB#27: # %check.exit117
- i32.load $0=, src+24($2)
- i32.load8_u $push77=, src+28($2)
- i32.store8 $discard=, dst+28($2), $pop77
- i64.load $6=, src+16($2)
- i64.load $7=, src+8($2)
- i32.store $discard=, dst+24($2), $0
- i64.load $8=, src($2)
- i64.store $discard=, dst+16($2), $6
- i64.store $discard=, dst+8($2), $7
- i64.store $discard=, dst($2), $8
- block
- i32.const $push78=, 29
- i32.call $push79=, memcmp@FUNCTION, $4, $1, $pop78
- br_if $pop79, 0 # 0: down to label28
+ i32.const $push489=, 0
+ i32.load $4=, src+24($pop489):p2align=3
+ i32.const $push488=, 0
+ i64.load $1=, src+16($pop488):p2align=4
+ i32.const $push487=, 0
+ i64.load $2=, src+8($pop487)
+ i32.const $push486=, 0
+ i32.const $push485=, 0
+ i32.load8_u $push89=, src+28($pop485):p2align=2
+ i32.store8 $discard=, dst+28($pop486):p2align=2, $pop89
+ i32.const $push484=, 0
+ i32.store $discard=, dst+24($pop484):p2align=3, $4
+ i32.const $push483=, 0
+ i64.store $discard=, dst+16($pop483):p2align=4, $1
+ i32.const $push482=, 0
+ i64.store $discard=, dst+8($pop482), $2
+ i32.const $push481=, 0
+ i32.const $push480=, 0
+ i64.load $push90=, src($pop480):p2align=4
+ i64.store $discard=, dst($pop481):p2align=4, $pop90
+ block
+ i32.const $push479=, dst
+ i32.const $push478=, src
+ i32.const $push91=, 29
+ i32.call $push92=, memcmp@FUNCTION, $pop479, $pop478, $pop91
+ br_if $pop92, 0 # 0: down to label28
# BB#28: # %check.exit121
- i32.load $0=, src+24($2)
- i32.load16_u $push80=, src+28($2)
- i32.store16 $discard=, dst+28($2), $pop80
- i64.load $6=, src+16($2)
- i64.load $7=, src+8($2)
- i32.store $discard=, dst+24($2), $0
- i64.load $8=, src($2)
- i64.store $discard=, dst+16($2), $6
- i64.store $discard=, dst+8($2), $7
- i64.store $discard=, dst($2), $8
- block
- i32.const $push81=, 30
- i32.call $push82=, memcmp@FUNCTION, $4, $1, $pop81
- br_if $pop82, 0 # 0: down to label29
+ i32.const $push93=, 0
+ i32.load $4=, src+24($pop93):p2align=3
+ i32.const $push500=, 0
+ i32.const $push499=, 0
+ i32.load16_u $push94=, src+28($pop499):p2align=2
+ i32.store16 $discard=, dst+28($pop500):p2align=2, $pop94
+ i32.const $push498=, 0
+ i64.load $1=, src+16($pop498):p2align=4
+ i32.const $push497=, 0
+ i64.load $2=, src+8($pop497)
+ i32.const $push496=, 0
+ i32.store $discard=, dst+24($pop496):p2align=3, $4
+ i32.const $push495=, 0
+ i64.load $3=, src($pop495):p2align=4
+ i32.const $push494=, 0
+ i64.store $discard=, dst+16($pop494):p2align=4, $1
+ i32.const $push493=, 0
+ i64.store $discard=, dst+8($pop493), $2
+ i32.const $push492=, 0
+ i64.store $discard=, dst($pop492):p2align=4, $3
+ block
+ i32.const $push491=, dst
+ i32.const $push490=, src
+ i32.const $push95=, 30
+ i32.call $push96=, memcmp@FUNCTION, $pop491, $pop490, $pop95
+ br_if $pop96, 0 # 0: down to label29
# BB#29: # %check.exit125
- i32.const $0=, 31
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push83=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop83, 0 # 0: down to label30
+ i32.const $push97=, dst
+ i32.const $push504=, src
+ i32.const $push98=, 31
+ i32.call $push99=, memcpy@FUNCTION, $pop97, $pop504, $pop98
+ tee_local $push503=, $4=, $pop99
+ i32.const $push502=, src
+ i32.const $push501=, 31
+ i32.call $push100=, memcmp@FUNCTION, $pop503, $pop502, $pop501
+ br_if $pop100, 0 # 0: down to label30
# BB#30: # %check.exit129
- i64.load $6=, src+16($2)
- i64.load $7=, src+8($2)
- i64.load $push84=, src+24($2)
- i64.store $discard=, dst+24($2), $pop84
- i64.load $8=, src($2)
- i64.store $discard=, dst+16($2), $6
- i64.store $discard=, dst+8($2), $7
- i64.store $discard=, dst($2), $8
- block
- i32.const $push85=, 32
- i32.call $push86=, memcmp@FUNCTION, $4, $1, $pop85
- br_if $pop86, 0 # 0: down to label31
+ i32.const $push101=, 0
+ i64.load $1=, src+16($pop101):p2align=4
+ i32.const $push512=, 0
+ i64.load $2=, src+8($pop512)
+ i32.const $push511=, 0
+ i32.const $push510=, 0
+ i64.load $push102=, src+24($pop510)
+ i64.store $discard=, dst+24($pop511), $pop102
+ i32.const $push509=, 0
+ i64.load $3=, src($pop509):p2align=4
+ i32.const $push508=, 0
+ i64.store $discard=, dst+16($pop508):p2align=4, $1
+ i32.const $push507=, 0
+ i64.store $discard=, dst+8($pop507), $2
+ i32.const $push506=, 0
+ i64.store $discard=, dst($pop506):p2align=4, $3
+ block
+ i32.const $push505=, src
+ i32.const $push103=, 32
+ i32.call $push104=, memcmp@FUNCTION, $4, $pop505, $pop103
+ br_if $pop104, 0 # 0: down to label31
# BB#31: # %check.exit133
- i32.const $0=, 33
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push87=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop87, 0 # 0: down to label32
+ i32.const $push105=, dst
+ i32.const $push516=, src
+ i32.const $push106=, 33
+ i32.call $push107=, memcpy@FUNCTION, $pop105, $pop516, $pop106
+ tee_local $push515=, $4=, $pop107
+ i32.const $push514=, src
+ i32.const $push513=, 33
+ i32.call $push108=, memcmp@FUNCTION, $pop515, $pop514, $pop513
+ br_if $pop108, 0 # 0: down to label32
# BB#32: # %check.exit137
- i32.const $0=, 34
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push88=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop88, 0 # 0: down to label33
+ i32.const $push519=, src
+ i32.const $push109=, 34
+ i32.call $push110=, memcpy@FUNCTION, $4, $pop519, $pop109
+ i32.const $push518=, src
+ i32.const $push517=, 34
+ i32.call $push111=, memcmp@FUNCTION, $pop110, $pop518, $pop517
+ br_if $pop111, 0 # 0: down to label33
# BB#33: # %check.exit141
- i32.const $0=, 35
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push89=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop89, 0 # 0: down to label34
+ i32.const $push112=, dst
+ i32.const $push523=, src
+ i32.const $push113=, 35
+ i32.call $push114=, memcpy@FUNCTION, $pop112, $pop523, $pop113
+ tee_local $push522=, $4=, $pop114
+ i32.const $push521=, src
+ i32.const $push520=, 35
+ i32.call $push115=, memcmp@FUNCTION, $pop522, $pop521, $pop520
+ br_if $pop115, 0 # 0: down to label34
# BB#34: # %check.exit145
- i32.const $0=, 36
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push90=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop90, 0 # 0: down to label35
+ i32.const $push526=, src
+ i32.const $push116=, 36
+ i32.call $push117=, memcpy@FUNCTION, $4, $pop526, $pop116
+ i32.const $push525=, src
+ i32.const $push524=, 36
+ i32.call $push118=, memcmp@FUNCTION, $pop117, $pop525, $pop524
+ br_if $pop118, 0 # 0: down to label35
# BB#35: # %check.exit149
- i32.const $0=, 37
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push91=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop91, 0 # 0: down to label36
+ i32.const $push119=, dst
+ i32.const $push530=, src
+ i32.const $push120=, 37
+ i32.call $push121=, memcpy@FUNCTION, $pop119, $pop530, $pop120
+ tee_local $push529=, $4=, $pop121
+ i32.const $push528=, src
+ i32.const $push527=, 37
+ i32.call $push122=, memcmp@FUNCTION, $pop529, $pop528, $pop527
+ br_if $pop122, 0 # 0: down to label36
# BB#36: # %check.exit153
- i32.const $0=, 38
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push92=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop92, 0 # 0: down to label37
+ i32.const $push533=, src
+ i32.const $push123=, 38
+ i32.call $push124=, memcpy@FUNCTION, $4, $pop533, $pop123
+ i32.const $push532=, src
+ i32.const $push531=, 38
+ i32.call $push125=, memcmp@FUNCTION, $pop124, $pop532, $pop531
+ br_if $pop125, 0 # 0: down to label37
# BB#37: # %check.exit157
- i32.const $0=, 39
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push93=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop93, 0 # 0: down to label38
+ i32.const $push126=, dst
+ i32.const $push537=, src
+ i32.const $push127=, 39
+ i32.call $push128=, memcpy@FUNCTION, $pop126, $pop537, $pop127
+ tee_local $push536=, $4=, $pop128
+ i32.const $push535=, src
+ i32.const $push534=, 39
+ i32.call $push129=, memcmp@FUNCTION, $pop536, $pop535, $pop534
+ br_if $pop129, 0 # 0: down to label38
# BB#38: # %check.exit161
- i32.const $0=, 40
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push94=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop94, 0 # 0: down to label39
+ i32.const $push540=, src
+ i32.const $push130=, 40
+ i32.call $push131=, memcpy@FUNCTION, $4, $pop540, $pop130
+ i32.const $push539=, src
+ i32.const $push538=, 40
+ i32.call $push132=, memcmp@FUNCTION, $pop131, $pop539, $pop538
+ br_if $pop132, 0 # 0: down to label39
# BB#39: # %check.exit165
- i32.const $0=, 41
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push95=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop95, 0 # 0: down to label40
+ i32.const $push133=, dst
+ i32.const $push544=, src
+ i32.const $push134=, 41
+ i32.call $push135=, memcpy@FUNCTION, $pop133, $pop544, $pop134
+ tee_local $push543=, $4=, $pop135
+ i32.const $push542=, src
+ i32.const $push541=, 41
+ i32.call $push136=, memcmp@FUNCTION, $pop543, $pop542, $pop541
+ br_if $pop136, 0 # 0: down to label40
# BB#40: # %check.exit169
- i32.const $0=, 42
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push96=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop96, 0 # 0: down to label41
+ i32.const $push547=, src
+ i32.const $push137=, 42
+ i32.call $push138=, memcpy@FUNCTION, $4, $pop547, $pop137
+ i32.const $push546=, src
+ i32.const $push545=, 42
+ i32.call $push139=, memcmp@FUNCTION, $pop138, $pop546, $pop545
+ br_if $pop139, 0 # 0: down to label41
# BB#41: # %check.exit173
- i32.const $0=, 43
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push97=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop97, 0 # 0: down to label42
+ i32.const $push140=, dst
+ i32.const $push551=, src
+ i32.const $push141=, 43
+ i32.call $push142=, memcpy@FUNCTION, $pop140, $pop551, $pop141
+ tee_local $push550=, $4=, $pop142
+ i32.const $push549=, src
+ i32.const $push548=, 43
+ i32.call $push143=, memcmp@FUNCTION, $pop550, $pop549, $pop548
+ br_if $pop143, 0 # 0: down to label42
# BB#42: # %check.exit177
- i32.const $0=, 44
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push98=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop98, 0 # 0: down to label43
+ i32.const $push554=, src
+ i32.const $push144=, 44
+ i32.call $push145=, memcpy@FUNCTION, $4, $pop554, $pop144
+ i32.const $push553=, src
+ i32.const $push552=, 44
+ i32.call $push146=, memcmp@FUNCTION, $pop145, $pop553, $pop552
+ br_if $pop146, 0 # 0: down to label43
# BB#43: # %check.exit181
- i32.const $0=, 45
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push99=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop99, 0 # 0: down to label44
+ i32.const $push147=, dst
+ i32.const $push558=, src
+ i32.const $push148=, 45
+ i32.call $push149=, memcpy@FUNCTION, $pop147, $pop558, $pop148
+ tee_local $push557=, $4=, $pop149
+ i32.const $push556=, src
+ i32.const $push555=, 45
+ i32.call $push150=, memcmp@FUNCTION, $pop557, $pop556, $pop555
+ br_if $pop150, 0 # 0: down to label44
# BB#44: # %check.exit185
- i32.const $0=, 46
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push100=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop100, 0 # 0: down to label45
+ i32.const $push561=, src
+ i32.const $push151=, 46
+ i32.call $push152=, memcpy@FUNCTION, $4, $pop561, $pop151
+ i32.const $push560=, src
+ i32.const $push559=, 46
+ i32.call $push153=, memcmp@FUNCTION, $pop152, $pop560, $pop559
+ br_if $pop153, 0 # 0: down to label45
# BB#45: # %check.exit189
- i32.const $0=, 47
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push101=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop101, 0 # 0: down to label46
+ i32.const $push154=, dst
+ i32.const $push565=, src
+ i32.const $push155=, 47
+ i32.call $push156=, memcpy@FUNCTION, $pop154, $pop565, $pop155
+ tee_local $push564=, $4=, $pop156
+ i32.const $push563=, src
+ i32.const $push562=, 47
+ i32.call $push157=, memcmp@FUNCTION, $pop564, $pop563, $pop562
+ br_if $pop157, 0 # 0: down to label46
# BB#46: # %check.exit193
- i32.const $0=, 48
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push102=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop102, 0 # 0: down to label47
+ i32.const $push568=, src
+ i32.const $push158=, 48
+ i32.call $push159=, memcpy@FUNCTION, $4, $pop568, $pop158
+ i32.const $push567=, src
+ i32.const $push566=, 48
+ i32.call $push160=, memcmp@FUNCTION, $pop159, $pop567, $pop566
+ br_if $pop160, 0 # 0: down to label47
# BB#47: # %check.exit197
- i32.const $0=, 49
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push103=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop103, 0 # 0: down to label48
+ i32.const $push161=, dst
+ i32.const $push572=, src
+ i32.const $push162=, 49
+ i32.call $push163=, memcpy@FUNCTION, $pop161, $pop572, $pop162
+ tee_local $push571=, $4=, $pop163
+ i32.const $push570=, src
+ i32.const $push569=, 49
+ i32.call $push164=, memcmp@FUNCTION, $pop571, $pop570, $pop569
+ br_if $pop164, 0 # 0: down to label48
# BB#48: # %check.exit201
- i32.const $0=, 50
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push104=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop104, 0 # 0: down to label49
+ i32.const $push575=, src
+ i32.const $push165=, 50
+ i32.call $push166=, memcpy@FUNCTION, $4, $pop575, $pop165
+ i32.const $push574=, src
+ i32.const $push573=, 50
+ i32.call $push167=, memcmp@FUNCTION, $pop166, $pop574, $pop573
+ br_if $pop167, 0 # 0: down to label49
# BB#49: # %check.exit205
- i32.const $0=, 51
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push105=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop105, 0 # 0: down to label50
+ i32.const $push168=, dst
+ i32.const $push579=, src
+ i32.const $push169=, 51
+ i32.call $push170=, memcpy@FUNCTION, $pop168, $pop579, $pop169
+ tee_local $push578=, $4=, $pop170
+ i32.const $push577=, src
+ i32.const $push576=, 51
+ i32.call $push171=, memcmp@FUNCTION, $pop578, $pop577, $pop576
+ br_if $pop171, 0 # 0: down to label50
# BB#50: # %check.exit209
- i32.const $0=, 52
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push106=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop106, 0 # 0: down to label51
+ i32.const $push582=, src
+ i32.const $push172=, 52
+ i32.call $push173=, memcpy@FUNCTION, $4, $pop582, $pop172
+ i32.const $push581=, src
+ i32.const $push580=, 52
+ i32.call $push174=, memcmp@FUNCTION, $pop173, $pop581, $pop580
+ br_if $pop174, 0 # 0: down to label51
# BB#51: # %check.exit213
- i32.const $0=, 53
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push107=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop107, 0 # 0: down to label52
+ i32.const $push175=, dst
+ i32.const $push586=, src
+ i32.const $push176=, 53
+ i32.call $push177=, memcpy@FUNCTION, $pop175, $pop586, $pop176
+ tee_local $push585=, $4=, $pop177
+ i32.const $push584=, src
+ i32.const $push583=, 53
+ i32.call $push178=, memcmp@FUNCTION, $pop585, $pop584, $pop583
+ br_if $pop178, 0 # 0: down to label52
# BB#52: # %check.exit217
- i32.const $0=, 54
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push108=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop108, 0 # 0: down to label53
+ i32.const $push589=, src
+ i32.const $push179=, 54
+ i32.call $push180=, memcpy@FUNCTION, $4, $pop589, $pop179
+ i32.const $push588=, src
+ i32.const $push587=, 54
+ i32.call $push181=, memcmp@FUNCTION, $pop180, $pop588, $pop587
+ br_if $pop181, 0 # 0: down to label53
# BB#53: # %check.exit221
- i32.const $0=, 55
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push109=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop109, 0 # 0: down to label54
+ i32.const $push182=, dst
+ i32.const $push593=, src
+ i32.const $push183=, 55
+ i32.call $push184=, memcpy@FUNCTION, $pop182, $pop593, $pop183
+ tee_local $push592=, $4=, $pop184
+ i32.const $push591=, src
+ i32.const $push590=, 55
+ i32.call $push185=, memcmp@FUNCTION, $pop592, $pop591, $pop590
+ br_if $pop185, 0 # 0: down to label54
# BB#54: # %check.exit225
- i32.const $0=, 56
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push110=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop110, 0 # 0: down to label55
+ i32.const $push596=, src
+ i32.const $push186=, 56
+ i32.call $push187=, memcpy@FUNCTION, $4, $pop596, $pop186
+ i32.const $push595=, src
+ i32.const $push594=, 56
+ i32.call $push188=, memcmp@FUNCTION, $pop187, $pop595, $pop594
+ br_if $pop188, 0 # 0: down to label55
# BB#55: # %check.exit229
- i32.const $0=, 57
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push111=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop111, 0 # 0: down to label56
+ i32.const $push189=, dst
+ i32.const $push600=, src
+ i32.const $push190=, 57
+ i32.call $push191=, memcpy@FUNCTION, $pop189, $pop600, $pop190
+ tee_local $push599=, $4=, $pop191
+ i32.const $push598=, src
+ i32.const $push597=, 57
+ i32.call $push192=, memcmp@FUNCTION, $pop599, $pop598, $pop597
+ br_if $pop192, 0 # 0: down to label56
# BB#56: # %check.exit233
- i32.const $0=, 58
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push112=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop112, 0 # 0: down to label57
+ i32.const $push603=, src
+ i32.const $push193=, 58
+ i32.call $push194=, memcpy@FUNCTION, $4, $pop603, $pop193
+ i32.const $push602=, src
+ i32.const $push601=, 58
+ i32.call $push195=, memcmp@FUNCTION, $pop194, $pop602, $pop601
+ br_if $pop195, 0 # 0: down to label57
# BB#57: # %check.exit237
- i32.const $0=, 59
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push113=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop113, 0 # 0: down to label58
+ i32.const $push196=, dst
+ i32.const $push607=, src
+ i32.const $push197=, 59
+ i32.call $push198=, memcpy@FUNCTION, $pop196, $pop607, $pop197
+ tee_local $push606=, $4=, $pop198
+ i32.const $push605=, src
+ i32.const $push604=, 59
+ i32.call $push199=, memcmp@FUNCTION, $pop606, $pop605, $pop604
+ br_if $pop199, 0 # 0: down to label58
# BB#58: # %check.exit241
- i32.const $0=, 60
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push114=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop114, 0 # 0: down to label59
+ i32.const $push610=, src
+ i32.const $push200=, 60
+ i32.call $push201=, memcpy@FUNCTION, $4, $pop610, $pop200
+ i32.const $push609=, src
+ i32.const $push608=, 60
+ i32.call $push202=, memcmp@FUNCTION, $pop201, $pop609, $pop608
+ br_if $pop202, 0 # 0: down to label59
# BB#59: # %check.exit245
- i32.const $0=, 61
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push115=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop115, 0 # 0: down to label60
+ i32.const $push203=, dst
+ i32.const $push614=, src
+ i32.const $push204=, 61
+ i32.call $push205=, memcpy@FUNCTION, $pop203, $pop614, $pop204
+ tee_local $push613=, $4=, $pop205
+ i32.const $push612=, src
+ i32.const $push611=, 61
+ i32.call $push206=, memcmp@FUNCTION, $pop613, $pop612, $pop611
+ br_if $pop206, 0 # 0: down to label60
# BB#60: # %check.exit249
- i32.const $0=, 62
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push116=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop116, 0 # 0: down to label61
+ i32.const $push617=, src
+ i32.const $push207=, 62
+ i32.call $push208=, memcpy@FUNCTION, $4, $pop617, $pop207
+ i32.const $push616=, src
+ i32.const $push615=, 62
+ i32.call $push209=, memcmp@FUNCTION, $pop208, $pop616, $pop615
+ br_if $pop209, 0 # 0: down to label61
# BB#61: # %check.exit253
- i32.const $0=, 63
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push117=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop117, 0 # 0: down to label62
+ i32.const $push210=, dst
+ i32.const $push621=, src
+ i32.const $push211=, 63
+ i32.call $push212=, memcpy@FUNCTION, $pop210, $pop621, $pop211
+ tee_local $push620=, $4=, $pop212
+ i32.const $push619=, src
+ i32.const $push618=, 63
+ i32.call $push213=, memcmp@FUNCTION, $pop620, $pop619, $pop618
+ br_if $pop213, 0 # 0: down to label62
# BB#62: # %check.exit257
- i32.const $0=, 64
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push118=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop118, 0 # 0: down to label63
+ i32.const $push624=, src
+ i32.const $push214=, 64
+ i32.call $push215=, memcpy@FUNCTION, $4, $pop624, $pop214
+ i32.const $push623=, src
+ i32.const $push622=, 64
+ i32.call $push216=, memcmp@FUNCTION, $pop215, $pop623, $pop622
+ br_if $pop216, 0 # 0: down to label63
# BB#63: # %check.exit261
- i32.const $0=, 65
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push119=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop119, 0 # 0: down to label64
+ i32.const $push217=, dst
+ i32.const $push628=, src
+ i32.const $push218=, 65
+ i32.call $push219=, memcpy@FUNCTION, $pop217, $pop628, $pop218
+ tee_local $push627=, $4=, $pop219
+ i32.const $push626=, src
+ i32.const $push625=, 65
+ i32.call $push220=, memcmp@FUNCTION, $pop627, $pop626, $pop625
+ br_if $pop220, 0 # 0: down to label64
# BB#64: # %check.exit265
- i32.const $0=, 66
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push120=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop120, 0 # 0: down to label65
+ i32.const $push631=, src
+ i32.const $push221=, 66
+ i32.call $push222=, memcpy@FUNCTION, $4, $pop631, $pop221
+ i32.const $push630=, src
+ i32.const $push629=, 66
+ i32.call $push223=, memcmp@FUNCTION, $pop222, $pop630, $pop629
+ br_if $pop223, 0 # 0: down to label65
# BB#65: # %check.exit269
- i32.const $0=, 67
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push121=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop121, 0 # 0: down to label66
+ i32.const $push224=, dst
+ i32.const $push635=, src
+ i32.const $push225=, 67
+ i32.call $push226=, memcpy@FUNCTION, $pop224, $pop635, $pop225
+ tee_local $push634=, $4=, $pop226
+ i32.const $push633=, src
+ i32.const $push632=, 67
+ i32.call $push227=, memcmp@FUNCTION, $pop634, $pop633, $pop632
+ br_if $pop227, 0 # 0: down to label66
# BB#66: # %check.exit273
- i32.const $0=, 68
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push122=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop122, 0 # 0: down to label67
+ i32.const $push638=, src
+ i32.const $push228=, 68
+ i32.call $push229=, memcpy@FUNCTION, $4, $pop638, $pop228
+ i32.const $push637=, src
+ i32.const $push636=, 68
+ i32.call $push230=, memcmp@FUNCTION, $pop229, $pop637, $pop636
+ br_if $pop230, 0 # 0: down to label67
# BB#67: # %check.exit277
- i32.const $0=, 69
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push123=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop123, 0 # 0: down to label68
+ i32.const $push231=, dst
+ i32.const $push642=, src
+ i32.const $push232=, 69
+ i32.call $push233=, memcpy@FUNCTION, $pop231, $pop642, $pop232
+ tee_local $push641=, $4=, $pop233
+ i32.const $push640=, src
+ i32.const $push639=, 69
+ i32.call $push234=, memcmp@FUNCTION, $pop641, $pop640, $pop639
+ br_if $pop234, 0 # 0: down to label68
# BB#68: # %check.exit281
- i32.const $0=, 70
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push124=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop124, 0 # 0: down to label69
+ i32.const $push645=, src
+ i32.const $push235=, 70
+ i32.call $push236=, memcpy@FUNCTION, $4, $pop645, $pop235
+ i32.const $push644=, src
+ i32.const $push643=, 70
+ i32.call $push237=, memcmp@FUNCTION, $pop236, $pop644, $pop643
+ br_if $pop237, 0 # 0: down to label69
# BB#69: # %check.exit285
- i32.const $0=, 71
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push125=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop125, 0 # 0: down to label70
+ i32.const $push238=, dst
+ i32.const $push649=, src
+ i32.const $push239=, 71
+ i32.call $push240=, memcpy@FUNCTION, $pop238, $pop649, $pop239
+ tee_local $push648=, $4=, $pop240
+ i32.const $push647=, src
+ i32.const $push646=, 71
+ i32.call $push241=, memcmp@FUNCTION, $pop648, $pop647, $pop646
+ br_if $pop241, 0 # 0: down to label70
# BB#70: # %check.exit289
- i32.const $0=, 72
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push126=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop126, 0 # 0: down to label71
+ i32.const $push652=, src
+ i32.const $push242=, 72
+ i32.call $push243=, memcpy@FUNCTION, $4, $pop652, $pop242
+ i32.const $push651=, src
+ i32.const $push650=, 72
+ i32.call $push244=, memcmp@FUNCTION, $pop243, $pop651, $pop650
+ br_if $pop244, 0 # 0: down to label71
# BB#71: # %check.exit293
- i32.const $0=, 73
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push127=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop127, 0 # 0: down to label72
+ i32.const $push245=, dst
+ i32.const $push656=, src
+ i32.const $push246=, 73
+ i32.call $push247=, memcpy@FUNCTION, $pop245, $pop656, $pop246
+ tee_local $push655=, $4=, $pop247
+ i32.const $push654=, src
+ i32.const $push653=, 73
+ i32.call $push248=, memcmp@FUNCTION, $pop655, $pop654, $pop653
+ br_if $pop248, 0 # 0: down to label72
# BB#72: # %check.exit297
- i32.const $0=, 74
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push128=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop128, 0 # 0: down to label73
+ i32.const $push659=, src
+ i32.const $push249=, 74
+ i32.call $push250=, memcpy@FUNCTION, $4, $pop659, $pop249
+ i32.const $push658=, src
+ i32.const $push657=, 74
+ i32.call $push251=, memcmp@FUNCTION, $pop250, $pop658, $pop657
+ br_if $pop251, 0 # 0: down to label73
# BB#73: # %check.exit301
- i32.const $0=, 75
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push129=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop129, 0 # 0: down to label74
+ i32.const $push252=, dst
+ i32.const $push663=, src
+ i32.const $push253=, 75
+ i32.call $push254=, memcpy@FUNCTION, $pop252, $pop663, $pop253
+ tee_local $push662=, $4=, $pop254
+ i32.const $push661=, src
+ i32.const $push660=, 75
+ i32.call $push255=, memcmp@FUNCTION, $pop662, $pop661, $pop660
+ br_if $pop255, 0 # 0: down to label74
# BB#74: # %check.exit305
- i32.const $0=, 76
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push130=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop130, 0 # 0: down to label75
+ i32.const $push666=, src
+ i32.const $push256=, 76
+ i32.call $push257=, memcpy@FUNCTION, $4, $pop666, $pop256
+ i32.const $push665=, src
+ i32.const $push664=, 76
+ i32.call $push258=, memcmp@FUNCTION, $pop257, $pop665, $pop664
+ br_if $pop258, 0 # 0: down to label75
# BB#75: # %check.exit309
- i32.const $0=, 77
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push131=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop131, 0 # 0: down to label76
+ i32.const $push259=, dst
+ i32.const $push670=, src
+ i32.const $push260=, 77
+ i32.call $push261=, memcpy@FUNCTION, $pop259, $pop670, $pop260
+ tee_local $push669=, $4=, $pop261
+ i32.const $push668=, src
+ i32.const $push667=, 77
+ i32.call $push262=, memcmp@FUNCTION, $pop669, $pop668, $pop667
+ br_if $pop262, 0 # 0: down to label76
# BB#76: # %check.exit313
- i32.const $0=, 78
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push132=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop132, 0 # 0: down to label77
+ i32.const $push673=, src
+ i32.const $push263=, 78
+ i32.call $push264=, memcpy@FUNCTION, $4, $pop673, $pop263
+ i32.const $push672=, src
+ i32.const $push671=, 78
+ i32.call $push265=, memcmp@FUNCTION, $pop264, $pop672, $pop671
+ br_if $pop265, 0 # 0: down to label77
# BB#77: # %check.exit317
- i32.const $0=, 79
- call memcpy@FUNCTION, $4, $1, $0
block
- i32.call $push133=, memcmp@FUNCTION, $4, $1, $0
- br_if $pop133, 0 # 0: down to label78
+ i32.const $push267=, dst
+ i32.const $push266=, src
+ i32.const $push268=, 79
+ i32.call $push269=, memcpy@FUNCTION, $pop267, $pop266, $pop268
+ i32.const $push675=, src
+ i32.const $push674=, 79
+ i32.call $push270=, memcmp@FUNCTION, $pop269, $pop675, $pop674
+ br_if $pop270, 0 # 0: down to label78
# BB#78: # %check.exit321
- return $2
+ i32.const $push271=, 0
+ return $pop271
.LBB1_79: # %if.then.i320
end_block # label78:
call abort@FUNCTION
@@ -970,7 +1397,7 @@ main: # @main
.type src,@object
.section .bss.src,"aw",@nobits
.globl src
- .align 4
+ .p2align 4
src:
.skip 80
.size src, 80
@@ -979,7 +1406,7 @@ src:
.type dst,@object
.section .bss.dst,"aw",@nobits
.globl dst
- .align 4
+ .p2align 4
dst:
.skip 80
.size dst, 80
diff --git a/test/torture-s/memset-1.c.s b/test/torture-s/memset-1.c.s
index 6aacfab50..9bf86823c 100644
--- a/test/torture-s/memset-1.c.s
+++ b/test/torture-s/memset-1.c.s
@@ -6,19 +6,18 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $0=, 0
.LBB0_1: # %for.cond1.preheader
# =>This Loop Header: Depth=1
# Child Loop BB0_2 Depth 2
# Child Loop BB0_3 Depth 3
- # Child Loop BB0_5 Depth 3
- # Child Loop BB0_9 Depth 3
- # Child Loop BB0_20 Depth 3
- # Child Loop BB0_24 Depth 3
- # Child Loop BB0_35 Depth 3
- # Child Loop BB0_39 Depth 3
+ # Child Loop BB0_7 Depth 3
+ # Child Loop BB0_18 Depth 3
+ # Child Loop BB0_22 Depth 3
+ # Child Loop BB0_33 Depth 3
+ # Child Loop BB0_37 Depth 3
block
block
block
@@ -26,370 +25,414 @@ main: # @main
block
block
loop # label6:
- i32.const $3=, u
- i32.add $1=, $3, $0
+ i32.const $push100=, u
+ i32.add $1=, $0, $pop100
i32.const $2=, 1
.LBB0_2: # %for.cond4.preheader
# Parent Loop BB0_1 Depth=1
# => This Loop Header: Depth=2
# Child Loop BB0_3 Depth 3
- # Child Loop BB0_5 Depth 3
- # Child Loop BB0_9 Depth 3
- # Child Loop BB0_20 Depth 3
- # Child Loop BB0_24 Depth 3
- # Child Loop BB0_35 Depth 3
- # Child Loop BB0_39 Depth 3
+ # Child Loop BB0_7 Depth 3
+ # Child Loop BB0_18 Depth 3
+ # Child Loop BB0_22 Depth 3
+ # Child Loop BB0_33 Depth 3
+ # Child Loop BB0_37 Depth 3
loop # label8:
- i32.const $14=, -96
-.LBB0_3: # %for.body6
- # Parent Loop BB0_1 Depth=1
- # Parent Loop BB0_2 Depth=2
- # => This Inner Loop Header: Depth=3
- loop # label10:
- i32.add $push0=, $3, $14
- i32.const $push1=, 96
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 97
- i32.store8 $4=, 0($pop2), $pop3
- i32.const $5=, 1
- i32.add $14=, $14, $5
- br_if $14, 0 # 0: up to label10
-# BB#4: # %for.end
- # in Loop: Header=BB0_2 Depth=2
- end_loop # label11:
- i32.const $14=, 0
- call memset@FUNCTION, $1, $14, $2
- copy_local $6=, $3
+ i32.const $push3=, u
+ i32.const $push104=, 97
+ i32.const $push103=, 96
+ i32.call $5=, memset@FUNCTION, $pop3, $pop104, $pop103
+ i32.const $6=, 0
+ i32.const $push102=, 0
+ i32.call $4=, memset@FUNCTION, $1, $pop102, $2
block
- i32.lt_s $push4=, $0, $5
- br_if $pop4, 0 # 0: down to label12
-.LBB0_5: # %for.body11
+ i32.const $push101=, 1
+ i32.lt_s $push4=, $0, $pop101
+ br_if $pop4, 0 # 0: down to label10
+.LBB0_3: # %for.body11
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# => This Inner Loop Header: Depth=3
- loop # label13:
- i32.const $6=, u
- i32.add $push5=, $6, $14
- i32.load8_u $push6=, 0($pop5)
- i32.ne $push7=, $pop6, $4
- br_if $pop7, 1 # 1: down to label14
-# BB#6: # %for.inc16
- # in Loop: Header=BB0_5 Depth=3
- i32.add $14=, $14, $5
- i32.add $6=, $6, $14
- i32.lt_s $push8=, $14, $0
- br_if $pop8, 0 # 0: up to label13
- br 2 # 2: down to label12
-.LBB0_7: # %if.then14
- end_loop # label14:
+ loop # label11:
+ i32.load8_u $push5=, u($6)
+ i32.const $push105=, 97
+ i32.ne $push6=, $pop5, $pop105
+ br_if $pop6, 1 # 1: down to label12
+# BB#4: # %for.inc16
+ # in Loop: Header=BB0_3 Depth=3
+ i32.const $push107=, u+1
+ i32.add $5=, $6, $pop107
+ i32.const $push106=, 1
+ i32.add $3=, $6, $pop106
+ copy_local $6=, $3
+ i32.lt_s $push7=, $3, $0
+ br_if $pop7, 0 # 0: up to label11
+ br 2 # 2: down to label10
+.LBB0_5: # %if.then14
+ end_loop # label12:
call abort@FUNCTION
unreachable
-.LBB0_8: # %for.body22.preheader
+.LBB0_6: # %for.body22.preheader
# in Loop: Header=BB0_2 Depth=2
- end_block # label12:
- i32.const $14=, 0
-.LBB0_9: # %for.body22
+ end_block # label10:
+ i32.const $6=, 0
+.LBB0_7: # %for.body22
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# => This Inner Loop Header: Depth=3
- loop # label15:
- i32.add $push9=, $6, $14
- i32.load8_u $push10=, 0($pop9)
- br_if $pop10, 11 # 11: down to label0
-# BB#10: # %for.inc28
- # in Loop: Header=BB0_9 Depth=3
- i32.add $14=, $14, $5
- i32.lt_s $push11=, $14, $2
- br_if $pop11, 0 # 0: up to label15
-# BB#11: # %for.body35.preheader
+ loop # label13:
+ i32.add $push8=, $5, $6
+ i32.load8_u $push9=, 0($pop8)
+ br_if $pop9, 11 # 11: down to label0
+# BB#8: # %for.inc28
+ # in Loop: Header=BB0_7 Depth=3
+ i32.const $push108=, 1
+ i32.add $6=, $6, $pop108
+ i32.lt_s $push10=, $6, $2
+ br_if $pop10, 0 # 0: up to label13
+# BB#9: # %for.body35.preheader
# in Loop: Header=BB0_2 Depth=2
- end_loop # label16:
- i32.add $14=, $6, $14
- i32.load8_u $push12=, 0($14)
- i32.ne $push13=, $pop12, $4
- br_if $pop13, 8 # 8: down to label1
-# BB#12: # %for.inc41
+ end_loop # label14:
+ i32.add $push0=, $5, $6
+ tee_local $push110=, $6=, $pop0
+ i32.load8_u $push11=, 0($pop110)
+ i32.const $push109=, 97
+ i32.ne $push12=, $pop11, $pop109
+ br_if $pop12, 8 # 8: down to label1
+# BB#10: # %for.inc41
# in Loop: Header=BB0_2 Depth=2
- i32.add $push14=, $14, $5
- i32.load8_u $push15=, 0($pop14)
- i32.ne $push16=, $pop15, $4
- br_if $pop16, 8 # 8: down to label1
-# BB#13: # %for.inc41.1
+ i32.const $push112=, 1
+ i32.add $push13=, $6, $pop112
+ i32.load8_u $push14=, 0($pop13)
+ i32.const $push111=, 97
+ i32.ne $push15=, $pop14, $pop111
+ br_if $pop15, 8 # 8: down to label1
+# BB#11: # %for.inc41.1
# in Loop: Header=BB0_2 Depth=2
- i32.const $7=, 2
- i32.add $push17=, $14, $7
- i32.load8_u $push18=, 0($pop17)
- i32.ne $push19=, $pop18, $4
- br_if $pop19, 8 # 8: down to label1
-# BB#14: # %for.inc41.2
+ i32.const $push134=, 2
+ i32.add $push16=, $6, $pop134
+ i32.load8_u $push17=, 0($pop16)
+ i32.const $push133=, 97
+ i32.ne $push18=, $pop17, $pop133
+ br_if $pop18, 8 # 8: down to label1
+# BB#12: # %for.inc41.2
# in Loop: Header=BB0_2 Depth=2
- i32.const $8=, 3
- i32.add $push20=, $14, $8
- i32.load8_u $push21=, 0($pop20)
- i32.ne $push22=, $pop21, $4
- br_if $pop22, 8 # 8: down to label1
-# BB#15: # %for.inc41.3
+ i32.const $push136=, 3
+ i32.add $push19=, $6, $pop136
+ i32.load8_u $push20=, 0($pop19)
+ i32.const $push135=, 97
+ i32.ne $push21=, $pop20, $pop135
+ br_if $pop21, 8 # 8: down to label1
+# BB#13: # %for.inc41.3
# in Loop: Header=BB0_2 Depth=2
- i32.const $9=, 4
- i32.add $push23=, $14, $9
- i32.load8_u $push24=, 0($pop23)
- i32.ne $push25=, $pop24, $4
- br_if $pop25, 8 # 8: down to label1
-# BB#16: # %for.inc41.4
+ i32.const $push138=, 4
+ i32.add $push22=, $6, $pop138
+ i32.load8_u $push23=, 0($pop22)
+ i32.const $push137=, 97
+ i32.ne $push24=, $pop23, $pop137
+ br_if $pop24, 8 # 8: down to label1
+# BB#14: # %for.inc41.4
# in Loop: Header=BB0_2 Depth=2
- i32.const $10=, 5
- i32.add $push26=, $14, $10
- i32.load8_u $push27=, 0($pop26)
- i32.ne $push28=, $pop27, $4
- br_if $pop28, 8 # 8: down to label1
-# BB#17: # %for.inc41.5
+ i32.const $push140=, 5
+ i32.add $push25=, $6, $pop140
+ i32.load8_u $push26=, 0($pop25)
+ i32.const $push139=, 97
+ i32.ne $push27=, $pop26, $pop139
+ br_if $pop27, 8 # 8: down to label1
+# BB#15: # %for.inc41.5
# in Loop: Header=BB0_2 Depth=2
- i32.const $11=, 6
- i32.add $push29=, $14, $11
- i32.load8_u $push30=, 0($pop29)
- i32.ne $push31=, $pop30, $4
- br_if $pop31, 8 # 8: down to label1
-# BB#18: # %for.inc41.6
+ i32.const $push142=, 6
+ i32.add $push28=, $6, $pop142
+ i32.load8_u $push29=, 0($pop28)
+ i32.const $push141=, 97
+ i32.ne $push30=, $pop29, $pop141
+ br_if $pop30, 8 # 8: down to label1
+# BB#16: # %for.inc41.6
# in Loop: Header=BB0_2 Depth=2
- i32.const $12=, 7
- i32.add $push32=, $14, $12
- i32.load8_u $push33=, 0($pop32)
- i32.ne $push34=, $pop33, $4
- br_if $pop34, 8 # 8: down to label1
-# BB#19: # %for.inc41.7
+ i32.const $push144=, 7
+ i32.add $push31=, $6, $pop144
+ i32.load8_u $push32=, 0($pop31)
+ i32.const $push143=, 97
+ i32.ne $push33=, $pop32, $pop143
+ br_if $pop33, 8 # 8: down to label1
+# BB#17: # %for.inc41.7
# in Loop: Header=BB0_2 Depth=2
- i32.const $14=, 0
- i32.load8_u $push36=, A($14)
- call memset@FUNCTION, $1, $pop36, $2
- i32.const $6=, u
+ i32.const $6=, 0
+ i32.const $push146=, 0
+ i32.load8_u $push35=, A($pop146)
+ i32.call $discard=, memset@FUNCTION, $4, $pop35, $2
+ i32.const $5=, u
block
- i32.le_s $push35=, $0, $14
- br_if $pop35, 0 # 0: down to label17
-.LBB0_20: # %for.body55
+ i32.const $push145=, 0
+ i32.le_s $push34=, $0, $pop145
+ br_if $pop34, 0 # 0: down to label15
+.LBB0_18: # %for.body55
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# => This Inner Loop Header: Depth=3
- loop # label18:
- i32.const $6=, u
- i32.add $push37=, $6, $14
- i32.load8_u $push38=, 0($pop37)
- i32.ne $push39=, $pop38, $4
- br_if $pop39, 1 # 1: down to label19
-# BB#21: # %for.inc61
- # in Loop: Header=BB0_20 Depth=3
- i32.add $14=, $14, $5
- i32.add $6=, $6, $14
- i32.lt_s $push40=, $14, $0
- br_if $pop40, 0 # 0: up to label18
- br 2 # 2: down to label17
-.LBB0_22: # %if.then59
- end_loop # label19:
+ loop # label16:
+ i32.load8_u $push36=, u($6)
+ i32.const $push113=, 97
+ i32.ne $push37=, $pop36, $pop113
+ br_if $pop37, 1 # 1: down to label17
+# BB#19: # %for.inc61
+ # in Loop: Header=BB0_18 Depth=3
+ i32.const $push115=, u+1
+ i32.add $5=, $6, $pop115
+ i32.const $push114=, 1
+ i32.add $3=, $6, $pop114
+ copy_local $6=, $3
+ i32.lt_s $push38=, $3, $0
+ br_if $pop38, 0 # 0: up to label16
+ br 2 # 2: down to label15
+.LBB0_20: # %if.then59
+ end_loop # label17:
call abort@FUNCTION
unreachable
-.LBB0_23: # %for.body68.preheader
+.LBB0_21: # %for.body68.preheader
# in Loop: Header=BB0_2 Depth=2
- end_block # label17:
- i32.const $14=, 0
-.LBB0_24: # %for.body68
+ end_block # label15:
+ i32.const $6=, 0
+.LBB0_22: # %for.body68
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# => This Inner Loop Header: Depth=3
- loop # label20:
- i32.add $push41=, $6, $14
- i32.load8_u $push42=, 0($pop41)
- i32.const $push43=, 65
- i32.ne $push44=, $pop42, $pop43
- br_if $pop44, 9 # 9: down to label2
-# BB#25: # %for.inc74
- # in Loop: Header=BB0_24 Depth=3
- i32.add $14=, $14, $5
- i32.lt_s $push45=, $14, $2
- br_if $pop45, 0 # 0: up to label20
-# BB#26: # %for.body81.preheader
+ loop # label18:
+ i32.add $push39=, $5, $6
+ i32.load8_u $push40=, 0($pop39)
+ i32.const $push116=, 65
+ i32.ne $push41=, $pop40, $pop116
+ br_if $pop41, 9 # 9: down to label2
+# BB#23: # %for.inc74
+ # in Loop: Header=BB0_22 Depth=3
+ i32.const $push117=, 1
+ i32.add $6=, $6, $pop117
+ i32.lt_s $push42=, $6, $2
+ br_if $pop42, 0 # 0: up to label18
+# BB#24: # %for.body81.preheader
+ # in Loop: Header=BB0_2 Depth=2
+ end_loop # label19:
+ i32.add $push1=, $5, $6
+ tee_local $push119=, $6=, $pop1
+ i32.load8_u $push43=, 0($pop119)
+ i32.const $push118=, 97
+ i32.ne $push44=, $pop43, $pop118
+ br_if $pop44, 6 # 6: down to label3
+# BB#25: # %for.inc87
# in Loop: Header=BB0_2 Depth=2
- end_loop # label21:
- i32.add $14=, $6, $14
- i32.load8_u $push46=, 0($14)
- i32.ne $push47=, $pop46, $4
+ i32.const $push121=, 1
+ i32.add $push45=, $6, $pop121
+ i32.load8_u $push46=, 0($pop45)
+ i32.const $push120=, 97
+ i32.ne $push47=, $pop46, $pop120
br_if $pop47, 6 # 6: down to label3
-# BB#27: # %for.inc87
+# BB#26: # %for.inc87.1
# in Loop: Header=BB0_2 Depth=2
- i32.add $push48=, $14, $5
+ i32.const $push148=, 2
+ i32.add $push48=, $6, $pop148
i32.load8_u $push49=, 0($pop48)
- i32.ne $push50=, $pop49, $4
+ i32.const $push147=, 97
+ i32.ne $push50=, $pop49, $pop147
br_if $pop50, 6 # 6: down to label3
-# BB#28: # %for.inc87.1
+# BB#27: # %for.inc87.2
# in Loop: Header=BB0_2 Depth=2
- i32.add $push51=, $14, $7
+ i32.const $push150=, 3
+ i32.add $push51=, $6, $pop150
i32.load8_u $push52=, 0($pop51)
- i32.ne $push53=, $pop52, $4
+ i32.const $push149=, 97
+ i32.ne $push53=, $pop52, $pop149
br_if $pop53, 6 # 6: down to label3
-# BB#29: # %for.inc87.2
+# BB#28: # %for.inc87.3
# in Loop: Header=BB0_2 Depth=2
- i32.add $push54=, $14, $8
+ i32.const $push152=, 4
+ i32.add $push54=, $6, $pop152
i32.load8_u $push55=, 0($pop54)
- i32.ne $push56=, $pop55, $4
+ i32.const $push151=, 97
+ i32.ne $push56=, $pop55, $pop151
br_if $pop56, 6 # 6: down to label3
-# BB#30: # %for.inc87.3
+# BB#29: # %for.inc87.4
# in Loop: Header=BB0_2 Depth=2
- i32.add $push57=, $14, $9
+ i32.const $push154=, 5
+ i32.add $push57=, $6, $pop154
i32.load8_u $push58=, 0($pop57)
- i32.ne $push59=, $pop58, $4
+ i32.const $push153=, 97
+ i32.ne $push59=, $pop58, $pop153
br_if $pop59, 6 # 6: down to label3
-# BB#31: # %for.inc87.4
+# BB#30: # %for.inc87.5
# in Loop: Header=BB0_2 Depth=2
- i32.add $push60=, $14, $10
+ i32.const $push156=, 6
+ i32.add $push60=, $6, $pop156
i32.load8_u $push61=, 0($pop60)
- i32.ne $push62=, $pop61, $4
+ i32.const $push155=, 97
+ i32.ne $push62=, $pop61, $pop155
br_if $pop62, 6 # 6: down to label3
-# BB#32: # %for.inc87.5
+# BB#31: # %for.inc87.6
# in Loop: Header=BB0_2 Depth=2
- i32.add $push63=, $14, $11
+ i32.const $push158=, 7
+ i32.add $push63=, $6, $pop158
i32.load8_u $push64=, 0($pop63)
- i32.ne $push65=, $pop64, $4
+ i32.const $push157=, 97
+ i32.ne $push65=, $pop64, $pop157
br_if $pop65, 6 # 6: down to label3
-# BB#33: # %for.inc87.6
- # in Loop: Header=BB0_2 Depth=2
- i32.add $push66=, $14, $12
- i32.load8_u $push67=, 0($pop66)
- i32.ne $push68=, $pop67, $4
- br_if $pop68, 6 # 6: down to label3
-# BB#34: # %for.inc87.7
+# BB#32: # %for.inc87.7
# in Loop: Header=BB0_2 Depth=2
- i32.const $14=, 0
- i32.const $13=, 66
- call memset@FUNCTION, $1, $13, $2
- i32.const $6=, u
+ i32.const $6=, 0
+ i32.const $push160=, 66
+ i32.call $discard=, memset@FUNCTION, $4, $pop160, $2
+ i32.const $5=, u
block
- i32.le_s $push69=, $0, $14
- br_if $pop69, 0 # 0: down to label22
-.LBB0_35: # %for.body100
+ i32.const $push159=, 0
+ i32.le_s $push66=, $0, $pop159
+ br_if $pop66, 0 # 0: down to label20
+.LBB0_33: # %for.body100
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# => This Inner Loop Header: Depth=3
- loop # label23:
- i32.const $6=, u
- i32.add $push70=, $6, $14
- i32.load8_u $push71=, 0($pop70)
- i32.ne $push72=, $pop71, $4
- br_if $pop72, 1 # 1: down to label24
-# BB#36: # %for.inc106
- # in Loop: Header=BB0_35 Depth=3
- i32.add $14=, $14, $5
- i32.add $6=, $6, $14
- i32.lt_s $push73=, $14, $0
- br_if $pop73, 0 # 0: up to label23
- br 2 # 2: down to label22
-.LBB0_37: # %if.then104
- end_loop # label24:
+ loop # label21:
+ i32.load8_u $push67=, u($6)
+ i32.const $push122=, 97
+ i32.ne $push68=, $pop67, $pop122
+ br_if $pop68, 1 # 1: down to label22
+# BB#34: # %for.inc106
+ # in Loop: Header=BB0_33 Depth=3
+ i32.const $push124=, u+1
+ i32.add $5=, $6, $pop124
+ i32.const $push123=, 1
+ i32.add $3=, $6, $pop123
+ copy_local $6=, $3
+ i32.lt_s $push69=, $3, $0
+ br_if $pop69, 0 # 0: up to label21
+ br 2 # 2: down to label20
+.LBB0_35: # %if.then104
+ end_loop # label22:
call abort@FUNCTION
unreachable
-.LBB0_38: # %for.body113.preheader
+.LBB0_36: # %for.body113.preheader
# in Loop: Header=BB0_2 Depth=2
- end_block # label22:
- i32.const $14=, 0
-.LBB0_39: # %for.body113
+ end_block # label20:
+ i32.const $6=, 0
+.LBB0_37: # %for.body113
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# => This Inner Loop Header: Depth=3
- loop # label25:
- i32.add $push74=, $6, $14
- i32.load8_u $push75=, 0($pop74)
- i32.ne $push76=, $pop75, $13
- br_if $pop76, 7 # 7: down to label4
-# BB#40: # %for.inc119
- # in Loop: Header=BB0_39 Depth=3
- i32.add $14=, $14, $5
- i32.lt_s $push77=, $14, $2
- br_if $pop77, 0 # 0: up to label25
-# BB#41: # %for.body126.preheader
+ loop # label23:
+ i32.add $push70=, $5, $6
+ i32.load8_u $push71=, 0($pop70)
+ i32.const $push125=, 66
+ i32.ne $push72=, $pop71, $pop125
+ br_if $pop72, 7 # 7: down to label4
+# BB#38: # %for.inc119
+ # in Loop: Header=BB0_37 Depth=3
+ i32.const $push126=, 1
+ i32.add $6=, $6, $pop126
+ i32.lt_s $push73=, $6, $2
+ br_if $pop73, 0 # 0: up to label23
+# BB#39: # %for.body126.preheader
# in Loop: Header=BB0_2 Depth=2
- end_loop # label26:
- i32.add $14=, $6, $14
- i32.load8_u $push78=, 0($14)
- i32.ne $push79=, $pop78, $4
- br_if $pop79, 4 # 4: down to label5
-# BB#42: # %for.inc132
+ end_loop # label24:
+ i32.add $push2=, $5, $6
+ tee_local $push128=, $6=, $pop2
+ i32.load8_u $push74=, 0($pop128)
+ i32.const $push127=, 97
+ i32.ne $push75=, $pop74, $pop127
+ br_if $pop75, 4 # 4: down to label5
+# BB#40: # %for.inc132
# in Loop: Header=BB0_2 Depth=2
- i32.add $push80=, $14, $5
- i32.load8_u $push81=, 0($pop80)
- i32.ne $push82=, $pop81, $4
- br_if $pop82, 4 # 4: down to label5
-# BB#43: # %for.inc132.1
+ i32.const $push130=, 1
+ i32.add $push76=, $6, $pop130
+ i32.load8_u $push77=, 0($pop76)
+ i32.const $push129=, 97
+ i32.ne $push78=, $pop77, $pop129
+ br_if $pop78, 4 # 4: down to label5
+# BB#41: # %for.inc132.1
# in Loop: Header=BB0_2 Depth=2
- i32.add $push83=, $14, $7
- i32.load8_u $push84=, 0($pop83)
- i32.ne $push85=, $pop84, $4
- br_if $pop85, 4 # 4: down to label5
-# BB#44: # %for.inc132.2
+ i32.const $push162=, 2
+ i32.add $push79=, $6, $pop162
+ i32.load8_u $push80=, 0($pop79)
+ i32.const $push161=, 97
+ i32.ne $push81=, $pop80, $pop161
+ br_if $pop81, 4 # 4: down to label5
+# BB#42: # %for.inc132.2
# in Loop: Header=BB0_2 Depth=2
- i32.add $push86=, $14, $8
- i32.load8_u $push87=, 0($pop86)
- i32.ne $push88=, $pop87, $4
- br_if $pop88, 4 # 4: down to label5
-# BB#45: # %for.inc132.3
+ i32.const $push164=, 3
+ i32.add $push82=, $6, $pop164
+ i32.load8_u $push83=, 0($pop82)
+ i32.const $push163=, 97
+ i32.ne $push84=, $pop83, $pop163
+ br_if $pop84, 4 # 4: down to label5
+# BB#43: # %for.inc132.3
# in Loop: Header=BB0_2 Depth=2
- i32.add $push89=, $14, $9
- i32.load8_u $push90=, 0($pop89)
- i32.ne $push91=, $pop90, $4
- br_if $pop91, 4 # 4: down to label5
-# BB#46: # %for.inc132.4
+ i32.const $push166=, 4
+ i32.add $push85=, $6, $pop166
+ i32.load8_u $push86=, 0($pop85)
+ i32.const $push165=, 97
+ i32.ne $push87=, $pop86, $pop165
+ br_if $pop87, 4 # 4: down to label5
+# BB#44: # %for.inc132.4
# in Loop: Header=BB0_2 Depth=2
- i32.add $push92=, $14, $10
- i32.load8_u $push93=, 0($pop92)
- i32.ne $push94=, $pop93, $4
- br_if $pop94, 4 # 4: down to label5
-# BB#47: # %for.inc132.5
+ i32.const $push168=, 5
+ i32.add $push88=, $6, $pop168
+ i32.load8_u $push89=, 0($pop88)
+ i32.const $push167=, 97
+ i32.ne $push90=, $pop89, $pop167
+ br_if $pop90, 4 # 4: down to label5
+# BB#45: # %for.inc132.5
# in Loop: Header=BB0_2 Depth=2
- i32.add $push95=, $14, $11
- i32.load8_u $push96=, 0($pop95)
- i32.ne $push97=, $pop96, $4
- br_if $pop97, 4 # 4: down to label5
-# BB#48: # %for.inc132.6
+ i32.const $push170=, 6
+ i32.add $push91=, $6, $pop170
+ i32.load8_u $push92=, 0($pop91)
+ i32.const $push169=, 97
+ i32.ne $push93=, $pop92, $pop169
+ br_if $pop93, 4 # 4: down to label5
+# BB#46: # %for.inc132.6
# in Loop: Header=BB0_2 Depth=2
- i32.add $push98=, $14, $12
- i32.load8_u $push99=, 0($pop98)
- i32.ne $push100=, $pop99, $4
- br_if $pop100, 4 # 4: down to label5
-# BB#49: # %for.inc132.7
+ i32.const $push172=, 7
+ i32.add $push94=, $6, $pop172
+ i32.load8_u $push95=, 0($pop94)
+ i32.const $push171=, 97
+ i32.ne $push96=, $pop95, $pop171
+ br_if $pop96, 4 # 4: down to label5
+# BB#47: # %for.inc132.7
# in Loop: Header=BB0_2 Depth=2
- i32.add $2=, $2, $5
- i32.const $push101=, 80
- i32.lt_u $push102=, $2, $pop101
- br_if $pop102, 0 # 0: up to label8
-# BB#50: # %for.inc139
+ i32.const $push174=, 1
+ i32.add $2=, $2, $pop174
+ i32.const $push173=, 80
+ i32.lt_u $push97=, $2, $pop173
+ br_if $pop97, 0 # 0: up to label8
+# BB#48: # %for.inc139
# in Loop: Header=BB0_1 Depth=1
end_loop # label9:
- i32.add $0=, $0, $5
- i32.const $push103=, 8
- i32.lt_u $push104=, $0, $pop103
- br_if $pop104, 0 # 0: up to label6
-# BB#51: # %for.end141
+ i32.const $push132=, 1
+ i32.add $0=, $0, $pop132
+ i32.const $push131=, 8
+ i32.lt_u $push98=, $0, $pop131
+ br_if $pop98, 0 # 0: up to label6
+# BB#49: # %for.end141
end_loop # label7:
- i32.const $push105=, 0
- call exit@FUNCTION, $pop105
+ i32.const $push99=, 0
+ call exit@FUNCTION, $pop99
unreachable
-.LBB0_52: # %if.then130
+.LBB0_50: # %if.then130
end_block # label5:
call abort@FUNCTION
unreachable
-.LBB0_53: # %if.then117
+.LBB0_51: # %if.then117
end_block # label4:
call abort@FUNCTION
unreachable
-.LBB0_54: # %if.then85
+.LBB0_52: # %if.then85
end_block # label3:
call abort@FUNCTION
unreachable
-.LBB0_55: # %if.then72
+.LBB0_53: # %if.then72
end_block # label2:
call abort@FUNCTION
unreachable
-.LBB0_56: # %if.then39
+.LBB0_54: # %if.then39
end_block # label1:
call abort@FUNCTION
unreachable
-.LBB0_57: # %if.then26
+.LBB0_55: # %if.then26
end_block # label0:
call abort@FUNCTION
unreachable
diff --git a/test/torture-s/memset-2.c.s b/test/torture-s/memset-2.c.s
index e8cd49909..b5795bd6a 100644
--- a/test/torture-s/memset-2.c.s
+++ b/test/torture-s/memset-2.c.s
@@ -5,39 +5,11 @@
.globl reset
.type reset,@function
reset: # @reset
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $push0=, 1633771873
- i32.store $discard=, u($0), $pop0
- i32.const $push1=, 24929
- i32.store16 $discard=, u+4($0), $pop1
+ i32.const $push0=, u
i32.const $push2=, 97
- i32.store8 $push3=, u+6($0), $pop2
- i32.store8 $push4=, u+7($0), $pop3
- i32.store8 $push5=, u+8($0), $pop4
- i32.store8 $push6=, u+9($0), $pop5
- i32.store8 $push7=, u+10($0), $pop6
- i32.store8 $push8=, u+11($0), $pop7
- i32.store8 $push9=, u+12($0), $pop8
- i32.store8 $push10=, u+13($0), $pop9
- i32.store8 $push11=, u+14($0), $pop10
- i32.store8 $push12=, u+15($0), $pop11
- i32.store8 $push13=, u+16($0), $pop12
- i32.store8 $push14=, u+17($0), $pop13
- i32.store8 $push15=, u+18($0), $pop14
- i32.store8 $push16=, u+19($0), $pop15
- i32.store8 $push17=, u+20($0), $pop16
- i32.store8 $push18=, u+21($0), $pop17
- i32.store8 $push19=, u+22($0), $pop18
- i32.store8 $push20=, u+23($0), $pop19
- i32.store8 $push21=, u+24($0), $pop20
- i32.store8 $push22=, u+25($0), $pop21
- i32.store8 $push23=, u+26($0), $pop22
- i32.store8 $push24=, u+27($0), $pop23
- i32.store8 $push25=, u+28($0), $pop24
- i32.store8 $push26=, u+29($0), $pop25
- i32.store8 $discard=, u+30($0), $pop26
+ i32.const $push1=, 31
+ i32.call $discard=, memset@FUNCTION, $pop0, $pop2, $pop1
return
.endfunc
.Lfunc_end0:
@@ -49,29 +21,30 @@ reset: # @reset
.type check,@function
check: # @check
.param i32, i32, i32
- .local i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $4=, 0
+ i32.const $5=, 0
i32.const $3=, u
block
- i32.le_s $push0=, $0, $4
+ i32.const $push29=, 0
+ i32.le_s $push0=, $0, $pop29
br_if $pop0, 0 # 0: down to label0
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $3=, u
- i32.add $push1=, $3, $4
- i32.load8_u $push2=, 0($pop1)
- i32.const $push3=, 97
- i32.ne $push4=, $pop2, $pop3
- br_if $pop4, 1 # 1: down to label2
+ i32.load8_u $push1=, u($5)
+ i32.const $push2=, 97
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 1 # 1: down to label2
# BB#2: # %for.inc
# in Loop: Header=BB1_1 Depth=1
- i32.const $push5=, 1
- i32.add $4=, $4, $pop5
- i32.add $3=, $3, $4
- i32.lt_s $push6=, $4, $0
- br_if $pop6, 0 # 0: up to label1
+ i32.const $push6=, u+1
+ i32.add $3=, $5, $pop6
+ i32.const $push4=, 1
+ i32.add $4=, $5, $pop4
+ copy_local $5=, $4
+ i32.lt_s $push5=, $4, $0
+ br_if $pop5, 0 # 0: up to label1
br 2 # 2: down to label0
.LBB1_3: # %if.then
end_loop # label2:
@@ -79,24 +52,25 @@ check: # @check
unreachable
.LBB1_4: # %for.cond3.preheader
end_block # label0:
- i32.const $4=, 0
- copy_local $0=, $3
+ i32.const $5=, 0
+ copy_local $4=, $3
block
- i32.le_s $push7=, $1, $4
+ i32.const $push30=, 0
+ i32.le_s $push7=, $1, $pop30
br_if $pop7, 0 # 0: down to label3
.LBB1_5: # %for.body6
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.add $push8=, $3, $4
+ i32.add $push8=, $3, $5
i32.load8_s $push9=, 0($pop8)
i32.ne $push10=, $pop9, $2
br_if $pop10, 1 # 1: down to label5
# BB#6: # %for.inc12
# in Loop: Header=BB1_5 Depth=1
i32.const $push11=, 1
- i32.add $4=, $4, $pop11
- i32.add $0=, $3, $4
- i32.lt_s $push12=, $4, $1
+ i32.add $5=, $5, $pop11
+ i32.add $4=, $3, $5
+ i32.lt_s $push12=, $5, $1
br_if $pop12, 0 # 0: up to label4
br 2 # 2: down to label3
.LBB1_7: # %if.then10
@@ -105,38 +79,45 @@ check: # @check
unreachable
.LBB1_8: # %for.body19.preheader
end_block # label3:
- i32.const $4=, 97
block
- i32.load8_u $push13=, 0($0)
- i32.ne $push14=, $pop13, $4
+ i32.load8_u $push13=, 0($4)
+ i32.const $push31=, 97
+ i32.ne $push14=, $pop13, $pop31
br_if $pop14, 0 # 0: down to label6
# BB#9: # %for.inc25
- i32.load8_u $push15=, 1($0)
- i32.ne $push16=, $pop15, $4
+ i32.load8_u $push15=, 1($4)
+ i32.const $push32=, 97
+ i32.ne $push16=, $pop15, $pop32
br_if $pop16, 0 # 0: down to label6
# BB#10: # %for.inc25.1
- i32.load8_u $push17=, 2($0)
- i32.ne $push18=, $pop17, $4
+ i32.load8_u $push17=, 2($4)
+ i32.const $push33=, 97
+ i32.ne $push18=, $pop17, $pop33
br_if $pop18, 0 # 0: down to label6
# BB#11: # %for.inc25.2
- i32.load8_u $push19=, 3($0)
- i32.ne $push20=, $pop19, $4
+ i32.load8_u $push19=, 3($4)
+ i32.const $push34=, 97
+ i32.ne $push20=, $pop19, $pop34
br_if $pop20, 0 # 0: down to label6
# BB#12: # %for.inc25.3
- i32.load8_u $push21=, 4($0)
- i32.ne $push22=, $pop21, $4
+ i32.load8_u $push21=, 4($4)
+ i32.const $push35=, 97
+ i32.ne $push22=, $pop21, $pop35
br_if $pop22, 0 # 0: down to label6
# BB#13: # %for.inc25.4
- i32.load8_u $push23=, 5($0)
- i32.ne $push24=, $pop23, $4
+ i32.load8_u $push23=, 5($4)
+ i32.const $push36=, 97
+ i32.ne $push24=, $pop23, $pop36
br_if $pop24, 0 # 0: down to label6
# BB#14: # %for.inc25.5
- i32.load8_u $push25=, 6($0)
- i32.ne $push26=, $pop25, $4
+ i32.load8_u $push25=, 6($4)
+ i32.const $push37=, 97
+ i32.ne $push26=, $pop25, $pop37
br_if $pop26, 0 # 0: down to label6
# BB#15: # %for.inc25.6
- i32.load8_u $push27=, 7($0)
- i32.ne $push28=, $pop27, $4
+ i32.load8_u $push27=, 7($4)
+ i32.const $push38=, 97
+ i32.ne $push28=, $pop27, $pop38
br_if $pop28, 0 # 0: down to label6
# BB#16: # %for.inc25.7
return
@@ -154,792 +135,538 @@ check: # @check
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i64, i32, i64, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $27=, 0
- copy_local $25=, $27
+ i32.const $6=, 0
.LBB2_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label7:
- i32.const $push0=, 1633771873
- i32.store $22=, u($27), $pop0
- i32.const $push1=, 24929
- i32.store16 $9=, u+4($27), $pop1
- i32.const $push2=, 97
- i32.store8 $push3=, u+6($27), $pop2
- i32.store8 $push4=, u+7($27), $pop3
- i32.store8 $push5=, u+8($27), $pop4
- i32.store8 $push6=, u+9($27), $pop5
- i32.store8 $push7=, u+10($27), $pop6
- i32.store8 $push8=, u+11($27), $pop7
- i32.store8 $push9=, u+12($27), $pop8
- i32.store8 $push10=, u+13($27), $pop9
- i32.store8 $push11=, u+14($27), $pop10
- i32.store8 $push12=, u+15($27), $pop11
- i32.store8 $push13=, u+16($27), $pop12
- i32.store8 $push14=, u+17($27), $pop13
- i32.store8 $push15=, u+18($27), $pop14
- i32.store8 $push16=, u+19($27), $pop15
- i32.store8 $push17=, u+20($27), $pop16
- i32.store8 $push18=, u+21($27), $pop17
- i32.store8 $push19=, u+22($27), $pop18
- i32.store8 $push20=, u+23($27), $pop19
- i32.store8 $push21=, u+24($27), $pop20
- i32.store8 $push22=, u+25($27), $pop21
- i32.store8 $push23=, u+26($27), $pop22
- i32.store8 $push24=, u+27($27), $pop23
- i32.store8 $push25=, u+28($27), $pop24
- i32.store8 $push26=, u+29($27), $pop25
- i32.store8 $13=, u+30($27), $pop26
- i32.const $0=, u
- i32.add $24=, $0, $25
- i32.store8 $17=, 0($24), $27
- i32.const $1=, 1
- call check@FUNCTION, $25, $1, $17
- i32.const $2=, 65
- i32.load8_u $push27=, A($17)
- i32.store8 $discard=, 0($24), $pop27
- call check@FUNCTION, $25, $1, $2
- i32.const $push28=, 66
- i32.store8 $21=, 0($24), $pop28
- call check@FUNCTION, $25, $1, $21
- i32.add $25=, $25, $1
- i32.const $3=, 8
- copy_local $24=, $17
- i32.ne $push29=, $25, $3
- br_if $pop29, 0 # 0: up to label7
+ i32.const $push154=, u
+ i32.const $push153=, 97
+ i32.const $push152=, 31
+ i32.call $discard=, memset@FUNCTION, $pop154, $pop153, $pop152
+ i32.const $push151=, 1
+ i32.const $push150=, 0
+ i32.store8 $push136=, u($6), $pop150
+ tee_local $push149=, $5=, $pop136
+ call check@FUNCTION, $6, $pop151, $pop149
+ i32.load8_u $push0=, A($5)
+ i32.store8 $discard=, u($6), $pop0
+ i32.const $push148=, 1
+ i32.const $push147=, 65
+ call check@FUNCTION, $6, $pop148, $pop147
+ i32.const $push146=, 1
+ i32.const $push145=, 66
+ i32.store8 $push1=, u($6), $pop145
+ call check@FUNCTION, $6, $pop146, $pop1
+ i32.const $push144=, 1
+ i32.add $6=, $6, $pop144
+ i32.const $push143=, 8
+ i32.ne $push2=, $6, $pop143
+ br_if $pop2, 0 # 0: up to label7
.LBB2_2: # %for.body18
# =>This Inner Loop Header: Depth=1
end_loop # label8:
loop # label9:
- i32.store8 $push30=, u+6($17), $13
- i32.store8 $push31=, u+7($17), $pop30
- i32.store8 $push32=, u+8($17), $pop31
- i32.store8 $push33=, u+9($17), $pop32
- i32.store8 $push34=, u+10($17), $pop33
- i32.store8 $push35=, u+11($17), $pop34
- i32.store8 $push36=, u+12($17), $pop35
- i32.store8 $push37=, u+13($17), $pop36
- i32.store8 $push38=, u+14($17), $pop37
- i32.store8 $push39=, u+15($17), $pop38
- i32.store8 $push40=, u+16($17), $pop39
- i32.store8 $push41=, u+17($17), $pop40
- i32.store8 $push42=, u+18($17), $pop41
- i32.store8 $push43=, u+19($17), $pop42
- i32.store8 $push44=, u+20($17), $pop43
- i32.store8 $push45=, u+21($17), $pop44
- i32.store8 $push46=, u+22($17), $pop45
- i32.store8 $push47=, u+23($17), $pop46
- i32.store8 $push48=, u+24($17), $pop47
- i32.store8 $push49=, u+25($17), $pop48
- i32.store8 $push50=, u+26($17), $pop49
- i32.store8 $push51=, u+27($17), $pop50
- i32.store8 $push52=, u+28($17), $pop51
- i32.store8 $push53=, u+29($17), $pop52
- i32.store8 $8=, u+30($17), $pop53
- i32.store $11=, u($17), $22
- i32.store16 $12=, u+4($17), $9
- i32.add $18=, $0, $24
- i32.add $23=, $18, $1
- i32.store8 $push54=, 0($23), $17
- i32.store8 $27=, 0($18), $pop54
- i32.const $25=, 2
- call check@FUNCTION, $24, $25, $27
- i32.load8_u $push55=, A($27)
- i32.store8 $push56=, 0($23), $pop55
- i32.store8 $discard=, 0($18), $pop56
- call check@FUNCTION, $24, $25, $2
- i32.store8 $push57=, 0($23), $21
- i32.store8 $26=, 0($18), $pop57
- call check@FUNCTION, $24, $25, $26
- i32.add $24=, $24, $1
- copy_local $18=, $27
- i32.ne $push58=, $24, $3
- br_if $pop58, 0 # 0: up to label9
+ i32.const $push4=, u
+ i32.const $push164=, 97
+ i32.const $push163=, 31
+ i32.call $1=, memset@FUNCTION, $pop4, $pop164, $pop163
+ i32.const $push6=, 2
+ i32.const $push3=, 0
+ i32.store16 $push5=, u($5):p2align=0, $pop3
+ tee_local $push162=, $8=, $pop5
+ call check@FUNCTION, $5, $pop6, $pop162
+ i32.load8_u $push7=, A($8)
+ i32.const $push161=, 257
+ i32.mul $push8=, $pop7, $pop161
+ i32.store16 $discard=, u($5):p2align=0, $pop8
+ i32.const $push160=, 2
+ i32.const $push159=, 65
+ call check@FUNCTION, $5, $pop160, $pop159
+ i32.const $push9=, 16962
+ i32.store16 $3=, u($5):p2align=0, $pop9
+ i32.const $push158=, 2
+ i32.const $push157=, 66
+ call check@FUNCTION, $5, $pop158, $pop157
+ i32.const $push156=, 1
+ i32.add $5=, $5, $pop156
+ copy_local $6=, $8
+ i32.const $push155=, 8
+ i32.ne $push10=, $5, $pop155
+ br_if $pop10, 0 # 0: up to label9
.LBB2_3: # %for.body44
# =>This Inner Loop Header: Depth=1
end_loop # label10:
loop # label11:
- i32.store8 $push59=, u+6($27), $8
- i32.store8 $push60=, u+7($27), $pop59
- i32.store8 $push61=, u+8($27), $pop60
- i32.store8 $push62=, u+9($27), $pop61
- i32.store8 $push63=, u+10($27), $pop62
- i32.store8 $push64=, u+11($27), $pop63
- i32.store8 $push65=, u+12($27), $pop64
- i32.store8 $push66=, u+13($27), $pop65
- i32.store8 $push67=, u+14($27), $pop66
- i32.store8 $push68=, u+15($27), $pop67
- i32.store8 $push69=, u+16($27), $pop68
- i32.store8 $push70=, u+17($27), $pop69
- i32.store8 $push71=, u+18($27), $pop70
- i32.store8 $push72=, u+19($27), $pop71
- i32.store8 $push73=, u+20($27), $pop72
- i32.store8 $push74=, u+21($27), $pop73
- i32.store8 $push75=, u+22($27), $pop74
- i32.store8 $push76=, u+23($27), $pop75
- i32.store8 $push77=, u+24($27), $pop76
- i32.store8 $push78=, u+25($27), $pop77
- i32.store8 $push79=, u+26($27), $pop78
- i32.store8 $push80=, u+27($27), $pop79
- i32.store8 $push81=, u+28($27), $pop80
- i32.store8 $push82=, u+29($27), $pop81
- i32.store8 $15=, u+30($27), $pop82
- i32.store $16=, u($27), $11
- i32.store16 $20=, u+4($27), $12
- i32.add $24=, $0, $18
- i32.add $21=, $24, $25
- i32.store8 $17=, 0($21), $27
- i32.add $22=, $24, $1
- i32.store8 $push83=, 0($22), $17
- i32.store8 $17=, 0($24), $pop83
- i32.const $23=, 3
- call check@FUNCTION, $18, $23, $17
- i32.load8_u $push84=, A($17)
- i32.store8 $push85=, 0($21), $pop84
- i32.store8 $push86=, 0($22), $pop85
- i32.store8 $discard=, 0($24), $pop86
- call check@FUNCTION, $18, $23, $2
- i32.store8 $push87=, 0($21), $26
- i32.store8 $push88=, 0($22), $pop87
- i32.store8 $13=, 0($24), $pop88
- call check@FUNCTION, $18, $23, $13
- i32.add $18=, $18, $1
- copy_local $24=, $17
- i32.ne $push89=, $18, $3
- br_if $pop89, 0 # 0: up to label11
+ i32.const $push174=, 97
+ i32.const $push173=, 31
+ i32.call $discard=, memset@FUNCTION, $1, $pop174, $pop173
+ i32.const $push12=, 3
+ i32.store8 $push11=, u+2($6), $8
+ i32.store16 $push137=, u($6):p2align=0, $pop11
+ tee_local $push172=, $5=, $pop137
+ call check@FUNCTION, $6, $pop12, $pop172
+ i32.load8_u $push13=, A($5)
+ i32.store8 $push14=, u+2($6), $pop13
+ i32.const $push171=, 257
+ i32.mul $push15=, $pop14, $pop171
+ i32.store16 $discard=, u($6):p2align=0, $pop15
+ i32.const $push170=, 3
+ i32.const $push169=, 65
+ call check@FUNCTION, $6, $pop170, $pop169
+ i32.const $push168=, 66
+ i32.store8 $0=, u+2($6), $pop168
+ i32.store16 $discard=, u($6):p2align=0, $3
+ i32.const $push167=, 3
+ call check@FUNCTION, $6, $pop167, $0
+ i32.const $push166=, 1
+ i32.add $6=, $6, $pop166
+ i32.const $push165=, 8
+ i32.ne $push16=, $6, $pop165
+ br_if $pop16, 0 # 0: up to label11
.LBB2_4: # %for.body70
# =>This Inner Loop Header: Depth=1
end_loop # label12:
loop # label13:
- i32.store8 $push90=, u+6($17), $15
- i32.store8 $push91=, u+7($17), $pop90
- i32.store8 $push92=, u+8($17), $pop91
- i32.store8 $push93=, u+9($17), $pop92
- i32.store8 $push94=, u+10($17), $pop93
- i32.store8 $push95=, u+11($17), $pop94
- i32.store8 $push96=, u+12($17), $pop95
- i32.store8 $push97=, u+13($17), $pop96
- i32.store8 $push98=, u+14($17), $pop97
- i32.store8 $push99=, u+15($17), $pop98
- i32.store8 $push100=, u+16($17), $pop99
- i32.store8 $push101=, u+17($17), $pop100
- i32.store8 $push102=, u+18($17), $pop101
- i32.store8 $push103=, u+19($17), $pop102
- i32.store8 $push104=, u+20($17), $pop103
- i32.store8 $push105=, u+21($17), $pop104
- i32.store8 $push106=, u+22($17), $pop105
- i32.store8 $push107=, u+23($17), $pop106
- i32.store8 $push108=, u+24($17), $pop107
- i32.store8 $push109=, u+25($17), $pop108
- i32.store8 $push110=, u+26($17), $pop109
- i32.store8 $push111=, u+27($17), $pop110
- i32.store8 $push112=, u+28($17), $pop111
- i32.store8 $push113=, u+29($17), $pop112
- i32.store8 $12=, u+30($17), $pop113
- i32.store $4=, u($17), $16
- i32.store16 $5=, u+4($17), $20
- i32.add $18=, $0, $24
- i32.add $22=, $18, $23
- i32.store8 $27=, 0($22), $17
- i32.add $26=, $18, $25
- i32.store8 $discard=, 0($26), $27
- i32.add $9=, $18, $1
- i32.store8 $push114=, 0($9), $27
- i32.store8 $27=, 0($18), $pop114
- i32.const $21=, 4
- call check@FUNCTION, $24, $21, $27
- i32.load8_u $push115=, A($27)
- i32.store8 $push116=, 0($22), $pop115
- i32.store8 $push117=, 0($26), $pop116
- i32.store8 $push118=, 0($9), $pop117
- i32.store8 $discard=, 0($18), $pop118
- call check@FUNCTION, $24, $21, $2
- i32.store8 $push119=, 0($22), $13
- i32.store8 $push120=, 0($26), $pop119
- i32.store8 $push121=, 0($9), $pop120
- i32.store8 $11=, 0($18), $pop121
- call check@FUNCTION, $24, $21, $11
- i32.add $24=, $24, $1
- copy_local $18=, $27
- i32.ne $push122=, $24, $3
- br_if $pop122, 0 # 0: up to label13
+ i32.const $push18=, u
+ i32.const $push184=, 97
+ i32.const $push183=, 31
+ i32.call $1=, memset@FUNCTION, $pop18, $pop184, $pop183
+ i32.const $push20=, 4
+ i32.const $push17=, 0
+ i32.store $push19=, u($5):p2align=0, $pop17
+ tee_local $push182=, $8=, $pop19
+ call check@FUNCTION, $5, $pop20, $pop182
+ i32.load8_u $push21=, A($8)
+ i32.const $push181=, 16843009
+ i32.mul $push22=, $pop21, $pop181
+ i32.store $discard=, u($5):p2align=0, $pop22
+ i32.const $push180=, 4
+ i32.const $push179=, 65
+ call check@FUNCTION, $5, $pop180, $pop179
+ i32.const $push23=, 1111638594
+ i32.store $3=, u($5):p2align=0, $pop23
+ i32.const $push178=, 4
+ i32.const $push177=, 66
+ call check@FUNCTION, $5, $pop178, $pop177
+ i32.const $push176=, 1
+ i32.add $5=, $5, $pop176
+ copy_local $6=, $8
+ i32.const $push175=, 8
+ i32.ne $push24=, $5, $pop175
+ br_if $pop24, 0 # 0: up to label13
.LBB2_5: # %for.body96
# =>This Inner Loop Header: Depth=1
end_loop # label14:
loop # label15:
- i32.store8 $push123=, u+6($27), $12
- i32.store8 $push124=, u+7($27), $pop123
- i32.store8 $push125=, u+8($27), $pop124
- i32.store8 $push126=, u+9($27), $pop125
- i32.store8 $push127=, u+10($27), $pop126
- i32.store8 $push128=, u+11($27), $pop127
- i32.store8 $push129=, u+12($27), $pop128
- i32.store8 $push130=, u+13($27), $pop129
- i32.store8 $push131=, u+14($27), $pop130
- i32.store8 $push132=, u+15($27), $pop131
- i32.store8 $push133=, u+16($27), $pop132
- i32.store8 $push134=, u+17($27), $pop133
- i32.store8 $push135=, u+18($27), $pop134
- i32.store8 $push136=, u+19($27), $pop135
- i32.store8 $push137=, u+20($27), $pop136
- i32.store8 $push138=, u+21($27), $pop137
- i32.store8 $push139=, u+22($27), $pop138
- i32.store8 $push140=, u+23($27), $pop139
- i32.store8 $push141=, u+24($27), $pop140
- i32.store8 $push142=, u+25($27), $pop141
- i32.store8 $push143=, u+26($27), $pop142
- i32.store8 $push144=, u+27($27), $pop143
- i32.store8 $push145=, u+28($27), $pop144
- i32.store8 $push146=, u+29($27), $pop145
- i32.store8 $16=, u+30($27), $pop146
- i32.store $6=, u($27), $4
- i32.store16 $7=, u+4($27), $5
- i32.add $24=, $0, $18
- i32.add $22=, $24, $21
- i32.store8 $17=, 0($22), $27
- i32.add $26=, $24, $23
- i32.store8 $discard=, 0($26), $17
- i32.add $13=, $24, $25
- i32.store8 $discard=, 0($13), $17
- i32.add $8=, $24, $1
- i32.store8 $push147=, 0($8), $17
- i32.store8 $17=, 0($24), $pop147
- i32.const $9=, 5
- call check@FUNCTION, $18, $9, $17
- i32.load8_u $push148=, A($17)
- i32.store8 $push149=, 0($22), $pop148
- i32.store8 $push150=, 0($26), $pop149
- i32.store8 $push151=, 0($13), $pop150
- i32.store8 $push152=, 0($8), $pop151
- i32.store8 $discard=, 0($24), $pop152
- call check@FUNCTION, $18, $9, $2
- i32.store8 $push153=, 0($22), $11
- i32.store8 $push154=, 0($26), $pop153
- i32.store8 $push155=, 0($13), $pop154
- i32.store8 $push156=, 0($8), $pop155
- i32.store8 $15=, 0($24), $pop156
- call check@FUNCTION, $18, $9, $15
- i32.add $18=, $18, $1
- copy_local $22=, $17
- i32.ne $push157=, $18, $3
- br_if $pop157, 0 # 0: up to label15
+ i32.const $push194=, 97
+ i32.const $push193=, 31
+ i32.call $discard=, memset@FUNCTION, $1, $pop194, $pop193
+ i32.const $push26=, 5
+ i32.store8 $push25=, u+4($6), $8
+ i32.store $push138=, u($6):p2align=0, $pop25
+ tee_local $push192=, $5=, $pop138
+ call check@FUNCTION, $6, $pop26, $pop192
+ i32.load8_u $push27=, A($5)
+ i32.store8 $push28=, u+4($6), $pop27
+ i32.const $push191=, 16843009
+ i32.mul $push29=, $pop28, $pop191
+ i32.store $discard=, u($6):p2align=0, $pop29
+ i32.const $push190=, 5
+ i32.const $push189=, 65
+ call check@FUNCTION, $6, $pop190, $pop189
+ i32.const $push188=, 66
+ i32.store8 $0=, u+4($6), $pop188
+ i32.store $discard=, u($6):p2align=0, $3
+ i32.const $push187=, 5
+ call check@FUNCTION, $6, $pop187, $0
+ i32.const $push186=, 1
+ i32.add $6=, $6, $pop186
+ i32.const $push185=, 8
+ i32.ne $push30=, $6, $pop185
+ br_if $pop30, 0 # 0: up to label15
.LBB2_6: # %for.body122
# =>This Inner Loop Header: Depth=1
end_loop # label16:
loop # label17:
- i32.store8 $push158=, u+6($17), $16
- i32.store8 $push159=, u+7($17), $pop158
- i32.store8 $push160=, u+8($17), $pop159
- i32.store8 $push161=, u+9($17), $pop160
- i32.store8 $push162=, u+10($17), $pop161
- i32.store8 $push163=, u+11($17), $pop162
- i32.store8 $push164=, u+12($17), $pop163
- i32.store8 $push165=, u+13($17), $pop164
- i32.store8 $push166=, u+14($17), $pop165
- i32.store8 $push167=, u+15($17), $pop166
- i32.store8 $push168=, u+16($17), $pop167
- i32.store8 $push169=, u+17($17), $pop168
- i32.store8 $push170=, u+18($17), $pop169
- i32.store8 $push171=, u+19($17), $pop170
- i32.store8 $push172=, u+20($17), $pop171
- i32.store8 $push173=, u+21($17), $pop172
- i32.store8 $push174=, u+22($17), $pop173
- i32.store8 $push175=, u+23($17), $pop174
- i32.store8 $push176=, u+24($17), $pop175
- i32.store8 $push177=, u+25($17), $pop176
- i32.store8 $push178=, u+26($17), $pop177
- i32.store8 $push179=, u+27($17), $pop178
- i32.store8 $push180=, u+28($17), $pop179
- i32.store8 $push181=, u+29($17), $pop180
- i32.store8 $4=, u+30($17), $pop181
- i32.store $5=, u($17), $6
- i32.store16 $10=, u+4($17), $7
- i32.add $24=, $0, $22
- i32.add $18=, $24, $9
- i32.store8 $27=, 0($18), $17
- i32.add $26=, $24, $21
- i32.store8 $discard=, 0($26), $27
- i32.add $8=, $24, $23
- i32.store8 $discard=, 0($8), $27
- i32.add $11=, $24, $25
- i32.store8 $discard=, 0($11), $27
- i32.add $12=, $24, $1
- i32.store8 $push182=, 0($12), $27
- i32.store8 $27=, 0($24), $pop182
- i32.const $13=, 6
- call check@FUNCTION, $22, $13, $27
- i32.load8_u $push183=, A($27)
- i32.store8 $push184=, 0($18), $pop183
- i32.store8 $push185=, 0($26), $pop184
- i32.store8 $push186=, 0($8), $pop185
- i32.store8 $push187=, 0($11), $pop186
- i32.store8 $push188=, 0($12), $pop187
- i32.store8 $discard=, 0($24), $pop188
- call check@FUNCTION, $22, $13, $2
- i32.store8 $push189=, 0($18), $15
- i32.store8 $push190=, 0($26), $pop189
- i32.store8 $push191=, 0($8), $pop190
- i32.store8 $push192=, 0($11), $pop191
- i32.store8 $push193=, 0($12), $pop192
- i32.store8 $20=, 0($24), $pop193
- call check@FUNCTION, $22, $13, $20
- i32.add $22=, $22, $1
- copy_local $26=, $27
- i32.ne $push194=, $22, $3
- br_if $pop194, 0 # 0: up to label17
+ i32.const $push32=, u
+ i32.const $push206=, 97
+ i32.const $push205=, 31
+ i32.call $1=, memset@FUNCTION, $pop32, $pop206, $pop205
+ i32.const $push35=, 6
+ i32.const $push31=, 0
+ i32.store16 $push33=, u+4($5):p2align=0, $pop31
+ i32.store $push34=, u($5):p2align=0, $pop33
+ tee_local $push204=, $8=, $pop34
+ call check@FUNCTION, $5, $pop35, $pop204
+ i32.load8_u $push36=, A($8)
+ tee_local $push203=, $6=, $pop36
+ i32.const $push202=, 257
+ i32.mul $push37=, $pop203, $pop202
+ i32.store16 $discard=, u+4($5):p2align=0, $pop37
+ i32.const $push201=, 16843009
+ i32.mul $push38=, $6, $pop201
+ i32.store $discard=, u($5):p2align=0, $pop38
+ i32.const $push200=, 6
+ i32.const $push199=, 65
+ call check@FUNCTION, $5, $pop200, $pop199
+ i32.const $push39=, 16962
+ i32.store16 $3=, u+4($5):p2align=0, $pop39
+ i32.const $push40=, 1111638594
+ i32.store $0=, u($5):p2align=0, $pop40
+ i32.const $push198=, 6
+ i32.const $push197=, 66
+ call check@FUNCTION, $5, $pop198, $pop197
+ i32.const $push196=, 1
+ i32.add $5=, $5, $pop196
+ copy_local $6=, $8
+ i32.const $push195=, 8
+ i32.ne $push41=, $5, $pop195
+ br_if $pop41, 0 # 0: up to label17
.LBB2_7: # %for.body148
# =>This Inner Loop Header: Depth=1
end_loop # label18:
loop # label19:
- i32.store8 $push195=, u+6($27), $4
- i32.store8 $push196=, u+7($27), $pop195
- i32.store8 $push197=, u+8($27), $pop196
- i32.store8 $push198=, u+9($27), $pop197
- i32.store8 $push199=, u+10($27), $pop198
- i32.store8 $push200=, u+11($27), $pop199
- i32.store8 $push201=, u+12($27), $pop200
- i32.store8 $push202=, u+13($27), $pop201
- i32.store8 $push203=, u+14($27), $pop202
- i32.store8 $push204=, u+15($27), $pop203
- i32.store8 $push205=, u+16($27), $pop204
- i32.store8 $push206=, u+17($27), $pop205
- i32.store8 $push207=, u+18($27), $pop206
- i32.store8 $push208=, u+19($27), $pop207
- i32.store8 $push209=, u+20($27), $pop208
- i32.store8 $push210=, u+21($27), $pop209
- i32.store8 $push211=, u+22($27), $pop210
- i32.store8 $push212=, u+23($27), $pop211
- i32.store8 $push213=, u+24($27), $pop212
- i32.store8 $push214=, u+25($27), $pop213
- i32.store8 $push215=, u+26($27), $pop214
- i32.store8 $push216=, u+27($27), $pop215
- i32.store8 $push217=, u+28($27), $pop216
- i32.store8 $push218=, u+29($27), $pop217
- i32.store8 $6=, u+30($27), $pop218
- i32.store $7=, u($27), $5
- i32.store16 $14=, u+4($27), $10
- i32.add $24=, $0, $26
- i32.add $18=, $24, $13
- i32.store8 $17=, 0($18), $27
- i32.add $8=, $24, $9
- i32.store8 $discard=, 0($8), $17
- i32.add $11=, $24, $21
- i32.store8 $discard=, 0($11), $17
- i32.add $12=, $24, $23
- i32.store8 $discard=, 0($12), $17
- i32.add $15=, $24, $25
- i32.store8 $discard=, 0($15), $17
- i32.add $16=, $24, $1
- i32.store8 $push219=, 0($16), $17
- i32.store8 $17=, 0($24), $pop219
- i32.const $22=, 7
- call check@FUNCTION, $26, $22, $17
- i32.load8_u $push220=, A($17)
- i32.store8 $push221=, 0($18), $pop220
- i32.store8 $push222=, 0($8), $pop221
- i32.store8 $push223=, 0($11), $pop222
- i32.store8 $push224=, 0($12), $pop223
- i32.store8 $push225=, 0($15), $pop224
- i32.store8 $push226=, 0($16), $pop225
- i32.store8 $discard=, 0($24), $pop226
- call check@FUNCTION, $26, $22, $2
- i32.store8 $push227=, 0($18), $20
- i32.store8 $push228=, 0($8), $pop227
- i32.store8 $push229=, 0($11), $pop228
- i32.store8 $push230=, 0($12), $pop229
- i32.store8 $push231=, 0($15), $pop230
- i32.store8 $push232=, 0($16), $pop231
- i32.store8 $18=, 0($24), $pop232
- call check@FUNCTION, $26, $22, $18
- i32.add $26=, $26, $1
- copy_local $24=, $17
- i32.ne $push233=, $26, $3
- br_if $pop233, 0 # 0: up to label19
+ i32.const $push218=, 97
+ i32.const $push217=, 31
+ i32.call $discard=, memset@FUNCTION, $1, $pop218, $pop217
+ i32.const $push44=, 7
+ i32.store8 $push42=, u+6($6), $8
+ i32.store16 $push43=, u+4($6):p2align=0, $pop42
+ i32.store $push139=, u($6):p2align=0, $pop43
+ tee_local $push216=, $5=, $pop139
+ call check@FUNCTION, $6, $pop44, $pop216
+ i32.load8_u $push45=, A($5)
+ i32.store8 $push46=, u+6($6), $pop45
+ tee_local $push215=, $7=, $pop46
+ i32.const $push214=, 257
+ i32.mul $push47=, $pop215, $pop214
+ i32.store16 $discard=, u+4($6):p2align=0, $pop47
+ i32.const $push213=, 16843009
+ i32.mul $push48=, $7, $pop213
+ i32.store $discard=, u($6):p2align=0, $pop48
+ i32.const $push212=, 7
+ i32.const $push211=, 65
+ call check@FUNCTION, $6, $pop212, $pop211
+ i32.const $push210=, 66
+ i32.store8 $7=, u+6($6), $pop210
+ i32.store16 $discard=, u+4($6):p2align=0, $3
+ i32.store $discard=, u($6):p2align=0, $0
+ i32.const $push209=, 7
+ call check@FUNCTION, $6, $pop209, $7
+ i32.const $push208=, 1
+ i32.add $6=, $6, $pop208
+ i32.const $push207=, 8
+ i32.ne $push49=, $6, $pop207
+ br_if $pop49, 0 # 0: up to label19
.LBB2_8: # %for.body174
# =>This Inner Loop Header: Depth=1
end_loop # label20:
loop # label21:
- i32.store8 $push234=, u+6($17), $6
- i32.store8 $push235=, u+7($17), $pop234
- i32.store8 $push236=, u+8($17), $pop235
- i32.store8 $push237=, u+9($17), $pop236
- i32.store8 $push238=, u+10($17), $pop237
- i32.store8 $push239=, u+11($17), $pop238
- i32.store8 $push240=, u+12($17), $pop239
- i32.store8 $push241=, u+13($17), $pop240
- i32.store8 $push242=, u+14($17), $pop241
- i32.store8 $push243=, u+15($17), $pop242
- i32.store8 $push244=, u+16($17), $pop243
- i32.store8 $push245=, u+17($17), $pop244
- i32.store8 $push246=, u+18($17), $pop245
- i32.store8 $push247=, u+19($17), $pop246
- i32.store8 $push248=, u+20($17), $pop247
- i32.store8 $push249=, u+21($17), $pop248
- i32.store8 $push250=, u+22($17), $pop249
- i32.store8 $push251=, u+23($17), $pop250
- i32.store8 $push252=, u+24($17), $pop251
- i32.store8 $push253=, u+25($17), $pop252
- i32.store8 $push254=, u+26($17), $pop253
- i32.store8 $push255=, u+27($17), $pop254
- i32.store8 $push256=, u+28($17), $pop255
- i32.store8 $push257=, u+29($17), $pop256
- i32.store8 $4=, u+30($17), $pop257
- i32.store $5=, u($17), $7
- i32.store16 $10=, u+4($17), $14
- i32.add $27=, $0, $24
- i32.add $26=, $27, $22
- i64.const $push258=, 0
- i64.store8 $19=, 0($26), $pop258
- i32.add $8=, $27, $13
- i64.store8 $discard=, 0($8), $19
- i32.add $11=, $27, $9
- i64.store8 $discard=, 0($11), $19
- i32.add $12=, $27, $21
- i64.store8 $discard=, 0($12), $19
- i32.add $15=, $27, $23
- i64.store8 $discard=, 0($15), $19
- i32.add $16=, $27, $25
- i64.store8 $discard=, 0($16), $19
- i32.add $20=, $27, $1
- i64.store8 $push259=, 0($20), $19
- i64.store8 $discard=, 0($27), $pop259
- call check@FUNCTION, $24, $3, $17
- i32.load8_u $push260=, A($17)
- i32.store8 $push261=, 0($26), $pop260
- i32.store8 $push262=, 0($8), $pop261
- i32.store8 $push263=, 0($11), $pop262
- i32.store8 $push264=, 0($12), $pop263
- i32.store8 $push265=, 0($15), $pop264
- i32.store8 $push266=, 0($16), $pop265
- i32.store8 $push267=, 0($20), $pop266
- i32.store8 $discard=, 0($27), $pop267
- call check@FUNCTION, $24, $3, $2
- i64.const $push268=, 66
- i64.store8 $push269=, 0($26), $pop268
- i64.store8 $push270=, 0($8), $pop269
- i64.store8 $push271=, 0($11), $pop270
- i64.store8 $push272=, 0($12), $pop271
- i64.store8 $push273=, 0($15), $pop272
- i64.store8 $push274=, 0($16), $pop273
- i64.store8 $push275=, 0($20), $pop274
- i64.store8 $discard=, 0($27), $pop275
- call check@FUNCTION, $24, $3, $18
- i32.add $24=, $24, $1
- copy_local $27=, $17
- i32.ne $push276=, $24, $3
- br_if $pop276, 0 # 0: up to label21
+ i32.const $push50=, u
+ i32.const $push230=, 97
+ i32.const $push229=, 31
+ i32.call $8=, memset@FUNCTION, $pop50, $pop230, $pop229
+ i64.const $push51=, 0
+ i64.store $discard=, u($5):p2align=0, $pop51
+ i32.const $push228=, 8
+ i32.const $push227=, 0
+ call check@FUNCTION, $5, $pop228, $pop227
+ i32.const $push226=, 0
+ i32.load8_u $push52=, A($pop226)
+ i32.const $push225=, 16843009
+ i32.mul $push53=, $pop52, $pop225
+ i32.store $push54=, u+4($5):p2align=0, $pop53
+ i32.store $discard=, u($5):p2align=0, $pop54
+ i32.const $push224=, 8
+ i32.const $push223=, 65
+ call check@FUNCTION, $5, $pop224, $pop223
+ i64.const $push55=, 4774451407313060418
+ i64.store $discard=, u($5):p2align=0, $pop55
+ i32.const $push222=, 8
+ i32.const $push221=, 66
+ call check@FUNCTION, $5, $pop222, $pop221
+ i32.const $push220=, 1
+ i32.add $5=, $5, $pop220
+ i32.const $6=, 0
+ i32.const $push219=, 8
+ i32.ne $push56=, $5, $pop219
+ br_if $pop56, 0 # 0: up to label21
.LBB2_9: # %for.body200
# =>This Inner Loop Header: Depth=1
end_loop # label22:
loop # label23:
- i32.store8 $push277=, u+6($17), $4
- i32.store8 $push278=, u+7($17), $pop277
- i32.store8 $push279=, u+8($17), $pop278
- i32.store8 $push280=, u+9($17), $pop279
- i32.store8 $push281=, u+10($17), $pop280
- i32.store8 $push282=, u+11($17), $pop281
- i32.store8 $push283=, u+12($17), $pop282
- i32.store8 $push284=, u+13($17), $pop283
- i32.store8 $push285=, u+14($17), $pop284
- i32.store8 $push286=, u+15($17), $pop285
- i32.store8 $push287=, u+16($17), $pop286
- i32.store8 $push288=, u+17($17), $pop287
- i32.store8 $push289=, u+18($17), $pop288
- i32.store8 $push290=, u+19($17), $pop289
- i32.store8 $push291=, u+20($17), $pop290
- i32.store8 $push292=, u+21($17), $pop291
- i32.store8 $push293=, u+22($17), $pop292
- i32.store8 $push294=, u+23($17), $pop293
- i32.store8 $push295=, u+24($17), $pop294
- i32.store8 $push296=, u+25($17), $pop295
- i32.store8 $push297=, u+26($17), $pop296
- i32.store8 $push298=, u+27($17), $pop297
- i32.store8 $push299=, u+28($17), $pop298
- i32.store8 $push300=, u+29($17), $pop299
- i32.store8 $23=, u+30($17), $pop300
- i32.store $21=, u($17), $5
- i32.add $24=, $0, $27
- i32.const $25=, 9
- i32.store16 $22=, u+4($17), $10
- call memset@FUNCTION, $24, $17, $25
- call check@FUNCTION, $27, $25, $17
- i32.load8_u $push301=, A($17)
- call memset@FUNCTION, $24, $pop301, $25
- call check@FUNCTION, $27, $25, $2
- call memset@FUNCTION, $24, $18, $25
- call check@FUNCTION, $27, $25, $18
- i32.add $27=, $27, $1
- copy_local $25=, $17
- i32.ne $push302=, $27, $3
- br_if $pop302, 0 # 0: up to label23
+ i32.const $push241=, 97
+ i32.const $push240=, 31
+ i32.call $discard=, memset@FUNCTION, $8, $pop241, $pop240
+ i32.const $push59=, 9
+ i32.const $push239=, 0
+ i32.store8 $push57=, u+8($6), $pop239
+ i32.store $push58=, u+4($6):p2align=0, $pop57
+ i32.store $push140=, u($6):p2align=0, $pop58
+ tee_local $push238=, $5=, $pop140
+ call check@FUNCTION, $6, $pop59, $pop238
+ i32.load8_u $push60=, A($5)
+ i32.store8 $push61=, u+8($6), $pop60
+ i32.const $push237=, 16843009
+ i32.mul $push62=, $pop61, $pop237
+ i32.store $push63=, u+4($6):p2align=0, $pop62
+ i32.store $discard=, u($6):p2align=0, $pop63
+ i32.const $push236=, 9
+ i32.const $push235=, 65
+ call check@FUNCTION, $6, $pop236, $pop235
+ i32.const $push234=, 66
+ i32.store8 $1=, u+8($6), $pop234
+ i32.const $push64=, 1111638594
+ i32.store $push65=, u+4($6):p2align=0, $pop64
+ i32.store $3=, u($6):p2align=0, $pop65
+ i32.const $push233=, 9
+ call check@FUNCTION, $6, $pop233, $1
+ i32.const $push232=, 1
+ i32.add $6=, $6, $pop232
+ i32.const $push231=, 8
+ i32.ne $push66=, $6, $pop231
+ br_if $pop66, 0 # 0: up to label23
.LBB2_10: # %for.body226
# =>This Inner Loop Header: Depth=1
end_loop # label24:
loop # label25:
- i32.store8 $push303=, u+6($17), $23
- i32.store8 $push304=, u+7($17), $pop303
- i32.store8 $push305=, u+8($17), $pop304
- i32.store8 $push306=, u+9($17), $pop305
- i32.store8 $push307=, u+10($17), $pop306
- i32.store8 $push308=, u+11($17), $pop307
- i32.store8 $push309=, u+12($17), $pop308
- i32.store8 $push310=, u+13($17), $pop309
- i32.store8 $push311=, u+14($17), $pop310
- i32.store8 $push312=, u+15($17), $pop311
- i32.store8 $push313=, u+16($17), $pop312
- i32.store8 $push314=, u+17($17), $pop313
- i32.store8 $push315=, u+18($17), $pop314
- i32.store8 $push316=, u+19($17), $pop315
- i32.store8 $push317=, u+20($17), $pop316
- i32.store8 $push318=, u+21($17), $pop317
- i32.store8 $push319=, u+22($17), $pop318
- i32.store8 $push320=, u+23($17), $pop319
- i32.store8 $push321=, u+24($17), $pop320
- i32.store8 $push322=, u+25($17), $pop321
- i32.store8 $push323=, u+26($17), $pop322
- i32.store8 $push324=, u+27($17), $pop323
- i32.store8 $push325=, u+28($17), $pop324
- i32.store8 $push326=, u+29($17), $pop325
- i32.store8 $26=, u+30($17), $pop326
- i32.store $9=, u($17), $21
- i32.add $24=, $0, $25
- i32.const $27=, 10
- i32.store16 $13=, u+4($17), $22
- call memset@FUNCTION, $24, $17, $27
- call check@FUNCTION, $25, $27, $17
- i32.load8_u $push327=, A($17)
- call memset@FUNCTION, $24, $pop327, $27
- call check@FUNCTION, $25, $27, $2
- call memset@FUNCTION, $24, $18, $27
- call check@FUNCTION, $25, $27, $18
- i32.add $25=, $25, $1
- copy_local $27=, $17
- i32.ne $push328=, $25, $3
- br_if $pop328, 0 # 0: up to label25
+ i32.const $push68=, u
+ i32.const $push253=, 97
+ i32.const $push252=, 31
+ i32.call $1=, memset@FUNCTION, $pop68, $pop253, $pop252
+ i32.const $push72=, 10
+ i32.const $push67=, 0
+ i32.store16 $push69=, u+8($5):p2align=0, $pop67
+ i32.store $push70=, u+4($5):p2align=0, $pop69
+ i32.store $push71=, u($5):p2align=0, $pop70
+ tee_local $push251=, $8=, $pop71
+ call check@FUNCTION, $5, $pop72, $pop251
+ i32.load8_u $push73=, A($8)
+ tee_local $push250=, $6=, $pop73
+ i32.const $push249=, 257
+ i32.mul $push74=, $pop250, $pop249
+ i32.store16 $discard=, u+8($5):p2align=0, $pop74
+ i32.const $push248=, 16843009
+ i32.mul $push75=, $6, $pop248
+ i32.store $push76=, u+4($5):p2align=0, $pop75
+ i32.store $discard=, u($5):p2align=0, $pop76
+ i32.const $push247=, 10
+ i32.const $push246=, 65
+ call check@FUNCTION, $5, $pop247, $pop246
+ i32.const $push77=, 16962
+ i32.store16 $0=, u+8($5):p2align=0, $pop77
+ i32.store $push78=, u+4($5):p2align=0, $3
+ i32.store $discard=, u($5):p2align=0, $pop78
+ i32.const $push245=, 10
+ i32.const $push244=, 66
+ call check@FUNCTION, $5, $pop245, $pop244
+ i32.const $push243=, 1
+ i32.add $5=, $5, $pop243
+ copy_local $6=, $8
+ i32.const $push242=, 8
+ i32.ne $push79=, $5, $pop242
+ br_if $pop79, 0 # 0: up to label25
.LBB2_11: # %for.body252
# =>This Inner Loop Header: Depth=1
end_loop # label26:
loop # label27:
- i32.store8 $push329=, u+6($17), $26
- i32.store8 $push330=, u+7($17), $pop329
- i32.store8 $push331=, u+8($17), $pop330
- i32.store8 $push332=, u+9($17), $pop331
- i32.store8 $push333=, u+10($17), $pop332
- i32.store8 $push334=, u+11($17), $pop333
- i32.store8 $push335=, u+12($17), $pop334
- i32.store8 $push336=, u+13($17), $pop335
- i32.store8 $push337=, u+14($17), $pop336
- i32.store8 $push338=, u+15($17), $pop337
- i32.store8 $push339=, u+16($17), $pop338
- i32.store8 $push340=, u+17($17), $pop339
- i32.store8 $push341=, u+18($17), $pop340
- i32.store8 $push342=, u+19($17), $pop341
- i32.store8 $push343=, u+20($17), $pop342
- i32.store8 $push344=, u+21($17), $pop343
- i32.store8 $push345=, u+22($17), $pop344
- i32.store8 $push346=, u+23($17), $pop345
- i32.store8 $push347=, u+24($17), $pop346
- i32.store8 $push348=, u+25($17), $pop347
- i32.store8 $push349=, u+26($17), $pop348
- i32.store8 $push350=, u+27($17), $pop349
- i32.store8 $push351=, u+28($17), $pop350
- i32.store8 $push352=, u+29($17), $pop351
- i32.store8 $23=, u+30($17), $pop352
- i32.store $21=, u($17), $9
- i32.add $24=, $0, $27
- i32.const $25=, 11
- i32.store16 $22=, u+4($17), $13
- call memset@FUNCTION, $24, $17, $25
- call check@FUNCTION, $27, $25, $17
- i32.load8_u $push353=, A($17)
- call memset@FUNCTION, $24, $pop353, $25
- call check@FUNCTION, $27, $25, $2
- call memset@FUNCTION, $24, $18, $25
- call check@FUNCTION, $27, $25, $18
- i32.add $27=, $27, $1
- copy_local $25=, $17
- i32.ne $push354=, $27, $3
- br_if $pop354, 0 # 0: up to label27
+ i32.const $push265=, 97
+ i32.const $push264=, 31
+ i32.call $discard=, memset@FUNCTION, $1, $pop265, $pop264
+ i32.const $push83=, 11
+ i32.store8 $push80=, u+10($6), $8
+ i32.store16 $push81=, u+8($6):p2align=0, $pop80
+ i32.store $push82=, u+4($6):p2align=0, $pop81
+ i32.store $push141=, u($6):p2align=0, $pop82
+ tee_local $push263=, $5=, $pop141
+ call check@FUNCTION, $6, $pop83, $pop263
+ i32.load8_u $push84=, A($5)
+ i32.store8 $push85=, u+10($6), $pop84
+ tee_local $push262=, $3=, $pop85
+ i32.const $push261=, 257
+ i32.mul $push86=, $pop262, $pop261
+ i32.store16 $discard=, u+8($6):p2align=0, $pop86
+ i32.const $push260=, 16843009
+ i32.mul $push87=, $3, $pop260
+ i32.store $push88=, u+4($6):p2align=0, $pop87
+ i32.store $discard=, u($6):p2align=0, $pop88
+ i32.const $push259=, 11
+ i32.const $push258=, 65
+ call check@FUNCTION, $6, $pop259, $pop258
+ i32.const $push257=, 66
+ i32.store8 $3=, u+10($6), $pop257
+ i32.store16 $discard=, u+8($6):p2align=0, $0
+ i32.const $push89=, 1111638594
+ i32.store $push90=, u+4($6):p2align=0, $pop89
+ i32.store $7=, u($6):p2align=0, $pop90
+ i32.const $push256=, 11
+ call check@FUNCTION, $6, $pop256, $3
+ i32.const $push255=, 1
+ i32.add $6=, $6, $pop255
+ i32.const $push254=, 8
+ i32.ne $push91=, $6, $pop254
+ br_if $pop91, 0 # 0: up to label27
.LBB2_12: # %for.body278
# =>This Inner Loop Header: Depth=1
end_loop # label28:
loop # label29:
- i32.store8 $push355=, u+6($17), $23
- i32.store8 $push356=, u+7($17), $pop355
- i32.store8 $push357=, u+8($17), $pop356
- i32.store8 $push358=, u+9($17), $pop357
- i32.store8 $push359=, u+10($17), $pop358
- i32.store8 $push360=, u+11($17), $pop359
- i32.store8 $push361=, u+12($17), $pop360
- i32.store8 $push362=, u+13($17), $pop361
- i32.store8 $push363=, u+14($17), $pop362
- i32.store8 $push364=, u+15($17), $pop363
- i32.store8 $push365=, u+16($17), $pop364
- i32.store8 $push366=, u+17($17), $pop365
- i32.store8 $push367=, u+18($17), $pop366
- i32.store8 $push368=, u+19($17), $pop367
- i32.store8 $push369=, u+20($17), $pop368
- i32.store8 $push370=, u+21($17), $pop369
- i32.store8 $push371=, u+22($17), $pop370
- i32.store8 $push372=, u+23($17), $pop371
- i32.store8 $push373=, u+24($17), $pop372
- i32.store8 $push374=, u+25($17), $pop373
- i32.store8 $push375=, u+26($17), $pop374
- i32.store8 $push376=, u+27($17), $pop375
- i32.store8 $push377=, u+28($17), $pop376
- i32.store8 $push378=, u+29($17), $pop377
- i32.store8 $26=, u+30($17), $pop378
- i32.store $9=, u($17), $21
- i32.add $24=, $0, $25
- i32.const $27=, 12
- i32.store16 $13=, u+4($17), $22
- call memset@FUNCTION, $24, $17, $27
- call check@FUNCTION, $25, $27, $17
- i32.load8_u $push379=, A($17)
- call memset@FUNCTION, $24, $pop379, $27
- call check@FUNCTION, $25, $27, $2
- call memset@FUNCTION, $24, $18, $27
- call check@FUNCTION, $25, $27, $18
- i32.add $25=, $25, $1
- copy_local $27=, $17
- i32.ne $push380=, $25, $3
- br_if $pop380, 0 # 0: up to label29
+ i32.const $push93=, u
+ i32.const $push275=, 97
+ i32.const $push274=, 31
+ i32.call $1=, memset@FUNCTION, $pop93, $pop275, $pop274
+ i64.const $push94=, 0
+ i64.store $2=, u+4($5):p2align=0, $pop94
+ i32.const $push96=, 12
+ i32.const $push92=, 0
+ i32.store $push95=, u($5):p2align=0, $pop92
+ tee_local $push273=, $8=, $pop95
+ call check@FUNCTION, $5, $pop96, $pop273
+ i32.load8_u $push97=, A($8)
+ i32.const $push272=, 16843009
+ i32.mul $push98=, $pop97, $pop272
+ i32.store $push99=, u+8($5):p2align=0, $pop98
+ i32.store $push100=, u+4($5):p2align=0, $pop99
+ i32.store $discard=, u($5):p2align=0, $pop100
+ i32.const $push271=, 12
+ i32.const $push270=, 65
+ call check@FUNCTION, $5, $pop271, $pop270
+ i64.const $push101=, 4774451407313060418
+ i64.store $4=, u+4($5):p2align=0, $pop101
+ i32.store $discard=, u($5):p2align=0, $7
+ i32.const $push269=, 12
+ i32.const $push268=, 66
+ call check@FUNCTION, $5, $pop269, $pop268
+ i32.const $push267=, 1
+ i32.add $5=, $5, $pop267
+ copy_local $6=, $8
+ i32.const $push266=, 8
+ i32.ne $push102=, $5, $pop266
+ br_if $pop102, 0 # 0: up to label29
.LBB2_13: # %for.body304
# =>This Inner Loop Header: Depth=1
end_loop # label30:
loop # label31:
- i32.store8 $push381=, u+6($17), $26
- i32.store8 $push382=, u+7($17), $pop381
- i32.store8 $push383=, u+8($17), $pop382
- i32.store8 $push384=, u+9($17), $pop383
- i32.store8 $push385=, u+10($17), $pop384
- i32.store8 $push386=, u+11($17), $pop385
- i32.store8 $push387=, u+12($17), $pop386
- i32.store8 $push388=, u+13($17), $pop387
- i32.store8 $push389=, u+14($17), $pop388
- i32.store8 $push390=, u+15($17), $pop389
- i32.store8 $push391=, u+16($17), $pop390
- i32.store8 $push392=, u+17($17), $pop391
- i32.store8 $push393=, u+18($17), $pop392
- i32.store8 $push394=, u+19($17), $pop393
- i32.store8 $push395=, u+20($17), $pop394
- i32.store8 $push396=, u+21($17), $pop395
- i32.store8 $push397=, u+22($17), $pop396
- i32.store8 $push398=, u+23($17), $pop397
- i32.store8 $push399=, u+24($17), $pop398
- i32.store8 $push400=, u+25($17), $pop399
- i32.store8 $push401=, u+26($17), $pop400
- i32.store8 $push402=, u+27($17), $pop401
- i32.store8 $push403=, u+28($17), $pop402
- i32.store8 $push404=, u+29($17), $pop403
- i32.store8 $8=, u+30($17), $pop404
- i32.store $11=, u($17), $9
- i32.add $24=, $0, $27
- i32.const $25=, 13
- i32.store16 $12=, u+4($17), $13
- call memset@FUNCTION, $24, $17, $25
- call check@FUNCTION, $27, $25, $17
- i32.load8_u $push405=, A($17)
- call memset@FUNCTION, $24, $pop405, $25
- call check@FUNCTION, $27, $25, $2
- call memset@FUNCTION, $24, $18, $25
- call check@FUNCTION, $27, $25, $18
- i32.add $27=, $27, $1
- copy_local $25=, $17
- i32.ne $push406=, $27, $3
- br_if $pop406, 0 # 0: up to label31
+ i32.const $push285=, 97
+ i32.const $push284=, 31
+ i32.call $discard=, memset@FUNCTION, $1, $pop285, $pop284
+ i32.store8 $5=, u+12($6), $8
+ i64.store $discard=, u+4($6):p2align=0, $2
+ i32.const $push103=, 13
+ i32.store $push142=, u($6):p2align=0, $5
+ tee_local $push283=, $5=, $pop142
+ call check@FUNCTION, $6, $pop103, $pop283
+ i32.load8_u $push104=, A($5)
+ i32.store8 $push105=, u+12($6), $pop104
+ i32.const $push282=, 16843009
+ i32.mul $push106=, $pop105, $pop282
+ i32.store $push107=, u+8($6):p2align=0, $pop106
+ i32.store $push108=, u+4($6):p2align=0, $pop107
+ i32.store $discard=, u($6):p2align=0, $pop108
+ i32.const $push281=, 13
+ i32.const $push280=, 65
+ call check@FUNCTION, $6, $pop281, $pop280
+ i32.const $push279=, 66
+ i32.store8 $3=, u+12($6), $pop279
+ i64.store $discard=, u+4($6):p2align=0, $4
+ i32.const $push109=, 1111638594
+ i32.store $0=, u($6):p2align=0, $pop109
+ i32.const $push278=, 13
+ call check@FUNCTION, $6, $pop278, $3
+ i32.const $push277=, 1
+ i32.add $6=, $6, $pop277
+ i32.const $push276=, 8
+ i32.ne $push110=, $6, $pop276
+ br_if $pop110, 0 # 0: up to label31
.LBB2_14: # %for.body330
# =>This Inner Loop Header: Depth=1
end_loop # label32:
loop # label33:
- i32.store8 $push407=, u+6($17), $8
- i32.store8 $push408=, u+7($17), $pop407
- i32.store8 $push409=, u+8($17), $pop408
- i32.store8 $push410=, u+9($17), $pop409
- i32.store8 $push411=, u+10($17), $pop410
- i32.store8 $push412=, u+11($17), $pop411
- i32.store8 $push413=, u+12($17), $pop412
- i32.store8 $push414=, u+13($17), $pop413
- i32.store8 $push415=, u+14($17), $pop414
- i32.store8 $push416=, u+15($17), $pop415
- i32.store8 $push417=, u+16($17), $pop416
- i32.store8 $push418=, u+17($17), $pop417
- i32.store8 $push419=, u+18($17), $pop418
- i32.store8 $push420=, u+19($17), $pop419
- i32.store8 $push421=, u+20($17), $pop420
- i32.store8 $push422=, u+21($17), $pop421
- i32.store8 $push423=, u+22($17), $pop422
- i32.store8 $push424=, u+23($17), $pop423
- i32.store8 $push425=, u+24($17), $pop424
- i32.store8 $push426=, u+25($17), $pop425
- i32.store8 $push427=, u+26($17), $pop426
- i32.store8 $push428=, u+27($17), $pop427
- i32.store8 $push429=, u+28($17), $pop428
- i32.store8 $push430=, u+29($17), $pop429
- i32.store8 $23=, u+30($17), $pop430
- i32.store $21=, u($17), $11
- i32.add $24=, $0, $25
- i32.const $27=, 14
- i32.store16 $22=, u+4($17), $12
- call memset@FUNCTION, $24, $17, $27
- call check@FUNCTION, $25, $27, $17
- i32.load8_u $push431=, A($17)
- call memset@FUNCTION, $24, $pop431, $27
- call check@FUNCTION, $25, $27, $2
- call memset@FUNCTION, $24, $18, $27
- call check@FUNCTION, $25, $27, $18
- i32.add $25=, $25, $1
- copy_local $27=, $17
- i32.ne $push432=, $25, $3
- br_if $pop432, 0 # 0: up to label33
+ i32.const $push112=, u
+ i32.const $push297=, 97
+ i32.const $push296=, 31
+ i32.call $1=, memset@FUNCTION, $pop112, $pop297, $pop296
+ i32.const $push111=, 0
+ i32.store16 $6=, u+12($5):p2align=0, $pop111
+ i64.const $push113=, 0
+ i64.store $2=, u+4($5):p2align=0, $pop113
+ i32.const $push115=, 14
+ i32.store $push114=, u($5):p2align=0, $6
+ tee_local $push295=, $8=, $pop114
+ call check@FUNCTION, $5, $pop115, $pop295
+ i32.load8_u $push116=, A($8)
+ tee_local $push294=, $6=, $pop116
+ i32.const $push293=, 257
+ i32.mul $push117=, $pop294, $pop293
+ i32.store16 $discard=, u+12($5):p2align=0, $pop117
+ i32.const $push292=, 16843009
+ i32.mul $push118=, $6, $pop292
+ i32.store $push119=, u+8($5):p2align=0, $pop118
+ i32.store $push120=, u+4($5):p2align=0, $pop119
+ i32.store $discard=, u($5):p2align=0, $pop120
+ i32.const $push291=, 14
+ i32.const $push290=, 65
+ call check@FUNCTION, $5, $pop291, $pop290
+ i32.const $push121=, 16962
+ i32.store16 $3=, u+12($5):p2align=0, $pop121
+ i64.const $push122=, 4774451407313060418
+ i64.store $4=, u+4($5):p2align=0, $pop122
+ i32.store $discard=, u($5):p2align=0, $0
+ i32.const $push289=, 14
+ i32.const $push288=, 66
+ call check@FUNCTION, $5, $pop289, $pop288
+ i32.const $push287=, 1
+ i32.add $5=, $5, $pop287
+ copy_local $6=, $8
+ i32.const $push286=, 8
+ i32.ne $push123=, $5, $pop286
+ br_if $pop123, 0 # 0: up to label33
.LBB2_15: # %for.body356
# =>This Inner Loop Header: Depth=1
end_loop # label34:
loop # label35:
- i32.store8 $push433=, u+6($17), $23
- i32.store8 $push434=, u+7($17), $pop433
- i32.store8 $push435=, u+8($17), $pop434
- i32.store8 $push436=, u+9($17), $pop435
- i32.store8 $push437=, u+10($17), $pop436
- i32.store8 $push438=, u+11($17), $pop437
- i32.store8 $push439=, u+12($17), $pop438
- i32.store8 $push440=, u+13($17), $pop439
- i32.store8 $push441=, u+14($17), $pop440
- i32.store8 $push442=, u+15($17), $pop441
- i32.store8 $push443=, u+16($17), $pop442
- i32.store8 $push444=, u+17($17), $pop443
- i32.store8 $push445=, u+18($17), $pop444
- i32.store8 $push446=, u+19($17), $pop445
- i32.store8 $push447=, u+20($17), $pop446
- i32.store8 $push448=, u+21($17), $pop447
- i32.store8 $push449=, u+22($17), $pop448
- i32.store8 $push450=, u+23($17), $pop449
- i32.store8 $push451=, u+24($17), $pop450
- i32.store8 $push452=, u+25($17), $pop451
- i32.store8 $push453=, u+26($17), $pop452
- i32.store8 $push454=, u+27($17), $pop453
- i32.store8 $push455=, u+28($17), $pop454
- i32.store8 $push456=, u+29($17), $pop455
- i32.store8 $discard=, u+30($17), $pop456
- i32.store $discard=, u($17), $21
- i32.add $24=, $0, $27
- i32.const $25=, 15
- i32.store16 $discard=, u+4($17), $22
- call memset@FUNCTION, $24, $17, $25
- call check@FUNCTION, $27, $25, $17
- i32.load8_u $push457=, A($17)
- call memset@FUNCTION, $24, $pop457, $25
- call check@FUNCTION, $27, $25, $2
- call memset@FUNCTION, $24, $18, $25
- call check@FUNCTION, $27, $25, $18
- i32.add $27=, $27, $1
- i32.ne $push458=, $27, $3
- br_if $pop458, 0 # 0: up to label35
+ i32.const $push309=, 97
+ i32.const $push308=, 31
+ i32.call $discard=, memset@FUNCTION, $1, $pop309, $pop308
+ i32.store8 $push124=, u+14($6), $8
+ i32.store16 $5=, u+12($6):p2align=0, $pop124
+ i64.store $discard=, u+4($6):p2align=0, $2
+ i32.const $push126=, 15
+ i32.store $push125=, u($6):p2align=0, $5
+ tee_local $push307=, $5=, $pop125
+ call check@FUNCTION, $6, $pop126, $pop307
+ i32.load8_u $push127=, A($5)
+ i32.store8 $push128=, u+14($6), $pop127
+ tee_local $push306=, $5=, $pop128
+ i32.const $push305=, 257
+ i32.mul $push129=, $pop306, $pop305
+ i32.store16 $discard=, u+12($6):p2align=0, $pop129
+ i32.const $push304=, 16843009
+ i32.mul $push130=, $5, $pop304
+ i32.store $push131=, u+8($6):p2align=0, $pop130
+ i32.store $push132=, u+4($6):p2align=0, $pop131
+ i32.store $discard=, u($6):p2align=0, $pop132
+ i32.const $push303=, 15
+ i32.const $push302=, 65
+ call check@FUNCTION, $6, $pop303, $pop302
+ i32.const $push301=, 66
+ i32.store8 $5=, u+14($6), $pop301
+ i32.store16 $discard=, u+12($6):p2align=0, $3
+ i64.store $discard=, u+4($6):p2align=0, $4
+ i32.const $push133=, 1111638594
+ i32.store $discard=, u($6):p2align=0, $pop133
+ i32.const $push300=, 15
+ call check@FUNCTION, $6, $pop300, $5
+ i32.const $push299=, 1
+ i32.add $6=, $6, $pop299
+ i32.const $push298=, 8
+ i32.ne $push134=, $6, $pop298
+ br_if $pop134, 0 # 0: up to label35
# BB#16: # %for.end378
end_loop # label36:
- i32.const $push459=, 0
- call exit@FUNCTION, $pop459
+ i32.const $push135=, 0
+ call exit@FUNCTION, $pop135
unreachable
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/memset-3.c.s b/test/torture-s/memset-3.c.s
index 589e2b430..b9760d84e 100644
--- a/test/torture-s/memset-3.c.s
+++ b/test/torture-s/memset-3.c.s
@@ -5,39 +5,11 @@
.globl reset
.type reset,@function
reset: # @reset
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $push0=, 1633771873
- i32.store $discard=, u($0), $pop0
- i32.const $push1=, 24929
- i32.store16 $discard=, u+4($0), $pop1
+ i32.const $push0=, u
i32.const $push2=, 97
- i32.store8 $push3=, u+6($0), $pop2
- i32.store8 $push4=, u+7($0), $pop3
- i32.store8 $push5=, u+8($0), $pop4
- i32.store8 $push6=, u+9($0), $pop5
- i32.store8 $push7=, u+10($0), $pop6
- i32.store8 $push8=, u+11($0), $pop7
- i32.store8 $push9=, u+12($0), $pop8
- i32.store8 $push10=, u+13($0), $pop9
- i32.store8 $push11=, u+14($0), $pop10
- i32.store8 $push12=, u+15($0), $pop11
- i32.store8 $push13=, u+16($0), $pop12
- i32.store8 $push14=, u+17($0), $pop13
- i32.store8 $push15=, u+18($0), $pop14
- i32.store8 $push16=, u+19($0), $pop15
- i32.store8 $push17=, u+20($0), $pop16
- i32.store8 $push18=, u+21($0), $pop17
- i32.store8 $push19=, u+22($0), $pop18
- i32.store8 $push20=, u+23($0), $pop19
- i32.store8 $push21=, u+24($0), $pop20
- i32.store8 $push22=, u+25($0), $pop21
- i32.store8 $push23=, u+26($0), $pop22
- i32.store8 $push24=, u+27($0), $pop23
- i32.store8 $push25=, u+28($0), $pop24
- i32.store8 $push26=, u+29($0), $pop25
- i32.store8 $discard=, u+30($0), $pop26
+ i32.const $push1=, 31
+ i32.call $discard=, memset@FUNCTION, $pop0, $pop2, $pop1
return
.endfunc
.Lfunc_end0:
@@ -49,29 +21,30 @@ reset: # @reset
.type check,@function
check: # @check
.param i32, i32, i32
- .local i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $4=, 0
+ i32.const $5=, 0
i32.const $3=, u
block
- i32.le_s $push0=, $0, $4
+ i32.const $push29=, 0
+ i32.le_s $push0=, $0, $pop29
br_if $pop0, 0 # 0: down to label0
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $3=, u
- i32.add $push1=, $3, $4
- i32.load8_u $push2=, 0($pop1)
- i32.const $push3=, 97
- i32.ne $push4=, $pop2, $pop3
- br_if $pop4, 1 # 1: down to label2
+ i32.load8_u $push1=, u($5)
+ i32.const $push2=, 97
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 1 # 1: down to label2
# BB#2: # %for.inc
# in Loop: Header=BB1_1 Depth=1
- i32.const $push5=, 1
- i32.add $4=, $4, $pop5
- i32.add $3=, $3, $4
- i32.lt_s $push6=, $4, $0
- br_if $pop6, 0 # 0: up to label1
+ i32.const $push6=, u+1
+ i32.add $3=, $5, $pop6
+ i32.const $push4=, 1
+ i32.add $4=, $5, $pop4
+ copy_local $5=, $4
+ i32.lt_s $push5=, $4, $0
+ br_if $pop5, 0 # 0: up to label1
br 2 # 2: down to label0
.LBB1_3: # %if.then
end_loop # label2:
@@ -79,24 +52,25 @@ check: # @check
unreachable
.LBB1_4: # %for.cond3.preheader
end_block # label0:
- i32.const $4=, 0
- copy_local $0=, $3
+ i32.const $5=, 0
+ copy_local $4=, $3
block
- i32.le_s $push7=, $1, $4
+ i32.const $push30=, 0
+ i32.le_s $push7=, $1, $pop30
br_if $pop7, 0 # 0: down to label3
.LBB1_5: # %for.body6
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.add $push8=, $3, $4
+ i32.add $push8=, $3, $5
i32.load8_s $push9=, 0($pop8)
i32.ne $push10=, $pop9, $2
br_if $pop10, 1 # 1: down to label5
# BB#6: # %for.inc12
# in Loop: Header=BB1_5 Depth=1
i32.const $push11=, 1
- i32.add $4=, $4, $pop11
- i32.add $0=, $3, $4
- i32.lt_s $push12=, $4, $1
+ i32.add $5=, $5, $pop11
+ i32.add $4=, $3, $5
+ i32.lt_s $push12=, $5, $1
br_if $pop12, 0 # 0: up to label4
br 2 # 2: down to label3
.LBB1_7: # %if.then10
@@ -105,38 +79,45 @@ check: # @check
unreachable
.LBB1_8: # %for.body19.preheader
end_block # label3:
- i32.const $4=, 97
block
- i32.load8_u $push13=, 0($0)
- i32.ne $push14=, $pop13, $4
+ i32.load8_u $push13=, 0($4)
+ i32.const $push31=, 97
+ i32.ne $push14=, $pop13, $pop31
br_if $pop14, 0 # 0: down to label6
# BB#9: # %for.inc25
- i32.load8_u $push15=, 1($0)
- i32.ne $push16=, $pop15, $4
+ i32.load8_u $push15=, 1($4)
+ i32.const $push32=, 97
+ i32.ne $push16=, $pop15, $pop32
br_if $pop16, 0 # 0: down to label6
# BB#10: # %for.inc25.1
- i32.load8_u $push17=, 2($0)
- i32.ne $push18=, $pop17, $4
+ i32.load8_u $push17=, 2($4)
+ i32.const $push33=, 97
+ i32.ne $push18=, $pop17, $pop33
br_if $pop18, 0 # 0: down to label6
# BB#11: # %for.inc25.2
- i32.load8_u $push19=, 3($0)
- i32.ne $push20=, $pop19, $4
+ i32.load8_u $push19=, 3($4)
+ i32.const $push34=, 97
+ i32.ne $push20=, $pop19, $pop34
br_if $pop20, 0 # 0: down to label6
# BB#12: # %for.inc25.3
- i32.load8_u $push21=, 4($0)
- i32.ne $push22=, $pop21, $4
+ i32.load8_u $push21=, 4($4)
+ i32.const $push35=, 97
+ i32.ne $push22=, $pop21, $pop35
br_if $pop22, 0 # 0: down to label6
# BB#13: # %for.inc25.4
- i32.load8_u $push23=, 5($0)
- i32.ne $push24=, $pop23, $4
+ i32.load8_u $push23=, 5($4)
+ i32.const $push36=, 97
+ i32.ne $push24=, $pop23, $pop36
br_if $pop24, 0 # 0: down to label6
# BB#14: # %for.inc25.5
- i32.load8_u $push25=, 6($0)
- i32.ne $push26=, $pop25, $4
+ i32.load8_u $push25=, 6($4)
+ i32.const $push37=, 97
+ i32.ne $push26=, $pop25, $pop37
br_if $pop26, 0 # 0: down to label6
# BB#15: # %for.inc25.6
- i32.load8_u $push27=, 7($0)
- i32.ne $push28=, $pop27, $4
+ i32.load8_u $push27=, 7($4)
+ i32.const $push38=, 97
+ i32.ne $push28=, $pop27, $pop38
br_if $pop28, 0 # 0: down to label6
# BB#16: # %for.inc25.7
return
@@ -154,10 +135,9 @@ check: # @check
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $12=, 0
- copy_local $13=, $12
+ i32.const $1=, 0
.LBB2_1: # %for.body
# =>This Loop Header: Depth=1
# Child Loop BB2_2 Depth 2
@@ -167,57 +147,33 @@ main: # @main
block
block
loop # label10:
- i32.const $push0=, 1633771873
- i32.store $8=, u($12), $pop0
- i32.const $push1=, 24929
- i32.store16 $9=, u+4($12), $pop1
- i32.const $push2=, 97
- i32.store8 $push3=, u+6($12), $pop2
- i32.store8 $push4=, u+7($12), $pop3
- i32.store8 $push5=, u+8($12), $pop4
- i32.store8 $push6=, u+9($12), $pop5
- i32.store8 $push7=, u+10($12), $pop6
- i32.store8 $push8=, u+11($12), $pop7
- i32.store8 $push9=, u+12($12), $pop8
- i32.store8 $push10=, u+13($12), $pop9
- i32.store8 $push11=, u+14($12), $pop10
- i32.store8 $push12=, u+15($12), $pop11
- i32.store8 $push13=, u+16($12), $pop12
- i32.store8 $push14=, u+17($12), $pop13
- i32.store8 $push15=, u+18($12), $pop14
- i32.store8 $push16=, u+19($12), $pop15
- i32.store8 $push17=, u+20($12), $pop16
- i32.store8 $push18=, u+21($12), $pop17
- i32.store8 $push19=, u+22($12), $pop18
- i32.store8 $push20=, u+23($12), $pop19
- i32.store8 $push21=, u+24($12), $pop20
- i32.store8 $push22=, u+25($12), $pop21
- i32.store8 $push23=, u+26($12), $pop22
- i32.store8 $push24=, u+27($12), $pop23
- i32.store8 $push25=, u+28($12), $pop24
- i32.store8 $2=, u+29($12), $pop25
- i32.const $11=, u
- i32.store8 $10=, u+30($12), $2
- call memset@FUNCTION, $11, $12, $13
- i32.const $0=, 1
- i32.lt_s $6=, $13, $0
- copy_local $2=, $12
+ i32.const $push0=, u
+ i32.const $push107=, 97
+ i32.const $push106=, 31
+ i32.call $push1=, memset@FUNCTION, $pop0, $pop107, $pop106
+ i32.const $push105=, 0
+ i32.call $2=, memset@FUNCTION, $pop1, $pop105, $1
+ i32.const $3=, 0
block
- br_if $6, 0 # 0: down to label12
+ i32.const $push104=, 1
+ i32.lt_s $push2=, $1, $pop104
+ tee_local $push103=, $4=, $pop2
+ br_if $pop103, 0 # 0: down to label12
.LBB2_2: # %for.body6.i
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label13:
- i32.const $11=, u
- i32.add $push26=, $11, $2
- i32.load8_u $push27=, 0($pop26)
- br_if $pop27, 1 # 1: down to label14
+ i32.load8_u $push3=, u($3)
+ br_if $pop3, 1 # 1: down to label14
# BB#3: # %for.inc12.i
# in Loop: Header=BB2_2 Depth=2
- i32.add $2=, $2, $0
- i32.add $11=, $11, $2
- i32.lt_s $push28=, $2, $13
- br_if $pop28, 0 # 0: up to label13
+ i32.const $push109=, u+1
+ i32.add $2=, $3, $pop109
+ i32.const $push108=, 1
+ i32.add $0=, $3, $pop108
+ copy_local $3=, $0
+ i32.lt_s $push4=, $0, $1
+ br_if $pop4, 0 # 0: up to label13
br 2 # 2: down to label12
.LBB2_4: # %if.then10.i
end_loop # label14:
@@ -226,68 +182,78 @@ main: # @main
.LBB2_5: # %for.body19.preheader.i
# in Loop: Header=BB2_1 Depth=1
end_block # label12:
- i32.load8_u $push29=, 0($11)
- i32.ne $push30=, $pop29, $10
- br_if $pop30, 4 # 4: down to label7
+ i32.load8_u $push5=, 0($2)
+ i32.const $push110=, 97
+ i32.ne $push6=, $pop5, $pop110
+ br_if $pop6, 4 # 4: down to label7
# BB#6: # %for.inc25.i
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push31=, 1($11)
- i32.ne $push32=, $pop31, $10
- br_if $pop32, 4 # 4: down to label7
+ i32.load8_u $push7=, 1($2)
+ i32.const $push111=, 97
+ i32.ne $push8=, $pop7, $pop111
+ br_if $pop8, 4 # 4: down to label7
# BB#7: # %for.inc25.1.i
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push33=, 2($11)
- i32.ne $push34=, $pop33, $10
- br_if $pop34, 4 # 4: down to label7
+ i32.load8_u $push9=, 2($2)
+ i32.const $push112=, 97
+ i32.ne $push10=, $pop9, $pop112
+ br_if $pop10, 4 # 4: down to label7
# BB#8: # %for.inc25.2.i
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push35=, 3($11)
- i32.ne $push36=, $pop35, $10
- br_if $pop36, 4 # 4: down to label7
+ i32.load8_u $push11=, 3($2)
+ i32.const $push113=, 97
+ i32.ne $push12=, $pop11, $pop113
+ br_if $pop12, 4 # 4: down to label7
# BB#9: # %for.inc25.3.i
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push37=, 4($11)
- i32.ne $push38=, $pop37, $10
- br_if $pop38, 4 # 4: down to label7
+ i32.load8_u $push13=, 4($2)
+ i32.const $push114=, 97
+ i32.ne $push14=, $pop13, $pop114
+ br_if $pop14, 4 # 4: down to label7
# BB#10: # %for.inc25.4.i
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push39=, 5($11)
- i32.ne $push40=, $pop39, $10
- br_if $pop40, 4 # 4: down to label7
+ i32.load8_u $push15=, 5($2)
+ i32.const $push115=, 97
+ i32.ne $push16=, $pop15, $pop115
+ br_if $pop16, 4 # 4: down to label7
# BB#11: # %for.inc25.5.i
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push41=, 6($11)
- i32.ne $push42=, $pop41, $10
- br_if $pop42, 4 # 4: down to label7
+ i32.load8_u $push17=, 6($2)
+ i32.const $push116=, 97
+ i32.ne $push18=, $pop17, $pop116
+ br_if $pop18, 4 # 4: down to label7
# BB#12: # %for.inc25.6.i
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push43=, 7($11)
- i32.ne $push44=, $pop43, $10
- br_if $pop44, 4 # 4: down to label7
+ i32.load8_u $push19=, 7($2)
+ i32.const $push117=, 97
+ i32.ne $push20=, $pop19, $pop117
+ br_if $pop20, 4 # 4: down to label7
# BB#13: # %check.exit
# in Loop: Header=BB2_1 Depth=1
- i32.const $2=, 0
- i32.const $11=, u
+ i32.const $3=, 0
+ i32.const $push21=, u
+ i32.const $push118=, 0
+ i32.load8_u $push22=, A($pop118)
+ i32.call $2=, memset@FUNCTION, $pop21, $pop22, $1
block
- i32.load8_u $push45=, A($2)
- call memset@FUNCTION, $11, $pop45, $13
- br_if $6, 0 # 0: down to label15
+ br_if $4, 0 # 0: down to label15
.LBB2_14: # %for.body6.i241
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label16:
- i32.const $11=, u
- i32.add $push46=, $11, $2
- i32.load8_u $push47=, 0($pop46)
- i32.const $push48=, 65
- i32.ne $push49=, $pop47, $pop48
- br_if $pop49, 1 # 1: down to label17
+ i32.load8_u $push23=, u($3)
+ i32.const $push119=, 65
+ i32.ne $push24=, $pop23, $pop119
+ br_if $pop24, 1 # 1: down to label17
# BB#15: # %for.inc12.i246
# in Loop: Header=BB2_14 Depth=2
- i32.add $2=, $2, $0
- i32.add $11=, $11, $2
- i32.lt_s $push50=, $2, $13
- br_if $pop50, 0 # 0: up to label16
+ i32.const $push121=, u+1
+ i32.add $2=, $3, $pop121
+ i32.const $push120=, 1
+ i32.add $0=, $3, $pop120
+ copy_local $3=, $0
+ i32.lt_s $push25=, $0, $1
+ br_if $pop25, 0 # 0: up to label16
br 2 # 2: down to label15
.LBB2_16: # %if.then10.i242
end_loop # label17:
@@ -296,67 +262,77 @@ main: # @main
.LBB2_17: # %for.body19.preheader.i249
# in Loop: Header=BB2_1 Depth=1
end_block # label15:
- i32.load8_u $push51=, 0($11)
- i32.ne $push52=, $pop51, $10
- br_if $pop52, 3 # 3: down to label8
+ i32.load8_u $push26=, 0($2)
+ i32.const $push122=, 97
+ i32.ne $push27=, $pop26, $pop122
+ br_if $pop27, 3 # 3: down to label8
# BB#18: # %for.inc25.i253
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push53=, 1($11)
- i32.ne $push54=, $pop53, $10
- br_if $pop54, 3 # 3: down to label8
+ i32.load8_u $push28=, 1($2)
+ i32.const $push123=, 97
+ i32.ne $push29=, $pop28, $pop123
+ br_if $pop29, 3 # 3: down to label8
# BB#19: # %for.inc25.1.i256
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push55=, 2($11)
- i32.ne $push56=, $pop55, $10
- br_if $pop56, 3 # 3: down to label8
+ i32.load8_u $push30=, 2($2)
+ i32.const $push124=, 97
+ i32.ne $push31=, $pop30, $pop124
+ br_if $pop31, 3 # 3: down to label8
# BB#20: # %for.inc25.2.i259
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push57=, 3($11)
- i32.ne $push58=, $pop57, $10
- br_if $pop58, 3 # 3: down to label8
+ i32.load8_u $push32=, 3($2)
+ i32.const $push125=, 97
+ i32.ne $push33=, $pop32, $pop125
+ br_if $pop33, 3 # 3: down to label8
# BB#21: # %for.inc25.3.i262
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push59=, 4($11)
- i32.ne $push60=, $pop59, $10
- br_if $pop60, 3 # 3: down to label8
+ i32.load8_u $push34=, 4($2)
+ i32.const $push126=, 97
+ i32.ne $push35=, $pop34, $pop126
+ br_if $pop35, 3 # 3: down to label8
# BB#22: # %for.inc25.4.i265
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push61=, 5($11)
- i32.ne $push62=, $pop61, $10
- br_if $pop62, 3 # 3: down to label8
+ i32.load8_u $push36=, 5($2)
+ i32.const $push127=, 97
+ i32.ne $push37=, $pop36, $pop127
+ br_if $pop37, 3 # 3: down to label8
# BB#23: # %for.inc25.5.i268
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push63=, 6($11)
- i32.ne $push64=, $pop63, $10
- br_if $pop64, 3 # 3: down to label8
+ i32.load8_u $push38=, 6($2)
+ i32.const $push128=, 97
+ i32.ne $push39=, $pop38, $pop128
+ br_if $pop39, 3 # 3: down to label8
# BB#24: # %for.inc25.6.i271
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push65=, 7($11)
- i32.ne $push66=, $pop65, $10
- br_if $pop66, 3 # 3: down to label8
+ i32.load8_u $push40=, 7($2)
+ i32.const $push129=, 97
+ i32.ne $push41=, $pop40, $pop129
+ br_if $pop41, 3 # 3: down to label8
# BB#25: # %check.exit272
# in Loop: Header=BB2_1 Depth=1
- i32.const $11=, u
- i32.const $1=, 66
- call memset@FUNCTION, $11, $1, $13
- i32.const $2=, 0
+ i32.const $push42=, u
+ i32.const $push130=, 66
+ i32.call $2=, memset@FUNCTION, $pop42, $pop130, $1
+ i32.const $3=, 0
block
- br_if $6, 0 # 0: down to label18
+ br_if $4, 0 # 0: down to label18
.LBB2_26: # %for.body6.i278
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label19:
- i32.const $11=, u
- i32.add $push67=, $11, $2
- i32.load8_u $push68=, 0($pop67)
- i32.ne $push69=, $pop68, $1
- br_if $pop69, 1 # 1: down to label20
+ i32.load8_u $push43=, u($3)
+ i32.const $push131=, 66
+ i32.ne $push44=, $pop43, $pop131
+ br_if $pop44, 1 # 1: down to label20
# BB#27: # %for.inc12.i283
# in Loop: Header=BB2_26 Depth=2
- i32.add $2=, $2, $0
- i32.add $11=, $11, $2
- i32.lt_s $push70=, $2, $13
- br_if $pop70, 0 # 0: up to label19
+ i32.const $push133=, u+1
+ i32.add $2=, $3, $pop133
+ i32.const $push132=, 1
+ i32.add $0=, $3, $pop132
+ copy_local $3=, $0
+ i32.lt_s $push45=, $0, $1
+ br_if $pop45, 0 # 0: up to label19
br 2 # 2: down to label18
.LBB2_28: # %if.then10.i279
end_loop # label20:
@@ -365,364 +341,277 @@ main: # @main
.LBB2_29: # %for.body19.preheader.i286
# in Loop: Header=BB2_1 Depth=1
end_block # label18:
- i32.load8_u $push71=, 0($11)
- i32.ne $push72=, $pop71, $10
- br_if $pop72, 2 # 2: down to label9
+ i32.load8_u $push46=, 0($2)
+ i32.const $push134=, 97
+ i32.ne $push47=, $pop46, $pop134
+ br_if $pop47, 2 # 2: down to label9
# BB#30: # %for.inc25.i290
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push73=, 1($11)
- i32.ne $push74=, $pop73, $10
- br_if $pop74, 2 # 2: down to label9
+ i32.load8_u $push48=, 1($2)
+ i32.const $push135=, 97
+ i32.ne $push49=, $pop48, $pop135
+ br_if $pop49, 2 # 2: down to label9
# BB#31: # %for.inc25.1.i293
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push75=, 2($11)
- i32.ne $push76=, $pop75, $10
- br_if $pop76, 2 # 2: down to label9
+ i32.load8_u $push50=, 2($2)
+ i32.const $push136=, 97
+ i32.ne $push51=, $pop50, $pop136
+ br_if $pop51, 2 # 2: down to label9
# BB#32: # %for.inc25.2.i296
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push77=, 3($11)
- i32.ne $push78=, $pop77, $10
- br_if $pop78, 2 # 2: down to label9
+ i32.load8_u $push52=, 3($2)
+ i32.const $push137=, 97
+ i32.ne $push53=, $pop52, $pop137
+ br_if $pop53, 2 # 2: down to label9
# BB#33: # %for.inc25.3.i299
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push79=, 4($11)
- i32.ne $push80=, $pop79, $10
- br_if $pop80, 2 # 2: down to label9
+ i32.load8_u $push54=, 4($2)
+ i32.const $push138=, 97
+ i32.ne $push55=, $pop54, $pop138
+ br_if $pop55, 2 # 2: down to label9
# BB#34: # %for.inc25.4.i302
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push81=, 5($11)
- i32.ne $push82=, $pop81, $10
- br_if $pop82, 2 # 2: down to label9
+ i32.load8_u $push56=, 5($2)
+ i32.const $push139=, 97
+ i32.ne $push57=, $pop56, $pop139
+ br_if $pop57, 2 # 2: down to label9
# BB#35: # %for.inc25.5.i305
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push83=, 6($11)
- i32.ne $push84=, $pop83, $10
- br_if $pop84, 2 # 2: down to label9
+ i32.load8_u $push58=, 6($2)
+ i32.const $push140=, 97
+ i32.ne $push59=, $pop58, $pop140
+ br_if $pop59, 2 # 2: down to label9
# BB#36: # %for.inc25.6.i308
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push85=, 7($11)
- i32.ne $push86=, $pop85, $10
- br_if $pop86, 2 # 2: down to label9
+ i32.load8_u $push60=, 7($2)
+ i32.const $push141=, 97
+ i32.ne $push61=, $pop60, $pop141
+ br_if $pop61, 2 # 2: down to label9
# BB#37: # %for.cond
# in Loop: Header=BB2_1 Depth=1
- i32.add $13=, $13, $0
- i32.const $2=, 0
- copy_local $11=, $2
- i32.const $push87=, 14
- i32.le_s $push88=, $13, $pop87
- br_if $pop88, 0 # 0: up to label10
+ i32.const $push102=, 1
+ i32.add $1=, $1, $pop102
+ i32.const $3=, 0
+ i32.const $0=, 0
+ i32.const $push101=, 14
+ i32.le_s $push62=, $1, $pop101
+ br_if $pop62, 0 # 0: up to label10
.LBB2_38: # %for.body13
# =>This Inner Loop Header: Depth=1
end_loop # label11:
loop # label21:
- i32.store8 $push89=, u+6($2), $10
- i32.store8 $push90=, u+7($2), $pop89
- i32.store8 $push91=, u+8($2), $pop90
- i32.store8 $push92=, u+9($2), $pop91
- i32.store8 $push93=, u+10($2), $pop92
- i32.store8 $push94=, u+11($2), $pop93
- i32.store8 $push95=, u+12($2), $pop94
- i32.store8 $push96=, u+13($2), $pop95
- i32.store8 $push97=, u+14($2), $pop96
- i32.store8 $push98=, u+15($2), $pop97
- i32.store8 $push99=, u+16($2), $pop98
- i32.store8 $push100=, u+17($2), $pop99
- i32.store8 $push101=, u+18($2), $pop100
- i32.store8 $push102=, u+19($2), $pop101
- i32.store8 $push103=, u+20($2), $pop102
- i32.store8 $push104=, u+21($2), $pop103
- i32.store8 $push105=, u+22($2), $pop104
- i32.store8 $push106=, u+23($2), $pop105
- i32.store8 $push107=, u+24($2), $pop106
- i32.store8 $push108=, u+25($2), $pop107
- i32.store8 $push109=, u+26($2), $pop108
- i32.store8 $push110=, u+27($2), $pop109
- i32.store8 $push111=, u+28($2), $pop110
- i32.store8 $push112=, u+29($2), $pop111
- i32.store8 $5=, u+30($2), $pop112
- i32.store $3=, u($2), $8
- i32.const $13=, u+1
- i32.store16 $4=, u+4($2), $9
- call memset@FUNCTION, $13, $2, $11
- call check@FUNCTION, $0, $11, $2
- i32.load8_u $push113=, A($2)
- call memset@FUNCTION, $13, $pop113, $11
- i32.const $6=, 65
- call check@FUNCTION, $0, $11, $6
- call memset@FUNCTION, $13, $1, $11
- call check@FUNCTION, $0, $11, $1
- i32.add $11=, $11, $0
- i32.const $7=, 15
- copy_local $13=, $2
- i32.ne $push114=, $11, $7
- br_if $pop114, 0 # 0: up to label21
+ i32.const $push63=, u
+ i32.const $push154=, 97
+ i32.const $push153=, 31
+ i32.call $2=, memset@FUNCTION, $pop63, $pop154, $pop153
+ i32.const $push64=, u+1
+ i32.const $push152=, 0
+ i32.call $1=, memset@FUNCTION, $pop64, $pop152, $0
+ i32.const $push151=, 1
+ i32.const $push150=, 0
+ call check@FUNCTION, $pop151, $0, $pop150
+ i32.const $push149=, 0
+ i32.load8_u $push65=, A($pop149)
+ i32.call $discard=, memset@FUNCTION, $1, $pop65, $0
+ i32.const $push148=, 1
+ i32.const $push147=, 65
+ call check@FUNCTION, $pop148, $0, $pop147
+ i32.const $push146=, 66
+ i32.call $discard=, memset@FUNCTION, $1, $pop146, $0
+ i32.const $push145=, 1
+ i32.const $push144=, 66
+ call check@FUNCTION, $pop145, $0, $pop144
+ i32.const $push143=, 1
+ i32.add $0=, $0, $pop143
+ i32.const $push142=, 15
+ i32.ne $push66=, $0, $pop142
+ br_if $pop66, 0 # 0: up to label21
.LBB2_39: # %for.body33
# =>This Inner Loop Header: Depth=1
end_loop # label22:
loop # label23:
- i32.store8 $push115=, u+6($2), $5
- i32.store8 $push116=, u+7($2), $pop115
- i32.store8 $push117=, u+8($2), $pop116
- i32.store8 $push118=, u+9($2), $pop117
- i32.store8 $push119=, u+10($2), $pop118
- i32.store8 $push120=, u+11($2), $pop119
- i32.store8 $push121=, u+12($2), $pop120
- i32.store8 $push122=, u+13($2), $pop121
- i32.store8 $push123=, u+14($2), $pop122
- i32.store8 $push124=, u+15($2), $pop123
- i32.store8 $push125=, u+16($2), $pop124
- i32.store8 $push126=, u+17($2), $pop125
- i32.store8 $push127=, u+18($2), $pop126
- i32.store8 $push128=, u+19($2), $pop127
- i32.store8 $push129=, u+20($2), $pop128
- i32.store8 $push130=, u+21($2), $pop129
- i32.store8 $push131=, u+22($2), $pop130
- i32.store8 $push132=, u+23($2), $pop131
- i32.store8 $push133=, u+24($2), $pop132
- i32.store8 $push134=, u+25($2), $pop133
- i32.store8 $push135=, u+26($2), $pop134
- i32.store8 $push136=, u+27($2), $pop135
- i32.store8 $push137=, u+28($2), $pop136
- i32.store8 $push138=, u+29($2), $pop137
- i32.store8 $10=, u+30($2), $pop138
- i32.store $8=, u($2), $3
- i32.const $11=, u+2
- i32.store16 $9=, u+4($2), $4
- call memset@FUNCTION, $11, $2, $13
- i32.const $12=, 2
- call check@FUNCTION, $12, $13, $2
- i32.load8_u $push139=, A($2)
- call memset@FUNCTION, $11, $pop139, $13
- call check@FUNCTION, $12, $13, $6
- call memset@FUNCTION, $11, $1, $13
- call check@FUNCTION, $12, $13, $1
- i32.add $13=, $13, $0
- copy_local $11=, $2
- i32.ne $push140=, $13, $7
- br_if $pop140, 0 # 0: up to label23
+ i32.const $push166=, 97
+ i32.const $push165=, 31
+ i32.call $discard=, memset@FUNCTION, $2, $pop166, $pop165
+ i32.const $1=, 0
+ i32.const $push67=, u+2
+ i32.const $push164=, 0
+ i32.call $0=, memset@FUNCTION, $pop67, $pop164, $3
+ i32.const $push68=, 2
+ i32.const $push163=, 0
+ call check@FUNCTION, $pop68, $3, $pop163
+ i32.const $push162=, 0
+ i32.load8_u $push69=, A($pop162)
+ i32.call $discard=, memset@FUNCTION, $0, $pop69, $3
+ i32.const $push161=, 2
+ i32.const $push160=, 65
+ call check@FUNCTION, $pop161, $3, $pop160
+ i32.const $push159=, 66
+ i32.call $discard=, memset@FUNCTION, $0, $pop159, $3
+ i32.const $push158=, 2
+ i32.const $push157=, 66
+ call check@FUNCTION, $pop158, $3, $pop157
+ i32.const $push156=, 1
+ i32.add $3=, $3, $pop156
+ i32.const $0=, 0
+ i32.const $push155=, 15
+ i32.ne $push70=, $3, $pop155
+ br_if $pop70, 0 # 0: up to label23
.LBB2_40: # %for.body53
# =>This Inner Loop Header: Depth=1
end_loop # label24:
loop # label25:
- i32.store8 $push141=, u+6($2), $10
- i32.store8 $push142=, u+7($2), $pop141
- i32.store8 $push143=, u+8($2), $pop142
- i32.store8 $push144=, u+9($2), $pop143
- i32.store8 $push145=, u+10($2), $pop144
- i32.store8 $push146=, u+11($2), $pop145
- i32.store8 $push147=, u+12($2), $pop146
- i32.store8 $push148=, u+13($2), $pop147
- i32.store8 $push149=, u+14($2), $pop148
- i32.store8 $push150=, u+15($2), $pop149
- i32.store8 $push151=, u+16($2), $pop150
- i32.store8 $push152=, u+17($2), $pop151
- i32.store8 $push153=, u+18($2), $pop152
- i32.store8 $push154=, u+19($2), $pop153
- i32.store8 $push155=, u+20($2), $pop154
- i32.store8 $push156=, u+21($2), $pop155
- i32.store8 $push157=, u+22($2), $pop156
- i32.store8 $push158=, u+23($2), $pop157
- i32.store8 $push159=, u+24($2), $pop158
- i32.store8 $push160=, u+25($2), $pop159
- i32.store8 $push161=, u+26($2), $pop160
- i32.store8 $push162=, u+27($2), $pop161
- i32.store8 $push163=, u+28($2), $pop162
- i32.store8 $push164=, u+29($2), $pop163
- i32.store8 $5=, u+30($2), $pop164
- i32.store $3=, u($2), $8
- i32.const $13=, u+3
- i32.store16 $4=, u+4($2), $9
- call memset@FUNCTION, $13, $2, $11
- i32.const $12=, 3
- call check@FUNCTION, $12, $11, $2
- i32.load8_u $push165=, A($2)
- call memset@FUNCTION, $13, $pop165, $11
- call check@FUNCTION, $12, $11, $6
- call memset@FUNCTION, $13, $1, $11
- call check@FUNCTION, $12, $11, $1
- i32.add $11=, $11, $0
- copy_local $13=, $2
- i32.ne $push166=, $11, $7
- br_if $pop166, 0 # 0: up to label25
+ i32.const $push71=, u
+ i32.const $push178=, 97
+ i32.const $push177=, 31
+ i32.call $2=, memset@FUNCTION, $pop71, $pop178, $pop177
+ i32.const $push72=, u+3
+ i32.const $push176=, 0
+ i32.call $3=, memset@FUNCTION, $pop72, $pop176, $0
+ i32.const $push73=, 3
+ i32.const $push175=, 0
+ call check@FUNCTION, $pop73, $0, $pop175
+ i32.const $push174=, 0
+ i32.load8_u $push74=, A($pop174)
+ i32.call $discard=, memset@FUNCTION, $3, $pop74, $0
+ i32.const $push173=, 3
+ i32.const $push172=, 65
+ call check@FUNCTION, $pop173, $0, $pop172
+ i32.const $push171=, 66
+ i32.call $discard=, memset@FUNCTION, $3, $pop171, $0
+ i32.const $push170=, 3
+ i32.const $push169=, 66
+ call check@FUNCTION, $pop170, $0, $pop169
+ i32.const $push168=, 1
+ i32.add $0=, $0, $pop168
+ i32.const $push167=, 15
+ i32.ne $push75=, $0, $pop167
+ br_if $pop75, 0 # 0: up to label25
.LBB2_41: # %for.body73
# =>This Inner Loop Header: Depth=1
end_loop # label26:
loop # label27:
- i32.store8 $push167=, u+6($2), $5
- i32.store8 $push168=, u+7($2), $pop167
- i32.store8 $push169=, u+8($2), $pop168
- i32.store8 $push170=, u+9($2), $pop169
- i32.store8 $push171=, u+10($2), $pop170
- i32.store8 $push172=, u+11($2), $pop171
- i32.store8 $push173=, u+12($2), $pop172
- i32.store8 $push174=, u+13($2), $pop173
- i32.store8 $push175=, u+14($2), $pop174
- i32.store8 $push176=, u+15($2), $pop175
- i32.store8 $push177=, u+16($2), $pop176
- i32.store8 $push178=, u+17($2), $pop177
- i32.store8 $push179=, u+18($2), $pop178
- i32.store8 $push180=, u+19($2), $pop179
- i32.store8 $push181=, u+20($2), $pop180
- i32.store8 $push182=, u+21($2), $pop181
- i32.store8 $push183=, u+22($2), $pop182
- i32.store8 $push184=, u+23($2), $pop183
- i32.store8 $push185=, u+24($2), $pop184
- i32.store8 $push186=, u+25($2), $pop185
- i32.store8 $push187=, u+26($2), $pop186
- i32.store8 $push188=, u+27($2), $pop187
- i32.store8 $push189=, u+28($2), $pop188
- i32.store8 $push190=, u+29($2), $pop189
- i32.store8 $10=, u+30($2), $pop190
- i32.store $8=, u($2), $3
- i32.const $11=, u+4
- i32.store16 $9=, u+4($2), $4
- call memset@FUNCTION, $11, $2, $13
- i32.const $12=, 4
- call check@FUNCTION, $12, $13, $2
- i32.load8_u $push191=, A($2)
- call memset@FUNCTION, $11, $pop191, $13
- call check@FUNCTION, $12, $13, $6
- call memset@FUNCTION, $11, $1, $13
- call check@FUNCTION, $12, $13, $1
- i32.add $13=, $13, $0
- copy_local $11=, $2
- i32.ne $push192=, $13, $7
- br_if $pop192, 0 # 0: up to label27
+ i32.const $push190=, 97
+ i32.const $push189=, 31
+ i32.call $discard=, memset@FUNCTION, $2, $pop190, $pop189
+ i32.const $0=, 0
+ i32.const $push76=, u+4
+ i32.const $push188=, 0
+ i32.call $3=, memset@FUNCTION, $pop76, $pop188, $1
+ i32.const $push77=, 4
+ i32.const $push187=, 0
+ call check@FUNCTION, $pop77, $1, $pop187
+ i32.const $push186=, 0
+ i32.load8_u $push78=, A($pop186)
+ i32.call $discard=, memset@FUNCTION, $3, $pop78, $1
+ i32.const $push185=, 4
+ i32.const $push184=, 65
+ call check@FUNCTION, $pop185, $1, $pop184
+ i32.const $push183=, 66
+ i32.call $discard=, memset@FUNCTION, $3, $pop183, $1
+ i32.const $push182=, 4
+ i32.const $push181=, 66
+ call check@FUNCTION, $pop182, $1, $pop181
+ i32.const $push180=, 1
+ i32.add $1=, $1, $pop180
+ i32.const $3=, 0
+ i32.const $push179=, 15
+ i32.ne $push79=, $1, $pop179
+ br_if $pop79, 0 # 0: up to label27
.LBB2_42: # %for.body93
# =>This Inner Loop Header: Depth=1
end_loop # label28:
loop # label29:
- i32.store8 $push193=, u+6($2), $10
- i32.store8 $push194=, u+7($2), $pop193
- i32.store8 $push195=, u+8($2), $pop194
- i32.store8 $push196=, u+9($2), $pop195
- i32.store8 $push197=, u+10($2), $pop196
- i32.store8 $push198=, u+11($2), $pop197
- i32.store8 $push199=, u+12($2), $pop198
- i32.store8 $push200=, u+13($2), $pop199
- i32.store8 $push201=, u+14($2), $pop200
- i32.store8 $push202=, u+15($2), $pop201
- i32.store8 $push203=, u+16($2), $pop202
- i32.store8 $push204=, u+17($2), $pop203
- i32.store8 $push205=, u+18($2), $pop204
- i32.store8 $push206=, u+19($2), $pop205
- i32.store8 $push207=, u+20($2), $pop206
- i32.store8 $push208=, u+21($2), $pop207
- i32.store8 $push209=, u+22($2), $pop208
- i32.store8 $push210=, u+23($2), $pop209
- i32.store8 $push211=, u+24($2), $pop210
- i32.store8 $push212=, u+25($2), $pop211
- i32.store8 $push213=, u+26($2), $pop212
- i32.store8 $push214=, u+27($2), $pop213
- i32.store8 $push215=, u+28($2), $pop214
- i32.store8 $push216=, u+29($2), $pop215
- i32.store8 $5=, u+30($2), $pop216
- i32.store $3=, u($2), $8
- i32.const $13=, u+5
- i32.store16 $4=, u+4($2), $9
- call memset@FUNCTION, $13, $2, $11
- i32.const $12=, 5
- call check@FUNCTION, $12, $11, $2
- i32.load8_u $push217=, A($2)
- call memset@FUNCTION, $13, $pop217, $11
- call check@FUNCTION, $12, $11, $6
- call memset@FUNCTION, $13, $1, $11
- call check@FUNCTION, $12, $11, $1
- i32.add $11=, $11, $0
- copy_local $12=, $2
- i32.ne $push218=, $11, $7
- br_if $pop218, 0 # 0: up to label29
+ i32.const $push80=, u
+ i32.const $push202=, 97
+ i32.const $push201=, 31
+ i32.call $1=, memset@FUNCTION, $pop80, $pop202, $pop201
+ i32.const $push81=, u+5
+ i32.const $push200=, 0
+ i32.call $2=, memset@FUNCTION, $pop81, $pop200, $3
+ i32.const $push82=, 5
+ i32.const $push199=, 0
+ call check@FUNCTION, $pop82, $3, $pop199
+ i32.const $push198=, 0
+ i32.load8_u $push83=, A($pop198)
+ i32.call $discard=, memset@FUNCTION, $2, $pop83, $3
+ i32.const $push197=, 5
+ i32.const $push196=, 65
+ call check@FUNCTION, $pop197, $3, $pop196
+ i32.const $push195=, 66
+ i32.call $discard=, memset@FUNCTION, $2, $pop195, $3
+ i32.const $push194=, 5
+ i32.const $push193=, 66
+ call check@FUNCTION, $pop194, $3, $pop193
+ i32.const $push192=, 1
+ i32.add $3=, $3, $pop192
+ i32.const $push191=, 15
+ i32.ne $push84=, $3, $pop191
+ br_if $pop84, 0 # 0: up to label29
.LBB2_43: # %for.body113
# =>This Inner Loop Header: Depth=1
end_loop # label30:
loop # label31:
- i32.store8 $push219=, u+6($2), $5
- i32.store8 $push220=, u+7($2), $pop219
- i32.store8 $push221=, u+8($2), $pop220
- i32.store8 $push222=, u+9($2), $pop221
- i32.store8 $push223=, u+10($2), $pop222
- i32.store8 $push224=, u+11($2), $pop223
- i32.store8 $push225=, u+12($2), $pop224
- i32.store8 $push226=, u+13($2), $pop225
- i32.store8 $push227=, u+14($2), $pop226
- i32.store8 $push228=, u+15($2), $pop227
- i32.store8 $push229=, u+16($2), $pop228
- i32.store8 $push230=, u+17($2), $pop229
- i32.store8 $push231=, u+18($2), $pop230
- i32.store8 $push232=, u+19($2), $pop231
- i32.store8 $push233=, u+20($2), $pop232
- i32.store8 $push234=, u+21($2), $pop233
- i32.store8 $push235=, u+22($2), $pop234
- i32.store8 $push236=, u+23($2), $pop235
- i32.store8 $push237=, u+24($2), $pop236
- i32.store8 $push238=, u+25($2), $pop237
- i32.store8 $push239=, u+26($2), $pop238
- i32.store8 $push240=, u+27($2), $pop239
- i32.store8 $push241=, u+28($2), $pop240
- i32.store8 $push242=, u+29($2), $pop241
- i32.store8 $10=, u+30($2), $pop242
- i32.store $8=, u($2), $3
- i32.const $13=, u+6
- i32.store16 $9=, u+4($2), $4
- call memset@FUNCTION, $13, $2, $12
- i32.const $11=, 6
- call check@FUNCTION, $11, $12, $2
- i32.load8_u $push243=, A($2)
- call memset@FUNCTION, $13, $pop243, $12
- call check@FUNCTION, $11, $12, $6
- call memset@FUNCTION, $13, $1, $12
- call check@FUNCTION, $11, $12, $1
- i32.add $12=, $12, $0
- copy_local $13=, $2
- i32.ne $push244=, $12, $7
- br_if $pop244, 0 # 0: up to label31
+ i32.const $push214=, 97
+ i32.const $push213=, 31
+ i32.call $discard=, memset@FUNCTION, $1, $pop214, $pop213
+ i32.const $push85=, u+6
+ i32.const $push212=, 0
+ i32.call $3=, memset@FUNCTION, $pop85, $pop212, $0
+ i32.const $push86=, 6
+ i32.const $push211=, 0
+ call check@FUNCTION, $pop86, $0, $pop211
+ i32.const $push210=, 0
+ i32.load8_u $push87=, A($pop210)
+ i32.call $discard=, memset@FUNCTION, $3, $pop87, $0
+ i32.const $push209=, 6
+ i32.const $push208=, 65
+ call check@FUNCTION, $pop209, $0, $pop208
+ i32.const $push207=, 66
+ i32.call $discard=, memset@FUNCTION, $3, $pop207, $0
+ i32.const $push206=, 6
+ i32.const $push205=, 66
+ call check@FUNCTION, $pop206, $0, $pop205
+ i32.const $push204=, 1
+ i32.add $0=, $0, $pop204
+ i32.const $3=, 0
+ i32.const $push203=, 15
+ i32.ne $push88=, $0, $pop203
+ br_if $pop88, 0 # 0: up to label31
.LBB2_44: # %for.body133
# =>This Inner Loop Header: Depth=1
end_loop # label32:
loop # label33:
- i32.store8 $push245=, u+6($2), $10
- i32.store8 $push246=, u+7($2), $pop245
- i32.store8 $push247=, u+8($2), $pop246
- i32.store8 $push248=, u+9($2), $pop247
- i32.store8 $push249=, u+10($2), $pop248
- i32.store8 $push250=, u+11($2), $pop249
- i32.store8 $push251=, u+12($2), $pop250
- i32.store8 $push252=, u+13($2), $pop251
- i32.store8 $push253=, u+14($2), $pop252
- i32.store8 $push254=, u+15($2), $pop253
- i32.store8 $push255=, u+16($2), $pop254
- i32.store8 $push256=, u+17($2), $pop255
- i32.store8 $push257=, u+18($2), $pop256
- i32.store8 $push258=, u+19($2), $pop257
- i32.store8 $push259=, u+20($2), $pop258
- i32.store8 $push260=, u+21($2), $pop259
- i32.store8 $push261=, u+22($2), $pop260
- i32.store8 $push262=, u+23($2), $pop261
- i32.store8 $push263=, u+24($2), $pop262
- i32.store8 $push264=, u+25($2), $pop263
- i32.store8 $push265=, u+26($2), $pop264
- i32.store8 $push266=, u+27($2), $pop265
- i32.store8 $push267=, u+28($2), $pop266
- i32.store8 $push268=, u+29($2), $pop267
- i32.store8 $discard=, u+30($2), $pop268
- i32.store $discard=, u($2), $8
- i32.const $11=, u+7
- i32.store16 $discard=, u+4($2), $9
- call memset@FUNCTION, $11, $2, $13
- i32.const $12=, 7
- call check@FUNCTION, $12, $13, $2
- i32.load8_u $push269=, A($2)
- call memset@FUNCTION, $11, $pop269, $13
- call check@FUNCTION, $12, $13, $6
- call memset@FUNCTION, $11, $1, $13
- call check@FUNCTION, $12, $13, $1
- i32.add $13=, $13, $0
- i32.ne $push270=, $13, $7
- br_if $pop270, 0 # 0: up to label33
+ i32.const $push89=, u
+ i32.const $push91=, 97
+ i32.const $push90=, 31
+ i32.call $discard=, memset@FUNCTION, $pop89, $pop91, $pop90
+ i32.const $push92=, u+7
+ i32.const $push220=, 0
+ i32.call $1=, memset@FUNCTION, $pop92, $pop220, $3
+ i32.const $push93=, 7
+ i32.const $push219=, 0
+ call check@FUNCTION, $pop93, $3, $pop219
+ i32.const $push218=, 0
+ i32.load8_u $push94=, A($pop218)
+ i32.call $discard=, memset@FUNCTION, $1, $pop94, $3
+ i32.const $push217=, 7
+ i32.const $push95=, 65
+ call check@FUNCTION, $pop217, $3, $pop95
+ i32.const $push96=, 66
+ i32.call $discard=, memset@FUNCTION, $1, $pop96, $3
+ i32.const $push216=, 7
+ i32.const $push215=, 66
+ call check@FUNCTION, $pop216, $3, $pop215
+ i32.const $push97=, 1
+ i32.add $3=, $3, $pop97
+ i32.const $push98=, 15
+ i32.ne $push99=, $3, $pop98
+ br_if $pop99, 0 # 0: up to label33
# BB#45: # %for.end149
end_loop # label34:
- i32.const $push271=, 0
- call exit@FUNCTION, $pop271
+ i32.const $push100=, 0
+ call exit@FUNCTION, $pop100
unreachable
.LBB2_46: # %if.then23.i287
end_block # label9:
diff --git a/test/torture-s/multdi-1.c.s b/test/torture-s/multdi-1.c.s
index 1c4f1cc87..2994be041 100644
--- a/test/torture-s/multdi-1.c.s
+++ b/test/torture-s/multdi-1.c.s
@@ -22,12 +22,12 @@ mpy: # @mpy
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i64.const $push0=, -1
- i64.store $discard=, mpy_res($0), $pop0
- return $0
+ i64.store $discard=, mpy_res($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -36,7 +36,7 @@ main: # @main
.type mpy_res,@object
.section .bss.mpy_res,"aw",@nobits
.globl mpy_res
- .align 3
+ .p2align 3
mpy_res:
.int64 0 # 0x0
.size mpy_res, 8
diff --git a/test/torture-s/multi-ix.c.s b/test/torture-s/multi-ix.c.s
new file mode 100644
index 000000000..70bbba1b0
--- /dev/null
+++ b/test/torture-s/multi-ix.c.s
@@ -0,0 +1,1139 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/multi-ix.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $54=, __stack_pointer
+ i32.load $54=, 0($54)
+ i32.const $55=, 80160
+ i32.sub $217=, $54, $55
+ i32.const $55=, __stack_pointer
+ i32.store $217=, 0($55), $217
+ block
+ i32.const $push0=, 1
+ i32.lt_s $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label0
+.LBB0_1: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label1:
+ i32.const $42=, __stack_pointer
+ i32.load $42=, 0($42)
+ i32.const $43=, 160
+ i32.sub $217=, $42, $43
+ i32.const $43=, __stack_pointer
+ i32.store $217=, 0($43), $217
+ i32.const $57=, 78160
+ i32.add $57=, $217, $57
+ i32.store $discard=, 0($217), $57
+ i32.const $push242=, 156
+ i32.add $1=, $217, $pop242
+ i32.const $58=, 160
+ i32.add $58=, $217, $58
+ i32.store $discard=, 0($1), $58
+ i32.const $push241=, 152
+ i32.add $1=, $217, $pop241
+ i32.const $59=, 2160
+ i32.add $59=, $217, $59
+ i32.store $discard=, 0($1), $59
+ i32.const $push240=, 148
+ i32.add $1=, $217, $pop240
+ i32.const $60=, 4160
+ i32.add $60=, $217, $60
+ i32.store $discard=, 0($1), $60
+ i32.const $push239=, 144
+ i32.add $1=, $217, $pop239
+ i32.const $61=, 6160
+ i32.add $61=, $217, $61
+ i32.store $discard=, 0($1), $61
+ i32.const $push238=, 140
+ i32.add $1=, $217, $pop238
+ i32.const $62=, 8160
+ i32.add $62=, $217, $62
+ i32.store $discard=, 0($1), $62
+ i32.const $push237=, 136
+ i32.add $1=, $217, $pop237
+ i32.const $63=, 10160
+ i32.add $63=, $217, $63
+ i32.store $discard=, 0($1), $63
+ i32.const $push236=, 132
+ i32.add $1=, $217, $pop236
+ i32.const $64=, 12160
+ i32.add $64=, $217, $64
+ i32.store $discard=, 0($1), $64
+ i32.const $push235=, 128
+ i32.add $1=, $217, $pop235
+ i32.const $65=, 14160
+ i32.add $65=, $217, $65
+ i32.store $discard=, 0($1), $65
+ i32.const $push234=, 124
+ i32.add $1=, $217, $pop234
+ i32.const $66=, 16160
+ i32.add $66=, $217, $66
+ i32.store $discard=, 0($1), $66
+ i32.const $push233=, 120
+ i32.add $1=, $217, $pop233
+ i32.const $67=, 18160
+ i32.add $67=, $217, $67
+ i32.store $discard=, 0($1), $67
+ i32.const $push232=, 116
+ i32.add $1=, $217, $pop232
+ i32.const $68=, 20160
+ i32.add $68=, $217, $68
+ i32.store $discard=, 0($1), $68
+ i32.const $push231=, 112
+ i32.add $1=, $217, $pop231
+ i32.const $69=, 22160
+ i32.add $69=, $217, $69
+ i32.store $discard=, 0($1), $69
+ i32.const $push230=, 108
+ i32.add $1=, $217, $pop230
+ i32.const $70=, 24160
+ i32.add $70=, $217, $70
+ i32.store $discard=, 0($1), $70
+ i32.const $push229=, 104
+ i32.add $1=, $217, $pop229
+ i32.const $71=, 26160
+ i32.add $71=, $217, $71
+ i32.store $discard=, 0($1), $71
+ i32.const $push228=, 100
+ i32.add $1=, $217, $pop228
+ i32.const $72=, 28160
+ i32.add $72=, $217, $72
+ i32.store $discard=, 0($1), $72
+ i32.const $push227=, 96
+ i32.add $1=, $217, $pop227
+ i32.const $73=, 30160
+ i32.add $73=, $217, $73
+ i32.store $discard=, 0($1), $73
+ i32.const $push226=, 92
+ i32.add $1=, $217, $pop226
+ i32.const $74=, 32160
+ i32.add $74=, $217, $74
+ i32.store $discard=, 0($1), $74
+ i32.const $push225=, 88
+ i32.add $1=, $217, $pop225
+ i32.const $75=, 34160
+ i32.add $75=, $217, $75
+ i32.store $discard=, 0($1), $75
+ i32.const $push224=, 84
+ i32.add $1=, $217, $pop224
+ i32.const $76=, 36160
+ i32.add $76=, $217, $76
+ i32.store $discard=, 0($1), $76
+ i32.const $push223=, 80
+ i32.add $1=, $217, $pop223
+ i32.const $77=, 38160
+ i32.add $77=, $217, $77
+ i32.store $discard=, 0($1), $77
+ i32.const $push222=, 76
+ i32.add $1=, $217, $pop222
+ i32.const $78=, 40160
+ i32.add $78=, $217, $78
+ i32.store $discard=, 0($1), $78
+ i32.const $push221=, 72
+ i32.add $1=, $217, $pop221
+ i32.const $79=, 42160
+ i32.add $79=, $217, $79
+ i32.store $discard=, 0($1), $79
+ i32.const $push220=, 68
+ i32.add $1=, $217, $pop220
+ i32.const $80=, 44160
+ i32.add $80=, $217, $80
+ i32.store $discard=, 0($1), $80
+ i32.const $push219=, 64
+ i32.add $1=, $217, $pop219
+ i32.const $81=, 46160
+ i32.add $81=, $217, $81
+ i32.store $discard=, 0($1), $81
+ i32.const $push218=, 60
+ i32.add $1=, $217, $pop218
+ i32.const $82=, 48160
+ i32.add $82=, $217, $82
+ i32.store $discard=, 0($1), $82
+ i32.const $push217=, 56
+ i32.add $1=, $217, $pop217
+ i32.const $83=, 50160
+ i32.add $83=, $217, $83
+ i32.store $discard=, 0($1), $83
+ i32.const $push216=, 52
+ i32.add $1=, $217, $pop216
+ i32.const $84=, 52160
+ i32.add $84=, $217, $84
+ i32.store $discard=, 0($1), $84
+ i32.const $push215=, 48
+ i32.add $1=, $217, $pop215
+ i32.const $85=, 54160
+ i32.add $85=, $217, $85
+ i32.store $discard=, 0($1), $85
+ i32.const $push214=, 44
+ i32.add $1=, $217, $pop214
+ i32.const $86=, 56160
+ i32.add $86=, $217, $86
+ i32.store $discard=, 0($1), $86
+ i32.const $push213=, 40
+ i32.add $1=, $217, $pop213
+ i32.const $87=, 58160
+ i32.add $87=, $217, $87
+ i32.store $discard=, 0($1), $87
+ i32.const $push212=, 36
+ i32.add $1=, $217, $pop212
+ i32.const $88=, 60160
+ i32.add $88=, $217, $88
+ i32.store $discard=, 0($1), $88
+ i32.const $push211=, 32
+ i32.add $1=, $217, $pop211
+ i32.const $89=, 62160
+ i32.add $89=, $217, $89
+ i32.store $discard=, 0($1), $89
+ i32.const $push210=, 28
+ i32.add $1=, $217, $pop210
+ i32.const $90=, 64160
+ i32.add $90=, $217, $90
+ i32.store $discard=, 0($1), $90
+ i32.const $push209=, 24
+ i32.add $1=, $217, $pop209
+ i32.const $91=, 66160
+ i32.add $91=, $217, $91
+ i32.store $discard=, 0($1), $91
+ i32.const $push208=, 20
+ i32.add $1=, $217, $pop208
+ i32.const $92=, 68160
+ i32.add $92=, $217, $92
+ i32.store $discard=, 0($1), $92
+ i32.const $push207=, 16
+ i32.add $1=, $217, $pop207
+ i32.const $93=, 70160
+ i32.add $93=, $217, $93
+ i32.store $discard=, 0($1), $93
+ i32.const $push206=, 12
+ i32.add $1=, $217, $pop206
+ i32.const $94=, 72160
+ i32.add $94=, $217, $94
+ i32.store $discard=, 0($1), $94
+ i32.const $push205=, 8
+ i32.add $1=, $217, $pop205
+ i32.const $95=, 74160
+ i32.add $95=, $217, $95
+ i32.store $discard=, 0($1), $95
+ i32.const $push204=, 4
+ i32.add $1=, $217, $pop204
+ i32.const $96=, 76160
+ i32.add $96=, $217, $96
+ i32.store $discard=, 0($1), $96
+ i32.const $push203=, 40
+ call s@FUNCTION, $pop203
+ i32.const $44=, __stack_pointer
+ i32.load $44=, 0($44)
+ i32.const $45=, 160
+ i32.add $217=, $44, $45
+ i32.const $45=, __stack_pointer
+ i32.store $217=, 0($45), $217
+ i32.load $1=, 78160($217):p2align=4
+ i32.load $2=, 76160($217):p2align=4
+ i32.load $3=, 74160($217):p2align=4
+ i32.load $4=, 72160($217):p2align=4
+ i32.load $5=, 70160($217):p2align=4
+ i32.load $6=, 68160($217):p2align=4
+ i32.load $7=, 66160($217):p2align=4
+ i32.load $8=, 64160($217):p2align=4
+ i32.load $9=, 62160($217):p2align=4
+ i32.load $10=, 60160($217):p2align=4
+ i32.load $11=, 58160($217):p2align=4
+ i32.load $12=, 56160($217):p2align=4
+ i32.load $13=, 54160($217):p2align=4
+ i32.load $14=, 52160($217):p2align=4
+ i32.load $15=, 50160($217):p2align=4
+ i32.load $16=, 48160($217):p2align=4
+ i32.load $17=, 46160($217):p2align=4
+ i32.load $18=, 44160($217):p2align=4
+ i32.load $19=, 42160($217):p2align=4
+ i32.load $20=, 40160($217):p2align=4
+ i32.load $21=, 38160($217):p2align=4
+ i32.load $22=, 36160($217):p2align=4
+ i32.load $23=, 34160($217):p2align=4
+ i32.load $24=, 32160($217):p2align=4
+ i32.load $25=, 30160($217):p2align=4
+ i32.load $26=, 28160($217):p2align=4
+ i32.load $27=, 26160($217):p2align=4
+ i32.load $28=, 24160($217):p2align=4
+ i32.load $29=, 22160($217):p2align=4
+ i32.load $30=, 20160($217):p2align=4
+ i32.load $31=, 18160($217):p2align=4
+ i32.load $32=, 16160($217):p2align=4
+ i32.load $33=, 14160($217):p2align=4
+ i32.load $34=, 12160($217):p2align=4
+ i32.load $35=, 10160($217):p2align=4
+ i32.load $36=, 8160($217):p2align=4
+ i32.load $37=, 6160($217):p2align=4
+ i32.load $38=, 4160($217):p2align=4
+ i32.load $39=, 2160($217):p2align=4
+ i32.load $40=, 160($217):p2align=4
+ i32.const $46=, __stack_pointer
+ i32.load $46=, 0($46)
+ i32.const $47=, 160
+ i32.sub $217=, $46, $47
+ i32.const $47=, __stack_pointer
+ i32.store $217=, 0($47), $217
+ i32.const $97=, 78160
+ i32.add $97=, $217, $97
+ i32.store $discard=, 0($217), $97
+ i32.const $push202=, 156
+ i32.add $41=, $217, $pop202
+ i32.const $98=, 160
+ i32.add $98=, $217, $98
+ i32.store $discard=, 0($41), $98
+ i32.const $push201=, 152
+ i32.add $41=, $217, $pop201
+ i32.const $99=, 2160
+ i32.add $99=, $217, $99
+ i32.store $discard=, 0($41), $99
+ i32.const $push200=, 148
+ i32.add $41=, $217, $pop200
+ i32.const $100=, 4160
+ i32.add $100=, $217, $100
+ i32.store $discard=, 0($41), $100
+ i32.const $push199=, 144
+ i32.add $41=, $217, $pop199
+ i32.const $101=, 6160
+ i32.add $101=, $217, $101
+ i32.store $discard=, 0($41), $101
+ i32.const $push198=, 140
+ i32.add $41=, $217, $pop198
+ i32.const $102=, 8160
+ i32.add $102=, $217, $102
+ i32.store $discard=, 0($41), $102
+ i32.const $push197=, 136
+ i32.add $41=, $217, $pop197
+ i32.const $103=, 10160
+ i32.add $103=, $217, $103
+ i32.store $discard=, 0($41), $103
+ i32.const $push196=, 132
+ i32.add $41=, $217, $pop196
+ i32.const $104=, 12160
+ i32.add $104=, $217, $104
+ i32.store $discard=, 0($41), $104
+ i32.const $push195=, 128
+ i32.add $41=, $217, $pop195
+ i32.const $105=, 14160
+ i32.add $105=, $217, $105
+ i32.store $discard=, 0($41), $105
+ i32.const $push194=, 124
+ i32.add $41=, $217, $pop194
+ i32.const $106=, 16160
+ i32.add $106=, $217, $106
+ i32.store $discard=, 0($41), $106
+ i32.const $push193=, 120
+ i32.add $41=, $217, $pop193
+ i32.const $107=, 18160
+ i32.add $107=, $217, $107
+ i32.store $discard=, 0($41), $107
+ i32.const $push192=, 116
+ i32.add $41=, $217, $pop192
+ i32.const $108=, 20160
+ i32.add $108=, $217, $108
+ i32.store $discard=, 0($41), $108
+ i32.const $push191=, 112
+ i32.add $41=, $217, $pop191
+ i32.const $109=, 22160
+ i32.add $109=, $217, $109
+ i32.store $discard=, 0($41), $109
+ i32.const $push190=, 108
+ i32.add $41=, $217, $pop190
+ i32.const $110=, 24160
+ i32.add $110=, $217, $110
+ i32.store $discard=, 0($41), $110
+ i32.const $push189=, 104
+ i32.add $41=, $217, $pop189
+ i32.const $111=, 26160
+ i32.add $111=, $217, $111
+ i32.store $discard=, 0($41), $111
+ i32.const $push188=, 100
+ i32.add $41=, $217, $pop188
+ i32.const $112=, 28160
+ i32.add $112=, $217, $112
+ i32.store $discard=, 0($41), $112
+ i32.const $push187=, 96
+ i32.add $41=, $217, $pop187
+ i32.const $113=, 30160
+ i32.add $113=, $217, $113
+ i32.store $discard=, 0($41), $113
+ i32.const $push186=, 92
+ i32.add $41=, $217, $pop186
+ i32.const $114=, 32160
+ i32.add $114=, $217, $114
+ i32.store $discard=, 0($41), $114
+ i32.const $push185=, 88
+ i32.add $41=, $217, $pop185
+ i32.const $115=, 34160
+ i32.add $115=, $217, $115
+ i32.store $discard=, 0($41), $115
+ i32.const $push184=, 84
+ i32.add $41=, $217, $pop184
+ i32.const $116=, 36160
+ i32.add $116=, $217, $116
+ i32.store $discard=, 0($41), $116
+ i32.const $push183=, 80
+ i32.add $41=, $217, $pop183
+ i32.const $117=, 38160
+ i32.add $117=, $217, $117
+ i32.store $discard=, 0($41), $117
+ i32.const $push182=, 76
+ i32.add $41=, $217, $pop182
+ i32.const $118=, 40160
+ i32.add $118=, $217, $118
+ i32.store $discard=, 0($41), $118
+ i32.const $push181=, 72
+ i32.add $41=, $217, $pop181
+ i32.const $119=, 42160
+ i32.add $119=, $217, $119
+ i32.store $discard=, 0($41), $119
+ i32.const $push180=, 68
+ i32.add $41=, $217, $pop180
+ i32.const $120=, 44160
+ i32.add $120=, $217, $120
+ i32.store $discard=, 0($41), $120
+ i32.const $push179=, 64
+ i32.add $41=, $217, $pop179
+ i32.const $121=, 46160
+ i32.add $121=, $217, $121
+ i32.store $discard=, 0($41), $121
+ i32.const $push178=, 60
+ i32.add $41=, $217, $pop178
+ i32.const $122=, 48160
+ i32.add $122=, $217, $122
+ i32.store $discard=, 0($41), $122
+ i32.const $push177=, 56
+ i32.add $41=, $217, $pop177
+ i32.const $123=, 50160
+ i32.add $123=, $217, $123
+ i32.store $discard=, 0($41), $123
+ i32.const $push176=, 52
+ i32.add $41=, $217, $pop176
+ i32.const $124=, 52160
+ i32.add $124=, $217, $124
+ i32.store $discard=, 0($41), $124
+ i32.const $push175=, 48
+ i32.add $41=, $217, $pop175
+ i32.const $125=, 54160
+ i32.add $125=, $217, $125
+ i32.store $discard=, 0($41), $125
+ i32.const $push174=, 44
+ i32.add $41=, $217, $pop174
+ i32.const $126=, 56160
+ i32.add $126=, $217, $126
+ i32.store $discard=, 0($41), $126
+ i32.const $push173=, 40
+ i32.add $41=, $217, $pop173
+ i32.const $127=, 58160
+ i32.add $127=, $217, $127
+ i32.store $discard=, 0($41), $127
+ i32.const $push172=, 36
+ i32.add $41=, $217, $pop172
+ i32.const $128=, 60160
+ i32.add $128=, $217, $128
+ i32.store $discard=, 0($41), $128
+ i32.const $push171=, 32
+ i32.add $41=, $217, $pop171
+ i32.const $129=, 62160
+ i32.add $129=, $217, $129
+ i32.store $discard=, 0($41), $129
+ i32.const $push170=, 28
+ i32.add $41=, $217, $pop170
+ i32.const $130=, 64160
+ i32.add $130=, $217, $130
+ i32.store $discard=, 0($41), $130
+ i32.const $push169=, 24
+ i32.add $41=, $217, $pop169
+ i32.const $131=, 66160
+ i32.add $131=, $217, $131
+ i32.store $discard=, 0($41), $131
+ i32.const $push168=, 20
+ i32.add $41=, $217, $pop168
+ i32.const $132=, 68160
+ i32.add $132=, $217, $132
+ i32.store $discard=, 0($41), $132
+ i32.const $push167=, 16
+ i32.add $41=, $217, $pop167
+ i32.const $133=, 70160
+ i32.add $133=, $217, $133
+ i32.store $discard=, 0($41), $133
+ i32.const $push166=, 12
+ i32.add $41=, $217, $pop166
+ i32.const $134=, 72160
+ i32.add $134=, $217, $134
+ i32.store $discard=, 0($41), $134
+ i32.const $push165=, 8
+ i32.add $41=, $217, $pop165
+ i32.const $135=, 74160
+ i32.add $135=, $217, $135
+ i32.store $discard=, 0($41), $135
+ i32.const $push164=, 4
+ i32.add $41=, $217, $pop164
+ i32.const $136=, 76160
+ i32.add $136=, $217, $136
+ i32.store $discard=, 0($41), $136
+ i32.const $push163=, 40
+ call z@FUNCTION, $pop163
+ i32.const $48=, __stack_pointer
+ i32.load $48=, 0($48)
+ i32.const $49=, 160
+ i32.add $217=, $48, $49
+ i32.const $49=, __stack_pointer
+ i32.store $217=, 0($49), $217
+ i32.const $push162=, 2
+ i32.shl $push2=, $1, $pop162
+ i32.const $137=, 78160
+ i32.add $137=, $217, $137
+ i32.add $push3=, $137, $pop2
+ i32.store $discard=, 0($pop3), $1
+ i32.const $push161=, 2
+ i32.shl $push4=, $2, $pop161
+ i32.const $138=, 76160
+ i32.add $138=, $217, $138
+ i32.add $push5=, $138, $pop4
+ i32.store $discard=, 0($pop5), $2
+ i32.const $push160=, 2
+ i32.shl $push6=, $3, $pop160
+ i32.const $139=, 74160
+ i32.add $139=, $217, $139
+ i32.add $push7=, $139, $pop6
+ i32.store $discard=, 0($pop7), $3
+ i32.const $push159=, 2
+ i32.shl $push8=, $4, $pop159
+ i32.const $140=, 72160
+ i32.add $140=, $217, $140
+ i32.add $push9=, $140, $pop8
+ i32.store $discard=, 0($pop9), $4
+ i32.const $push158=, 2
+ i32.shl $push10=, $5, $pop158
+ i32.const $141=, 70160
+ i32.add $141=, $217, $141
+ i32.add $push11=, $141, $pop10
+ i32.store $discard=, 0($pop11), $5
+ i32.const $push157=, 2
+ i32.shl $push12=, $6, $pop157
+ i32.const $142=, 68160
+ i32.add $142=, $217, $142
+ i32.add $push13=, $142, $pop12
+ i32.store $discard=, 0($pop13), $6
+ i32.const $push156=, 2
+ i32.shl $push14=, $7, $pop156
+ i32.const $143=, 66160
+ i32.add $143=, $217, $143
+ i32.add $push15=, $143, $pop14
+ i32.store $discard=, 0($pop15), $7
+ i32.const $push155=, 2
+ i32.shl $push16=, $8, $pop155
+ i32.const $144=, 64160
+ i32.add $144=, $217, $144
+ i32.add $push17=, $144, $pop16
+ i32.store $discard=, 0($pop17), $8
+ i32.const $push154=, 2
+ i32.shl $push18=, $9, $pop154
+ i32.const $145=, 62160
+ i32.add $145=, $217, $145
+ i32.add $push19=, $145, $pop18
+ i32.store $discard=, 0($pop19), $9
+ i32.const $push153=, 2
+ i32.shl $push20=, $10, $pop153
+ i32.const $146=, 60160
+ i32.add $146=, $217, $146
+ i32.add $push21=, $146, $pop20
+ i32.store $discard=, 0($pop21), $10
+ i32.const $push152=, 2
+ i32.shl $push22=, $11, $pop152
+ i32.const $147=, 58160
+ i32.add $147=, $217, $147
+ i32.add $push23=, $147, $pop22
+ i32.store $discard=, 0($pop23), $11
+ i32.const $push151=, 2
+ i32.shl $push24=, $12, $pop151
+ i32.const $148=, 56160
+ i32.add $148=, $217, $148
+ i32.add $push25=, $148, $pop24
+ i32.store $discard=, 0($pop25), $12
+ i32.const $push150=, 2
+ i32.shl $push26=, $13, $pop150
+ i32.const $149=, 54160
+ i32.add $149=, $217, $149
+ i32.add $push27=, $149, $pop26
+ i32.store $discard=, 0($pop27), $13
+ i32.const $push149=, 2
+ i32.shl $push28=, $14, $pop149
+ i32.const $150=, 52160
+ i32.add $150=, $217, $150
+ i32.add $push29=, $150, $pop28
+ i32.store $discard=, 0($pop29), $14
+ i32.const $push148=, 2
+ i32.shl $push30=, $15, $pop148
+ i32.const $151=, 50160
+ i32.add $151=, $217, $151
+ i32.add $push31=, $151, $pop30
+ i32.store $discard=, 0($pop31), $15
+ i32.const $push147=, 2
+ i32.shl $push32=, $16, $pop147
+ i32.const $152=, 48160
+ i32.add $152=, $217, $152
+ i32.add $push33=, $152, $pop32
+ i32.store $discard=, 0($pop33), $16
+ i32.const $push146=, 2
+ i32.shl $push34=, $17, $pop146
+ i32.const $153=, 46160
+ i32.add $153=, $217, $153
+ i32.add $push35=, $153, $pop34
+ i32.store $discard=, 0($pop35), $17
+ i32.const $push145=, 2
+ i32.shl $push36=, $18, $pop145
+ i32.const $154=, 44160
+ i32.add $154=, $217, $154
+ i32.add $push37=, $154, $pop36
+ i32.store $discard=, 0($pop37), $18
+ i32.const $push144=, 2
+ i32.shl $push38=, $19, $pop144
+ i32.const $155=, 42160
+ i32.add $155=, $217, $155
+ i32.add $push39=, $155, $pop38
+ i32.store $discard=, 0($pop39), $19
+ i32.const $push143=, 2
+ i32.shl $push40=, $20, $pop143
+ i32.const $156=, 40160
+ i32.add $156=, $217, $156
+ i32.add $push41=, $156, $pop40
+ i32.store $discard=, 0($pop41), $20
+ i32.const $push142=, 2
+ i32.shl $push42=, $21, $pop142
+ i32.const $157=, 38160
+ i32.add $157=, $217, $157
+ i32.add $push43=, $157, $pop42
+ i32.store $discard=, 0($pop43), $21
+ i32.const $push141=, 2
+ i32.shl $push44=, $22, $pop141
+ i32.const $158=, 36160
+ i32.add $158=, $217, $158
+ i32.add $push45=, $158, $pop44
+ i32.store $discard=, 0($pop45), $22
+ i32.const $push140=, 2
+ i32.shl $push46=, $23, $pop140
+ i32.const $159=, 34160
+ i32.add $159=, $217, $159
+ i32.add $push47=, $159, $pop46
+ i32.store $discard=, 0($pop47), $23
+ i32.const $push139=, 2
+ i32.shl $push48=, $24, $pop139
+ i32.const $160=, 32160
+ i32.add $160=, $217, $160
+ i32.add $push49=, $160, $pop48
+ i32.store $discard=, 0($pop49), $24
+ i32.const $push138=, 2
+ i32.shl $push50=, $25, $pop138
+ i32.const $161=, 30160
+ i32.add $161=, $217, $161
+ i32.add $push51=, $161, $pop50
+ i32.store $discard=, 0($pop51), $25
+ i32.const $push137=, 2
+ i32.shl $push52=, $26, $pop137
+ i32.const $162=, 28160
+ i32.add $162=, $217, $162
+ i32.add $push53=, $162, $pop52
+ i32.store $discard=, 0($pop53), $26
+ i32.const $push136=, 2
+ i32.shl $push54=, $27, $pop136
+ i32.const $163=, 26160
+ i32.add $163=, $217, $163
+ i32.add $push55=, $163, $pop54
+ i32.store $discard=, 0($pop55), $27
+ i32.const $push135=, 2
+ i32.shl $push56=, $28, $pop135
+ i32.const $164=, 24160
+ i32.add $164=, $217, $164
+ i32.add $push57=, $164, $pop56
+ i32.store $discard=, 0($pop57), $28
+ i32.const $push134=, 2
+ i32.shl $push58=, $29, $pop134
+ i32.const $165=, 22160
+ i32.add $165=, $217, $165
+ i32.add $push59=, $165, $pop58
+ i32.store $discard=, 0($pop59), $29
+ i32.const $push133=, 2
+ i32.shl $push60=, $30, $pop133
+ i32.const $166=, 20160
+ i32.add $166=, $217, $166
+ i32.add $push61=, $166, $pop60
+ i32.store $discard=, 0($pop61), $30
+ i32.const $push132=, 2
+ i32.shl $push62=, $31, $pop132
+ i32.const $167=, 18160
+ i32.add $167=, $217, $167
+ i32.add $push63=, $167, $pop62
+ i32.store $discard=, 0($pop63), $31
+ i32.const $push131=, 2
+ i32.shl $push64=, $32, $pop131
+ i32.const $168=, 16160
+ i32.add $168=, $217, $168
+ i32.add $push65=, $168, $pop64
+ i32.store $discard=, 0($pop65), $32
+ i32.const $push130=, 2
+ i32.shl $push66=, $33, $pop130
+ i32.const $169=, 14160
+ i32.add $169=, $217, $169
+ i32.add $push67=, $169, $pop66
+ i32.store $discard=, 0($pop67), $33
+ i32.const $push129=, 2
+ i32.shl $push68=, $34, $pop129
+ i32.const $170=, 12160
+ i32.add $170=, $217, $170
+ i32.add $push69=, $170, $pop68
+ i32.store $discard=, 0($pop69), $34
+ i32.const $push128=, 2
+ i32.shl $push70=, $35, $pop128
+ i32.const $171=, 10160
+ i32.add $171=, $217, $171
+ i32.add $push71=, $171, $pop70
+ i32.store $discard=, 0($pop71), $35
+ i32.const $push127=, 2
+ i32.shl $push72=, $36, $pop127
+ i32.const $172=, 8160
+ i32.add $172=, $217, $172
+ i32.add $push73=, $172, $pop72
+ i32.store $discard=, 0($pop73), $36
+ i32.const $push126=, 2
+ i32.shl $push74=, $37, $pop126
+ i32.const $173=, 6160
+ i32.add $173=, $217, $173
+ i32.add $push75=, $173, $pop74
+ i32.store $discard=, 0($pop75), $37
+ i32.const $push125=, 2
+ i32.shl $push76=, $38, $pop125
+ i32.const $174=, 4160
+ i32.add $174=, $217, $174
+ i32.add $push77=, $174, $pop76
+ i32.store $discard=, 0($pop77), $38
+ i32.const $push124=, 2
+ i32.shl $push78=, $39, $pop124
+ i32.const $175=, 2160
+ i32.add $175=, $217, $175
+ i32.add $push79=, $175, $pop78
+ i32.store $discard=, 0($pop79), $39
+ i32.const $push123=, 2
+ i32.shl $push80=, $40, $pop123
+ i32.const $176=, 160
+ i32.add $176=, $217, $176
+ i32.add $push81=, $176, $pop80
+ i32.store $discard=, 0($pop81), $40
+ i32.const $50=, __stack_pointer
+ i32.load $50=, 0($50)
+ i32.const $51=, 160
+ i32.sub $217=, $50, $51
+ i32.const $51=, __stack_pointer
+ i32.store $217=, 0($51), $217
+ i32.const $177=, 78160
+ i32.add $177=, $217, $177
+ i32.store $discard=, 0($217), $177
+ i32.const $push122=, 156
+ i32.add $1=, $217, $pop122
+ i32.const $178=, 160
+ i32.add $178=, $217, $178
+ i32.store $discard=, 0($1), $178
+ i32.const $push121=, 152
+ i32.add $1=, $217, $pop121
+ i32.const $179=, 2160
+ i32.add $179=, $217, $179
+ i32.store $discard=, 0($1), $179
+ i32.const $push120=, 148
+ i32.add $1=, $217, $pop120
+ i32.const $180=, 4160
+ i32.add $180=, $217, $180
+ i32.store $discard=, 0($1), $180
+ i32.const $push119=, 144
+ i32.add $1=, $217, $pop119
+ i32.const $181=, 6160
+ i32.add $181=, $217, $181
+ i32.store $discard=, 0($1), $181
+ i32.const $push118=, 140
+ i32.add $1=, $217, $pop118
+ i32.const $182=, 8160
+ i32.add $182=, $217, $182
+ i32.store $discard=, 0($1), $182
+ i32.const $push117=, 136
+ i32.add $1=, $217, $pop117
+ i32.const $183=, 10160
+ i32.add $183=, $217, $183
+ i32.store $discard=, 0($1), $183
+ i32.const $push116=, 132
+ i32.add $1=, $217, $pop116
+ i32.const $184=, 12160
+ i32.add $184=, $217, $184
+ i32.store $discard=, 0($1), $184
+ i32.const $push115=, 128
+ i32.add $1=, $217, $pop115
+ i32.const $185=, 14160
+ i32.add $185=, $217, $185
+ i32.store $discard=, 0($1), $185
+ i32.const $push114=, 124
+ i32.add $1=, $217, $pop114
+ i32.const $186=, 16160
+ i32.add $186=, $217, $186
+ i32.store $discard=, 0($1), $186
+ i32.const $push113=, 120
+ i32.add $1=, $217, $pop113
+ i32.const $187=, 18160
+ i32.add $187=, $217, $187
+ i32.store $discard=, 0($1), $187
+ i32.const $push112=, 116
+ i32.add $1=, $217, $pop112
+ i32.const $188=, 20160
+ i32.add $188=, $217, $188
+ i32.store $discard=, 0($1), $188
+ i32.const $push111=, 112
+ i32.add $1=, $217, $pop111
+ i32.const $189=, 22160
+ i32.add $189=, $217, $189
+ i32.store $discard=, 0($1), $189
+ i32.const $push110=, 108
+ i32.add $1=, $217, $pop110
+ i32.const $190=, 24160
+ i32.add $190=, $217, $190
+ i32.store $discard=, 0($1), $190
+ i32.const $push109=, 104
+ i32.add $1=, $217, $pop109
+ i32.const $191=, 26160
+ i32.add $191=, $217, $191
+ i32.store $discard=, 0($1), $191
+ i32.const $push108=, 100
+ i32.add $1=, $217, $pop108
+ i32.const $192=, 28160
+ i32.add $192=, $217, $192
+ i32.store $discard=, 0($1), $192
+ i32.const $push107=, 96
+ i32.add $1=, $217, $pop107
+ i32.const $193=, 30160
+ i32.add $193=, $217, $193
+ i32.store $discard=, 0($1), $193
+ i32.const $push106=, 92
+ i32.add $1=, $217, $pop106
+ i32.const $194=, 32160
+ i32.add $194=, $217, $194
+ i32.store $discard=, 0($1), $194
+ i32.const $push105=, 88
+ i32.add $1=, $217, $pop105
+ i32.const $195=, 34160
+ i32.add $195=, $217, $195
+ i32.store $discard=, 0($1), $195
+ i32.const $push104=, 84
+ i32.add $1=, $217, $pop104
+ i32.const $196=, 36160
+ i32.add $196=, $217, $196
+ i32.store $discard=, 0($1), $196
+ i32.const $push103=, 80
+ i32.add $1=, $217, $pop103
+ i32.const $197=, 38160
+ i32.add $197=, $217, $197
+ i32.store $discard=, 0($1), $197
+ i32.const $push102=, 76
+ i32.add $1=, $217, $pop102
+ i32.const $198=, 40160
+ i32.add $198=, $217, $198
+ i32.store $discard=, 0($1), $198
+ i32.const $push101=, 72
+ i32.add $1=, $217, $pop101
+ i32.const $199=, 42160
+ i32.add $199=, $217, $199
+ i32.store $discard=, 0($1), $199
+ i32.const $push100=, 68
+ i32.add $1=, $217, $pop100
+ i32.const $200=, 44160
+ i32.add $200=, $217, $200
+ i32.store $discard=, 0($1), $200
+ i32.const $push99=, 64
+ i32.add $1=, $217, $pop99
+ i32.const $201=, 46160
+ i32.add $201=, $217, $201
+ i32.store $discard=, 0($1), $201
+ i32.const $push98=, 60
+ i32.add $1=, $217, $pop98
+ i32.const $202=, 48160
+ i32.add $202=, $217, $202
+ i32.store $discard=, 0($1), $202
+ i32.const $push97=, 56
+ i32.add $1=, $217, $pop97
+ i32.const $203=, 50160
+ i32.add $203=, $217, $203
+ i32.store $discard=, 0($1), $203
+ i32.const $push96=, 52
+ i32.add $1=, $217, $pop96
+ i32.const $204=, 52160
+ i32.add $204=, $217, $204
+ i32.store $discard=, 0($1), $204
+ i32.const $push95=, 48
+ i32.add $1=, $217, $pop95
+ i32.const $205=, 54160
+ i32.add $205=, $217, $205
+ i32.store $discard=, 0($1), $205
+ i32.const $push94=, 44
+ i32.add $1=, $217, $pop94
+ i32.const $206=, 56160
+ i32.add $206=, $217, $206
+ i32.store $discard=, 0($1), $206
+ i32.const $push93=, 40
+ i32.add $1=, $217, $pop93
+ i32.const $207=, 58160
+ i32.add $207=, $217, $207
+ i32.store $discard=, 0($1), $207
+ i32.const $push92=, 36
+ i32.add $1=, $217, $pop92
+ i32.const $208=, 60160
+ i32.add $208=, $217, $208
+ i32.store $discard=, 0($1), $208
+ i32.const $push91=, 32
+ i32.add $1=, $217, $pop91
+ i32.const $209=, 62160
+ i32.add $209=, $217, $209
+ i32.store $discard=, 0($1), $209
+ i32.const $push90=, 28
+ i32.add $1=, $217, $pop90
+ i32.const $210=, 64160
+ i32.add $210=, $217, $210
+ i32.store $discard=, 0($1), $210
+ i32.const $push89=, 24
+ i32.add $1=, $217, $pop89
+ i32.const $211=, 66160
+ i32.add $211=, $217, $211
+ i32.store $discard=, 0($1), $211
+ i32.const $push88=, 20
+ i32.add $1=, $217, $pop88
+ i32.const $212=, 68160
+ i32.add $212=, $217, $212
+ i32.store $discard=, 0($1), $212
+ i32.const $push87=, 16
+ i32.add $1=, $217, $pop87
+ i32.const $213=, 70160
+ i32.add $213=, $217, $213
+ i32.store $discard=, 0($1), $213
+ i32.const $push86=, 12
+ i32.add $1=, $217, $pop86
+ i32.const $214=, 72160
+ i32.add $214=, $217, $214
+ i32.store $discard=, 0($1), $214
+ i32.const $push85=, 8
+ i32.add $1=, $217, $pop85
+ i32.const $215=, 74160
+ i32.add $215=, $217, $215
+ i32.store $discard=, 0($1), $215
+ i32.const $push84=, 4
+ i32.add $1=, $217, $pop84
+ i32.const $216=, 76160
+ i32.add $216=, $217, $216
+ i32.store $discard=, 0($1), $216
+ i32.const $push83=, 40
+ call c@FUNCTION, $pop83
+ i32.const $52=, __stack_pointer
+ i32.load $52=, 0($52)
+ i32.const $53=, 160
+ i32.add $217=, $52, $53
+ i32.const $53=, __stack_pointer
+ i32.store $217=, 0($53), $217
+ i32.const $push82=, -1
+ i32.add $0=, $0, $pop82
+ br_if $0, 0 # 0: up to label1
+.LBB0_2: # %for.end
+ end_loop # label2:
+ end_block # label0:
+ i32.const $56=, 80160
+ i32.add $217=, $217, $56
+ i32.const $56=, __stack_pointer
+ i32.store $217=, 0($56), $217
+ return
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.s,"ax",@progbits
+ .hidden s
+ .globl s
+ .type s,@function
+s: # @s
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $discard=, 12($5), $6
+ block
+ i32.const $push14=, 0
+ i32.eq $push15=, $0, $pop14
+ br_if $pop15, 0 # 0: down to label3
+# BB#1: # %while.body.preheader
+ i32.const $push7=, -1
+ i32.add $0=, $0, $pop7
+.LBB1_2: # %while.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label4:
+ i32.load $push0=, 12($5)
+ i32.const $push13=, 3
+ i32.add $push1=, $pop0, $pop13
+ i32.const $push12=, -4
+ i32.and $push2=, $pop1, $pop12
+ tee_local $push11=, $1=, $pop2
+ i32.const $push10=, 4
+ i32.add $push3=, $pop11, $pop10
+ i32.store $discard=, 12($5), $pop3
+ i32.load $push4=, 0($1)
+ i32.store $push5=, 0($pop4), $0
+ i32.const $push9=, -1
+ i32.add $0=, $pop5, $pop9
+ i32.const $push8=, -1
+ i32.ne $push6=, $0, $pop8
+ br_if $pop6, 0 # 0: up to label4
+.LBB1_3: # %while.end
+ end_loop # label5:
+ end_block # label3:
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+ .endfunc
+.Lfunc_end1:
+ .size s, .Lfunc_end1-s
+
+ .section .text.z,"ax",@progbits
+ .hidden z
+ .globl z
+ .type z,@function
+z: # @z
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $discard=, 12($5), $6
+ block
+ i32.const $push12=, 0
+ i32.eq $push13=, $0, $pop12
+ br_if $pop13, 0 # 0: down to label6
+.LBB2_1: # %while.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label7:
+ i32.load $push1=, 12($5)
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -4
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push11=, $1=, $pop5
+ i32.const $push6=, 4
+ i32.add $push7=, $pop11, $pop6
+ i32.store $discard=, 12($5), $pop7
+ i32.const $push0=, -1
+ i32.add $0=, $0, $pop0
+ i32.load $push8=, 0($1)
+ i32.const $push10=, 0
+ i32.const $push9=, 2000
+ i32.call $discard=, memset@FUNCTION, $pop8, $pop10, $pop9
+ br_if $0, 0 # 0: up to label7
+.LBB2_2: # %while.end
+ end_loop # label8:
+ end_block # label6:
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+ .endfunc
+.Lfunc_end2:
+ .size z, .Lfunc_end2-z
+
+ .section .text.c,"ax",@progbits
+ .hidden c
+ .globl c
+ .type c,@function
+c: # @c
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $discard=, 12($6), $7
+ i32.const $push0=, 2
+ i32.shl $push1=, $0, $pop0
+ i32.const $push9=, -4
+ i32.add $1=, $pop1, $pop9
+.LBB3_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ loop # label10:
+ i32.const $push16=, 0
+ i32.eq $push17=, $0, $pop16
+ br_if $pop17, 2 # 2: down to label9
+# BB#2: # %while.body
+ # in Loop: Header=BB3_1 Depth=1
+ i32.load $push2=, 12($6)
+ i32.const $push15=, 3
+ i32.add $push3=, $pop2, $pop15
+ i32.const $push14=, -4
+ i32.and $push4=, $pop3, $pop14
+ tee_local $push13=, $2=, $pop4
+ i32.const $push12=, 4
+ i32.add $push5=, $pop13, $pop12
+ i32.store $discard=, 12($6), $pop5
+ i32.load $push6=, 0($2)
+ i32.add $2=, $pop6, $1
+ i32.const $push11=, -1
+ i32.add $0=, $0, $pop11
+ i32.const $push10=, -4
+ i32.add $1=, $1, $pop10
+ i32.load $push7=, 0($2)
+ i32.eq $push8=, $0, $pop7
+ br_if $pop8, 0 # 0: up to label10
+# BB#3: # %if.then
+ end_loop # label11:
+ call abort@FUNCTION
+ unreachable
+.LBB3_4: # %while.end
+ end_block # label9:
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+ .endfunc
+.Lfunc_end3:
+ .size c, .Lfunc_end3-c
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 1
+ call f@FUNCTION, $pop0
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
+ unreachable
+ .endfunc
+.Lfunc_end4:
+ .size main, .Lfunc_end4-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/nestfunc-4.c.s b/test/torture-s/nestfunc-4.c.s
index 90578a9dc..9741d15f5 100644
--- a/test/torture-s/nestfunc-4.c.s
+++ b/test/torture-s/nestfunc-4.c.s
@@ -6,17 +6,21 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %if.then
- i32.const $0=, 0
- i32.load $1=, level($0)
- i32.const $2=, 499
- i32.gt_s $push0=, $1, $2
- i32.select $push1=, $pop0, $1, $2
- i32.const $push2=, 1
- i32.add $push3=, $pop1, $pop2
- i32.store $discard=, level($0), $pop3
- call exit@FUNCTION, $0
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, level($pop10)
+ tee_local $push9=, $0=, $pop1
+ i32.const $push2=, 499
+ i32.gt_s $push3=, $pop9, $pop2
+ i32.const $push8=, 499
+ i32.select $push4=, $pop3, $0, $pop8
+ i32.const $push5=, 1
+ i32.add $push6=, $pop4, $pop5
+ i32.store $discard=, level($pop0), $pop6
+ i32.const $push7=, 0
+ call exit@FUNCTION, $pop7
unreachable
.endfunc
.Lfunc_end0:
@@ -28,18 +32,21 @@ main: # @main
.type foo,@function
foo: # @foo
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, level($0)
- i32.const $2=, 499
- i32.gt_s $push0=, $1, $2
- i32.select $push1=, $pop0, $1, $2
- i32.const $push2=, 1
- i32.add $push3=, $pop1, $pop2
- i32.store $discard=, level($0), $pop3
- i32.const $push4=, -42
- return $pop4
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, level($pop10)
+ tee_local $push9=, $0=, $pop1
+ i32.const $push2=, 499
+ i32.gt_s $push3=, $pop9, $pop2
+ i32.const $push8=, 499
+ i32.select $push4=, $pop3, $0, $pop8
+ i32.const $push5=, 1
+ i32.add $push6=, $pop4, $pop5
+ i32.store $discard=, level($pop0), $pop6
+ i32.const $push7=, -42
+ return $pop7
.endfunc
.Lfunc_end1:
.size foo, .Lfunc_end1-foo
@@ -52,19 +59,20 @@ bar: # @bar
.result i32
.local i32, i32
# BB#0: # %entry
- i32.const $push0=, 0
- i32.load $0=, level($pop0)
- i32.const $1=, -42
+ i32.const $0=, -42
block
- i32.const $push1=, 499
- i32.gt_s $push2=, $0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push1=, 0
+ i32.load $push0=, level($pop1)
+ tee_local $push5=, $1=, $pop0
+ i32.const $push2=, 499
+ i32.gt_s $push3=, $pop5, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %cond.false
- i32.call $1=, foo@FUNCTION
+ i32.call $0=, foo@FUNCTION
.LBB2_2: # %cond.end
end_block # label0:
- i32.sub $push3=, $1, $0
- return $pop3
+ i32.sub $push4=, $0, $1
+ return $pop4
.endfunc
.Lfunc_end2:
.size bar, .Lfunc_end2-bar
@@ -73,7 +81,7 @@ bar: # @bar
.type level,@object
.section .bss.level,"aw",@nobits
.globl level
- .align 2
+ .p2align 2
level:
.int32 0 # 0x0
.size level, 4
diff --git a/test/torture-s/p18298.c.s b/test/torture-s/p18298.c.s
index 4d5d096ba..803951b16 100644
--- a/test/torture-s/p18298.c.s
+++ b/test/torture-s/p18298.c.s
@@ -23,19 +23,21 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load8_u $push0=, s($0)
i32.const $push1=, 0
- i32.eq $push2=, $pop0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.load8_u $push0=, s($pop1):p2align=4
+ i32.const $push5=, 0
+ i32.eq $push6=, $pop0, $pop5
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %while.body
- i32.store8 $discard=, s($0), $0
+ i32.const $push3=, 0
+ i32.const $push2=, 0
+ i32.store8 $discard=, s($pop3):p2align=4, $pop2
.LBB1_2: # %while.end
end_block # label0:
- return $0
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -44,7 +46,7 @@ main: # @main
.type s,@object
.section .data.s,"aw",@progbits
.globl s
- .align 4
+ .p2align 4
s:
.asciz "a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
.size s, 2048
diff --git a/test/torture-s/packed-1.c.s b/test/torture-s/packed-1.c.s
index cf5ffd278..cb2be74dd 100644
--- a/test/torture-s/packed-1.c.s
+++ b/test/torture-s/packed-1.c.s
@@ -8,13 +8,14 @@ f: # @f
.result i32
.local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load16_u $push0=, x1($0)
- i32.store16 $push1=, t($0), $pop0
- i32.const $push2=, 17
- i32.ne $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load16_u $push1=, x1($pop5)
+ i32.store16 $push2=, t($pop0), $pop1
+ i32.const $push3=, 17
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
return $0
.LBB0_2: # %if.then
@@ -31,21 +32,10 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
- i32.load16_u $push0=, x1($0)
- i32.store16 $push1=, t($0), $pop0
- i32.const $push2=, 17
- i32.ne $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label1
-# BB#1: # %f.exit
- call exit@FUNCTION, $0
- unreachable
-.LBB1_2: # %if.then.i
- end_block # label1:
- call abort@FUNCTION
+ i32.call $discard=, f@FUNCTION
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
unreachable
.endfunc
.Lfunc_end1:
@@ -55,7 +45,7 @@ main: # @main
.type x1,@object
.section .data.x1,"aw",@progbits
.globl x1
- .align 1
+ .p2align 1
x1:
.int16 17 # 0x11
.size x1, 2
@@ -64,7 +54,7 @@ x1:
.type t,@object
.section .bss.t,"aw",@nobits
.globl t
- .align 1
+ .p2align 1
t:
.skip 2
.size t, 2
diff --git a/test/torture-s/packed-2.c.s b/test/torture-s/packed-2.c.s
index 42c5b20b0..637048ff4 100644
--- a/test/torture-s/packed-2.c.s
+++ b/test/torture-s/packed-2.c.s
@@ -6,15 +6,11 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $push1=, t+2
- i32.const $push0=, 2
- i32.add $push2=, $pop1, $pop0
- i32.const $push3=, 0
- i32.store16 $0=, 0($pop2), $pop3
- i32.store16 $push4=, t+2($0), $0
- return $pop4
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store $push1=, t+2($pop0):p2align=1, $pop2
+ return $pop1
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -23,7 +19,7 @@ main: # @main
.type t,@object
.section .bss.t,"aw",@nobits
.globl t
- .align 1
+ .p2align 1
t:
.skip 6
.size t, 6
diff --git a/test/torture-s/pending-4.c.s b/test/torture-s/pending-4.c.s
index 71e4b8912..31db7f3c6 100644
--- a/test/torture-s/pending-4.c.s
+++ b/test/torture-s/pending-4.c.s
@@ -19,41 +19,43 @@ dummy: # @dummy
main: # @main
.param i32, i32
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
+ i32.const $4=, 8
i32.const $2=, 0
- i32.const $5=, 8
- copy_local $3=, $2
+ i32.const $3=, 0
.LBB1_1: # %for.cond
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $4=, 1
block
block
- i32.eq $push0=, $5, $4
+ i32.const $push6=, 1
+ i32.eq $push0=, $4, $pop6
br_if $pop0, 0 # 0: down to label3
# BB#2: # %for.cond
# in Loop: Header=BB1_1 Depth=1
block
- i32.const $push6=, 0
- i32.eq $push7=, $5, $pop6
- br_if $pop7, 0 # 0: down to label4
+ i32.const $push10=, 0
+ i32.eq $push11=, $4, $pop10
+ br_if $pop11, 0 # 0: down to label4
# BB#3: # %if.else
# in Loop: Header=BB1_1 Depth=1
- i32.add $3=, $3, $4
+ i32.const $push8=, 1
+ i32.add $3=, $3, $pop8
br 2 # 2: down to label2
.LBB1_4: # %for.end
end_block # label4:
block
- i32.ne $push1=, $2, $4
- br_if $pop1, 0 # 0: down to label5
+ i32.const $push1=, 1
+ i32.ne $push2=, $2, $pop1
+ br_if $pop2, 0 # 0: down to label5
# BB#5: # %for.end
- i32.const $push2=, 7
- i32.ne $push3=, $3, $pop2
- br_if $pop3, 0 # 0: down to label5
+ i32.const $push3=, 7
+ i32.ne $push4=, $3, $pop3
+ br_if $pop4, 0 # 0: down to label5
# BB#6: # %if.end7
- i32.const $push4=, 0
- call exit@FUNCTION, $pop4
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
unreachable
.LBB1_7: # %if.then6
end_block # label5:
@@ -62,12 +64,13 @@ main: # @main
.LBB1_8: # %if.then
# in Loop: Header=BB1_1 Depth=1
end_block # label3:
- i32.add $2=, $2, $4
+ i32.const $push7=, 1
+ i32.add $2=, $2, $pop7
.LBB1_9: # %for.inc
# in Loop: Header=BB1_1 Depth=1
end_block # label2:
- i32.const $push5=, -1
- i32.add $5=, $5, $pop5
+ i32.const $push9=, -1
+ i32.add $4=, $4, $pop9
br 0 # 0: up to label0
.LBB1_10:
end_loop # label1:
diff --git a/test/torture-s/postmod-1.c.s b/test/torture-s/postmod-1.c.s
index 1bba8ffdf..5a88f30f5 100644
--- a/test/torture-s/postmod-1.c.s
+++ b/test/torture-s/postmod-1.c.s
@@ -6,117 +6,156 @@
.type foo,@function
foo: # @foo
.param i32
- .local i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $push0=, 2
- i32.shl $6=, $0, $pop0
- i32.const $push1=, array0
- i32.add $24=, $pop1, $6
- i32.const $push2=, array1
- i32.add $23=, $pop2, $6
- i32.const $push3=, array2
- i32.add $22=, $pop3, $6
- i32.const $push4=, array3
- i32.add $21=, $pop4, $6
- i32.const $push5=, array4
- i32.add $20=, $pop5, $6
- i32.const $push6=, array5
- i32.add $19=, $pop6, $6
+ i32.shl $push1=, $0, $pop0
+ tee_local $push47=, $24=, $pop1
+ i32.const $push2=, array0
+ i32.add $23=, $pop47, $pop2
+ i32.const $push3=, array1
+ i32.add $22=, $24, $pop3
+ i32.const $push4=, array2
+ i32.add $21=, $24, $pop4
+ i32.const $push5=, array3
+ i32.add $20=, $24, $pop5
+ i32.const $push6=, array4
+ i32.add $19=, $24, $pop6
+ i32.const $push7=, array5
+ i32.add $18=, $24, $pop7
.LBB0_1: # %do.body
# =>This Loop Header: Depth=1
# Child Loop BB0_2 Depth 2
loop # label0:
- i32.const $0=, 0
- f32.load $8=, 0($23)
- f32.load $9=, counter1($0)
- f32.load $10=, 0($22)
- f32.load $11=, counter2($0)
- f32.load $12=, 0($21)
- f32.load $13=, counter3($0)
- f32.load $14=, 0($20)
- f32.load $15=, counter4($0)
- f32.load $16=, 0($19)
- f32.load $17=, counter5($0)
- f32.load $push7=, 0($24)
- f32.load $push8=, counter0($0)
- f32.add $push9=, $pop7, $pop8
- f32.store $7=, counter0($0), $pop9
- i32.const $25=, 12
- i32.add $24=, $24, $25
- i32.add $23=, $23, $25
- i32.add $push21=, $23, $6
- f32.load $18=, 0($pop21)
- i32.add $push18=, $24, $6
- f32.load $push19=, 0($pop18)
- f32.add $push20=, $pop19, $7
- f32.store $discard=, counter0($0), $pop20
- f32.add $push10=, $8, $9
- f32.store $push11=, counter1($0), $pop10
- f32.add $push22=, $18, $pop11
- f32.store $discard=, counter1($0), $pop22
- f32.add $push12=, $10, $11
- f32.store $8=, counter2($0), $pop12
- i32.add $22=, $22, $25
- i32.add $21=, $21, $25
- i32.add $push26=, $21, $6
- f32.load $9=, 0($pop26)
- i32.add $push23=, $22, $6
- f32.load $push24=, 0($pop23)
- f32.add $push25=, $pop24, $8
- f32.store $discard=, counter2($0), $pop25
- f32.add $push13=, $12, $13
- f32.store $push14=, counter3($0), $pop13
- f32.add $push27=, $9, $pop14
- f32.store $discard=, counter3($0), $pop27
- i32.add $20=, $20, $25
- i32.add $19=, $19, $25
- i32.add $push28=, $20, $6
- f32.load $8=, 0($pop28)
- f32.add $push15=, $14, $15
- f32.store $9=, counter4($0), $pop15
- i32.add $push30=, $19, $6
- f32.load $10=, 0($pop30)
- f32.add $push29=, $8, $9
- f32.store $discard=, counter4($0), $pop29
- f32.add $push16=, $16, $17
- f32.store $push17=, counter5($0), $pop16
- f32.add $push31=, $10, $pop17
- f32.store $discard=, counter5($0), $pop31
- i32.load $1=, vol($0)
- i32.load $2=, vol($0)
- i32.load $3=, vol($0)
- i32.load $4=, vol($0)
- i32.load $5=, vol($0)
- i32.const $25=, 10
+ f32.load $6=, 0($23)
+ f32.load $7=, 0($22)
+ i32.const $push76=, 0
+ f32.load $8=, counter1($pop76)
+ f32.load $9=, 0($21)
+ i32.const $push75=, 0
+ f32.load $10=, counter2($pop75)
+ f32.load $11=, 0($20)
+ i32.const $push74=, 0
+ f32.load $12=, counter3($pop74)
+ f32.load $13=, 0($19)
+ i32.const $push73=, 0
+ f32.load $14=, counter4($pop73)
+ f32.load $15=, 0($18)
+ i32.const $push72=, 0
+ f32.load $16=, counter5($pop72)
+ i32.const $push71=, 12
+ i32.add $23=, $23, $pop71
+ i32.const $push70=, 12
+ i32.add $22=, $22, $pop70
+ i32.add $push24=, $22, $24
+ f32.load $17=, 0($pop24)
+ i32.const $push69=, 0
+ i32.add $push21=, $23, $24
+ f32.load $push22=, 0($pop21)
+ i32.const $push68=, 0
+ i32.const $push67=, 0
+ f32.load $push8=, counter0($pop67)
+ f32.add $push9=, $6, $pop8
+ f32.store $push10=, counter0($pop68), $pop9
+ f32.add $push23=, $pop22, $pop10
+ f32.store $discard=, counter0($pop69), $pop23
+ i32.const $push66=, 0
+ i32.const $push65=, 0
+ f32.add $push11=, $7, $8
+ f32.store $push12=, counter1($pop65), $pop11
+ f32.add $push25=, $17, $pop12
+ f32.store $discard=, counter1($pop66), $pop25
+ i32.const $push64=, 12
+ i32.add $21=, $21, $pop64
+ i32.const $push63=, 12
+ i32.add $20=, $20, $pop63
+ i32.add $push29=, $20, $24
+ f32.load $6=, 0($pop29)
+ i32.const $push62=, 0
+ i32.add $push26=, $21, $24
+ f32.load $push27=, 0($pop26)
+ i32.const $push61=, 0
+ f32.add $push13=, $9, $10
+ f32.store $push14=, counter2($pop61), $pop13
+ f32.add $push28=, $pop27, $pop14
+ f32.store $discard=, counter2($pop62), $pop28
+ i32.const $push60=, 0
+ i32.const $push59=, 0
+ f32.add $push15=, $11, $12
+ f32.store $push16=, counter3($pop59), $pop15
+ f32.add $push30=, $6, $pop16
+ f32.store $discard=, counter3($pop60), $pop30
+ i32.const $push58=, 12
+ i32.add $19=, $19, $pop58
+ i32.const $push57=, 12
+ i32.add $18=, $18, $pop57
+ i32.add $push34=, $18, $24
+ f32.load $6=, 0($pop34)
+ i32.const $push56=, 0
+ i32.add $push31=, $19, $24
+ f32.load $push32=, 0($pop31)
+ i32.const $push55=, 0
+ f32.add $push17=, $13, $14
+ f32.store $push18=, counter4($pop55), $pop17
+ f32.add $push33=, $pop32, $pop18
+ f32.store $discard=, counter4($pop56), $pop33
+ i32.const $push54=, 0
+ i32.const $push53=, 0
+ f32.add $push19=, $15, $16
+ f32.store $push20=, counter5($pop53), $pop19
+ f32.add $push35=, $6, $pop20
+ f32.store $discard=, counter5($pop54), $pop35
+ i32.const $push52=, 0
+ i32.load $1=, vol($pop52)
+ i32.const $push51=, 0
+ i32.load $2=, vol($pop51)
+ i32.const $push50=, 0
+ i32.load $3=, vol($pop50)
+ i32.const $push49=, 0
+ i32.load $4=, vol($pop49)
+ i32.const $push48=, 0
+ i32.load $5=, vol($pop48)
+ i32.const $0=, 10
.LBB0_2: # %for.body
# Parent Loop BB0_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label2:
- i32.load $push32=, vol($0)
- i32.add $push33=, $pop32, $1
- i32.store $discard=, vol($0), $pop33
- i32.load $push34=, vol($0)
- i32.add $push35=, $pop34, $2
- i32.store $discard=, vol($0), $pop35
- i32.load $push36=, vol($0)
- i32.add $push37=, $pop36, $3
- i32.store $discard=, vol($0), $pop37
- i32.load $push38=, vol($0)
- i32.add $push39=, $pop38, $4
- i32.store $discard=, vol($0), $pop39
- i32.load $push40=, vol($0)
- i32.add $push41=, $pop40, $5
- i32.store $discard=, vol($0), $pop41
- i32.const $push42=, -1
- i32.add $25=, $25, $pop42
- br_if $25, 0 # 0: up to label2
+ i32.const $push87=, 0
+ i32.const $push86=, 0
+ i32.load $push36=, vol($pop86)
+ i32.add $push37=, $pop36, $1
+ i32.store $discard=, vol($pop87), $pop37
+ i32.const $push85=, 0
+ i32.const $push84=, 0
+ i32.load $push38=, vol($pop84)
+ i32.add $push39=, $pop38, $2
+ i32.store $discard=, vol($pop85), $pop39
+ i32.const $push83=, 0
+ i32.const $push82=, 0
+ i32.load $push40=, vol($pop82)
+ i32.add $push41=, $pop40, $3
+ i32.store $discard=, vol($pop83), $pop41
+ i32.const $push81=, 0
+ i32.const $push80=, 0
+ i32.load $push42=, vol($pop80)
+ i32.add $push43=, $pop42, $4
+ i32.store $discard=, vol($pop81), $pop43
+ i32.const $push79=, 0
+ i32.const $push78=, 0
+ i32.load $push44=, vol($pop78)
+ i32.add $push45=, $pop44, $5
+ i32.store $discard=, vol($pop79), $pop45
+ i32.const $push77=, -1
+ i32.add $0=, $0, $pop77
+ br_if $0, 0 # 0: up to label2
# BB#3: # %for.end
# in Loop: Header=BB0_1 Depth=1
end_loop # label3:
- i32.load $push43=, stop($0)
- i32.const $push44=, 0
- i32.eq $push45=, $pop43, $pop44
- br_if $pop45, 0 # 0: up to label0
+ i32.const $push88=, 0
+ i32.load $push46=, stop($pop88)
+ i32.const $push89=, 0
+ i32.eq $push90=, $pop46, $pop89
+ br_if $pop90, 0 # 0: up to label0
# BB#4: # %do.end
end_loop # label1:
return
@@ -130,44 +169,65 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, f32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $push0=, 1065353216
- i32.store $push1=, array0+4($0), $pop0
- i32.store $push4=, array1+4($0), $pop1
- i32.store $push6=, array2+4($0), $pop4
- i32.store $push8=, array3+4($0), $pop6
- i32.store $push10=, array4+4($0), $pop8
- i32.store $discard=, array5+4($0), $pop10
- i32.const $push2=, 1073741824
- i32.store $push3=, array0+20($0), $pop2
- i32.store $push5=, array1+20($0), $pop3
- i32.store $push7=, array2+20($0), $pop5
- i32.store $push9=, array3+20($0), $pop7
- i32.store $push11=, array4+20($0), $pop9
- i32.store $discard=, array5+20($0), $pop11
- i32.const $push12=, 1
- call foo@FUNCTION, $pop12
- f32.const $1=, 0x1.8p1
- f32.load $push13=, counter0($0)
- f32.ne $push14=, $pop13, $1
- f32.load $push15=, counter1($0)
- f32.ne $push16=, $pop15, $1
- i32.or $push17=, $pop14, $pop16
- f32.load $push18=, counter2($0)
- f32.ne $push19=, $pop18, $1
- i32.or $push20=, $pop17, $pop19
- f32.load $push21=, counter3($0)
- f32.ne $push22=, $pop21, $1
- i32.or $push23=, $pop20, $pop22
- f32.load $push24=, counter4($0)
- f32.ne $push25=, $pop24, $1
- i32.or $push26=, $pop23, $pop25
- f32.load $push27=, counter5($0)
- f32.ne $push28=, $pop27, $1
- i32.or $push29=, $pop26, $pop28
- return $pop29
+ i32.const $push0=, 0
+ i32.const $push53=, 0
+ i32.const $push52=, 0
+ i32.const $push51=, 0
+ i32.const $push50=, 0
+ i32.const $push49=, 0
+ i32.const $push1=, 1065353216
+ i32.store $push2=, array0+4($pop49), $pop1
+ i32.store $push5=, array1+4($pop50), $pop2
+ i32.store $push7=, array2+4($pop51), $pop5
+ i32.store $push9=, array3+4($pop52), $pop7
+ i32.store $push11=, array4+4($pop53), $pop9
+ i32.store $discard=, array5+4($pop0), $pop11
+ i32.const $push48=, 0
+ i32.const $push47=, 0
+ i32.const $push46=, 0
+ i32.const $push45=, 0
+ i32.const $push44=, 0
+ i32.const $push43=, 0
+ i32.const $push3=, 1073741824
+ i32.store $push4=, array0+20($pop43), $pop3
+ i32.store $push6=, array1+20($pop44), $pop4
+ i32.store $push8=, array2+20($pop45), $pop6
+ i32.store $push10=, array3+20($pop46), $pop8
+ i32.store $push12=, array4+20($pop47), $pop10
+ i32.store $discard=, array5+20($pop48), $pop12
+ i32.const $push13=, 1
+ call foo@FUNCTION, $pop13
+ i32.const $push42=, 0
+ f32.load $push14=, counter0($pop42)
+ f32.const $push15=, 0x1.8p1
+ f32.ne $push16=, $pop14, $pop15
+ i32.const $push41=, 0
+ f32.load $push17=, counter1($pop41)
+ f32.const $push40=, 0x1.8p1
+ f32.ne $push18=, $pop17, $pop40
+ i32.or $push19=, $pop16, $pop18
+ i32.const $push39=, 0
+ f32.load $push20=, counter2($pop39)
+ f32.const $push38=, 0x1.8p1
+ f32.ne $push21=, $pop20, $pop38
+ i32.or $push22=, $pop19, $pop21
+ i32.const $push37=, 0
+ f32.load $push23=, counter3($pop37)
+ f32.const $push36=, 0x1.8p1
+ f32.ne $push24=, $pop23, $pop36
+ i32.or $push25=, $pop22, $pop24
+ i32.const $push35=, 0
+ f32.load $push26=, counter4($pop35)
+ f32.const $push34=, 0x1.8p1
+ f32.ne $push27=, $pop26, $pop34
+ i32.or $push28=, $pop25, $pop27
+ i32.const $push33=, 0
+ f32.load $push29=, counter5($pop33)
+ f32.const $push32=, 0x1.8p1
+ f32.ne $push30=, $pop29, $pop32
+ i32.or $push31=, $pop28, $pop30
+ return $pop31
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -176,7 +236,7 @@ main: # @main
.type counter0,@object
.section .bss.counter0,"aw",@nobits
.globl counter0
- .align 2
+ .p2align 2
counter0:
.int32 0 # float 0
.size counter0, 4
@@ -185,7 +245,7 @@ counter0:
.type counter1,@object
.section .bss.counter1,"aw",@nobits
.globl counter1
- .align 2
+ .p2align 2
counter1:
.int32 0 # float 0
.size counter1, 4
@@ -194,7 +254,7 @@ counter1:
.type counter2,@object
.section .bss.counter2,"aw",@nobits
.globl counter2
- .align 2
+ .p2align 2
counter2:
.int32 0 # float 0
.size counter2, 4
@@ -203,7 +263,7 @@ counter2:
.type counter3,@object
.section .bss.counter3,"aw",@nobits
.globl counter3
- .align 2
+ .p2align 2
counter3:
.int32 0 # float 0
.size counter3, 4
@@ -212,7 +272,7 @@ counter3:
.type counter4,@object
.section .bss.counter4,"aw",@nobits
.globl counter4
- .align 2
+ .p2align 2
counter4:
.int32 0 # float 0
.size counter4, 4
@@ -221,7 +281,7 @@ counter4:
.type counter5,@object
.section .bss.counter5,"aw",@nobits
.globl counter5
- .align 2
+ .p2align 2
counter5:
.int32 0 # float 0
.size counter5, 4
@@ -230,7 +290,7 @@ counter5:
.type stop,@object
.section .data.stop,"aw",@progbits
.globl stop
- .align 2
+ .p2align 2
stop:
.int32 1 # 0x1
.size stop, 4
@@ -239,7 +299,7 @@ stop:
.type array0,@object
.section .bss.array0,"aw",@nobits
.globl array0
- .align 4
+ .p2align 4
array0:
.skip 64
.size array0, 64
@@ -248,7 +308,7 @@ array0:
.type array1,@object
.section .bss.array1,"aw",@nobits
.globl array1
- .align 4
+ .p2align 4
array1:
.skip 64
.size array1, 64
@@ -257,7 +317,7 @@ array1:
.type array2,@object
.section .bss.array2,"aw",@nobits
.globl array2
- .align 4
+ .p2align 4
array2:
.skip 64
.size array2, 64
@@ -266,7 +326,7 @@ array2:
.type array3,@object
.section .bss.array3,"aw",@nobits
.globl array3
- .align 4
+ .p2align 4
array3:
.skip 64
.size array3, 64
@@ -275,7 +335,7 @@ array3:
.type array4,@object
.section .bss.array4,"aw",@nobits
.globl array4
- .align 4
+ .p2align 4
array4:
.skip 64
.size array4, 64
@@ -284,7 +344,7 @@ array4:
.type array5,@object
.section .bss.array5,"aw",@nobits
.globl array5
- .align 4
+ .p2align 4
array5:
.skip 64
.size array5, 64
@@ -293,7 +353,7 @@ array5:
.type vol,@object
.section .bss.vol,"aw",@nobits
.globl vol
- .align 2
+ .p2align 2
vol:
.int32 0 # 0x0
.size vol, 4
diff --git a/test/torture-s/pr15262-2.c.s b/test/torture-s/pr15262-2.c.s
new file mode 100644
index 000000000..6ce691467
--- /dev/null
+++ b/test/torture-s/pr15262-2.c.s
@@ -0,0 +1,58 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr15262-2.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ i32.load $0=, 0($0)
+ i32.const $push1=, 0
+ f32.load $push0=, 0($2)
+ i32.const $push7=, 0
+ f32.load $push2=, X($pop7)
+ f32.add $push3=, $pop0, $pop2
+ f32.store $discard=, X($pop1), $pop3
+ i32.const $push4=, 3
+ i32.store $discard=, 0($0), $pop4
+ i32.const $push5=, 2
+ i32.store $discard=, 0($1), $pop5
+ i32.load $push6=, 0($0)
+ return $pop6
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local f32
+# BB#0: # %if.end
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ f32.load $push1=, X($pop5)
+ tee_local $push4=, $0=, $pop1
+ f32.add $push2=, $pop4, $0
+ f32.store $discard=, X($pop0), $pop2
+ i32.const $push3=, 0
+ return $pop3
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden X # @X
+ .type X,@object
+ .section .bss.X,"aw",@nobits
+ .globl X
+ .p2align 2
+X:
+ .int32 0 # float 0
+ .size X, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr15262.c.s b/test/torture-s/pr15262.c.s
index e8ee3f8f6..f96f6ecb3 100644
--- a/test/torture-s/pr15262.c.s
+++ b/test/torture-s/pr15262.c.s
@@ -26,22 +26,22 @@ foo: # @foo
i32.const $3=, __stack_pointer
i32.load $3=, 0($3)
i32.const $4=, 16
- i32.sub $5=, $3, $4
+ i32.sub $8=, $3, $4
i32.const $4=, __stack_pointer
- i32.store $5=, 0($4), $5
+ i32.store $8=, 0($4), $8
i32.const $6=, 8
- i32.add $6=, $5, $6
+ i32.add $6=, $8, $6
i32.const $7=, 12
- i32.add $7=, $5, $7
+ i32.add $7=, $8, $7
i32.select $push0=, $1, $6, $7
i32.const $push1=, 1084647014
i32.store $discard=, 0($pop0), $pop1
i32.const $push2=, 1
i32.store $push3=, 4($0), $pop2
i32.const $5=, 16
- i32.add $5=, $5, $5
+ i32.add $8=, $8, $5
i32.const $5=, __stack_pointer
- i32.store $5=, 0($5), $5
+ i32.store $8=, 0($5), $8
return $pop3
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/pr15296.c.s b/test/torture-s/pr15296.c.s
index 6dadfa5ee..43011e5ac 100644
--- a/test/torture-s/pr15296.c.s
+++ b/test/torture-s/pr15296.c.s
@@ -8,8 +8,8 @@ f: # @f
.param i32, i32, i32, i32, i32, i32
# BB#0: # %entry
block
- i32.ge_s $push1=, $3, $4
- br_if $pop1, 0 # 0: down to label0
+ i32.ge_s $push2=, $3, $4
+ br_if $pop2, 0 # 0: down to label0
.LBB0_1: # %l0
# =>This Inner Loop Header: Depth=1
loop # label1:
@@ -22,24 +22,24 @@ f: # @f
block
block
block
- i32.const $push12=, 0
- i32.eq $push13=, $3, $pop12
- br_if $pop13, 0 # 0: down to label6
+ i32.const $push14=, 0
+ i32.eq $push15=, $3, $pop14
+ br_if $pop15, 0 # 0: down to label6
# BB#3: # %if.end3
copy_local $4=, $5
br_if $5, 0 # 0: down to label6
# BB#4: # %if.end6
block
- i32.const $push3=, 4
- i32.add $push4=, $1, $pop3
+ i32.const $push4=, 4
+ i32.add $push5=, $1, $pop4
i32.load $push0=, 0($1)
- i32.load $push2=, 0($pop0)
- i32.store $push5=, 0($pop4), $pop2
- br_if $pop5, 0 # 0: down to label7
+ i32.load $push3=, 0($pop0)
+ i32.store $push6=, 0($pop5), $pop3
+ br_if $pop6, 0 # 0: down to label7
# BB#5: # %if.end12
- i32.const $push6=, 0
- i32.const $push7=, -1
- i32.store $discard=, 12($pop6), $pop7
+ i32.const $push7=, 0
+ i32.const $push8=, -1
+ i32.store $discard=, 12($pop7), $pop8
br 2 # 2: down to label5
.LBB0_6: # %if.then11
end_block # label7:
@@ -47,19 +47,20 @@ f: # @f
unreachable
.LBB0_7: # %l3
end_block # label6:
- i32.const $push8=, 4
- i32.add $push9=, $1, $pop8
- i32.store $discard=, 0($pop9), $4
- i32.const $push10=, 8
- i32.add $push11=, $1, $pop10
- i32.load $3=, 0($pop11)
- br_if $3, 2 # 2: down to label3
+ i32.const $push9=, 4
+ i32.add $push10=, $1, $pop9
+ i32.store $3=, 0($pop10), $4
+ i32.const $push11=, 8
+ i32.add $push12=, $1, $pop11
+ i32.load $push1=, 0($pop12)
+ tee_local $push13=, $1=, $pop1
+ br_if $pop13, 2 # 2: down to label3
# BB#8: # %if.end19
- i32.const $push14=, 0
- i32.eq $push15=, $4, $pop14
- br_if $pop15, 1 # 1: down to label4
+ i32.const $push16=, 0
+ i32.eq $push17=, $3, $pop16
+ br_if $pop17, 1 # 1: down to label4
# BB#9: # %if.end24
- i32.store $discard=, 8($4), $3
+ i32.store $discard=, 8($3), $1
.LBB0_10: # %l4
end_block # label5:
return
@@ -94,93 +95,98 @@ g: # @g
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 48
- i32.sub $16=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $16=, 0($7), $16
- i32.const $0=, 0
- i32.const $push2=, 16
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 48
+ i32.sub $13=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $13=, 0($2), $13
+ i32.const $push5=, 16
+ i32.const $3=, 8
+ i32.add $3=, $13, $3
+ i32.add $push6=, $3, $pop5
+ i32.const $push0=, 0
+ i32.load $push7=, .Lmain.s+16($pop0)
+ i32.store $discard=, 0($pop6):p2align=3, $pop7
+ i32.const $push2=, 8
+ i32.const $4=, 32
+ i32.add $4=, $13, $4
+ i32.or $push3=, $4, $pop2
+ i32.const $push43=, 0
+ i64.load $push1=, .Lmain.uv+8($pop43)
+ i64.store $discard=, 0($pop3), $pop1
+ i32.const $push42=, 0
+ i64.load $push4=, .Lmain.uv($pop42):p2align=4
+ i64.store $discard=, 32($13):p2align=4, $pop4
+ i32.const $push41=, 8
+ i32.const $5=, 8
+ i32.add $5=, $13, $5
+ i32.add $push8=, $5, $pop41
+ tee_local $push40=, $0=, $pop8
+ i32.const $push39=, 0
+ i64.load $push9=, .Lmain.s+8($pop39):p2align=2
+ i64.store $discard=, 0($pop40), $pop9
+ i32.const $push38=, 0
+ i64.load $push10=, .Lmain.s($pop38):p2align=2
+ i64.store $discard=, 8($13), $pop10
+ i32.const $push37=, 0
+ i32.const $push14=, 20000
+ i32.const $push13=, 10000
+ i32.const $6=, 8
+ i32.add $6=, $13, $6
+ i32.const $7=, 32
+ i32.add $7=, $13, $7
+ call f@FUNCTION, $pop37, $6, $0, $pop14, $pop13, $7
+ i32.const $push11=, 4
i32.const $8=, 8
- i32.add $8=, $16, $8
- i32.add $3=, $8, $pop2
- i32.load $push3=, .Lmain.s+16($0)
- i32.store $discard=, 0($3), $pop3
- i32.const $4=, 4
- i32.const $1=, 8
+ i32.add $8=, $13, $8
+ i32.or $push12=, $8, $pop11
+ i32.load $push15=, 0($pop12)
i32.const $9=, 32
- i32.add $9=, $16, $9
- i32.or $2=, $9, $1
- i64.load $push0=, .Lmain.uv+8($0)
- i64.store $discard=, 0($2), $pop0
- i64.load $push1=, .Lmain.uv($0)
- i64.store $discard=, 32($16), $pop1
- i64.const $5=, 32
- i32.const $10=, 8
- i32.add $10=, $16, $10
- i32.add $1=, $10, $1
- i32.const $push4=, .Lmain.s+8
- i32.add $push5=, $pop4, $4
- i64.load32_u $push6=, 0($pop5)
- i64.shl $push7=, $pop6, $5
- i64.load32_u $push8=, .Lmain.s+8($0)
- i64.or $push9=, $pop7, $pop8
- i64.store $discard=, 0($1), $pop9
- i32.const $push10=, .Lmain.s
- i32.add $push11=, $pop10, $4
- i64.load32_u $push12=, 0($pop11)
- i64.shl $push13=, $pop12, $5
- i64.load32_u $push14=, .Lmain.s($0)
- i64.or $push15=, $pop13, $pop14
- i64.store $discard=, 8($16), $pop15
- i32.const $push17=, 20000
- i32.const $push16=, 10000
- i32.const $11=, 8
- i32.add $11=, $16, $11
- i32.const $12=, 32
- i32.add $12=, $16, $12
- call f@FUNCTION, $0, $11, $0, $pop17, $pop16, $12
- i32.const $13=, 8
- i32.add $13=, $16, $13
- i32.or $push18=, $13, $4
- i32.load $push19=, 0($pop18)
- i32.const $14=, 32
- i32.add $14=, $16, $14
+ i32.add $9=, $13, $9
block
- i32.ne $push20=, $pop19, $14
- br_if $pop20, 0 # 0: down to label8
+ i32.ne $push16=, $pop15, $9
+ br_if $pop16, 0 # 0: down to label8
# BB#1: # %lor.lhs.false
- i32.load $push21=, 0($1)
- br_if $pop21, 0 # 0: down to label8
+ i32.load $push17=, 0($0):p2align=3
+ br_if $pop17, 0 # 0: down to label8
# BB#2: # %lor.lhs.false6
- i32.const $push22=, 12
- i32.const $15=, 8
- i32.add $15=, $16, $15
- i32.add $push23=, $15, $pop22
- i32.load $push24=, 0($pop23)
- i32.const $push25=, 999
- i32.ne $push26=, $pop24, $pop25
- br_if $pop26, 0 # 0: down to label8
+ i32.const $push18=, 12
+ i32.const $10=, 8
+ i32.add $10=, $13, $10
+ i32.add $push19=, $10, $pop18
+ i32.load $push20=, 0($pop19)
+ i32.const $push21=, 999
+ i32.ne $push22=, $pop20, $pop21
+ br_if $pop22, 0 # 0: down to label8
# BB#3: # %lor.lhs.false11
- i32.load $push27=, 0($3)
- i32.const $push28=, 777
- i32.ne $push29=, $pop27, $pop28
- br_if $pop29, 0 # 0: down to label8
+ i32.const $push23=, 16
+ i32.const $11=, 8
+ i32.add $11=, $13, $11
+ i32.add $push24=, $11, $pop23
+ i32.load $push25=, 0($pop24):p2align=3
+ i32.const $push26=, 777
+ i32.ne $push27=, $pop25, $pop26
+ br_if $pop27, 0 # 0: down to label8
# BB#4: # %lor.lhs.false16
- i64.load $push30=, 32($16)
- i64.const $push31=, 953482739823
- i64.ne $push32=, $pop30, $pop31
- br_if $pop32, 0 # 0: down to label8
+ i64.load $push28=, 32($13):p2align=4
+ i64.const $push29=, 953482739823
+ i64.ne $push30=, $pop28, $pop29
+ br_if $pop30, 0 # 0: down to label8
# BB#5: # %lor.lhs.false24
- i64.load $push33=, 0($2)
+ i32.const $push31=, 8
+ i32.const $12=, 32
+ i32.add $12=, $13, $12
+ i32.or $push32=, $12, $pop31
+ i64.load $push33=, 0($pop32)
i64.const $push34=, 1906965479424
i64.ne $push35=, $pop33, $pop34
br_if $pop35, 0 # 0: down to label8
# BB#6: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push36=, 0
+ call exit@FUNCTION, $pop36
unreachable
.LBB2_7: # %if.then
end_block # label8:
@@ -192,7 +198,7 @@ main: # @main
.type .Lmain.uv,@object # @main.uv
.section .rodata.cst16,"aM",@progbits,16
- .align 4
+ .p2align 4
.Lmain.uv:
.int32 111 # 0x6f
.int32 222 # 0xde
@@ -202,7 +208,7 @@ main: # @main
.type .Lmain.s,@object # @main.s
.section .rodata..Lmain.s,"a",@progbits
- .align 2
+ .p2align 2
.Lmain.s:
.int32 0
.int32 555 # 0x22b
diff --git a/test/torture-s/pr17133.c.s b/test/torture-s/pr17133.c.s
index 72fd779f3..ed2462fd8 100644
--- a/test/torture-s/pr17133.c.s
+++ b/test/torture-s/pr17133.c.s
@@ -6,33 +6,40 @@
.type pure_alloc,@function
pure_alloc: # @pure_alloc
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $4=, foo($2)
- i32.load $0=, bar($2)
- i32.load $1=, baz($2)
- i32.const $3=, 2
+ i32.const $push0=, 0
+ i32.load $0=, bar($pop0)
+ i32.const $push14=, 0
+ i32.load $1=, baz($pop14)
block
- i32.add $push0=, $4, $3
- i32.store $push1=, foo($2), $pop0
- i32.lt_u $push2=, $pop1, $1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push13=, 0
+ i32.const $push12=, 0
+ i32.load $push9=, foo($pop12)
+ tee_local $push11=, $2=, $pop9
+ i32.const $push10=, 2
+ i32.add $push1=, $pop11, $pop10
+ i32.store $push2=, foo($pop13), $pop1
+ i32.lt_u $push3=, $pop2, $1
+ br_if $pop3, 0 # 0: down to label0
.LBB0_1: # %if.end
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.le_u $push3=, $1, $3
- br_if $pop3, 0 # 0: up to label1
+ i32.const $push16=, 2
+ i32.le_u $push4=, $1, $pop16
+ br_if $pop4, 0 # 0: up to label1
# BB#2: # %while.body.if.then_crit_edge
end_loop # label2:
- i32.store $discard=, foo($2), $3
- copy_local $4=, $2
+ i32.const $2=, 0
+ i32.const $push15=, 0
+ i32.const $push5=, 2
+ i32.store $discard=, foo($pop15), $pop5
.LBB0_3: # %if.then
end_block # label0:
- i32.add $push4=, $0, $4
- i32.const $push5=, -2
- i32.and $push6=, $pop4, $pop5
- return $pop6
+ i32.add $push6=, $0, $2
+ i32.const $push7=, -2
+ i32.and $push8=, $pop6, $pop7
+ return $pop8
.endfunc
.Lfunc_end0:
.size pure_alloc, .Lfunc_end0-pure_alloc
@@ -43,34 +50,40 @@ pure_alloc: # @pure_alloc
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $0=, baz($1)
- i32.const $2=, 2
+ i32.const $push1=, 0
+ i32.load $0=, baz($pop1)
block
block
block
- i32.load $push1=, foo($1)
- i32.add $push0=, $pop1, $2
- i32.store $3=, foo($1), $pop0
- i32.ge_u $push2=, $3, $0
- br_if $pop2, 0 # 0: down to label5
+ i32.const $push13=, 0
+ i32.const $push12=, 0
+ i32.load $push2=, foo($pop12)
+ i32.const $push3=, 2
+ i32.add $push0=, $pop2, $pop3
+ i32.store $push4=, foo($pop13), $pop0
+ tee_local $push11=, $1=, $pop4
+ i32.ge_u $push5=, $pop11, $0
+ br_if $pop5, 0 # 0: down to label5
# BB#1: # %pure_alloc.exit
- br_if $3, 1 # 1: down to label4
+ br_if $1, 1 # 1: down to label4
# BB#2: # %if.then
call abort@FUNCTION
unreachable
.LBB1_3: # %if.end.lr.ph.i
end_block # label5:
- i32.const $push3=, 3
- i32.lt_u $push4=, $0, $pop3
- br_if $pop4, 1 # 1: down to label3
+ i32.const $push6=, 3
+ i32.lt_u $push7=, $0, $pop6
+ br_if $pop7, 1 # 1: down to label3
# BB#4: # %pure_alloc.exit.thread.split
- i32.store $discard=, foo($1), $2
+ i32.const $push8=, 0
+ i32.const $push9=, 2
+ i32.store $discard=, foo($pop8), $pop9
.LBB1_5: # %if.end
end_block # label4:
- return $1
+ i32.const $push10=, 0
+ return $pop10
.LBB1_6: # %if.end.i
# =>This Inner Loop Header: Depth=1
end_block # label3:
@@ -86,7 +99,7 @@ main: # @main
.type foo,@object
.section .bss.foo,"aw",@nobits
.globl foo
- .align 2
+ .p2align 2
foo:
.int32 0 # 0x0
.size foo, 4
@@ -95,7 +108,7 @@ foo:
.type bar,@object
.section .bss.bar,"aw",@nobits
.globl bar
- .align 2
+ .p2align 2
bar:
.int32 0
.size bar, 4
@@ -104,7 +117,7 @@ bar:
.type baz,@object
.section .data.baz,"aw",@progbits
.globl baz
- .align 2
+ .p2align 2
baz:
.int32 100 # 0x64
.size baz, 4
diff --git a/test/torture-s/pr17252.c.s b/test/torture-s/pr17252.c.s
index f55451963..7827ea331 100644
--- a/test/torture-s/pr17252.c.s
+++ b/test/torture-s/pr17252.c.s
@@ -6,19 +6,22 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
+ i32.const $push6=, 0
i32.const $push0=, a
- i32.store $1=, a($0), $pop0
+ i32.store $0=, a($pop6), $pop0
+ i32.const $push5=, 0
i32.const $push1=, a+1
- i32.store8 $discard=, a($0), $pop1
- i32.load $push2=, a($0)
- i32.eq $push3=, $pop2, $1
+ i32.store8 $discard=, a($pop5):p2align=2, $pop1
+ block
+ i32.const $push4=, 0
+ i32.load $push2=, a($pop4)
+ i32.eq $push3=, $0, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push7=, 0
+ return $pop7
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -31,7 +34,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0
.size a, 4
diff --git a/test/torture-s/pr19005.c.s b/test/torture-s/pr19005.c.s
index cf7b217c1..4014106a3 100644
--- a/test/torture-s/pr19005.c.s
+++ b/test/torture-s/pr19005.c.s
@@ -6,48 +6,54 @@
.type bar,@function
bar: # @bar
.param i32, i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $5=, 0
- i32.load $2=, v($5)
- i32.load $3=, s($5)
- i32.const $6=, 255
- i32.and $4=, $2, $6
+ i32.const $push2=, 0
+ i32.load $push0=, v($pop2)
+ tee_local $push20=, $4=, $pop0
+ i32.const $push19=, 255
+ i32.and $2=, $pop20, $pop19
block
block
block
- i32.const $push12=, 0
- i32.eq $push13=, $3, $pop12
- br_if $pop13, 0 # 0: down to label2
+ i32.const $push18=, 0
+ i32.load $push1=, s($pop18)
+ tee_local $push17=, $3=, $pop1
+ i32.const $push22=, 0
+ i32.eq $push23=, $pop17, $pop22
+ br_if $pop23, 0 # 0: down to label2
# BB#1: # %if.else
block
- i32.ne $push3=, $4, $1
- br_if $pop3, 0 # 0: down to label3
+ i32.ne $push6=, $2, $1
+ br_if $pop6, 0 # 0: down to label3
# BB#2: # %if.else
- i32.const $push1=, 1
- i32.add $push2=, $2, $pop1
- i32.and $push0=, $pop2, $6
- i32.eq $push4=, $pop0, $0
- br_if $pop4, 2 # 2: down to label1
+ i32.const $push4=, 1
+ i32.add $push5=, $4, $pop4
+ i32.const $push21=, 255
+ i32.and $push3=, $pop5, $pop21
+ i32.eq $push7=, $pop3, $0
+ br_if $pop7, 2 # 2: down to label1
.LBB0_3: # %if.then19
end_block # label3:
call abort@FUNCTION
unreachable
.LBB0_4: # %if.then
end_block # label2:
- i32.ne $push5=, $4, $0
- br_if $pop5, 1 # 1: down to label0
+ i32.ne $push8=, $2, $0
+ br_if $pop8, 1 # 1: down to label0
# BB#5: # %lor.lhs.false
- i32.const $push6=, 1
- i32.add $push7=, $2, $pop6
- i32.and $push8=, $pop7, $6
- i32.ne $push9=, $pop8, $1
- br_if $pop9, 1 # 1: down to label0
+ i32.const $push9=, 1
+ i32.add $push10=, $4, $pop9
+ i32.const $push11=, 255
+ i32.and $push12=, $pop10, $pop11
+ i32.ne $push13=, $pop12, $1
+ br_if $pop13, 1 # 1: down to label0
.LBB0_6: # %if.end21
end_block # label1:
- i32.const $push10=, 1
- i32.xor $push11=, $3, $pop10
- i32.store $discard=, s($5), $pop11
+ i32.const $push16=, 0
+ i32.const $push14=, 1
+ i32.xor $push15=, $3, $pop14
+ i32.store $discard=, s($pop16), $pop15
return
.LBB0_7: # %if.then8
end_block # label0:
@@ -64,39 +70,49 @@ bar: # @bar
foo: # @foo
.param i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, 1
- i32.const $6=, 255
- i32.const $7=, 0
- i32.load $3=, v($7)
- i32.load $4=, s($7)
- i32.and $1=, $0, $6
- i32.add $push0=, $0, $5
- i32.and $2=, $pop0, $6
- i32.and $0=, $3, $6
+ i32.const $push25=, 255
+ i32.and $1=, $0, $pop25
+ i32.const $push24=, 1
+ i32.add $push2=, $0, $pop24
+ i32.const $push23=, 255
+ i32.and $2=, $pop2, $pop23
+ i32.const $push3=, 0
+ i32.load $push0=, v($pop3)
+ tee_local $push22=, $4=, $pop0
+ i32.const $push21=, 255
+ i32.and $3=, $pop22, $pop21
block
block
block
block
block
- i32.const $push11=, 0
- i32.eq $push12=, $4, $pop11
- br_if $pop12, 0 # 0: down to label8
+ i32.const $push20=, 0
+ i32.load $push1=, s($pop20)
+ tee_local $push19=, $0=, $pop1
+ i32.const $push32=, 0
+ i32.eq $push33=, $pop19, $pop32
+ br_if $pop33, 0 # 0: down to label8
# BB#1: # %if.else.i
block
- i32.ne $push2=, $0, $2
- br_if $pop2, 0 # 0: down to label9
+ i32.ne $push5=, $3, $2
+ br_if $pop5, 0 # 0: down to label9
# BB#2: # %if.else.i
- i32.add $push1=, $3, $5
- i32.and $6=, $pop1, $6
- i32.ne $push3=, $6, $1
- br_if $pop3, 0 # 0: down to label9
+ i32.const $push29=, 1
+ i32.add $push4=, $4, $pop29
+ i32.const $push28=, 255
+ i32.and $4=, $pop4, $pop28
+ i32.ne $push6=, $4, $1
+ br_if $pop6, 0 # 0: down to label9
# BB#3: # %bar.exit
- i32.xor $push4=, $4, $5
- i32.store $discard=, s($7), $pop4
- i32.eq $push5=, $4, $5
- br_if $pop5, 3 # 3: down to label6
+ i32.const $push9=, 0
+ i32.const $push7=, 1
+ i32.xor $push8=, $0, $pop7
+ i32.store $discard=, s($pop9), $pop8
+ i32.const $push30=, 1
+ i32.eq $push10=, $0, $pop30
+ br_if $pop10, 3 # 3: down to label6
br 2 # 2: down to label7
.LBB1_4: # %if.then19.i
end_block # label9:
@@ -104,26 +120,32 @@ foo: # @foo
unreachable
.LBB1_5: # %if.then.i
end_block # label8:
- i32.ne $push6=, $0, $1
- br_if $pop6, 3 # 3: down to label4
+ i32.ne $push11=, $3, $1
+ br_if $pop11, 3 # 3: down to label4
# BB#6: # %lor.lhs.false.i
- i32.add $push7=, $3, $5
- i32.and $6=, $pop7, $6
- i32.ne $push8=, $6, $2
- br_if $pop8, 3 # 3: down to label4
+ i32.const $push26=, 1
+ i32.add $push12=, $4, $pop26
+ i32.const $push13=, 255
+ i32.and $4=, $pop12, $pop13
+ i32.ne $push14=, $4, $2
+ br_if $pop14, 3 # 3: down to label4
# BB#7: # %bar.exit.thread
- i32.store $discard=, s($7), $5
+ i32.const $push15=, 0
+ i32.const $push27=, 1
+ i32.store $discard=, s($pop15), $pop27
.LBB1_8: # %if.else.i40
end_block # label7:
- i32.ne $push9=, $0, $1
- br_if $pop9, 1 # 1: down to label5
+ i32.ne $push16=, $3, $1
+ br_if $pop16, 1 # 1: down to label5
# BB#9: # %if.else.i40
- i32.ne $push10=, $6, $2
- br_if $pop10, 1 # 1: down to label5
+ i32.ne $push17=, $4, $2
+ br_if $pop17, 1 # 1: down to label5
.LBB1_10: # %bar.exit43
end_block # label6:
- i32.store $discard=, s($7), $4
- return $7
+ i32.const $push18=, 0
+ i32.store $discard=, s($pop18), $0
+ i32.const $push31=, 0
+ return $pop31
.LBB1_11: # %if.then19.i41
end_block # label5:
call abort@FUNCTION
@@ -142,25 +164,28 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push5=, 0
i32.const $push1=, -10
- i32.store $1=, v($0), $pop1
+ i32.store $0=, v($pop5), $pop1
.LBB2_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label10:
- i32.call $discard=, foo@FUNCTION, $1
- i32.load $push2=, v($0)
- i32.const $push3=, 1
- i32.add $push0=, $pop2, $pop3
- i32.store $1=, v($0), $pop0
- i32.const $push4=, 266
- i32.lt_s $push5=, $1, $pop4
- br_if $pop5, 0 # 0: up to label10
+ i32.call $discard=, foo@FUNCTION, $0
+ i32.const $push9=, 0
+ i32.const $push8=, 0
+ i32.load $push2=, v($pop8)
+ i32.const $push7=, 1
+ i32.add $push0=, $pop2, $pop7
+ i32.store $0=, v($pop9), $pop0
+ i32.const $push6=, 266
+ i32.lt_s $push3=, $0, $pop6
+ br_if $pop3, 0 # 0: up to label10
# BB#2: # %for.end
end_loop # label11:
- return $0
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -169,7 +194,7 @@ main: # @main
.type v,@object
.section .bss.v,"aw",@nobits
.globl v
- .align 2
+ .p2align 2
v:
.int32 0 # 0x0
.size v, 4
@@ -178,7 +203,7 @@ v:
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.int32 0 # 0x0
.size s, 4
diff --git a/test/torture-s/pr19449.c.s b/test/torture-s/pr19449.c.s
index 8980d084b..ea6d34957 100644
--- a/test/torture-s/pr19449.c.s
+++ b/test/torture-s/pr19449.c.s
@@ -20,19 +20,20 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push1=, y($0)
+ i32.const $push5=, 0
+ i32.load $push1=, y($pop5)
br_if $pop1, 0 # 0: down to label0
# BB#1: # %entry
- i32.load $push0=, z($0)
+ i32.const $push6=, 0
+ i32.load $push0=, z($pop6)
i32.const $push2=, 3
i32.ne $push3=, $pop0, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#2: # %lor.lhs.false1
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB1_3: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -45,7 +46,7 @@ main: # @main
.type z,@object
.section .data.z,"aw",@progbits
.globl z
- .align 2
+ .p2align 2
z:
.int32 3 # 0x3
.size z, 4
@@ -54,7 +55,7 @@ z:
.type y,@object
.section .bss.y,"aw",@nobits
.globl y
- .align 2
+ .p2align 2
y:
.int32 0 # 0x0
.size y, 4
diff --git a/test/torture-s/pr19606.c.s b/test/torture-s/pr19606.c.s
index 506612636..0c94b57e2 100644
--- a/test/torture-s/pr19606.c.s
+++ b/test/torture-s/pr19606.c.s
@@ -38,25 +38,27 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_s $0=, a($1)
block
- i32.const $push0=, 1
- i32.shr_u $push1=, $0, $pop0
- i32.const $push2=, 2147483646
- i32.ne $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push1=, 0
+ i32.load8_s $push0=, a($pop1)
+ tee_local $push11=, $0=, $pop0
+ i32.const $push2=, 1
+ i32.shr_u $push3=, $pop11, $pop2
+ i32.const $push4=, 2147483646
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.const $push4=, 5
- i32.rem_u $push5=, $0, $pop4
- i32.const $push6=, 2
- i32.ne $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: down to label1
+ i32.const $push6=, 5
+ i32.rem_u $push7=, $0, $pop6
+ i32.const $push8=, 2
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label1
# BB#2: # %if.end7
- call exit@FUNCTION, $1
+ i32.const $push10=, 0
+ call exit@FUNCTION, $pop10
unreachable
.LBB2_3: # %if.then6
end_block # label1:
diff --git a/test/torture-s/pr19689.c.s b/test/torture-s/pr19689.c.s
index b1df0aee2..171390044 100644
--- a/test/torture-s/pr19689.c.s
+++ b/test/torture-s/pr19689.c.s
@@ -6,16 +6,16 @@
.type foo,@function
foo: # @foo
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, f($1)
- i32.const $push3=, -536870912
- i32.and $push4=, $pop0, $pop3
- i32.const $push1=, 536870911
- i32.and $push2=, $0, $pop1
- i32.or $push5=, $pop4, $pop2
- i32.store $discard=, f($1), $pop5
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, f($pop7)
+ i32.const $push4=, -536870912
+ i32.and $push5=, $pop1, $pop4
+ i32.const $push2=, 536870911
+ i32.and $push3=, $0, $pop2
+ i32.or $push6=, $pop5, $pop3
+ i32.store $discard=, f($pop0), $pop6
return
.endfunc
.Lfunc_end0:
@@ -27,16 +27,17 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.load $push0=, f($0)
- i32.const $push1=, -536870912
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 536870857
- i32.or $push4=, $pop2, $pop3
- i32.store $discard=, f($0), $pop4
- return $0
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, f($pop7)
+ i32.const $push2=, -536870912
+ i32.and $push3=, $pop1, $pop2
+ i32.const $push4=, 536870857
+ i32.or $push5=, $pop3, $pop4
+ i32.store $discard=, f($pop0), $pop5
+ i32.const $push6=, 0
+ return $pop6
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -45,7 +46,7 @@ main: # @main
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 2
+ .p2align 2
f:
.skip 4
.size f, 4
diff --git a/test/torture-s/pr20100-1.c.s b/test/torture-s/pr20100-1.c.s
index d5db0fd14..efb7ee0ff 100644
--- a/test/torture-s/pr20100-1.c.s
+++ b/test/torture-s/pr20100-1.c.s
@@ -9,20 +9,24 @@ frob: # @frob
.result i32
.local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load8_u $push0=, e($2)
+ i32.const $push0=, 0
+ i32.load8_u $2=, e($pop0)
+ i32.const $push13=, 0
+ i32.store16 $discard=, p($pop13), $1
+ i32.const $push12=, 0
i32.const $push1=, -1
- i32.add $push2=, $pop0, $pop1
+ i32.add $push2=, $2, $pop1
i32.eq $push3=, $0, $pop2
+ i32.const $push11=, 0
i32.const $push4=, 1
i32.add $push5=, $0, $pop4
- i32.select $0=, $pop3, $2, $pop5
- i32.store16 $discard=, p($2), $1
- i32.store16 $discard=, g($2), $0
- i32.const $push6=, 65535
- i32.and $push7=, $0, $pop6
- i32.eq $push8=, $pop7, $1
- return $pop8
+ i32.select $push6=, $pop3, $pop11, $pop5
+ tee_local $push10=, $0=, $pop6
+ i32.store16 $discard=, g($pop12), $pop10
+ i32.const $push7=, 65535
+ i32.and $push8=, $0, $pop7
+ i32.eq $push9=, $1, $pop8
+ return $pop9
.endfunc
.Lfunc_end0:
.size frob, .Lfunc_end0-frob
@@ -33,48 +37,57 @@ frob: # @frob
.type get_n,@function
get_n: # @get_n
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, 0
- i32.load16_u $0=, p($6)
- i32.load16_u $5=, g($6)
+ i32.const $1=, 0
block
- i32.eq $push0=, $0, $5
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push18=, 0
+ i32.load16_u $push0=, p($pop18)
+ tee_local $push17=, $3=, $pop0
+ i32.const $push16=, 0
+ i32.load16_u $push14=, g($pop16)
+ tee_local $push15=, $2=, $pop14
+ i32.eq $push1=, $pop17, $pop15
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %while.body.lr.ph
- i32.const $2=, 0
- i32.load8_u $push1=, e($2)
- i32.const $push2=, -1
- i32.add $1=, $pop1, $pop2
- copy_local $6=, $2
+ i32.const $push19=, 0
+ i32.load8_u $push2=, e($pop19)
+ i32.const $push3=, -1
+ i32.add $0=, $pop2, $pop3
+ i32.const $1=, 0
.LBB1_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $3=, 65535
- i32.and $5=, $5, $3
- i32.const $4=, 1
- i32.eq $push3=, $5, $1
- i32.add $push4=, $5, $4
- i32.select $5=, $pop3, $2, $pop4
- i32.add $6=, $6, $4
- i32.and $push5=, $6, $3
- i32.const $push6=, 4
- i32.gt_u $push7=, $pop5, $pop6
- br_if $pop7, 1 # 1: down to label2
+ i32.const $push26=, 65535
+ i32.and $push4=, $2, $pop26
+ tee_local $push25=, $2=, $pop4
+ i32.eq $push5=, $pop25, $0
+ i32.const $push24=, 0
+ i32.const $push23=, 1
+ i32.add $push6=, $2, $pop23
+ i32.select $2=, $pop5, $pop24, $pop6
+ i32.const $push22=, 1
+ i32.add $1=, $1, $pop22
+ i32.const $push21=, 65535
+ i32.and $push7=, $1, $pop21
+ i32.const $push20=, 4
+ i32.gt_u $push8=, $pop7, $pop20
+ br_if $pop8, 1 # 1: down to label2
# BB#3: # %while.body
# in Loop: Header=BB1_2 Depth=1
- i32.and $push8=, $5, $3
- i32.ne $push9=, $0, $pop8
- br_if $pop9, 0 # 0: up to label1
+ i32.const $push27=, 65535
+ i32.and $push9=, $2, $pop27
+ i32.ne $push10=, $3, $pop9
+ br_if $pop10, 0 # 0: up to label1
.LBB1_4: # %while.cond.while.end_crit_edge
end_loop # label2:
- i32.const $push10=, 0
- i32.store16 $discard=, g($pop10), $5
+ i32.const $push11=, 0
+ i32.store16 $discard=, g($pop11), $2
.LBB1_5: # %while.end
end_block # label0:
- i32.const $push11=, 65535
- i32.and $push12=, $6, $pop11
- return $pop12
+ i32.const $push12=, 65535
+ i32.and $push13=, $1, $pop12
+ return $pop13
.endfunc
.Lfunc_end1:
.size get_n, .Lfunc_end1-get_n
@@ -85,15 +98,17 @@ get_n: # @get_n
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 3
- i32.store8 $discard=, e($0), $pop0
- i32.const $push1=, 2
- i32.store16 $push2=, p($0), $pop1
- i32.store16 $discard=, g($0), $pop2
- call exit@FUNCTION, $0
+ i32.store8 $discard=, e($pop1), $pop0
+ i32.const $push6=, 0
+ i32.const $push5=, 0
+ i32.const $push2=, 2
+ i32.store16 $push3=, p($pop5), $pop2
+ i32.store16 $discard=, g($pop6), $pop3
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/pr20187-1.c.s b/test/torture-s/pr20187-1.c.s
index d48803b8a..c7ae01055 100644
--- a/test/torture-s/pr20187-1.c.s
+++ b/test/torture-s/pr20187-1.c.s
@@ -6,19 +6,22 @@
.type test,@function
test: # @test
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, a($0)
- i32.load $push2=, b($0)
- i32.mul $push3=, $pop2, $1
- i32.const $push0=, 1
- i32.select $push1=, $1, $1, $pop0
- i32.and $push4=, $pop3, $pop1
- i32.const $push5=, 255
- i32.and $push6=, $pop4, $pop5
- i32.eq $push7=, $pop6, $0
- return $pop7
+ i32.const $push0=, 0
+ i32.load $push4=, b($pop0)
+ i32.const $push12=, 0
+ i32.load $push1=, a($pop12)
+ tee_local $push11=, $0=, $pop1
+ i32.mul $push5=, $pop4, $pop11
+ i32.const $push2=, 1
+ i32.select $push3=, $0, $0, $pop2
+ i32.and $push6=, $pop5, $pop3
+ i32.const $push7=, 255
+ i32.and $push8=, $pop6, $pop7
+ i32.const $push10=, 0
+ i32.eq $push9=, $pop8, $pop10
+ return $pop9
.endfunc
.Lfunc_end0:
.size test, .Lfunc_end0-test
@@ -29,19 +32,22 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, a($0)
- i32.load $push2=, b($0)
- i32.mul $push3=, $pop2, $1
- i32.const $push0=, 1
- i32.select $push1=, $1, $1, $pop0
- i32.and $push4=, $pop3, $pop1
- i32.const $push5=, 255
- i32.and $push6=, $pop4, $pop5
- i32.ne $push7=, $pop6, $0
- return $pop7
+ i32.const $push0=, 0
+ i32.load $push4=, b($pop0)
+ i32.const $push12=, 0
+ i32.load $push1=, a($pop12)
+ tee_local $push11=, $0=, $pop1
+ i32.mul $push5=, $pop4, $pop11
+ i32.const $push2=, 1
+ i32.select $push3=, $0, $0, $pop2
+ i32.and $push6=, $pop5, $pop3
+ i32.const $push7=, 255
+ i32.and $push8=, $pop6, $pop7
+ i32.const $push10=, 0
+ i32.ne $push9=, $pop8, $pop10
+ return $pop9
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -50,7 +56,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 257 # 0x101
.size a, 4
@@ -59,7 +65,7 @@ a:
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 256 # 0x100
.size b, 4
diff --git a/test/torture-s/pr20527-1.c.s b/test/torture-s/pr20527-1.c.s
index d2de0a3ca..ca395029e 100644
--- a/test/torture-s/pr20527-1.c.s
+++ b/test/torture-s/pr20527-1.c.s
@@ -6,38 +6,42 @@
.type f,@function
f: # @f
.param i32, i32, i32, i32
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
block
i32.gt_s $push0=, $2, $3
br_if $pop0, 0 # 0: down to label0
# BB#1: # %for.body.preheader
i32.const $push1=, 2
- i32.shl $5=, $2, $pop1
- i32.add $0=, $0, $5
- i32.const $4=, -1
- i32.add $7=, $2, $4
- i32.const $6=, 4
- i32.add $push2=, $5, $1
- i32.add $2=, $pop2, $6
+ i32.shl $push2=, $2, $pop1
+ tee_local $push12=, $5=, $pop2
+ i32.add $0=, $0, $pop12
+ i32.const $push11=, -1
+ i32.add $4=, $2, $pop11
+ i32.add $push3=, $5, $1
+ i32.const $push10=, 4
+ i32.add $2=, $pop3, $pop10
i32.const $1=, 0
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.load $push3=, 0($2)
- i32.const $push4=, -4
- i32.add $push5=, $2, $pop4
+ i32.load $push4=, 0($2)
+ i32.const $push17=, -4
+ i32.add $push5=, $2, $pop17
i32.load $push6=, 0($pop5)
- i32.sub $push7=, $pop3, $pop6
+ i32.sub $push7=, $pop4, $pop6
i32.add $1=, $pop7, $1
- i32.add $push8=, $1, $4
+ i32.const $push16=, -1
+ i32.add $push8=, $1, $pop16
i32.store $discard=, 0($0), $pop8
- i32.const $push9=, 1
- i32.add $7=, $7, $pop9
- i32.add $2=, $2, $6
- i32.add $0=, $0, $6
- i32.lt_s $push10=, $7, $3
- br_if $pop10, 0 # 0: up to label1
+ i32.const $push15=, 1
+ i32.add $4=, $4, $pop15
+ i32.const $push14=, 4
+ i32.add $2=, $2, $pop14
+ i32.const $push13=, 4
+ i32.add $0=, $0, $pop13
+ i32.lt_s $push9=, $4, $3
+ br_if $pop9, 0 # 0: up to label1
.LBB0_3: # %for.end
end_loop # label2:
end_block # label0:
@@ -52,37 +56,38 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 16
- i32.sub $4=, $1, $2
- i32.const $2=, __stack_pointer
- i32.store $4=, 0($2), $4
- i32.const $0=, 0
+ i32.store $3=, 0($1), $3
i32.const $push0=, b
+ i32.const $push2=, 0
i32.const $push1=, 2
- i32.const $3=, 4
- i32.add $3=, $4, $3
+ i32.const $2=, 4
+ i32.add $2=, $3, $2
+ call f@FUNCTION, $2, $pop0, $pop2, $pop1
block
- call f@FUNCTION, $3, $pop0, $0, $pop1
- i32.load $push2=, 4($4)
- i32.const $push3=, 3
- i32.ne $push4=, $pop2, $pop3
- br_if $pop4, 0 # 0: down to label3
+ i32.load $push3=, 4($3)
+ i32.const $push4=, 3
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label3
# BB#1: # %lor.lhs.false
- i32.load $push5=, 8($4)
- i32.const $push6=, 9
- i32.ne $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: down to label3
+ i32.load $push6=, 8($3)
+ i32.const $push7=, 9
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label3
# BB#2: # %lor.lhs.false3
- i32.load $push8=, 12($4)
- i32.const $push9=, 21
- i32.ne $push10=, $pop8, $pop9
- br_if $pop10, 0 # 0: down to label3
+ i32.load $push9=, 12($3)
+ i32.const $push10=, 21
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label3
# BB#3: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push12=, 0
+ call exit@FUNCTION, $pop12
unreachable
.LBB1_4: # %if.then
end_block # label3:
@@ -96,7 +101,7 @@ main: # @main
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 4
+ .p2align 4
b:
.int32 1 # 0x1
.int32 5 # 0x5
diff --git a/test/torture-s/pr20601-1.c.s b/test/torture-s/pr20601-1.c.s
index 135b048c5..b50e3991b 100644
--- a/test/torture-s/pr20601-1.c.s
+++ b/test/torture-s/pr20601-1.c.s
@@ -36,40 +36,45 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.const $push8=, g
- i32.store $discard=, c($2), $pop8
- i32.const $push9=, 4
- i32.store $3=, b($2), $pop9
- i32.const $push7=, g+4
- i32.store $0=, e($2), $pop7
- i32.const $push6=, 3
- i32.store $6=, d($2), $pop6
+ i32.const $push44=, 0
+ i32.const $push10=, g
+ i32.store $discard=, c($pop44), $pop10
+ i32.const $push43=, 0
+ i32.const $push11=, 4
+ i32.store $2=, b($pop43), $pop11
+ i32.const $push42=, 0
+ i32.const $push9=, g+4
+ i32.store $0=, e($pop42), $pop9
+ i32.const $push41=, 0
+ i32.const $push8=, 3
+ i32.store $4=, d($pop41), $pop8
i32.const $1=, 1
.LBB2_1: # %land.rhs.i
# =>This Inner Loop Header: Depth=1
block
loop # label3:
- i32.load $5=, 0($0)
- i32.const $4=, 45
- i32.load8_u $push10=, 0($5)
- i32.ne $push11=, $pop10, $4
- br_if $pop11, 1 # 1: down to label4
+ i32.load $push0=, 0($0)
+ tee_local $push46=, $5=, $pop0
+ i32.load8_u $push12=, 0($pop46)
+ i32.const $push45=, 45
+ i32.ne $push13=, $pop12, $pop45
+ br_if $pop13, 1 # 1: down to label4
# BB#2: # %while.body.i
# in Loop: Header=BB2_1 Depth=1
- i32.load8_s $7=, 1($5)
block
- i32.const $push48=, 0
- i32.eq $push49=, $7, $pop48
- br_if $pop49, 0 # 0: down to label5
+ i32.load8_s $push1=, 1($5)
+ tee_local $push47=, $3=, $pop1
+ i32.const $push70=, 0
+ i32.eq $push71=, $pop47, $pop70
+ br_if $pop71, 0 # 0: down to label5
# BB#3: # %land.lhs.true.i
# in Loop: Header=BB2_1 Depth=1
- i32.load8_u $push12=, 2($5)
- i32.const $push50=, 0
- i32.eq $push51=, $pop12, $pop50
- br_if $pop51, 0 # 0: down to label5
+ i32.load8_u $push14=, 2($5)
+ i32.const $push72=, 0
+ i32.eq $push73=, $pop14, $pop72
+ br_if $pop73, 0 # 0: down to label5
# BB#4: # %if.then.i
call abort@FUNCTION
unreachable
@@ -78,49 +83,54 @@ main: # @main
end_block # label5:
block
block
- i32.const $push13=, 80
- i32.eq $push14=, $7, $pop13
- br_if $pop14, 0 # 0: down to label7
+ i32.const $push48=, 80
+ i32.eq $push15=, $3, $pop48
+ br_if $pop15, 0 # 0: down to label7
# BB#6: # %if.end.i
# in Loop: Header=BB2_1 Depth=1
block
- i32.const $push15=, 117
- i32.eq $push16=, $7, $pop15
+ i32.const $push49=, 117
+ i32.eq $push16=, $3, $pop49
br_if $pop16, 0 # 0: down to label8
# BB#7: # %if.end.i
# in Loop: Header=BB2_1 Depth=1
- i32.ne $push17=, $7, $4
+ i32.const $push50=, 45
+ i32.ne $push17=, $3, $pop50
br_if $pop17, 2 # 2: down to label6
# BB#8: # %sw.bb22.i
- i32.const $push20=, 1
- i32.eq $push21=, $1, $pop20
- i32.const $push22=, 1536
- i32.or $push23=, $1, $pop22
- i32.select $1=, $pop21, $pop23, $1
+ i32.const $push21=, 1
+ i32.eq $push22=, $1, $pop21
+ i32.const $push23=, 1536
+ i32.or $push24=, $1, $pop23
+ i32.select $1=, $pop22, $pop24, $1
+ i32.const $push19=, 0
i32.const $push18=, -1
- i32.add $push2=, $6, $pop18
- i32.store $6=, d($2), $pop2
- i32.const $push19=, 4
- i32.add $push3=, $0, $pop19
- i32.store $0=, e($2), $pop3
+ i32.add $push4=, $4, $pop18
+ i32.store $4=, d($pop19), $pop4
+ i32.const $push56=, 0
+ i32.const $push20=, 4
+ i32.add $push5=, $0, $pop20
+ i32.store $0=, e($pop56), $pop5
br 5 # 5: down to label2
.LBB2_9: # %sw.bb.i
# in Loop: Header=BB2_1 Depth=1
end_block # label8:
block
- i32.load $push26=, 4($0)
- i32.const $push52=, 0
- i32.eq $push53=, $pop26, $pop52
- br_if $pop53, 0 # 0: down to label9
+ i32.load $push25=, 4($0)
+ i32.const $push74=, 0
+ i32.eq $push75=, $pop25, $pop74
+ br_if $pop75, 0 # 0: down to label9
# BB#10: # %if.end19.i
# in Loop: Header=BB2_1 Depth=1
- i32.const $push28=, -1
- i32.add $push1=, $6, $pop28
- i32.store $6=, d($2), $pop1
- i32.const $push25=, 4
- i32.add $push0=, $0, $pop25
- i32.store $push27=, t+4100($2), $pop0
- i32.store $0=, e($2), $pop27
+ i32.const $push54=, 0
+ i32.add $push2=, $0, $2
+ i32.store $3=, t+4100($pop54), $pop2
+ i32.const $push53=, 0
+ i32.const $push52=, -1
+ i32.add $push3=, $4, $pop52
+ i32.store $4=, d($pop53), $pop3
+ i32.const $push51=, 0
+ i32.store $0=, e($pop51), $3
br 2 # 2: down to label6
.LBB2_11: # %if.then18.i
end_block # label9:
@@ -129,78 +139,86 @@ main: # @main
.LBB2_12: # %sw.bb21.i
# in Loop: Header=BB2_1 Depth=1
end_block # label7:
- i32.const $push24=, 4096
- i32.or $1=, $1, $pop24
+ i32.const $push55=, 4096
+ i32.or $1=, $1, $pop55
.LBB2_13: # %sw.epilog.i
# in Loop: Header=BB2_1 Depth=1
end_block # label6:
- i32.const $push31=, 1
- i32.gt_s $7=, $6, $pop31
- i32.const $push29=, -1
- i32.add $push4=, $6, $pop29
- i32.store $6=, d($2), $pop4
- i32.const $push30=, 4
- i32.add $push5=, $0, $pop30
- i32.store $0=, e($2), $pop5
- br_if $7, 0 # 0: up to label3
+ i32.const $push60=, 1
+ i32.gt_s $3=, $4, $pop60
+ i32.const $push59=, 0
+ i32.const $push58=, -1
+ i32.add $push6=, $4, $pop58
+ i32.store $4=, d($pop59), $pop6
+ i32.const $push57=, 0
+ i32.add $push7=, $0, $2
+ i32.store $0=, e($pop57), $pop7
+ br_if $3, 0 # 0: up to label3
.LBB2_14: # %while.end.i
end_loop # label4:
- i32.const $7=, 1
- i32.lt_s $push33=, $6, $7
- br_if $pop33, 0 # 0: down to label2
+ i32.const $push61=, 1
+ i32.lt_s $push27=, $4, $pop61
+ br_if $pop27, 0 # 0: down to label2
# BB#15: # %while.end.i
- i32.and $push32=, $1, $7
- br_if $pop32, 0 # 0: down to label2
+ i32.const $push62=, 1
+ i32.and $push26=, $1, $pop62
+ br_if $pop26, 0 # 0: down to label2
# BB#16: # %if.then36.i
call abort@FUNCTION
unreachable
.LBB2_17: # %setup2.exit
end_block # label2:
+ i32.const $push63=, 0
+ i32.const $push28=, .L.str.4
+ i32.store $3=, t($pop63), $pop28
block
- i32.const $push34=, .L.str.4
- i32.store $7=, t($2), $pop34
- i32.const $push35=, 512
- i32.and $push36=, $1, $pop35
- i32.const $push54=, 0
- i32.eq $push55=, $pop36, $pop54
- br_if $pop55, 0 # 0: down to label10
+ i32.const $push29=, 512
+ i32.and $push30=, $1, $pop29
+ i32.const $push76=, 0
+ i32.eq $push77=, $pop30, $pop76
+ br_if $pop77, 0 # 0: down to label10
# BB#18: # %if.then6.i
- i32.const $push37=, 1
- i32.add $push38=, $6, $pop37
- i32.store $discard=, d($2), $pop38
- i32.store $discard=, f($2), $7
- i32.const $push39=, f
- i32.store $5=, e($2), $pop39
- copy_local $7=, $3
+ i32.const $push66=, 0
+ i32.const $push31=, 1
+ i32.add $push32=, $4, $pop31
+ i32.store $discard=, d($pop66), $pop32
+ i32.const $push65=, 0
+ i32.const $push33=, f
+ i32.store $discard=, e($pop65), $pop33
+ i32.const $push64=, 0
+ i32.store $discard=, f($pop64):p2align=4, $3
+ i32.const $4=, 4
.LBB2_19: # %for.cond.i
# =>This Inner Loop Header: Depth=1
loop # label11:
- i32.add $push44=, $5, $7
- i32.add $push40=, $0, $7
- i32.const $push41=, -4
- i32.add $push42=, $pop40, $pop41
- i32.load $push43=, 0($pop42)
- i32.store $6=, 0($pop44), $pop43
- i32.add $7=, $7, $3
- br_if $6, 0 # 0: up to label11
+ i32.add $push34=, $0, $4
+ i32.const $push68=, -4
+ i32.add $push35=, $pop34, $pop68
+ i32.load $push36=, 0($pop35)
+ i32.store $3=, f($4), $pop36
+ i32.const $push67=, 4
+ i32.add $4=, $4, $pop67
+ br_if $3, 0 # 0: up to label11
.LBB2_20: # %setup1.exit
end_loop # label12:
end_block # label10:
block
- i32.const $push46=, 1024
- i32.and $push47=, $1, $pop46
- i32.const $push56=, 0
- i32.eq $push57=, $pop47, $pop56
- br_if $pop57, 0 # 0: down to label13
+ i32.const $push38=, 1024
+ i32.and $push39=, $1, $pop38
+ i32.const $push78=, 0
+ i32.eq $push79=, $pop39, $pop78
+ br_if $pop79, 0 # 0: down to label13
# BB#21: # %setup1.exit
- i32.load $push45=, a+16($2)
- br_if $pop45, 0 # 0: down to label13
+ i32.const $push69=, 0
+ i32.load $push37=, a+16($pop69):p2align=4
+ br_if $pop37, 0 # 0: down to label13
# BB#22: # %if.then
call abort@FUNCTION
unreachable
.LBB2_23: # %if.end
end_block # label13:
- call exit@FUNCTION, $2
+ i32.const $push40=, 0
+ call exit@FUNCTION, $pop40
unreachable
.endfunc
.Lfunc_end2:
@@ -231,7 +249,7 @@ main: # @main
.type g,@object
.section .data.g,"aw",@progbits
.globl g
- .align 4
+ .p2align 4
g:
.int32 .L.str
.int32 .L.str.1
@@ -243,7 +261,7 @@ g:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0
.size c, 4
@@ -252,7 +270,7 @@ c:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -267,7 +285,7 @@ b:
.type t,@object
.section .bss.t,"aw",@nobits
.globl t
- .align 2
+ .p2align 2
t:
.skip 4104
.size t, 4104
@@ -276,7 +294,7 @@ t:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 20
.size a, 20
@@ -285,7 +303,7 @@ a:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -294,7 +312,7 @@ d:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0
.size e, 4
@@ -303,7 +321,7 @@ e:
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 4
+ .p2align 4
f:
.skip 64
.size f, 64
diff --git a/test/torture-s/pr20621-1.c.s b/test/torture-s/pr20621-1.c.s
new file mode 100644
index 000000000..d154e9376
--- /dev/null
+++ b/test/torture-s/pr20621-1.c.s
@@ -0,0 +1,47 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr20621-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 2
+ i32.shl $push1=, $1, $pop0
+ i32.add $push2=, $0, $pop1
+ i32.load $push3=, 0($pop2)
+ return $pop3
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push2=, gb+4($pop0)
+ i32.const $push4=, 0
+ i32.load $push1=, gb($pop4)
+ i32.add $push3=, $pop2, $pop1
+ return $pop3
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden gb # @gb
+ .type gb,@object
+ .section .bss.gb,"aw",@nobits
+ .globl gb
+ .p2align 2
+gb:
+ .skip 65536
+ .size gb, 65536
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr21173.c.s b/test/torture-s/pr21173.c.s
index 0f17cd9e3..87375883a 100644
--- a/test/torture-s/pr21173.c.s
+++ b/test/torture-s/pr21173.c.s
@@ -6,17 +6,21 @@
.type foo,@function
foo: # @foo
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, a+4($1)
+ i32.const $push2=, 0
+ i32.load $1=, a+4($pop2)
+ i32.const $push9=, 0
+ i32.const $push8=, 0
+ i32.load $push3=, a($pop8)
i32.const $push0=, q
- i32.sub $0=, $0, $pop0
- i32.load $push1=, a($1)
- i32.add $push2=, $pop1, $0
- i32.store $discard=, a($1), $pop2
- i32.add $push3=, $2, $0
- i32.store $discard=, a+4($1), $pop3
+ i32.sub $push1=, $0, $pop0
+ tee_local $push7=, $0=, $pop1
+ i32.add $push4=, $pop3, $pop7
+ i32.store $discard=, a($pop9), $pop4
+ i32.const $push6=, 0
+ i32.add $push5=, $1, $0
+ i32.store $discard=, a+4($pop6), $pop5
return
.endfunc
.Lfunc_end0:
@@ -28,16 +32,17 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, a($0)
- i32.load $push1=, a+4($0)
+ i32.const $push4=, 0
+ i32.load $push0=, a($pop4)
+ i32.const $push3=, 0
+ i32.load $push1=, a+4($pop3)
i32.or $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %for.cond.1
- return $0
+ i32.const $push5=, 0
+ return $pop5
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -58,7 +63,7 @@ q:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 8
.size a, 8
diff --git a/test/torture-s/pr22061-1.c.s b/test/torture-s/pr22061-1.c.s
index f15760de6..3920437b0 100644
--- a/test/torture-s/pr22061-1.c.s
+++ b/test/torture-s/pr22061-1.c.s
@@ -20,9 +20,10 @@ bar: # @bar
.local i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load $1=, N($pop0)
- i32.add $push1=, $0, $1
- i32.store8 $discard=, 0($pop1), $1
+ i32.load $push1=, N($pop0)
+ tee_local $push3=, $1=, $pop1
+ i32.add $push2=, $0, $pop3
+ i32.store8 $discard=, 0($pop2), $1
return
.endfunc
.Lfunc_end1:
@@ -34,12 +35,12 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 4
- i32.store $discard=, N($0), $pop0
- call exit@FUNCTION, $0
+ i32.store $discard=, N($pop1), $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end2:
@@ -49,7 +50,7 @@ main: # @main
.type N,@object
.section .data.N,"aw",@progbits
.globl N
- .align 2
+ .p2align 2
N:
.int32 1 # 0x1
.size N, 4
diff --git a/test/torture-s/pr22061-2.c.s b/test/torture-s/pr22061-2.c.s
index f509183a8..e64c86b18 100644
--- a/test/torture-s/pr22061-2.c.s
+++ b/test/torture-s/pr22061-2.c.s
@@ -18,7 +18,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.int32 0
.size x, 4
diff --git a/test/torture-s/pr22098-3.c.s b/test/torture-s/pr22098-3.c.s
index 48a9ae0f2..a57edf313 100644
--- a/test/torture-s/pr22098-3.c.s
+++ b/test/torture-s/pr22098-3.c.s
@@ -6,14 +6,14 @@
.type f,@function
f: # @f
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, n($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $push3=, n($0), $pop2
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, n($pop5)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, n($pop0), $pop3
+ return $pop4
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
@@ -24,17 +24,20 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, n($0)
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load $push0=, n($pop4)
+ tee_local $push3=, $0=, $pop0
+ i32.const $push1=, 1
+ i32.add $push2=, $pop3, $pop1
+ i32.store $discard=, n($pop5), $pop2
block
- i32.const $push0=, 1
- i32.add $push1=, $1, $pop0
- i32.store $discard=, n($0), $pop1
- br_if $1, 0 # 0: down to label0
+ br_if $0, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -48,7 +51,7 @@ main: # @main
.type n,@object
.section .bss.n,"aw",@nobits
.globl n
- .align 2
+ .p2align 2
n:
.int32 0 # 0x0
.size n, 4
diff --git a/test/torture-s/pr22493-1.c.s b/test/torture-s/pr22493-1.c.s
index 02c7da6a3..f6885f6ed 100644
--- a/test/torture-s/pr22493-1.c.s
+++ b/test/torture-s/pr22493-1.c.s
@@ -21,7 +21,10 @@ main: # @main
.param i32, i32
.result i32
# BB#0: # %entry
- call abort@FUNCTION
+ i32.const $push0=, -2147483648
+ call f@FUNCTION, $pop0
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/pr22630.c.s b/test/torture-s/pr22630.c.s
index 72a7ce223..84f9e6f78 100644
--- a/test/torture-s/pr22630.c.s
+++ b/test/torture-s/pr22630.c.s
@@ -29,12 +29,12 @@ bla: # @bla
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, j($0), $pop0
- return $0
+ i32.store $discard=, j($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -43,7 +43,7 @@ main: # @main
.type j,@object
.section .bss.j,"aw",@nobits
.globl j
- .align 2
+ .p2align 2
j:
.int32 0 # 0x0
.size j, 4
diff --git a/test/torture-s/pr23047.c.s b/test/torture-s/pr23047.c.s
index cc0ec25f2..7a61fe177 100644
--- a/test/torture-s/pr23047.c.s
+++ b/test/torture-s/pr23047.c.s
@@ -10,12 +10,13 @@ f: # @f
# BB#0: # %entry
block
i32.const $push0=, 31
- i32.shr_s $1=, $0, $pop0
- i32.add $push1=, $0, $1
- i32.xor $push2=, $pop1, $1
- i32.const $push3=, -1
- i32.gt_s $push4=, $pop2, $pop3
- br_if $pop4, 0 # 0: down to label0
+ i32.shr_s $push1=, $0, $pop0
+ tee_local $push6=, $1=, $pop1
+ i32.add $push2=, $0, $pop6
+ i32.xor $push3=, $pop2, $1
+ i32.const $push4=, -1
+ i32.gt_s $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.then
return
.LBB0_2: # %if.end
@@ -34,8 +35,10 @@ main: # @main
.param i32, i32
.result i32
# BB#0: # %entry
- i32.const $push0=, 0
- call exit@FUNCTION, $pop0
+ i32.const $push0=, -2147483648
+ call f@FUNCTION, $pop0
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/pr23135.c.s b/test/torture-s/pr23135.c.s
new file mode 100644
index 000000000..9fd4246be
--- /dev/null
+++ b/test/torture-s/pr23135.c.s
@@ -0,0 +1,343 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr23135.c"
+ .section .text.verify,"ax",@progbits
+ .hidden verify
+ .globl verify
+ .type verify,@function
+verify: # @verify
+ .param i32, i32, i32, i32, i32
+# BB#0: # %entry
+ block
+ i32.ne $push0=, $0, $2
+ br_if $pop0, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.ne $push1=, $1, $3
+ br_if $pop1, 0 # 0: down to label0
+# BB#2: # %if.end
+ return
+.LBB0_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size verify, .Lfunc_end0-verify
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $push17=, 0
+ i32.load $0=, i($pop17):p2align=3
+ i32.const $push110=, 0
+ i32.load $1=, j($pop110):p2align=3
+ i32.const $push109=, 0
+ i32.const $push108=, 0
+ i32.load $push1=, j+4($pop108)
+ tee_local $push107=, $17=, $pop1
+ i32.const $push106=, 0
+ i32.load $push0=, i+4($pop106)
+ tee_local $push105=, $16=, $pop0
+ i32.add $push3=, $pop107, $pop105
+ i32.store $3=, res+4($pop109), $pop3
+ block
+ i32.const $push104=, 0
+ i32.add $push2=, $1, $0
+ i32.store $push18=, res($pop104):p2align=3, $pop2
+ tee_local $push103=, $15=, $pop18
+ i32.const $push19=, 160
+ i32.ne $push20=, $pop103, $pop19
+ br_if $pop20, 0 # 0: down to label1
+# BB#1: # %entry
+ i32.const $push21=, 113
+ i32.ne $push22=, $3, $pop21
+ br_if $pop22, 0 # 0: down to label1
+# BB#2: # %verify.exit
+ i32.const $push23=, 0
+ i32.mul $push4=, $1, $0
+ i32.store $4=, res($pop23):p2align=3, $pop4
+ i32.const $push111=, 0
+ i32.mul $push5=, $17, $16
+ i32.store $5=, res+4($pop111), $pop5
+ block
+ i32.const $push24=, 1500
+ i32.ne $push25=, $4, $pop24
+ br_if $pop25, 0 # 0: down to label2
+# BB#3: # %verify.exit
+ i32.const $push26=, 1300
+ i32.ne $push27=, $5, $pop26
+ br_if $pop27, 0 # 0: down to label2
+# BB#4: # %verify.exit48
+ i32.div_s $2=, $16, $17
+ i32.const $push28=, 0
+ i32.div_s $push6=, $0, $1
+ i32.store $6=, res($pop28):p2align=3, $pop6
+ i32.const $push112=, 0
+ i32.store $discard=, res+4($pop112), $2
+ block
+ i32.const $push29=, 15
+ i32.ne $push30=, $6, $pop29
+ br_if $pop30, 0 # 0: down to label3
+# BB#5: # %verify.exit48
+ i32.const $push31=, 7
+ i32.ne $push32=, $2, $pop31
+ br_if $pop32, 0 # 0: down to label3
+# BB#6: # %verify.exit54
+ i32.const $push33=, 0
+ i32.and $push7=, $1, $0
+ i32.store $7=, res($pop33):p2align=3, $pop7
+ i32.const $push113=, 0
+ i32.and $push8=, $17, $16
+ i32.store $8=, res+4($pop113), $pop8
+ block
+ i32.const $push34=, 2
+ i32.ne $push35=, $7, $pop34
+ br_if $pop35, 0 # 0: down to label4
+# BB#7: # %verify.exit54
+ i32.const $push36=, 4
+ i32.ne $push37=, $8, $pop36
+ br_if $pop37, 0 # 0: down to label4
+# BB#8: # %verify.exit60
+ i32.const $push38=, 0
+ i32.or $push9=, $1, $0
+ i32.store $9=, res($pop38):p2align=3, $pop9
+ i32.const $push114=, 0
+ i32.or $push10=, $17, $16
+ i32.store $10=, res+4($pop114), $pop10
+ block
+ i32.const $push39=, 158
+ i32.ne $push40=, $9, $pop39
+ br_if $pop40, 0 # 0: down to label5
+# BB#9: # %verify.exit60
+ i32.const $push41=, 109
+ i32.ne $push42=, $10, $pop41
+ br_if $pop42, 0 # 0: down to label5
+# BB#10: # %verify.exit66
+ i32.const $push43=, 0
+ i32.xor $push11=, $0, $1
+ i32.store $1=, res($pop43):p2align=3, $pop11
+ i32.const $push115=, 0
+ i32.xor $push12=, $16, $17
+ i32.store $17=, res+4($pop115), $pop12
+ block
+ i32.const $push44=, 156
+ i32.ne $push45=, $1, $pop44
+ br_if $pop45, 0 # 0: down to label6
+# BB#11: # %verify.exit66
+ i32.const $push46=, 105
+ i32.ne $push47=, $17, $pop46
+ br_if $pop47, 0 # 0: down to label6
+# BB#12: # %verify.exit72
+ i32.const $push48=, 0
+ i32.const $push118=, 0
+ i32.sub $push13=, $pop118, $0
+ i32.store $11=, res($pop48):p2align=3, $pop13
+ i32.const $push117=, 0
+ i32.const $push116=, 0
+ i32.sub $push14=, $pop116, $16
+ i32.store $12=, res+4($pop117), $pop14
+ block
+ i32.const $push49=, -150
+ i32.ne $push50=, $11, $pop49
+ br_if $pop50, 0 # 0: down to label7
+# BB#13: # %verify.exit72
+ i32.const $push51=, -100
+ i32.ne $push52=, $12, $pop51
+ br_if $pop52, 0 # 0: down to label7
+# BB#14: # %verify.exit78
+ i32.const $push54=, 0
+ i32.const $push53=, -1
+ i32.xor $push15=, $0, $pop53
+ i32.store $13=, res($pop54):p2align=3, $pop15
+ i32.const $push120=, 0
+ i32.const $push119=, -1
+ i32.xor $push16=, $16, $pop119
+ i32.store $14=, res+4($pop120), $pop16
+ block
+ i32.const $push55=, 150
+ i32.ne $push56=, $0, $pop55
+ br_if $pop56, 0 # 0: down to label8
+# BB#15: # %verify.exit78
+ i32.const $push57=, -101
+ i32.ne $push58=, $14, $pop57
+ br_if $pop58, 0 # 0: down to label8
+# BB#16: # %verify.exit84
+ i32.const $push71=, 0
+ i32.add $push60=, $4, $15
+ i32.add $push63=, $pop60, $7
+ i32.add $push64=, $pop63, $9
+ i32.add $push67=, $pop64, $1
+ i32.sub $push68=, $pop67, $0
+ i32.add $push70=, $pop68, $13
+ i32.store $0=, k($pop71):p2align=3, $pop70
+ i32.const $push123=, 0
+ i32.add $push61=, $5, $3
+ i32.add $push62=, $pop61, $8
+ i32.add $push65=, $pop62, $10
+ i32.add $push66=, $pop65, $17
+ i32.sub $push69=, $pop66, $16
+ i32.add $push59=, $pop69, $14
+ i32.store $16=, k+4($pop123), $pop59
+ i32.const $push122=, 0
+ i32.store $discard=, res($pop122):p2align=3, $0
+ i32.const $push121=, 0
+ i32.store $discard=, res+4($pop121), $16
+ block
+ i32.const $push72=, 1675
+ i32.ne $push73=, $0, $pop72
+ br_if $pop73, 0 # 0: down to label9
+# BB#17: # %verify.exit84
+ i32.const $push74=, 1430
+ i32.ne $push75=, $16, $pop74
+ br_if $pop75, 0 # 0: down to label9
+# BB#18: # %verify.exit90
+ i32.const $push88=, 0
+ i32.mul $push77=, $4, $15
+ i32.mul $push80=, $pop77, $7
+ i32.mul $push81=, $pop80, $9
+ i32.mul $push84=, $pop81, $1
+ i32.mul $push85=, $pop84, $11
+ i32.mul $push87=, $pop85, $13
+ i32.store $0=, k($pop88):p2align=3, $pop87
+ i32.const $push126=, 0
+ i32.mul $push78=, $5, $3
+ i32.mul $push79=, $pop78, $8
+ i32.mul $push82=, $pop79, $10
+ i32.mul $push83=, $pop82, $17
+ i32.mul $push86=, $pop83, $12
+ i32.mul $push76=, $pop86, $14
+ i32.store $16=, k+4($pop126), $pop76
+ i32.const $push125=, 0
+ i32.store $discard=, res($pop125):p2align=3, $0
+ i32.const $push124=, 0
+ i32.store $discard=, res+4($pop124), $16
+ block
+ i32.const $push89=, 1456467968
+ i32.ne $push90=, $0, $pop89
+ br_if $pop90, 0 # 0: down to label10
+# BB#19: # %verify.exit90
+ i32.const $push91=, -1579586240
+ i32.ne $push92=, $16, $pop91
+ br_if $pop92, 0 # 0: down to label10
+# BB#20: # %verify.exit96
+ i32.div_s $0=, $3, $5
+ i32.div_s $push93=, $15, $4
+ i32.div_s $16=, $pop93, $6
+ i32.div_s $push94=, $0, $2
+ i32.div_s $0=, $pop94, $8
+ i32.div_s $push95=, $16, $7
+ i32.div_s $16=, $pop95, $9
+ i32.div_s $push96=, $0, $10
+ i32.div_s $0=, $pop96, $17
+ i32.div_s $push97=, $16, $1
+ i32.div_s $1=, $pop97, $11
+ i32.div_s $push98=, $0, $12
+ i32.div_s $0=, $pop98, $14
+ i32.const $push130=, 0
+ i32.div_s $push99=, $1, $13
+ i32.store $1=, k($pop130):p2align=3, $pop99
+ i32.const $push129=, 0
+ i32.store $discard=, k+4($pop129), $0
+ block
+ i32.const $push128=, 0
+ i32.store $push100=, res($pop128):p2align=3, $1
+ i32.const $push127=, 0
+ i32.store $push101=, res+4($pop127), $0
+ i32.or $push102=, $pop100, $pop101
+ br_if $pop102, 0 # 0: down to label11
+# BB#21: # %verify.exit102
+ i32.const $push131=, 0
+ call exit@FUNCTION, $pop131
+ unreachable
+.LBB1_22: # %if.then.i101
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+.LBB1_23: # %if.then.i95
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB1_24: # %if.then.i89
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB1_25: # %if.then.i83
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB1_26: # %if.then.i77
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB1_27: # %if.then.i71
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB1_28: # %if.then.i65
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB1_29: # %if.then.i59
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB1_30: # %if.then.i53
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB1_31: # %if.then.i47
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB1_32: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden i # @i
+ .type i,@object
+ .section .data.i,"aw",@progbits
+ .globl i
+ .p2align 3
+i:
+ .int32 150 # 0x96
+ .int32 100 # 0x64
+ .size i, 8
+
+ .hidden j # @j
+ .type j,@object
+ .section .data.j,"aw",@progbits
+ .globl j
+ .p2align 3
+j:
+ .int32 10 # 0xa
+ .int32 13 # 0xd
+ .size j, 8
+
+ .hidden res # @res
+ .type res,@object
+ .section .bss.res,"aw",@nobits
+ .globl res
+ .p2align 3
+res:
+ .skip 8
+ .size res, 8
+
+ .hidden k # @k
+ .type k,@object
+ .section .bss.k,"aw",@nobits
+ .globl k
+ .p2align 3
+k:
+ .skip 8
+ .size k, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr23324.c.s b/test/torture-s/pr23324.c.s
index 0198d2ed0..0138f5543 100644
--- a/test/torture-s/pr23324.c.s
+++ b/test/torture-s/pr23324.c.s
@@ -6,35 +6,45 @@
.type main,@function
main: # @main
.result i32
- .local i32, f64, f32
+ .local f64, f32
# BB#0: # %entry
- i32.const $0=, 0
- f64.load $1=, wv6+32($0)
block
- f64.ne $push0=, $1, $1
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push13=, 0
+ f64.load $push2=, wv6+32($pop13)
+ tee_local $push12=, $0=, $pop2
+ f64.ne $push3=, $pop12, $0
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %caller_bf6.exit
- f32.load $2=, yv7($0)
block
- f32.ne $push1=, $2, $2
- br_if $pop1, 0 # 0: down to label1
+ i32.const $push15=, 0
+ f32.load $push4=, yv7($pop15):p2align=3
+ tee_local $push14=, $1=, $pop4
+ f32.ne $push5=, $pop14, $1
+ br_if $pop5, 0 # 0: down to label1
# BB#2: # %if.end26.i.i
- f64.load $1=, yv7+16($0)
block
- f64.ne $push2=, $1, $1
- br_if $pop2, 0 # 0: down to label2
+ i32.const $push6=, 0
+ f64.load $push7=, yv7+16($pop6)
+ tee_local $push16=, $0=, $pop7
+ f64.ne $push8=, $pop16, $0
+ br_if $pop8, 0 # 0: down to label2
# BB#3: # %if.end30.i.i
- f32.load $2=, yv7+24($0)
block
- f32.ne $push3=, $2, $2
- br_if $pop3, 0 # 0: down to label3
+ i32.const $push18=, 0
+ f32.load $push1=, yv7+24($pop18):p2align=3
+ tee_local $push17=, $1=, $pop1
+ f32.ne $push9=, $pop17, $1
+ br_if $pop9, 0 # 0: down to label3
# BB#4: # %if.end34.i.i
- f32.load $2=, zv7($0)
block
- f32.ne $push4=, $2, $2
- br_if $pop4, 0 # 0: down to label4
+ i32.const $push20=, 0
+ f32.load $push0=, zv7($pop20)
+ tee_local $push19=, $1=, $pop0
+ f32.ne $push10=, $pop19, $1
+ br_if $pop10, 0 # 0: down to label4
# BB#5: # %caller_bf7.exit
- return $0
+ i32.const $push11=, 0
+ return $pop11
.LBB0_6: # %if.then37.i.i
end_block # label4:
call abort@FUNCTION
@@ -61,7 +71,7 @@ main: # @main
.type wv6,@object # @wv6
.section .data.wv6,"aw",@progbits
- .align 3
+ .p2align 3
wv6:
.int8 72 # 0x48
.int8 66 # 0x42
@@ -82,14 +92,14 @@ wv6:
.type zv7,@object # @zv7
.section .data.zv7,"aw",@progbits
- .align 2
+ .p2align 2
zv7:
.int32 1167954387 # float 5042.22803
.size zv7, 4
.type yv7,@object # @yv7
.section .data.yv7,"aw",@progbits
- .align 3
+ .p2align 3
yv7:
.int32 1189834750 # float 30135.9961
.int16 42435 # 0xa5c3
diff --git a/test/torture-s/pr23467.c.s b/test/torture-s/pr23467.c.s
index 920182877..795181a03 100644
--- a/test/torture-s/pr23467.c.s
+++ b/test/torture-s/pr23467.c.s
@@ -18,7 +18,7 @@ main: # @main
.type v,@object
.section .bss.v,"aw",@nobits
.globl v
- .align 3
+ .p2align 3
v:
.skip 16
.size v, 16
diff --git a/test/torture-s/pr23604.c.s b/test/torture-s/pr23604.c.s
index c1e988d3c..8130aa0d4 100644
--- a/test/torture-s/pr23604.c.s
+++ b/test/torture-s/pr23604.c.s
@@ -7,22 +7,21 @@
g: # @g
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 1
block
block
- i32.gt_u $push0=, $0, $2
- br_if $pop0, 0 # 0: down to label1
-# BB#1: # %if.then2
- i32.eq $push1=, $0, $1
+ i32.const $push0=, 1
+ i32.gt_u $push1=, $0, $pop0
br_if $pop1, 0 # 0: down to label1
+# BB#1: # %if.then2
+ i32.eq $push2=, $0, $1
+ br_if $pop2, 0 # 0: down to label1
# BB#2: # %if.then2
i32.const $0=, 0
br_if $1, 1 # 1: down to label0
.LBB0_3: # %if.end9
end_block # label1:
- copy_local $0=, $2
+ i32.const $0=, 1
.LBB0_4: # %return
end_block # label0:
return $0
diff --git a/test/torture-s/pr23941.c.s b/test/torture-s/pr23941.c.s
index 0143d6e4e..22487830c 100644
--- a/test/torture-s/pr23941.c.s
+++ b/test/torture-s/pr23941.c.s
@@ -6,16 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- f64.load $push0=, d($0)
+ i32.const $push3=, 0
+ f64.load $push0=, d($pop3)
f64.const $push1=, 0x1p-127
f64.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -28,7 +28,7 @@ main: # @main
.type d,@object
.section .data.d,"aw",@progbits
.globl d
- .align 3
+ .p2align 3
d:
.int64 4035225266123964416 # double 5.8774717541114375E-39
.size d, 8
diff --git a/test/torture-s/pr24141.c.s b/test/torture-s/pr24141.c.s
index bacf8bdec..0d9e2e451 100644
--- a/test/torture-s/pr24141.c.s
+++ b/test/torture-s/pr24141.c.s
@@ -44,12 +44,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, i($0), $pop0
- return $0
+ i32.store $discard=, i($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -58,7 +58,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/pr24142.c.s b/test/torture-s/pr24142.c.s
index 5bd2e3adc..ea280bc00 100644
--- a/test/torture-s/pr24142.c.s
+++ b/test/torture-s/pr24142.c.s
@@ -7,15 +7,15 @@
f: # @f
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 1
- i32.or $push0=, $0, $2
- i32.eq $push1=, $pop0, $2
- i32.const $push2=, 0
- i32.ne $push3=, $1, $pop2
- i32.and $push4=, $pop1, $pop3
- return $pop4
+ i32.const $push0=, 1
+ i32.or $push1=, $0, $pop0
+ i32.const $push6=, 1
+ i32.eq $push2=, $pop1, $pop6
+ i32.const $push3=, 0
+ i32.ne $push4=, $1, $pop3
+ i32.and $push5=, $pop2, $pop4
+ return $pop5
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/pr24716.c.s b/test/torture-s/pr24716.c.s
index c9155ad54..2b8e96cb9 100644
--- a/test/torture-s/pr24716.c.s
+++ b/test/torture-s/pr24716.c.s
@@ -7,10 +7,10 @@
f: # @f
.param i32, i32
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, 0
- copy_local $3=, $5
+ i32.const $4=, 0
+ i32.const $2=, 0
.LBB0_1: # %for.cond
# =>This Loop Header: Depth=1
# Child Loop BB0_6 Depth 2
@@ -19,123 +19,125 @@ f: # @f
# Child Loop BB0_13 Depth 2
# Child Loop BB0_14 Depth 3
loop # label0:
- copy_local $7=, $0
+ copy_local $5=, $0
block
block
- i32.const $push0=, 3
- i32.lt_s $push1=, $5, $pop0
- br_if $pop1, 0 # 0: down to label3
+ i32.const $push11=, 3
+ i32.lt_s $push0=, $4, $pop11
+ br_if $pop0, 0 # 0: down to label3
# BB#2: # %if.end.thread
# in Loop: Header=BB0_1 Depth=1
- i32.const $push4=, 1
- i32.add $5=, $5, $pop4
- i32.const $push5=, -1
- i32.add $4=, $3, $pop5
+ i32.const $push13=, 1
+ i32.add $4=, $4, $pop13
+ i32.const $push12=, -1
+ i32.add $3=, $2, $pop12
br 1 # 1: down to label2
.LBB0_3: # %if.end
# in Loop: Header=BB0_1 Depth=1
end_block # label3:
- i32.const $4=, 0
- i32.const $push2=, 1
- i32.eq $push3=, $3, $pop2
- br_if $pop3, 2 # 2: down to label1
+ i32.const $3=, 0
+ i32.const $push14=, 1
+ i32.eq $push1=, $2, $pop14
+ br_if $pop1, 2 # 2: down to label1
.LBB0_4: # %while.cond.preheader
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
block
- i32.le_s $push6=, $5, $1
- br_if $pop6, 0 # 0: down to label4
+ i32.le_s $push2=, $4, $1
+ br_if $pop2, 0 # 0: down to label4
# BB#5: # %while.body.lr.ph
# in Loop: Header=BB0_1 Depth=1
- i32.eq $6=, $4, $1
+ i32.eq $0=, $3, $1
.LBB0_6: # %while.body
# Parent Loop BB0_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label5:
- i32.add $5=, $5, $6
- i32.gt_s $push7=, $5, $1
- br_if $pop7, 0 # 0: up to label5
+ i32.add $4=, $4, $0
+ i32.gt_s $push3=, $4, $1
+ br_if $pop3, 0 # 0: up to label5
.LBB0_7: # %do.body10.preheader
# in Loop: Header=BB0_1 Depth=1
end_loop # label6:
end_block # label4:
- i32.const $2=, 2
- i32.const $push9=, W
- i32.shl $push8=, $7, $2
- i32.add $0=, $pop9, $pop8
+ i32.const $push16=, 2
+ i32.shl $push4=, $5, $pop16
+ i32.const $push15=, W
+ i32.add $2=, $pop4, $pop15
.LBB0_8: # %do.body10
# Parent Loop BB0_1 Depth=1
# => This Loop Header: Depth=2
# Child Loop BB0_9 Depth 3
loop # label7:
- i32.load $6=, 0($0)
+ i32.load $0=, 0($2)
.LBB0_9: # %do.body11
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_8 Depth=2
# => This Inner Loop Header: Depth=3
loop # label9:
block
- i32.const $push20=, 0
- i32.eq $push21=, $6, $pop20
- br_if $pop21, 0 # 0: down to label11
+ i32.const $push25=, 0
+ i32.eq $push26=, $0, $pop25
+ br_if $pop26, 0 # 0: down to label11
# BB#10: # %if.then13
# in Loop: Header=BB0_9 Depth=3
- i32.const $push10=, 0
- i32.store $discard=, 0($0), $pop10
- i32.const $5=, 1
+ i32.const $push17=, 0
+ i32.store $discard=, 0($2), $pop17
+ i32.const $4=, 1
.LBB0_11: # %do.cond16
# in Loop: Header=BB0_9 Depth=3
end_block # label11:
- i32.const $3=, 1
- i32.const $6=, 0
- i32.lt_s $push11=, $1, $3
- br_if $pop11, 0 # 0: up to label9
+ i32.const $0=, 0
+ i32.const $push18=, 1
+ i32.lt_s $push5=, $1, $pop18
+ br_if $pop5, 0 # 0: up to label9
# BB#12: # %do.cond19
# in Loop: Header=BB0_8 Depth=2
end_loop # label10:
- i32.const $6=, 0
- i32.gt_s $push12=, $7, $6
- br_if $pop12, 0 # 0: up to label7
+ i32.const $push19=, 0
+ i32.gt_s $push6=, $5, $pop19
+ br_if $pop6, 0 # 0: up to label7
.LBB0_13: # %do.body22
# Parent Loop BB0_1 Depth=1
# => This Loop Header: Depth=2
# Child Loop BB0_14 Depth 3
end_loop # label8:
loop # label12:
- i32.const $push14=, Link
- i32.shl $push13=, $7, $2
- i32.add $push15=, $pop14, $pop13
- i32.load $7=, 0($pop15)
- copy_local $1=, $6
+ i32.const $push20=, 2
+ i32.shl $push7=, $5, $pop20
+ i32.load $5=, Link($pop7)
+ i32.const $1=, 0
.LBB0_14: # %while.cond24
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_13 Depth=2
# => This Inner Loop Header: Depth=3
loop # label14:
- i32.ge_s $push16=, $1, $4
- br_if $pop16, 1 # 1: down to label15
+ i32.ge_s $push8=, $1, $3
+ br_if $pop8, 1 # 1: down to label15
# BB#15: # %while.body26
# in Loop: Header=BB0_14 Depth=3
- i32.const $push18=, -1
- i32.eq $push19=, $7, $pop18
- br_if $pop19, 0 # 0: up to label14
+ i32.const $push21=, -1
+ i32.eq $push10=, $5, $pop21
+ br_if $pop10, 0 # 0: up to label14
# BB#16: # %if.then28
# in Loop: Header=BB0_14 Depth=3
- i32.const $0=, 1
- i32.add $5=, $5, $0
- i32.add $1=, $1, $0
+ i32.const $push23=, 1
+ i32.add $4=, $4, $pop23
+ i32.const $push22=, 1
+ i32.add $1=, $1, $pop22
br 0 # 0: up to label14
.LBB0_17: # %do.cond33
# in Loop: Header=BB0_13 Depth=2
end_loop # label15:
i32.const $0=, -1
- i32.ne $push17=, $7, $0
- br_if $pop17, 0 # 0: up to label12
+ i32.const $2=, 1
+ i32.const $push24=, -1
+ i32.ne $push9=, $5, $pop24
+ br_if $pop9, 0 # 0: up to label12
br 2 # 2: up to label0
.LBB0_18: # %for.end
end_loop # label13:
end_loop # label1:
- return $5
+ return $4
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
@@ -146,12 +148,12 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 2
- copy_local $4=, $1
- copy_local $3=, $1
+ i32.const $0=, 0
+ i32.const $1=, 2
+ i32.const $3=, 0
+ i32.const $2=, 0
.LBB1_1: # %for.cond.i
# =>This Loop Header: Depth=1
# Child Loop BB1_6 Depth 2
@@ -160,96 +162,97 @@ main: # @main
loop # label16:
block
block
- i32.const $push0=, 3
- i32.lt_s $push1=, $4, $pop0
- br_if $pop1, 0 # 0: down to label19
+ i32.const $push8=, 3
+ i32.lt_s $push0=, $3, $pop8
+ br_if $pop0, 0 # 0: down to label19
# BB#2: # %if.end.thread.i
# in Loop: Header=BB1_1 Depth=1
- i32.const $push5=, 1
- i32.add $4=, $4, $pop5
- i32.const $push6=, -1
- i32.add $5=, $3, $pop6
+ i32.const $push10=, 1
+ i32.add $3=, $3, $pop10
+ i32.const $push9=, -1
+ i32.add $4=, $2, $pop9
br 1 # 1: down to label18
.LBB1_3: # %if.end.i
# in Loop: Header=BB1_1 Depth=1
end_block # label19:
- i32.const $5=, 0
- i32.const $push2=, 1
- i32.eq $push3=, $3, $pop2
- br_if $pop3, 2 # 2: down to label17
+ i32.const $4=, 0
+ i32.const $push11=, 1
+ i32.eq $push1=, $2, $pop11
+ br_if $pop1, 2 # 2: down to label17
.LBB1_4: # %while.cond.preheader.i
# in Loop: Header=BB1_1 Depth=1
end_block # label18:
block
- i32.le_s $push7=, $4, $2
- br_if $pop7, 0 # 0: down to label20
+ i32.le_s $push3=, $3, $1
+ br_if $pop3, 0 # 0: down to label20
# BB#5: # %while.body.lr.ph.i
# in Loop: Header=BB1_1 Depth=1
- i32.eq $5=, $5, $2
+ i32.eq $4=, $4, $1
.LBB1_6: # %while.body.i
# Parent Loop BB1_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label21:
- i32.add $4=, $4, $5
- i32.gt_s $push8=, $4, $2
- br_if $pop8, 0 # 0: up to label21
+ i32.add $3=, $3, $4
+ i32.gt_s $push4=, $3, $1
+ br_if $pop4, 0 # 0: up to label21
.LBB1_7: # %do.body10.i
# in Loop: Header=BB1_1 Depth=1
end_loop # label22:
end_block # label20:
- i32.const $0=, 2
- i32.const $push10=, W
- i32.shl $push9=, $1, $0
- i32.add $3=, $pop10, $pop9
- i32.load $5=, 0($3)
+ i32.const $push14=, 2
+ i32.shl $push5=, $0, $pop14
+ tee_local $push13=, $2=, $pop5
+ i32.load $4=, W($pop13)
+ i32.const $push12=, W
+ i32.add $2=, $2, $pop12
.LBB1_8: # %do.body11.i
# Parent Loop BB1_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label23:
block
- i32.const $push16=, 0
- i32.eq $push17=, $5, $pop16
- br_if $pop17, 0 # 0: down to label25
+ i32.const $push18=, 0
+ i32.eq $push19=, $4, $pop18
+ br_if $pop19, 0 # 0: down to label25
# BB#9: # %if.then13.i
# in Loop: Header=BB1_8 Depth=2
- i32.const $push11=, 0
- i32.store $discard=, 0($3), $pop11
- i32.const $4=, 1
+ i32.const $push15=, 0
+ i32.store $discard=, 0($2), $pop15
+ i32.const $3=, 1
.LBB1_10: # %do.cond16.i
# in Loop: Header=BB1_8 Depth=2
end_block # label25:
- i32.const $5=, 0
- i32.const $push18=, 0
- i32.eq $push19=, $2, $pop18
- br_if $pop19, 0 # 0: up to label23
+ i32.const $4=, 0
+ i32.const $push20=, 0
+ i32.eq $push21=, $1, $pop20
+ br_if $pop21, 0 # 0: up to label23
# BB#11: # %do.cond33.i.preheader
# in Loop: Header=BB1_1 Depth=1
end_loop # label24:
- copy_local $5=, $1
+ copy_local $4=, $0
.LBB1_12: # %do.cond33.i
# Parent Loop BB1_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label26:
- i32.const $push13=, Link
- i32.shl $push12=, $5, $0
- i32.add $push14=, $pop13, $pop12
- i32.load $5=, 0($pop14)
- i32.const $1=, -1
- i32.const $3=, 1
- i32.const $2=, 0
- i32.ne $push15=, $5, $1
- br_if $pop15, 0 # 0: up to label26
+ i32.const $push17=, 2
+ i32.shl $push6=, $4, $pop17
+ i32.load $4=, Link($pop6)
+ i32.const $0=, -1
+ i32.const $2=, 1
+ i32.const $1=, 0
+ i32.const $push16=, -1
+ i32.ne $push7=, $4, $pop16
+ br_if $pop7, 0 # 0: up to label26
br 2 # 2: up to label16
.LBB1_13: # %f.exit
end_loop # label27:
end_loop # label17:
block
- i32.const $push20=, 0
- i32.eq $push21=, $4, $pop20
- br_if $pop21, 0 # 0: down to label28
+ i32.const $push22=, 0
+ i32.eq $push23=, $3, $pop22
+ br_if $pop23, 0 # 0: down to label28
# BB#14: # %if.end
- i32.const $push4=, 0
- return $pop4
+ i32.const $push2=, 0
+ return $pop2
.LBB1_15: # %if.then
end_block # label28:
call abort@FUNCTION
@@ -262,7 +265,7 @@ main: # @main
.type Link,@object
.section .data.Link,"aw",@progbits
.globl Link
- .align 2
+ .p2align 2
Link:
.skip 4,255
.size Link, 4
@@ -271,7 +274,7 @@ Link:
.type W,@object
.section .data.W,"aw",@progbits
.globl W
- .align 2
+ .p2align 2
W:
.int32 2 # 0x2
.size W, 4
diff --git a/test/torture-s/pr25125.c.s b/test/torture-s/pr25125.c.s
index a24316d33..1ca9c3659 100644
--- a/test/torture-s/pr25125.c.s
+++ b/test/torture-s/pr25125.c.s
@@ -11,7 +11,8 @@ f: # @f
# BB#0: # %entry
i32.const $1=, 0
block
- i32.gt_s $push0=, $0, $1
+ i32.const $push6=, 0
+ i32.gt_s $push0=, $0, $pop6
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.end
i32.const $push1=, 65535
diff --git a/test/torture-s/pr25737.c.s b/test/torture-s/pr25737.c.s
index 6b49376c5..81d210d24 100644
--- a/test/torture-s/pr25737.c.s
+++ b/test/torture-s/pr25737.c.s
@@ -22,11 +22,11 @@ time_enqueue: # @time_enqueue
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.store $push0=, Timer_Queue($0), $0
- return $pop0
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store $push1=, Timer_Queue($pop0), $pop2
+ return $pop1
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
diff --git a/test/torture-s/pr27073.c.s b/test/torture-s/pr27073.c.s
index f89b0835c..5cbfcad84 100644
--- a/test/torture-s/pr27073.c.s
+++ b/test/torture-s/pr27073.c.s
@@ -20,22 +20,22 @@ foo: # @foo
# =>This Inner Loop Header: Depth=1
loop # label1:
i32.store $discard=, 0($0), $5
- i32.const $push3=, 4
- i32.add $push4=, $0, $pop3
- i32.store $discard=, 0($pop4), $6
- i32.const $push5=, 8
- i32.add $push6=, $0, $pop5
- i32.store $discard=, 0($pop6), $7
- i32.const $push7=, 12
- i32.add $push8=, $0, $pop7
- i32.store $discard=, 0($pop8), $8
+ i32.const $push12=, 4
+ i32.add $push3=, $0, $pop12
+ i32.store $discard=, 0($pop3), $6
+ i32.const $push11=, 8
+ i32.add $push4=, $0, $pop11
+ i32.store $discard=, 0($pop4), $7
+ i32.const $push10=, 12
+ i32.add $push5=, $0, $pop10
+ i32.store $discard=, 0($pop5), $8
i32.const $push9=, 16
- i32.add $push10=, $0, $pop9
- i32.store $discard=, 0($pop10), $9
- i32.const $push11=, 1
- i32.add $4=, $4, $pop11
- i32.const $push12=, 20
- i32.add $0=, $0, $pop12
+ i32.add $push6=, $0, $pop9
+ i32.store $discard=, 0($pop6), $9
+ i32.const $push8=, 1
+ i32.add $4=, $4, $pop8
+ i32.const $push7=, 20
+ i32.add $0=, $0, $pop7
br_if $4, 0 # 0: up to label1
.LBB0_3: # %while.end
end_loop # label2:
@@ -51,78 +51,80 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, __stack_pointer
- i32.load $5=, 0($5)
- i32.const $6=, 48
- i32.sub $11=, $5, $6
- i32.const $6=, __stack_pointer
- i32.store $11=, 0($6), $11
- i32.const $0=, 500
- i32.const $1=, 400
- i32.const $2=, 300
- i32.const $3=, 200
- i32.const $4=, 100
- i32.const $push0=, 2
- i32.const $7=, 0
- i32.add $7=, $11, $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 48
+ i32.sub $3=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $3=, 0($2), $3
+ i32.const $push4=, 2
+ i32.const $push3=, 100
+ i32.const $push41=, 200
+ i32.const $push2=, 300
+ i32.const $push1=, 400
+ i32.const $push0=, 500
+ call foo@FUNCTION, $3, $0, $0, $0, $pop4, $pop3, $pop41, $pop2, $pop1, $pop0
block
- call foo@FUNCTION, $7, $4, $4, $4, $pop0, $4, $3, $2, $1, $0
- i32.load $push1=, 0($11)
- i32.ne $push2=, $pop1, $4
- br_if $pop2, 0 # 0: down to label3
-# BB#1: # %for.cond
- i32.const $push3=, 4
- i32.const $8=, 0
- i32.add $8=, $11, $8
- i32.or $push4=, $8, $pop3
- i32.load $push5=, 0($pop4)
- i32.ne $push6=, $pop5, $3
+ i32.load $push5=, 0($3):p2align=4
+ i32.const $push40=, 100
+ i32.ne $push6=, $pop5, $pop40
br_if $pop6, 0 # 0: down to label3
-# BB#2: # %for.cond.1
- i32.const $push7=, 8
- i32.const $9=, 0
- i32.add $9=, $11, $9
- i32.or $push8=, $9, $pop7
+# BB#1: # %for.cond
+ i32.const $push7=, 4
+ i32.or $push8=, $3, $pop7
i32.load $push9=, 0($pop8)
- i32.ne $push10=, $pop9, $2
+ i32.const $push42=, 200
+ i32.ne $push10=, $pop9, $pop42
br_if $pop10, 0 # 0: down to label3
+# BB#2: # %for.cond.1
+ i32.const $push11=, 8
+ i32.or $push12=, $3, $pop11
+ i32.load $push13=, 0($pop12):p2align=3
+ i32.const $push14=, 300
+ i32.ne $push15=, $pop13, $pop14
+ br_if $pop15, 0 # 0: down to label3
# BB#3: # %for.cond.2
- i32.const $push11=, 12
- i32.const $10=, 0
- i32.add $10=, $11, $10
- i32.or $push12=, $10, $pop11
- i32.load $push13=, 0($pop12)
- i32.ne $push14=, $pop13, $1
- br_if $pop14, 0 # 0: down to label3
+ i32.const $push16=, 12
+ i32.or $push17=, $3, $pop16
+ i32.load $push18=, 0($pop17)
+ i32.const $push19=, 400
+ i32.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label3
# BB#4: # %for.cond.3
- i32.load $push15=, 16($11)
- i32.ne $push16=, $pop15, $0
- br_if $pop16, 0 # 0: down to label3
+ i32.load $push21=, 16($3):p2align=4
+ i32.const $push22=, 500
+ i32.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label3
# BB#5: # %for.cond.4
- i32.load $push17=, 20($11)
- i32.ne $push18=, $pop17, $4
- br_if $pop18, 0 # 0: down to label3
+ i32.load $push24=, 20($3)
+ i32.const $push25=, 100
+ i32.ne $push26=, $pop24, $pop25
+ br_if $pop26, 0 # 0: down to label3
# BB#6: # %for.cond.5
- i32.load $push19=, 24($11)
- i32.ne $push20=, $pop19, $3
- br_if $pop20, 0 # 0: down to label3
+ i32.load $push27=, 24($3):p2align=3
+ i32.const $push28=, 200
+ i32.ne $push29=, $pop27, $pop28
+ br_if $pop29, 0 # 0: down to label3
# BB#7: # %for.cond.6
- i32.load $push21=, 28($11)
- i32.ne $push22=, $pop21, $2
- br_if $pop22, 0 # 0: down to label3
+ i32.load $push30=, 28($3)
+ i32.const $push31=, 300
+ i32.ne $push32=, $pop30, $pop31
+ br_if $pop32, 0 # 0: down to label3
# BB#8: # %for.cond.7
- i32.load $push23=, 32($11)
- i32.ne $push24=, $pop23, $1
- br_if $pop24, 0 # 0: down to label3
+ i32.load $push33=, 32($3):p2align=4
+ i32.const $push34=, 400
+ i32.ne $push35=, $pop33, $pop34
+ br_if $pop35, 0 # 0: down to label3
# BB#9: # %for.cond.8
- i32.load $push25=, 36($11)
- i32.ne $push26=, $pop25, $0
- br_if $pop26, 0 # 0: down to label3
+ i32.load $push36=, 36($3)
+ i32.const $push37=, 500
+ i32.ne $push38=, $pop36, $pop37
+ br_if $pop38, 0 # 0: down to label3
# BB#10: # %for.cond.9
- i32.const $push27=, 0
- call exit@FUNCTION, $pop27
+ i32.const $push39=, 0
+ call exit@FUNCTION, $pop39
unreachable
.LBB1_11: # %if.then
end_block # label3:
diff --git a/test/torture-s/pr27260.c.s b/test/torture-s/pr27260.c.s
index 6e062873a..49c54879a 100644
--- a/test/torture-s/pr27260.c.s
+++ b/test/torture-s/pr27260.c.s
@@ -11,7 +11,7 @@ foo: # @foo
i32.const $push0=, 2
i32.ne $push1=, $0, $pop0
i32.const $push3=, 64
- call memset@FUNCTION, $pop2, $pop1, $pop3
+ i32.call $discard=, memset@FUNCTION, $pop2, $pop1, $pop3
return
.endfunc
.Lfunc_end0:
@@ -23,75 +23,81 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $4=, 0
+ i32.const $1=, 0
+ i32.const $push12=, 0
i32.const $push0=, 2
- i32.store8 $discard=, buf+64($4), $pop0
+ i32.store8 $discard=, buf+64($pop12):p2align=4, $pop0
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
block
loop # label1:
- i32.const $0=, buf
- i32.add $push1=, $0, $4
- i32.load8_u $push2=, 0($pop1)
- br_if $pop2, 2 # 2: down to label0
+ i32.load8_u $push1=, buf($1)
+ br_if $pop1, 2 # 2: down to label0
# BB#2: # %for.cond
# in Loop: Header=BB1_1 Depth=1
- i32.const $5=, 1
- i32.add $4=, $4, $5
- i32.const $1=, 63
- i32.le_s $push3=, $4, $1
- br_if $pop3, 0 # 0: up to label1
+ i32.const $push14=, 1
+ i32.add $1=, $1, $pop14
+ i32.const $push13=, 63
+ i32.le_s $push2=, $1, $pop13
+ br_if $pop2, 0 # 0: up to label1
# BB#3: # %for.end
end_loop # label2:
- i32.const $2=, 64
- call memset@FUNCTION, $0, $5, $2
+ i32.const $push3=, buf
+ i32.const $push15=, 1
+ i32.const $push4=, 64
+ i32.call $discard=, memset@FUNCTION, $pop3, $pop15, $pop4
+ i32.const $1=, 1
.LBB1_4: # %for.cond3
# =>This Inner Loop Header: Depth=1
block
loop # label4:
- i32.gt_s $push4=, $5, $1
- br_if $pop4, 2 # 2: down to label3
+ i32.const $push16=, 63
+ i32.gt_s $push5=, $1, $pop16
+ br_if $pop5, 2 # 2: down to label3
# BB#5: # %for.cond3.for.body6_crit_edge
# in Loop: Header=BB1_4 Depth=1
- i32.add $3=, $0, $5
- i32.const $4=, 1
- i32.add $5=, $5, $4
- i32.load8_u $push8=, 0($3)
- i32.eq $push9=, $pop8, $4
- br_if $pop9, 0 # 0: up to label4
+ i32.load8_u $0=, buf($1)
+ i32.const $push18=, 1
+ i32.add $1=, $1, $pop18
+ i32.const $push17=, 1
+ i32.eq $push11=, $0, $pop17
+ br_if $pop11, 0 # 0: up to label4
# BB#6: # %if.then11
end_loop # label5:
call abort@FUNCTION
unreachable
.LBB1_7: # %for.end15
end_block # label3:
- i32.const $3=, 0
- call memset@FUNCTION, $0, $3, $2
- i32.const $5=, 1
+ i32.const $push6=, buf
+ i32.const $push8=, 0
+ i32.const $push7=, 64
+ i32.call $discard=, memset@FUNCTION, $pop6, $pop8, $pop7
+ i32.const $1=, 1
.LBB1_8: # %for.cond16
# =>This Inner Loop Header: Depth=1
block
loop # label7:
- i32.gt_s $push5=, $5, $1
- br_if $pop5, 2 # 2: down to label6
+ i32.const $push19=, 63
+ i32.gt_s $push9=, $1, $pop19
+ br_if $pop9, 2 # 2: down to label6
# BB#9: # %for.cond16.for.body19_crit_edge
# in Loop: Header=BB1_8 Depth=1
- i32.add $4=, $0, $5
- i32.const $push7=, 1
- i32.add $5=, $5, $pop7
- i32.load8_u $push6=, 0($4)
- i32.const $push10=, 0
- i32.eq $push11=, $pop6, $pop10
- br_if $pop11, 0 # 0: up to label7
+ i32.load8_u $0=, buf($1)
+ i32.const $push20=, 1
+ i32.add $1=, $1, $pop20
+ i32.const $push21=, 0
+ i32.eq $push22=, $0, $pop21
+ br_if $pop22, 0 # 0: up to label7
# BB#10: # %if.then24
end_loop # label8:
call abort@FUNCTION
unreachable
.LBB1_11: # %if.end33
end_block # label6:
- return $3
+ i32.const $push10=, 0
+ return $pop10
.LBB1_12: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -104,7 +110,7 @@ main: # @main
.type buf,@object
.section .bss.buf,"aw",@nobits
.globl buf
- .align 4
+ .p2align 4
buf:
.skip 65
.size buf, 65
diff --git a/test/torture-s/pr27285.c.s b/test/torture-s/pr27285.c.s
index 9170f4796..55a442822 100644
--- a/test/torture-s/pr27285.c.s
+++ b/test/torture-s/pr27285.c.s
@@ -6,47 +6,44 @@
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.load8_u $6=, 1($0)
block
- i32.const $push7=, 0
- i32.eq $push8=, $6, $pop7
- br_if $pop8, 0 # 0: down to label0
+ i32.load8_u $push8=, 1($0)
+ tee_local $push9=, $2=, $pop8
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop9, $pop20
+ br_if $pop21, 0 # 0: down to label0
# BB#1: # %while.body.preheader
- i32.const $4=, 3
- i32.add $5=, $0, $4
- i32.add $4=, $1, $4
- i32.const $2=, 8
- i32.sub $0=, $2, $6
+ i32.const $push0=, 3
+ i32.add $0=, $0, $pop0
+ i32.const $push10=, 3
+ i32.add $1=, $1, $pop10
.LBB0_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $1=, 255
- i32.load8_u $push5=, 0($5)
- i32.const $push0=, 7
- i32.gt_s $push1=, $6, $pop0
- i32.shl $push3=, $1, $0
- i32.select $push4=, $pop1, $1, $pop3
- i32.and $push6=, $pop5, $pop4
- i32.store8 $discard=, 0($4), $pop6
- i32.const $push9=, 0
- i32.eq $push10=, $0, $pop9
- br_if $pop10, 1 # 1: down to label2
-# BB#3: # %while.body
- # in Loop: Header=BB0_2 Depth=1
- i32.const $1=, 1
- i32.add $5=, $5, $1
- i32.add $4=, $4, $1
- i32.const $push2=, -8
- i32.add $1=, $6, $pop2
- i32.lt_s $3=, $6, $2
- i32.add $0=, $0, $2
- copy_local $6=, $1
- i32.const $push11=, 0
- i32.eq $push12=, $3, $pop11
- br_if $pop12, 0 # 0: up to label1
-.LBB0_4: # %while.end
+ i32.load8_u $push6=, 0($0)
+ i32.const $push19=, 7
+ i32.gt_s $push1=, $2, $pop19
+ tee_local $push18=, $3=, $pop1
+ i32.const $push17=, 255
+ i32.const $push16=, 255
+ i32.const $push15=, 8
+ i32.sub $push3=, $pop15, $2
+ i32.shl $push4=, $pop16, $pop3
+ i32.select $push5=, $pop18, $pop17, $pop4
+ i32.and $push7=, $pop6, $pop5
+ i32.store8 $discard=, 0($1), $pop7
+ i32.const $push14=, -8
+ i32.add $push2=, $2, $pop14
+ i32.const $push13=, 0
+ i32.select $2=, $3, $pop2, $pop13
+ i32.const $push12=, 1
+ i32.add $0=, $0, $pop12
+ i32.const $push11=, 1
+ i32.add $1=, $1, $pop11
+ br_if $2, 0 # 0: up to label1
+.LBB0_3: # %while.end
end_loop # label2:
end_block # label0:
return
@@ -60,165 +57,88 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i64, i64, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $16=, __stack_pointer
- i32.load $16=, 0($16)
- i32.const $17=, 48
- i32.sub $31=, $16, $17
- i32.const $17=, __stack_pointer
- i32.store $31=, 0($17), $31
- i32.const $2=, 1
- i32.const $0=, 0
- i32.const $1=, 18
- i32.const $19=, 24
- i32.add $19=, $31, $19
- i32.add $push1=, $19, $1
- i32.load8_u $push0=, .Lmain.x+18($0)
- i32.store8 $discard=, 0($pop1), $pop0
- i32.const $3=, 8
- i32.const $4=, 16
- i32.const $20=, 24
- i32.add $20=, $31, $20
- i32.add $push8=, $20, $4
- i32.const $push2=, .Lmain.x+16
- i32.add $push3=, $pop2, $2
- i32.load8_u $push4=, 0($pop3)
- i32.shl $push5=, $pop4, $3
- i32.load8_u $push6=, .Lmain.x+16($0)
- i32.or $push7=, $pop5, $pop6
- i32.store16 $discard=, 0($pop8), $pop7
- i32.const $5=, 5
- i32.const $6=, .Lmain.x+8
- i32.const $8=, 4
- i32.const $9=, 7
- i32.const $10=, 6
- i32.const $13=, 3
- i32.const $14=, 2
- i64.const $7=, 8
- i64.const $11=, 16
- i64.const $12=, 32
- i32.const $21=, 24
- i32.add $21=, $31, $21
- i32.add $push38=, $21, $3
- i32.add $push15=, $6, $9
- i64.load8_u $push16=, 0($pop15)
- i64.shl $push17=, $pop16, $7
- i32.add $push18=, $6, $10
- i64.load8_u $push19=, 0($pop18)
- i64.or $push20=, $pop17, $pop19
- i64.shl $push21=, $pop20, $11
- i32.add $push9=, $6, $5
- i64.load8_u $push10=, 0($pop9)
- i64.shl $push11=, $pop10, $7
- i32.add $push12=, $6, $8
- i64.load8_u $push13=, 0($pop12)
- i64.or $push14=, $pop11, $pop13
- i64.or $push22=, $pop21, $pop14
- i64.shl $push23=, $pop22, $12
- i32.add $push24=, $6, $13
- i64.load8_u $push25=, 0($pop24)
- i64.shl $push26=, $pop25, $7
- i32.add $push27=, $6, $14
- i64.load8_u $push28=, 0($pop27)
- i64.or $push29=, $pop26, $pop28
- i64.shl $push30=, $pop29, $11
- i32.add $push31=, $6, $2
- i64.load8_u $push32=, 0($pop31)
- i64.shl $push33=, $pop32, $7
- i64.load8_u $push34=, .Lmain.x+8($0)
- i64.or $push35=, $pop33, $pop34
- i64.or $push36=, $pop30, $pop35
- i64.or $push37=, $pop23, $pop36
- i64.store $discard=, 0($pop38), $pop37
- i32.const $6=, .Lmain.x
- i32.const $22=, 0
- i32.add $22=, $31, $22
- i32.add $push68=, $22, $1
- i32.store8 $1=, 0($pop68), $0
- i32.const $23=, 0
- i32.add $23=, $31, $23
- i32.add $push69=, $23, $4
- i32.store16 $discard=, 0($pop69), $1
- i32.const $24=, 0
- i32.add $24=, $31, $24
- i32.add $push70=, $24, $3
- i64.const $push71=, 0
- i64.store $15=, 0($pop70), $pop71
- i32.add $push45=, $6, $9
- i64.load8_u $push46=, 0($pop45)
- i64.shl $push47=, $pop46, $7
- i32.add $push48=, $6, $10
- i64.load8_u $push49=, 0($pop48)
- i64.or $push50=, $pop47, $pop49
- i64.shl $push51=, $pop50, $11
- i32.add $push39=, $6, $5
- i64.load8_u $push40=, 0($pop39)
- i64.shl $push41=, $pop40, $7
- i32.add $push42=, $6, $8
- i64.load8_u $push43=, 0($pop42)
- i64.or $push44=, $pop41, $pop43
- i64.or $push52=, $pop51, $pop44
- i64.shl $push53=, $pop52, $12
- i32.add $push54=, $6, $13
- i64.load8_u $push55=, 0($pop54)
- i64.shl $push56=, $pop55, $7
- i32.add $push57=, $6, $14
- i64.load8_u $push58=, 0($pop57)
- i64.or $push59=, $pop56, $pop58
- i64.shl $push60=, $pop59, $11
- i32.add $push61=, $6, $2
- i64.load8_u $push62=, 0($pop61)
- i64.shl $push63=, $pop62, $7
- i64.load8_u $push64=, .Lmain.x($0)
- i64.or $push65=, $pop63, $pop64
- i64.or $push66=, $pop60, $pop65
- i64.or $push67=, $pop53, $pop66
- i64.store $discard=, 24($31), $pop67
- i64.store $discard=, 0($31), $15
- i32.const $25=, 24
- i32.add $25=, $31, $25
- i32.const $26=, 0
- i32.add $26=, $31, $26
- call foo@FUNCTION, $25, $26
- i32.const $27=, 0
- i32.add $27=, $31, $27
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 48
+ i32.sub $8=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $8=, 0($2), $8
+ i32.const $push2=, 18
+ i32.const $4=, 24
+ i32.add $4=, $8, $4
+ i32.add $push3=, $4, $pop2
+ i32.const $push0=, 0
+ i32.load8_u $push1=, .Lmain.x+18($pop0)
+ i32.store8 $discard=, 0($pop3):p2align=1, $pop1
+ i32.const $push5=, 16
+ i32.const $5=, 24
+ i32.add $5=, $8, $5
+ i32.add $push6=, $5, $pop5
+ i32.const $push43=, 0
+ i32.load16_u $push4=, .Lmain.x+16($pop43):p2align=0
+ i32.store16 $discard=, 0($pop6):p2align=3, $pop4
+ i32.const $push42=, 16
+ i32.add $push13=, $8, $pop42
+ i32.const $push41=, 18
+ i32.add $push11=, $8, $pop41
+ i32.const $push40=, 0
+ i32.store8 $push12=, 0($pop11):p2align=1, $pop40
+ i32.store16 $discard=, 0($pop13):p2align=3, $pop12
+ i32.const $push8=, 8
+ i32.const $6=, 24
+ i32.add $6=, $8, $6
+ i32.add $push9=, $6, $pop8
+ i32.const $push39=, 0
+ i64.load $push7=, .Lmain.x+8($pop39):p2align=0
+ i64.store $discard=, 0($pop9), $pop7
+ i32.const $push38=, 8
+ i32.add $push14=, $8, $pop38
+ i64.const $push15=, 0
+ i64.store $0=, 0($pop14), $pop15
+ i32.const $push37=, 0
+ i64.load $push10=, .Lmain.x($pop37):p2align=0
+ i64.store $discard=, 24($8), $pop10
+ i64.store $discard=, 0($8), $0
+ i32.const $7=, 24
+ i32.add $7=, $8, $7
+ call foo@FUNCTION, $7, $8
block
- i32.or $push72=, $27, $13
- i32.load8_u $push73=, 0($pop72)
- i32.const $push74=, 170
- i32.ne $push75=, $pop73, $pop74
- br_if $pop75, 0 # 0: down to label3
+ i32.const $push16=, 3
+ i32.or $push17=, $8, $pop16
+ i32.load8_u $push18=, 0($pop17)
+ i32.const $push19=, 170
+ i32.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label3
# BB#1: # %lor.lhs.false
- i32.const $28=, 0
- i32.add $28=, $31, $28
- i32.or $push76=, $28, $8
- i32.load8_u $push77=, 0($pop76)
- i32.const $push78=, 187
- i32.ne $push79=, $pop77, $pop78
- br_if $pop79, 0 # 0: down to label3
+ i32.const $push21=, 4
+ i32.or $push22=, $8, $pop21
+ i32.load8_u $push23=, 0($pop22):p2align=2
+ i32.const $push24=, 187
+ i32.ne $push25=, $pop23, $pop24
+ br_if $pop25, 0 # 0: down to label3
# BB#2: # %lor.lhs.false13
- i32.const $29=, 0
- i32.add $29=, $31, $29
- i32.or $push80=, $29, $5
- i32.load8_u $push81=, 0($pop80)
- i32.const $push82=, 204
- i32.ne $push83=, $pop81, $pop82
- br_if $pop83, 0 # 0: down to label3
+ i32.const $push26=, 5
+ i32.or $push27=, $8, $pop26
+ i32.load8_u $push28=, 0($pop27)
+ i32.const $push29=, 204
+ i32.ne $push30=, $pop28, $pop29
+ br_if $pop30, 0 # 0: down to label3
# BB#3: # %lor.lhs.false22
- i32.const $30=, 0
- i32.add $30=, $31, $30
- i32.or $push84=, $30, $10
- i32.load8_u $push85=, 0($pop84)
- i32.const $push86=, 128
- i32.ne $push87=, $pop85, $pop86
- br_if $pop87, 0 # 0: down to label3
+ i32.const $push31=, 6
+ i32.or $push32=, $8, $pop31
+ i32.load8_u $push33=, 0($pop32):p2align=1
+ i32.const $push34=, 128
+ i32.ne $push35=, $pop33, $pop34
+ br_if $pop35, 0 # 0: down to label3
# BB#4: # %if.end
- i32.const $18=, 48
- i32.add $31=, $31, $18
- i32.const $18=, __stack_pointer
- i32.store $31=, 0($18), $31
- return $1
+ i32.const $push36=, 0
+ i32.const $3=, 48
+ i32.add $8=, $8, $3
+ i32.const $3=, __stack_pointer
+ i32.store $8=, 0($3), $8
+ return $pop36
.LBB1_5: # %if.then
end_block # label3:
call abort@FUNCTION
diff --git a/test/torture-s/pr28289.c.s b/test/torture-s/pr28289.c.s
index b060a4b8a..203de2730 100644
--- a/test/torture-s/pr28289.c.s
+++ b/test/torture-s/pr28289.c.s
@@ -49,16 +49,16 @@ gen_x86_64_shrd: # @gen_x86_64_shrd
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, one($0)
- i32.const $push2=, ok@FUNCTION
- i32.const $push1=, gen_x86_64_shrd@FUNCTION
- i32.select $push3=, $pop0, $pop2, $pop1
- i32.call_indirect $discard=, $pop3, $0
- i32.const $push4=, 1
- return $pop4
+ i32.const $push0=, 0
+ i32.load $push1=, one($pop0)
+ i32.const $push3=, ok@FUNCTION
+ i32.const $push2=, gen_x86_64_shrd@FUNCTION
+ i32.select $push4=, $pop1, $pop3, $pop2
+ i32.const $push6=, 0
+ i32.call_indirect $discard=, $pop4, $pop6
+ i32.const $push5=, 1
+ return $pop5
.endfunc
.Lfunc_end3:
.size main, .Lfunc_end3-main
@@ -67,7 +67,7 @@ main: # @main
.type one,@object
.section .data.one,"aw",@progbits
.globl one
- .align 2
+ .p2align 2
one:
.int32 1 # 0x1
.size one, 4
diff --git a/test/torture-s/pr28403.c.s b/test/torture-s/pr28403.c.s
index 254968c14..325e766b3 100644
--- a/test/torture-s/pr28403.c.s
+++ b/test/torture-s/pr28403.c.s
@@ -29,18 +29,20 @@ foo: # @foo
bar: # @bar
.param i64
.result i64
- .local i32
# BB#0: # %entry
- i32.const $1=, 1
+ i32.const $push4=, 1
i32.const $push3=, 2
+ i32.const $push10=, 1
i32.const $push2=, 3
+ i32.const $push9=, 1
i32.const $push1=, 4
+ i32.const $push8=, 1
i32.const $push0=, 5
- i32.call $discard=, foo@FUNCTION, $1, $pop3, $1, $pop2, $1, $pop1, $1, $pop0
- i32.const $push4=, 0
- i64.load32_u $push5=, global($pop4)
- i64.shr_u $push6=, $0, $pop5
- return $pop6
+ i32.call $discard=, foo@FUNCTION, $pop4, $pop3, $pop10, $pop2, $pop9, $pop1, $pop8, $pop0
+ i32.const $push5=, 0
+ i64.load32_u $push6=, global($pop5)
+ i64.shr_u $push7=, $0, $pop6
+ return $pop7
.endfunc
.Lfunc_end1:
.size bar, .Lfunc_end1-bar
@@ -74,7 +76,7 @@ main: # @main
.type global,@object
.section .bss.global,"aw",@nobits
.globl global
- .align 2
+ .p2align 2
global:
.int32 0 # 0x0
.size global, 4
diff --git a/test/torture-s/pr28982a.c.s b/test/torture-s/pr28982a.c.s
index 37c00f685..8d7a434b0 100644
--- a/test/torture-s/pr28982a.c.s
+++ b/test/torture-s/pr28982a.c.s
@@ -6,225 +6,312 @@
.type foo,@function
foo: # @foo
.param i32
- .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, i64
# BB#0: # %entry
+ f32.const $41=, 0x0p0
+ f32.const $42=, 0x0p0
+ f32.const $43=, 0x0p0
+ f32.const $44=, 0x0p0
f32.const $45=, 0x0p0
- i32.const $23=, 0
- copy_local $46=, $45
- copy_local $47=, $45
- copy_local $48=, $45
- copy_local $49=, $45
- copy_local $50=, $45
- copy_local $51=, $45
- copy_local $52=, $45
- copy_local $53=, $45
- copy_local $54=, $45
- copy_local $55=, $45
- copy_local $56=, $45
- copy_local $57=, $45
- copy_local $58=, $45
- copy_local $59=, $45
- copy_local $60=, $45
- copy_local $61=, $45
- copy_local $62=, $45
- copy_local $63=, $45
- copy_local $64=, $45
+ f32.const $46=, 0x0p0
+ f32.const $47=, 0x0p0
+ f32.const $48=, 0x0p0
+ f32.const $49=, 0x0p0
+ f32.const $50=, 0x0p0
+ f32.const $51=, 0x0p0
+ f32.const $52=, 0x0p0
+ f32.const $53=, 0x0p0
+ f32.const $54=, 0x0p0
+ f32.const $55=, 0x0p0
+ f32.const $56=, 0x0p0
+ f32.const $57=, 0x0p0
+ f32.const $58=, 0x0p0
+ f32.const $59=, 0x0p0
+ f32.const $60=, 0x0p0
block
- i32.const $push51=, 0
- i32.eq $push52=, $0, $pop51
- br_if $pop52, 0 # 0: down to label0
+ i32.const $push151=, 0
+ i32.eq $push152=, $0, $pop151
+ br_if $pop152, 0 # 0: down to label0
# BB#1: # %while.body.preheader
- i64.load $2=, incs+72($23)
- i64.load $1=, incs+64($23)
- i64.const $24=, 32
- i32.const $22=, 2
- i64.shr_u $push0=, $2, $24
- i32.wrap/i64 $push1=, $pop0
- i32.shl $3=, $pop1, $22
- i32.wrap/i64 $push2=, $2
- i32.shl $4=, $pop2, $22
- i64.shr_u $push3=, $1, $24
- i32.wrap/i64 $push4=, $pop3
- i32.shl $5=, $pop4, $22
- i64.load $2=, incs+56($23)
- i32.wrap/i64 $push5=, $1
- i32.shl $6=, $pop5, $22
- i64.load $1=, incs+48($23)
- i64.shr_u $push6=, $2, $24
- i32.wrap/i64 $push7=, $pop6
- i32.shl $7=, $pop7, $22
- i32.wrap/i64 $push8=, $2
- i32.shl $8=, $pop8, $22
- i64.shr_u $push9=, $1, $24
- i32.wrap/i64 $push10=, $pop9
- i32.shl $9=, $pop10, $22
- i64.load $2=, incs+40($23)
- i32.wrap/i64 $push11=, $1
- i32.shl $10=, $pop11, $22
- i64.load $1=, incs+32($23)
- i64.shr_u $push12=, $2, $24
- i32.wrap/i64 $push13=, $pop12
- i32.shl $11=, $pop13, $22
- i32.wrap/i64 $push14=, $2
- i32.shl $12=, $pop14, $22
- i64.shr_u $push15=, $1, $24
+ i32.const $push129=, 0
+ i64.load $push9=, incs+72($pop129)
+ tee_local $push128=, $61=, $pop9
+ i64.const $push10=, 32
+ i64.shr_u $push11=, $pop128, $pop10
+ i32.wrap/i64 $push12=, $pop11
+ i32.const $push13=, 2
+ i32.shl $1=, $pop12, $pop13
+ i32.wrap/i64 $push14=, $61
+ i32.const $push127=, 2
+ i32.shl $2=, $pop14, $pop127
+ i32.const $push126=, 0
+ i64.load $push8=, incs+64($pop126):p2align=4
+ tee_local $push125=, $61=, $pop8
+ i64.const $push124=, 32
+ i64.shr_u $push15=, $pop125, $pop124
i32.wrap/i64 $push16=, $pop15
- i32.shl $13=, $pop16, $22
- i64.load $2=, incs+24($23)
- i32.wrap/i64 $push17=, $1
- i32.shl $14=, $pop17, $22
- i64.load $1=, incs+16($23)
- i64.shr_u $push18=, $2, $24
+ i32.const $push123=, 2
+ i32.shl $3=, $pop16, $pop123
+ i32.wrap/i64 $push17=, $61
+ i32.const $push122=, 2
+ i32.shl $4=, $pop17, $pop122
+ i32.const $push121=, 0
+ i64.load $push7=, incs+56($pop121)
+ tee_local $push120=, $61=, $pop7
+ i64.const $push119=, 32
+ i64.shr_u $push18=, $pop120, $pop119
i32.wrap/i64 $push19=, $pop18
- i32.shl $15=, $pop19, $22
- i32.wrap/i64 $push20=, $2
- i32.shl $16=, $pop20, $22
- i64.shr_u $push21=, $1, $24
+ i32.const $push118=, 2
+ i32.shl $5=, $pop19, $pop118
+ i32.wrap/i64 $push20=, $61
+ i32.const $push117=, 2
+ i32.shl $6=, $pop20, $pop117
+ i32.const $push116=, 0
+ i64.load $push6=, incs+48($pop116):p2align=4
+ tee_local $push115=, $61=, $pop6
+ i64.const $push114=, 32
+ i64.shr_u $push21=, $pop115, $pop114
i32.wrap/i64 $push22=, $pop21
- i32.shl $17=, $pop22, $22
- i64.load $2=, incs+8($23)
- i32.wrap/i64 $push23=, $1
- i32.shl $18=, $pop23, $22
- i64.load $1=, incs($23)
- i64.shr_u $push24=, $2, $24
+ i32.const $push113=, 2
+ i32.shl $7=, $pop22, $pop113
+ i32.wrap/i64 $push23=, $61
+ i32.const $push112=, 2
+ i32.shl $8=, $pop23, $pop112
+ i32.const $push111=, 0
+ i64.load $push5=, incs+40($pop111)
+ tee_local $push110=, $61=, $pop5
+ i64.const $push109=, 32
+ i64.shr_u $push24=, $pop110, $pop109
i32.wrap/i64 $push25=, $pop24
- i32.shl $19=, $pop25, $22
- i32.wrap/i64 $push26=, $2
- i32.shl $20=, $pop26, $22
- i64.shr_u $push27=, $1, $24
+ i32.const $push108=, 2
+ i32.shl $9=, $pop25, $pop108
+ i32.wrap/i64 $push26=, $61
+ i32.const $push107=, 2
+ i32.shl $10=, $pop26, $pop107
+ i32.const $push106=, 0
+ i64.load $push4=, incs+32($pop106):p2align=4
+ tee_local $push105=, $61=, $pop4
+ i64.const $push104=, 32
+ i64.shr_u $push27=, $pop105, $pop104
i32.wrap/i64 $push28=, $pop27
- i32.shl $21=, $pop28, $22
- i32.load $44=, ptrs+76($23)
- i32.load $43=, ptrs+72($23)
- i32.load $42=, ptrs+68($23)
- i32.load $41=, ptrs+64($23)
- i32.load $40=, ptrs+60($23)
- i32.load $39=, ptrs+56($23)
- i32.load $38=, ptrs+52($23)
- i32.load $37=, ptrs+48($23)
- i32.load $36=, ptrs+44($23)
- i32.load $35=, ptrs+40($23)
- i32.load $34=, ptrs+36($23)
- i32.load $33=, ptrs+32($23)
- i32.load $32=, ptrs+28($23)
- i32.load $31=, ptrs+24($23)
- i32.load $30=, ptrs+20($23)
- i32.load $29=, ptrs+16($23)
- i32.load $28=, ptrs+12($23)
- i32.load $27=, ptrs+8($23)
- i32.load $26=, ptrs+4($23)
- i32.load $25=, ptrs($23)
+ i32.const $push103=, 2
+ i32.shl $11=, $pop28, $pop103
+ i32.wrap/i64 $push29=, $61
+ i32.const $push102=, 2
+ i32.shl $12=, $pop29, $pop102
+ i32.const $push101=, 0
+ i64.load $push3=, incs+24($pop101)
+ tee_local $push100=, $61=, $pop3
+ i64.const $push99=, 32
+ i64.shr_u $push30=, $pop100, $pop99
+ i32.wrap/i64 $push31=, $pop30
+ i32.const $push98=, 2
+ i32.shl $13=, $pop31, $pop98
+ i32.wrap/i64 $push32=, $61
+ i32.const $push97=, 2
+ i32.shl $14=, $pop32, $pop97
+ i32.const $push96=, 0
+ i64.load $push2=, incs+16($pop96):p2align=4
+ tee_local $push95=, $61=, $pop2
+ i64.const $push94=, 32
+ i64.shr_u $push33=, $pop95, $pop94
+ i32.wrap/i64 $push34=, $pop33
+ i32.const $push93=, 2
+ i32.shl $15=, $pop34, $pop93
+ i32.wrap/i64 $push35=, $61
+ i32.const $push92=, 2
+ i32.shl $16=, $pop35, $pop92
+ i32.const $push91=, 0
+ i64.load $push1=, incs+8($pop91)
+ tee_local $push90=, $61=, $pop1
+ i64.const $push89=, 32
+ i64.shr_u $push36=, $pop90, $pop89
+ i32.wrap/i64 $push37=, $pop36
+ i32.const $push88=, 2
+ i32.shl $17=, $pop37, $pop88
+ i32.wrap/i64 $push38=, $61
+ i32.const $push87=, 2
+ i32.shl $18=, $pop38, $pop87
+ i32.const $push86=, 0
+ i64.load $push0=, incs($pop86):p2align=4
+ tee_local $push85=, $61=, $pop0
+ i64.const $push84=, 32
+ i64.shr_u $push39=, $pop85, $pop84
+ i32.wrap/i64 $push40=, $pop39
+ i32.const $push83=, 2
+ i32.shl $19=, $pop40, $pop83
+ i32.wrap/i64 $push41=, $61
+ i32.const $push82=, 2
+ i32.shl $20=, $pop41, $pop82
+ f32.const $41=, 0x0p0
+ i32.const $push81=, 0
+ i32.load $40=, ptrs+76($pop81)
+ i32.const $push80=, 0
+ i32.load $39=, ptrs+72($pop80):p2align=3
+ i32.const $push79=, 0
+ i32.load $38=, ptrs+68($pop79)
+ i32.const $push78=, 0
+ i32.load $37=, ptrs+64($pop78):p2align=4
+ i32.const $push77=, 0
+ i32.load $36=, ptrs+60($pop77)
+ i32.const $push76=, 0
+ i32.load $35=, ptrs+56($pop76):p2align=3
+ i32.const $push75=, 0
+ i32.load $34=, ptrs+52($pop75)
+ i32.const $push74=, 0
+ i32.load $33=, ptrs+48($pop74):p2align=4
+ i32.const $push73=, 0
+ i32.load $32=, ptrs+44($pop73)
+ i32.const $push72=, 0
+ i32.load $31=, ptrs+40($pop72):p2align=3
+ i32.const $push71=, 0
+ i32.load $30=, ptrs+36($pop71)
+ i32.const $push70=, 0
+ i32.load $29=, ptrs+32($pop70):p2align=4
+ i32.const $push69=, 0
+ i32.load $28=, ptrs+28($pop69)
+ i32.const $push68=, 0
+ i32.load $27=, ptrs+24($pop68):p2align=3
+ i32.const $push67=, 0
+ i32.load $26=, ptrs+20($pop67)
+ i32.const $push66=, 0
+ i32.load $25=, ptrs+16($pop66):p2align=4
+ i32.const $push65=, 0
+ i32.load $24=, ptrs+12($pop65)
+ i32.const $push64=, 0
+ i32.load $23=, ptrs+8($pop64):p2align=3
+ i32.const $push63=, 0
+ i32.load $22=, ptrs+4($pop63)
+ i32.const $push62=, 0
+ i32.load $21=, ptrs($pop62):p2align=4
+ f32.const $42=, 0x0p0
+ f32.const $43=, 0x0p0
+ f32.const $44=, 0x0p0
f32.const $45=, 0x0p0
- i32.wrap/i64 $push29=, $1
- i32.shl $22=, $pop29, $22
- copy_local $46=, $45
- copy_local $47=, $45
- copy_local $48=, $45
- copy_local $49=, $45
- copy_local $50=, $45
- copy_local $51=, $45
- copy_local $52=, $45
- copy_local $53=, $45
- copy_local $54=, $45
- copy_local $55=, $45
- copy_local $56=, $45
- copy_local $57=, $45
- copy_local $58=, $45
- copy_local $59=, $45
- copy_local $60=, $45
- copy_local $61=, $45
- copy_local $62=, $45
- copy_local $63=, $45
- copy_local $64=, $45
+ f32.const $46=, 0x0p0
+ f32.const $47=, 0x0p0
+ f32.const $48=, 0x0p0
+ f32.const $49=, 0x0p0
+ f32.const $50=, 0x0p0
+ f32.const $51=, 0x0p0
+ f32.const $52=, 0x0p0
+ f32.const $53=, 0x0p0
+ f32.const $54=, 0x0p0
+ f32.const $55=, 0x0p0
+ f32.const $56=, 0x0p0
+ f32.const $57=, 0x0p0
+ f32.const $58=, 0x0p0
+ f32.const $59=, 0x0p0
+ f32.const $60=, 0x0p0
.LBB0_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- f32.load $push31=, 0($25)
- f32.add $64=, $64, $pop31
- f32.load $push32=, 0($26)
- f32.add $63=, $63, $pop32
- f32.load $push33=, 0($27)
- f32.add $62=, $62, $pop33
- f32.load $push34=, 0($28)
- f32.add $61=, $61, $pop34
- f32.load $push35=, 0($29)
- f32.add $60=, $60, $pop35
- f32.load $push36=, 0($30)
- f32.add $59=, $59, $pop36
- f32.load $push37=, 0($31)
- f32.add $58=, $58, $pop37
- f32.load $push38=, 0($32)
- f32.add $57=, $57, $pop38
- f32.load $push39=, 0($33)
- f32.add $56=, $56, $pop39
- f32.load $push40=, 0($34)
- f32.add $55=, $55, $pop40
- f32.load $push41=, 0($35)
- f32.add $54=, $54, $pop41
- f32.load $push42=, 0($36)
- f32.add $53=, $53, $pop42
- f32.load $push43=, 0($37)
- f32.add $52=, $52, $pop43
- f32.load $push44=, 0($38)
- f32.add $51=, $51, $pop44
- f32.load $push45=, 0($39)
- f32.add $50=, $50, $pop45
- f32.load $push46=, 0($40)
- f32.add $49=, $49, $pop46
- f32.load $push47=, 0($41)
- f32.add $48=, $48, $pop47
- f32.load $push48=, 0($42)
- f32.add $47=, $47, $pop48
- f32.load $push49=, 0($43)
- f32.add $46=, $46, $pop49
- i32.const $push30=, -1
- i32.add $0=, $0, $pop30
- f32.load $push50=, 0($44)
- f32.add $45=, $45, $pop50
- i32.add $44=, $44, $3
- i32.add $43=, $43, $4
- i32.add $42=, $42, $5
- i32.add $41=, $41, $6
- i32.add $40=, $40, $7
- i32.add $39=, $39, $8
- i32.add $38=, $38, $9
- i32.add $37=, $37, $10
- i32.add $36=, $36, $11
- i32.add $35=, $35, $12
- i32.add $34=, $34, $13
- i32.add $33=, $33, $14
- i32.add $32=, $32, $15
- i32.add $31=, $31, $16
- i32.add $30=, $30, $17
- i32.add $29=, $29, $18
- i32.add $28=, $28, $19
- i32.add $27=, $27, $20
- i32.add $26=, $26, $21
- i32.add $25=, $25, $22
+ f32.load $push42=, 0($21)
+ f32.add $60=, $60, $pop42
+ f32.load $push43=, 0($22)
+ f32.add $59=, $59, $pop43
+ f32.load $push44=, 0($23)
+ f32.add $58=, $58, $pop44
+ f32.load $push45=, 0($24)
+ f32.add $57=, $57, $pop45
+ f32.load $push46=, 0($25)
+ f32.add $56=, $56, $pop46
+ f32.load $push47=, 0($26)
+ f32.add $55=, $55, $pop47
+ f32.load $push48=, 0($27)
+ f32.add $54=, $54, $pop48
+ f32.load $push49=, 0($28)
+ f32.add $53=, $53, $pop49
+ f32.load $push50=, 0($29)
+ f32.add $52=, $52, $pop50
+ f32.load $push51=, 0($30)
+ f32.add $51=, $51, $pop51
+ f32.load $push52=, 0($31)
+ f32.add $50=, $50, $pop52
+ f32.load $push53=, 0($32)
+ f32.add $49=, $49, $pop53
+ f32.load $push54=, 0($33)
+ f32.add $48=, $48, $pop54
+ f32.load $push55=, 0($34)
+ f32.add $47=, $47, $pop55
+ f32.load $push56=, 0($35)
+ f32.add $46=, $46, $pop56
+ f32.load $push57=, 0($36)
+ f32.add $45=, $45, $pop57
+ f32.load $push58=, 0($37)
+ f32.add $44=, $44, $pop58
+ f32.load $push59=, 0($38)
+ f32.add $43=, $43, $pop59
+ f32.load $push60=, 0($39)
+ f32.add $42=, $42, $pop60
+ f32.load $push61=, 0($40)
+ f32.add $41=, $41, $pop61
+ i32.const $push130=, -1
+ i32.add $0=, $0, $pop130
+ i32.add $40=, $40, $1
+ i32.add $39=, $39, $2
+ i32.add $38=, $38, $3
+ i32.add $37=, $37, $4
+ i32.add $36=, $36, $5
+ i32.add $35=, $35, $6
+ i32.add $34=, $34, $7
+ i32.add $33=, $33, $8
+ i32.add $32=, $32, $9
+ i32.add $31=, $31, $10
+ i32.add $30=, $30, $11
+ i32.add $29=, $29, $12
+ i32.add $28=, $28, $13
+ i32.add $27=, $27, $14
+ i32.add $26=, $26, $15
+ i32.add $25=, $25, $16
+ i32.add $24=, $24, $17
+ i32.add $23=, $23, $18
+ i32.add $22=, $22, $19
+ i32.add $21=, $21, $20
br_if $0, 0 # 0: up to label1
.LBB0_3: # %while.end
end_loop # label2:
end_block # label0:
- f32.store $discard=, results($23), $64
- f32.store $discard=, results+4($23), $63
- f32.store $discard=, results+8($23), $62
- f32.store $discard=, results+12($23), $61
- f32.store $discard=, results+16($23), $60
- f32.store $discard=, results+20($23), $59
- f32.store $discard=, results+24($23), $58
- f32.store $discard=, results+28($23), $57
- f32.store $discard=, results+32($23), $56
- f32.store $discard=, results+36($23), $55
- f32.store $discard=, results+40($23), $54
- f32.store $discard=, results+44($23), $53
- f32.store $discard=, results+48($23), $52
- f32.store $discard=, results+52($23), $51
- f32.store $discard=, results+56($23), $50
- f32.store $discard=, results+60($23), $49
- f32.store $discard=, results+64($23), $48
- f32.store $discard=, results+68($23), $47
- f32.store $discard=, results+72($23), $46
- f32.store $discard=, results+76($23), $45
+ i32.const $push150=, 0
+ f32.store $discard=, results($pop150):p2align=4, $60
+ i32.const $push149=, 0
+ f32.store $discard=, results+4($pop149), $59
+ i32.const $push148=, 0
+ f32.store $discard=, results+8($pop148):p2align=3, $58
+ i32.const $push147=, 0
+ f32.store $discard=, results+12($pop147), $57
+ i32.const $push146=, 0
+ f32.store $discard=, results+16($pop146):p2align=4, $56
+ i32.const $push145=, 0
+ f32.store $discard=, results+20($pop145), $55
+ i32.const $push144=, 0
+ f32.store $discard=, results+24($pop144):p2align=3, $54
+ i32.const $push143=, 0
+ f32.store $discard=, results+28($pop143), $53
+ i32.const $push142=, 0
+ f32.store $discard=, results+32($pop142):p2align=4, $52
+ i32.const $push141=, 0
+ f32.store $discard=, results+36($pop141), $51
+ i32.const $push140=, 0
+ f32.store $discard=, results+40($pop140):p2align=3, $50
+ i32.const $push139=, 0
+ f32.store $discard=, results+44($pop139), $49
+ i32.const $push138=, 0
+ f32.store $discard=, results+48($pop138):p2align=4, $48
+ i32.const $push137=, 0
+ f32.store $discard=, results+52($pop137), $47
+ i32.const $push136=, 0
+ f32.store $discard=, results+56($pop136):p2align=3, $46
+ i32.const $push135=, 0
+ f32.store $discard=, results+60($pop135), $45
+ i32.const $push134=, 0
+ f32.store $discard=, results+64($pop134):p2align=4, $44
+ i32.const $push133=, 0
+ f32.store $discard=, results+68($pop133), $43
+ i32.const $push132=, 0
+ f32.store $discard=, results+72($pop132):p2align=3, $42
+ i32.const $push131=, 0
+ f32.store $discard=, results+76($pop131), $41
return
.endfunc
.Lfunc_end0:
@@ -238,181 +325,205 @@ main: # @main
.result i32
.local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
+ i32.const $push1=, 0
i32.const $push0=, input
- i32.store $2=, ptrs($3), $pop0
- i32.store $discard=, incs($3), $3
- i32.const $push1=, input+4
- i32.store $discard=, ptrs+4($3), $pop1
- i32.const $push3=, input+8
- i32.store $discard=, ptrs+8($3), $pop3
- i32.const $push4=, 2
- i32.store $discard=, incs+8($3), $pop4
- i32.const $push5=, input+12
- i32.store $discard=, ptrs+12($3), $pop5
- i32.const $push6=, 3
- i32.store $discard=, incs+12($3), $pop6
- i32.const $push7=, input+16
- i32.store $discard=, ptrs+16($3), $pop7
- i32.const $push9=, input+20
- i32.store $discard=, ptrs+20($3), $pop9
- i32.const $push10=, 5
- i32.store $discard=, incs+20($3), $pop10
- i32.const $push11=, input+24
- i32.store $discard=, ptrs+24($3), $pop11
- i32.const $push12=, 6
- i32.store $discard=, incs+24($3), $pop12
- i32.const $push13=, input+28
- i32.store $discard=, ptrs+28($3), $pop13
- i32.const $push14=, 7
- i32.store $discard=, incs+28($3), $pop14
- i32.const $push15=, input+32
- i32.store $discard=, ptrs+32($3), $pop15
- i32.const $push16=, 8
- i32.store $discard=, incs+32($3), $pop16
- i32.const $push17=, input+36
- i32.store $discard=, ptrs+36($3), $pop17
- i32.const $push18=, 9
- i32.store $discard=, incs+36($3), $pop18
- i32.const $push19=, input+40
- i32.store $discard=, ptrs+40($3), $pop19
- i32.const $push20=, 10
- i32.store $discard=, incs+40($3), $pop20
- i32.const $push21=, input+44
- i32.store $discard=, ptrs+44($3), $pop21
- i32.const $push22=, 11
- i32.store $discard=, incs+44($3), $pop22
- i32.const $push23=, input+48
- i32.store $discard=, ptrs+48($3), $pop23
- i32.const $push24=, 12
- i32.store $discard=, incs+48($3), $pop24
- i32.const $push25=, input+52
- i32.store $discard=, ptrs+52($3), $pop25
- i32.const $push26=, 13
- i32.store $discard=, incs+52($3), $pop26
- i32.const $push27=, input+56
- i32.store $discard=, ptrs+56($3), $pop27
- i32.const $push28=, 14
- i32.store $discard=, incs+56($3), $pop28
- i32.const $push29=, input+60
- i32.store $discard=, ptrs+60($3), $pop29
- i32.const $push30=, 15
- i32.store $discard=, incs+60($3), $pop30
- i32.const $push31=, input+64
- i32.store $discard=, ptrs+64($3), $pop31
- i32.const $push32=, 16
- i32.store $discard=, incs+64($3), $pop32
- i32.const $push33=, input+68
- i32.store $discard=, ptrs+68($3), $pop33
- i32.const $push34=, 17
- i32.store $discard=, incs+68($3), $pop34
- i32.const $push35=, input+72
- i32.store $discard=, ptrs+72($3), $pop35
- i32.const $push36=, 18
- i32.store $discard=, incs+72($3), $pop36
- i32.const $push37=, input+76
- i32.store $discard=, ptrs+76($3), $pop37
- i32.const $push38=, 19
- i32.store $discard=, incs+76($3), $pop38
- i32.const $push2=, 1
- i32.store $0=, incs+4($3), $pop2
- i32.const $push8=, 4
- i32.store $1=, incs+16($3), $pop8
+ i32.store $2=, ptrs($pop1):p2align=4, $pop0
+ i32.const $push128=, 0
+ i32.const $push127=, 0
+ i32.store $push125=, incs($pop128):p2align=4, $pop127
+ tee_local $push126=, $3=, $pop125
+ i32.const $push2=, input+4
+ i32.store $discard=, ptrs+4($pop126), $pop2
+ i32.const $push4=, input+8
+ i32.store $discard=, ptrs+8($3):p2align=3, $pop4
+ i32.const $push5=, 2
+ i32.store $discard=, incs+8($3):p2align=3, $pop5
+ i32.const $push6=, input+12
+ i32.store $discard=, ptrs+12($3), $pop6
+ i32.const $push7=, 3
+ i32.store $discard=, incs+12($3), $pop7
+ i32.const $push8=, input+16
+ i32.store $discard=, ptrs+16($3):p2align=4, $pop8
+ i32.const $push10=, input+20
+ i32.store $discard=, ptrs+20($3), $pop10
+ i32.const $push11=, 5
+ i32.store $discard=, incs+20($3), $pop11
+ i32.const $push12=, input+24
+ i32.store $discard=, ptrs+24($3):p2align=3, $pop12
+ i32.const $push13=, 6
+ i32.store $discard=, incs+24($3):p2align=3, $pop13
+ i32.const $push14=, input+28
+ i32.store $discard=, ptrs+28($3), $pop14
+ i32.const $push15=, 7
+ i32.store $discard=, incs+28($3), $pop15
+ i32.const $push16=, input+32
+ i32.store $discard=, ptrs+32($3):p2align=4, $pop16
+ i32.const $push17=, 8
+ i32.store $discard=, incs+32($3):p2align=4, $pop17
+ i32.const $push18=, input+36
+ i32.store $discard=, ptrs+36($3), $pop18
+ i32.const $push19=, 9
+ i32.store $discard=, incs+36($3), $pop19
+ i32.const $push20=, input+40
+ i32.store $discard=, ptrs+40($3):p2align=3, $pop20
+ i32.const $push21=, 10
+ i32.store $discard=, incs+40($3):p2align=3, $pop21
+ i32.const $push22=, input+44
+ i32.store $discard=, ptrs+44($3), $pop22
+ i32.const $push23=, 11
+ i32.store $discard=, incs+44($3), $pop23
+ i32.const $push24=, input+48
+ i32.store $discard=, ptrs+48($3):p2align=4, $pop24
+ i32.const $push25=, 12
+ i32.store $discard=, incs+48($3):p2align=4, $pop25
+ i32.const $push26=, input+52
+ i32.store $discard=, ptrs+52($3), $pop26
+ i32.const $push27=, 13
+ i32.store $discard=, incs+52($3), $pop27
+ i32.const $push28=, input+56
+ i32.store $discard=, ptrs+56($3):p2align=3, $pop28
+ i32.const $push29=, 14
+ i32.store $discard=, incs+56($3):p2align=3, $pop29
+ i32.const $push30=, input+60
+ i32.store $discard=, ptrs+60($3), $pop30
+ i32.const $push31=, 15
+ i32.store $discard=, incs+60($3), $pop31
+ i32.const $push32=, input+64
+ i32.store $discard=, ptrs+64($3):p2align=4, $pop32
+ i32.const $push33=, 16
+ i32.store $discard=, incs+64($3):p2align=4, $pop33
+ i32.const $push34=, input+68
+ i32.store $discard=, ptrs+68($3), $pop34
+ i32.const $push35=, 17
+ i32.store $discard=, incs+68($3), $pop35
+ i32.const $push36=, input+72
+ i32.store $discard=, ptrs+72($3):p2align=3, $pop36
+ i32.const $push37=, 18
+ i32.store $discard=, incs+72($3):p2align=3, $pop37
+ i32.const $push38=, input+76
+ i32.store $discard=, ptrs+76($3), $pop38
+ i32.const $push39=, 19
+ i32.store $discard=, incs+76($3), $pop39
+ i32.const $push3=, 1
+ i32.store $0=, incs+4($3), $pop3
+ i32.const $push9=, 4
+ i32.store $1=, incs+16($3):p2align=4, $pop9
.LBB1_1: # %for.body4
# =>This Inner Loop Header: Depth=1
loop # label3:
- f32.convert_s/i32 $push39=, $3
- f32.store $discard=, 0($2), $pop39
+ f32.convert_s/i32 $push40=, $3
+ f32.store $discard=, 0($2), $pop40
i32.add $3=, $3, $0
i32.add $2=, $2, $1
- i32.const $push40=, 80
- i32.ne $push41=, $3, $pop40
+ i32.const $push129=, 80
+ i32.ne $push41=, $3, $pop129
br_if $pop41, 0 # 0: up to label3
# BB#2: # %for.end8
end_loop # label4:
- call foo@FUNCTION, $1
- i32.const $3=, 0
- f32.load $push42=, results($3)
- f32.const $push43=, 0x0p0
- f32.ne $push44=, $pop42, $pop43
- f32.load $push45=, results+4($3)
- f32.const $push46=, 0x1.4p3
- f32.ne $push47=, $pop45, $pop46
- i32.or $push48=, $pop44, $pop47
- f32.load $push49=, results+8($3)
- f32.const $push50=, 0x1.4p4
- f32.ne $push51=, $pop49, $pop50
- i32.or $push52=, $pop48, $pop51
- f32.load $push53=, results+12($3)
- f32.const $push54=, 0x1.ep4
- f32.ne $push55=, $pop53, $pop54
- i32.or $push56=, $pop52, $pop55
- f32.load $push57=, results+16($3)
- f32.const $push58=, 0x1.4p5
- f32.ne $push59=, $pop57, $pop58
- i32.or $push60=, $pop56, $pop59
- f32.load $push61=, results+20($3)
- f32.const $push62=, 0x1.9p5
- f32.ne $push63=, $pop61, $pop62
- i32.or $push64=, $pop60, $pop63
- f32.load $push65=, results+24($3)
- f32.const $push66=, 0x1.ep5
- f32.ne $push67=, $pop65, $pop66
- i32.or $push68=, $pop64, $pop67
- f32.load $push69=, results+28($3)
- f32.const $push70=, 0x1.18p6
- f32.ne $push71=, $pop69, $pop70
- i32.or $push72=, $pop68, $pop71
- f32.load $push73=, results+32($3)
- f32.const $push74=, 0x1.4p6
- f32.ne $push75=, $pop73, $pop74
- i32.or $push76=, $pop72, $pop75
- f32.load $push77=, results+36($3)
- f32.const $push78=, 0x1.68p6
- f32.ne $push79=, $pop77, $pop78
- i32.or $push80=, $pop76, $pop79
- f32.load $push81=, results+40($3)
- f32.const $push82=, 0x1.9p6
- f32.ne $push83=, $pop81, $pop82
- i32.or $push84=, $pop80, $pop83
- f32.load $push85=, results+44($3)
- f32.const $push86=, 0x1.b8p6
- f32.ne $push87=, $pop85, $pop86
- i32.or $push88=, $pop84, $pop87
- f32.load $push89=, results+48($3)
- f32.const $push90=, 0x1.ep6
- f32.ne $push91=, $pop89, $pop90
- i32.or $push92=, $pop88, $pop91
- f32.load $push93=, results+52($3)
- f32.const $push94=, 0x1.04p7
- f32.ne $push95=, $pop93, $pop94
- i32.or $push96=, $pop92, $pop95
- f32.load $push97=, results+56($3)
- f32.const $push98=, 0x1.18p7
- f32.ne $push99=, $pop97, $pop98
- i32.or $push100=, $pop96, $pop99
- f32.load $push101=, results+60($3)
- f32.const $push102=, 0x1.2cp7
- f32.ne $push103=, $pop101, $pop102
- i32.or $push104=, $pop100, $pop103
- f32.load $push105=, results+64($3)
- f32.const $push106=, 0x1.4p7
- f32.ne $push107=, $pop105, $pop106
- i32.or $push108=, $pop104, $pop107
- f32.load $push109=, results+68($3)
- f32.const $push110=, 0x1.54p7
- f32.ne $push111=, $pop109, $pop110
- i32.or $push112=, $pop108, $pop111
- f32.load $push113=, results+72($3)
- f32.const $push114=, 0x1.68p7
- f32.ne $push115=, $pop113, $pop114
- i32.or $push116=, $pop112, $pop115
- f32.load $push117=, results+76($3)
- f32.const $push118=, 0x1.7cp7
- f32.ne $push119=, $pop117, $pop118
- i32.or $push120=, $pop116, $pop119
- i32.and $push121=, $pop120, $0
- return $pop121
+ i32.const $push42=, 4
+ call foo@FUNCTION, $pop42
+ i32.const $push43=, 0
+ f32.load $push44=, results($pop43):p2align=4
+ f32.const $push45=, 0x0p0
+ f32.ne $push46=, $pop44, $pop45
+ i32.const $push148=, 0
+ f32.load $push47=, results+4($pop148)
+ f32.const $push48=, 0x1.4p3
+ f32.ne $push49=, $pop47, $pop48
+ i32.or $push50=, $pop46, $pop49
+ i32.const $push147=, 0
+ f32.load $push51=, results+8($pop147):p2align=3
+ f32.const $push52=, 0x1.4p4
+ f32.ne $push53=, $pop51, $pop52
+ i32.or $push54=, $pop50, $pop53
+ i32.const $push146=, 0
+ f32.load $push55=, results+12($pop146)
+ f32.const $push56=, 0x1.ep4
+ f32.ne $push57=, $pop55, $pop56
+ i32.or $push58=, $pop54, $pop57
+ i32.const $push145=, 0
+ f32.load $push59=, results+16($pop145):p2align=4
+ f32.const $push60=, 0x1.4p5
+ f32.ne $push61=, $pop59, $pop60
+ i32.or $push62=, $pop58, $pop61
+ i32.const $push144=, 0
+ f32.load $push63=, results+20($pop144)
+ f32.const $push64=, 0x1.9p5
+ f32.ne $push65=, $pop63, $pop64
+ i32.or $push66=, $pop62, $pop65
+ i32.const $push143=, 0
+ f32.load $push67=, results+24($pop143):p2align=3
+ f32.const $push68=, 0x1.ep5
+ f32.ne $push69=, $pop67, $pop68
+ i32.or $push70=, $pop66, $pop69
+ i32.const $push142=, 0
+ f32.load $push71=, results+28($pop142)
+ f32.const $push72=, 0x1.18p6
+ f32.ne $push73=, $pop71, $pop72
+ i32.or $push74=, $pop70, $pop73
+ i32.const $push141=, 0
+ f32.load $push75=, results+32($pop141):p2align=4
+ f32.const $push76=, 0x1.4p6
+ f32.ne $push77=, $pop75, $pop76
+ i32.or $push78=, $pop74, $pop77
+ i32.const $push140=, 0
+ f32.load $push79=, results+36($pop140)
+ f32.const $push80=, 0x1.68p6
+ f32.ne $push81=, $pop79, $pop80
+ i32.or $push82=, $pop78, $pop81
+ i32.const $push139=, 0
+ f32.load $push83=, results+40($pop139):p2align=3
+ f32.const $push84=, 0x1.9p6
+ f32.ne $push85=, $pop83, $pop84
+ i32.or $push86=, $pop82, $pop85
+ i32.const $push138=, 0
+ f32.load $push87=, results+44($pop138)
+ f32.const $push88=, 0x1.b8p6
+ f32.ne $push89=, $pop87, $pop88
+ i32.or $push90=, $pop86, $pop89
+ i32.const $push137=, 0
+ f32.load $push91=, results+48($pop137):p2align=4
+ f32.const $push92=, 0x1.ep6
+ f32.ne $push93=, $pop91, $pop92
+ i32.or $push94=, $pop90, $pop93
+ i32.const $push136=, 0
+ f32.load $push95=, results+52($pop136)
+ f32.const $push96=, 0x1.04p7
+ f32.ne $push97=, $pop95, $pop96
+ i32.or $push98=, $pop94, $pop97
+ i32.const $push135=, 0
+ f32.load $push99=, results+56($pop135):p2align=3
+ f32.const $push100=, 0x1.18p7
+ f32.ne $push101=, $pop99, $pop100
+ i32.or $push102=, $pop98, $pop101
+ i32.const $push134=, 0
+ f32.load $push103=, results+60($pop134)
+ f32.const $push104=, 0x1.2cp7
+ f32.ne $push105=, $pop103, $pop104
+ i32.or $push106=, $pop102, $pop105
+ i32.const $push133=, 0
+ f32.load $push107=, results+64($pop133):p2align=4
+ f32.const $push108=, 0x1.4p7
+ f32.ne $push109=, $pop107, $pop108
+ i32.or $push110=, $pop106, $pop109
+ i32.const $push132=, 0
+ f32.load $push111=, results+68($pop132)
+ f32.const $push112=, 0x1.54p7
+ f32.ne $push113=, $pop111, $pop112
+ i32.or $push114=, $pop110, $pop113
+ i32.const $push131=, 0
+ f32.load $push115=, results+72($pop131):p2align=3
+ f32.const $push116=, 0x1.68p7
+ f32.ne $push117=, $pop115, $pop116
+ i32.or $push118=, $pop114, $pop117
+ i32.const $push130=, 0
+ f32.load $push119=, results+76($pop130)
+ f32.const $push120=, 0x1.7cp7
+ f32.ne $push121=, $pop119, $pop120
+ i32.or $push122=, $pop118, $pop121
+ i32.const $push123=, 1
+ i32.and $push124=, $pop122, $pop123
+ return $pop124
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -421,7 +532,7 @@ main: # @main
.type incs,@object
.section .bss.incs,"aw",@nobits
.globl incs
- .align 4
+ .p2align 4
incs:
.skip 80
.size incs, 80
@@ -430,7 +541,7 @@ incs:
.type ptrs,@object
.section .bss.ptrs,"aw",@nobits
.globl ptrs
- .align 4
+ .p2align 4
ptrs:
.skip 80
.size ptrs, 80
@@ -439,7 +550,7 @@ ptrs:
.type results,@object
.section .bss.results,"aw",@nobits
.globl results
- .align 4
+ .p2align 4
results:
.skip 80
.size results, 80
@@ -448,7 +559,7 @@ results:
.type input,@object
.section .bss.input,"aw",@nobits
.globl input
- .align 4
+ .p2align 4
input:
.skip 320
.size input, 320
diff --git a/test/torture-s/pr29006.c.s b/test/torture-s/pr29006.c.s
index 1c57f1663..429ab8044 100644
--- a/test/torture-s/pr29006.c.s
+++ b/test/torture-s/pr29006.c.s
@@ -6,31 +6,9 @@
.type foo,@function
foo: # @foo
.param i32
- .local i64
# BB#0: # %entry
i64.const $push0=, 0
- i64.store8 $1=, 1($0), $pop0
- i32.const $push1=, 8
- i32.add $push2=, $0, $pop1
- i64.store8 $discard=, 0($pop2), $1
- i32.const $push3=, 7
- i32.add $push4=, $0, $pop3
- i64.store8 $discard=, 0($pop4), $1
- i32.const $push5=, 6
- i32.add $push6=, $0, $pop5
- i64.store8 $discard=, 0($pop6), $1
- i32.const $push7=, 5
- i32.add $push8=, $0, $pop7
- i64.store8 $discard=, 0($pop8), $1
- i32.const $push9=, 4
- i32.add $push10=, $0, $pop9
- i64.store8 $discard=, 0($pop10), $1
- i32.const $push11=, 3
- i32.add $push12=, $0, $pop11
- i64.store8 $discard=, 0($pop12), $1
- i32.const $push13=, 2
- i32.add $push14=, $0, $pop13
- i64.store8 $discard=, 0($pop14), $1
+ i64.store $discard=, 1($0):p2align=0, $pop0
return
.endfunc
.Lfunc_end0:
@@ -42,110 +20,33 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i64, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 16
- i32.sub $18=, $9, $10
- i32.const $10=, __stack_pointer
- i32.store $18=, 0($10), $18
- i32.const $0=, 0
- i32.const $push1=, 8
- i32.const $12=, 0
- i32.add $12=, $18, $12
- i32.add $push2=, $12, $pop1
- i32.load8_u $push0=, .Lmain.s+8($0)
- i32.store8 $discard=, 0($pop2), $pop0
- i32.const $1=, .Lmain.s
- i32.const $2=, 5
- i32.const $4=, 7
- i32.const $7=, 3
- i32.const $8=, 1
- i64.const $3=, 8
- i64.const $5=, 16
- i64.const $6=, 32
- i32.add $push10=, $1, $4
- i64.load8_u $push11=, 0($pop10)
- i64.shl $push12=, $pop11, $3
- i32.const $push13=, 6
- i32.add $push14=, $1, $pop13
- i64.load8_u $push15=, 0($pop14)
- i64.or $push16=, $pop12, $pop15
- i64.shl $push17=, $pop16, $5
- i32.add $push3=, $1, $2
- i64.load8_u $push4=, 0($pop3)
- i64.shl $push5=, $pop4, $3
- i32.const $push6=, 4
- i32.add $push7=, $1, $pop6
- i64.load8_u $push8=, 0($pop7)
- i64.or $push9=, $pop5, $pop8
- i64.or $push18=, $pop17, $pop9
- i64.shl $push19=, $pop18, $6
- i32.add $push20=, $1, $7
- i64.load8_u $push21=, 0($pop20)
- i64.shl $push22=, $pop21, $3
- i32.const $push23=, 2
- i32.add $push24=, $1, $pop23
- i64.load8_u $push25=, 0($pop24)
- i64.or $push26=, $pop22, $pop25
- i64.shl $push27=, $pop26, $5
- i32.add $push28=, $1, $8
- i64.load8_u $push29=, 0($pop28)
- i64.shl $push30=, $pop29, $3
- i64.load8_u $push31=, .Lmain.s($0)
- i64.or $push32=, $pop30, $pop31
- i64.or $push33=, $pop27, $pop32
- i64.or $push34=, $pop19, $pop33
- i64.store $discard=, 0($18), $pop34
- i32.const $13=, 0
- i32.add $13=, $18, $13
- call foo@FUNCTION, $13
- i32.const $14=, 0
- i32.add $14=, $18, $14
- i32.or $1=, $14, $8
- i32.add $push54=, $1, $4
- i64.load8_u $push55=, 0($pop54)
- i64.shl $push56=, $pop55, $3
- i32.const $15=, 0
- i32.add $15=, $18, $15
- i32.or $push57=, $15, $4
- i64.load8_u $push58=, 0($pop57)
- i64.or $push59=, $pop56, $pop58
- i64.shl $push60=, $pop59, $5
- i32.add $push48=, $1, $2
- i64.load8_u $push49=, 0($pop48)
- i64.shl $push50=, $pop49, $3
- i32.const $16=, 0
- i32.add $16=, $18, $16
- i32.or $push51=, $16, $2
- i64.load8_u $push52=, 0($pop51)
- i64.or $push53=, $pop50, $pop52
- i64.or $push61=, $pop60, $pop53
- i64.shl $push62=, $pop61, $6
- i32.add $push40=, $1, $7
- i64.load8_u $push41=, 0($pop40)
- i64.shl $push42=, $pop41, $3
- i32.const $17=, 0
- i32.add $17=, $18, $17
- i32.or $push43=, $17, $7
- i64.load8_u $push44=, 0($pop43)
- i64.or $push45=, $pop42, $pop44
- i64.shl $push46=, $pop45, $5
- i32.add $push35=, $1, $8
- i64.load8_u $push36=, 0($pop35)
- i64.shl $push37=, $pop36, $3
- i64.load8_u $push38=, 0($1)
- i64.or $push39=, $pop37, $pop38
- i64.or $push47=, $pop46, $pop39
- i64.or $push63=, $pop62, $pop47
- i64.const $push64=, 0
- i64.ne $push65=, $pop63, $pop64
- i32.const $11=, 16
- i32.add $18=, $18, $11
- i32.const $11=, __stack_pointer
- i32.store $18=, 0($11), $18
- return $pop65
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i32.const $push2=, 8
+ i32.add $push3=, $3, $pop2
+ i32.const $push0=, 0
+ i32.load8_u $push1=, .Lmain.s+8($pop0)
+ i32.store8 $discard=, 0($pop3):p2align=3, $pop1
+ i32.const $push10=, 0
+ i64.load $push4=, .Lmain.s($pop10):p2align=0
+ i64.store $discard=, 0($3), $pop4
+ call foo@FUNCTION, $3
+ i32.const $push5=, 1
+ i32.or $push6=, $3, $pop5
+ i64.load $push7=, 0($pop6):p2align=0
+ i64.const $push8=, 0
+ i64.ne $push9=, $pop7, $pop8
+ i32.const $2=, 16
+ i32.add $3=, $3, $2
+ i32.const $2=, __stack_pointer
+ i32.store $3=, 0($2), $3
+ return $pop9
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
diff --git a/test/torture-s/pr29156.c.s b/test/torture-s/pr29156.c.s
index d605796fb..25d2366c7 100644
--- a/test/torture-s/pr29156.c.s
+++ b/test/torture-s/pr29156.c.s
@@ -26,12 +26,12 @@ bla: # @bla
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, global($0), $pop0
- return $0
+ i32.store $discard=, global($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -40,7 +40,7 @@ main: # @main
.type global,@object
.section .bss.global,"aw",@nobits
.globl global
- .align 2
+ .p2align 2
global:
.int32 0 # 0x0
.size global, 4
diff --git a/test/torture-s/pr29695-2.c.s b/test/torture-s/pr29695-2.c.s
index 1bd70c8a0..ab00309c7 100644
--- a/test/torture-s/pr29695-2.c.s
+++ b/test/torture-s/pr29695-2.c.s
@@ -22,14 +22,14 @@ f1: # @f1
.type f2,@function
f2: # @f2
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load8_s $push0=, b($0)
- i32.lt_s $push1=, $pop0, $0
- i32.const $push2=, 7
- i32.shl $push3=, $pop1, $pop2
- return $pop3
+ i32.const $push0=, 0
+ i32.load8_s $push1=, b($pop0)
+ i32.const $push5=, 0
+ i32.lt_s $push2=, $pop1, $pop5
+ i32.const $push3=, 7
+ i32.shl $push4=, $pop2, $pop3
+ return $pop4
.endfunc
.Lfunc_end1:
.size f2, .Lfunc_end1-f2
@@ -76,15 +76,15 @@ f4: # @f4
.type f5,@function
f5: # @f5
.result i64
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, c($0)
- i32.lt_s $push1=, $pop0, $0
- i64.extend_u/i32 $push2=, $pop1
- i64.const $push3=, 31
- i64.shl $push4=, $pop2, $pop3
- return $pop4
+ i32.const $push0=, 0
+ i32.load $push1=, c($pop0):p2align=3
+ i32.const $push6=, 0
+ i32.lt_s $push2=, $pop1, $pop6
+ i64.extend_u/i32 $push3=, $pop2
+ i64.const $push4=, 31
+ i64.shl $push5=, $pop3, $pop4
+ return $pop5
.endfunc
.Lfunc_end4:
.size f5, .Lfunc_end4-f5
@@ -95,15 +95,15 @@ f5: # @f5
.type f6,@function
f6: # @f6
.result i64
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, d($0)
- i32.lt_s $push1=, $pop0, $0
- i64.extend_u/i32 $push2=, $pop1
- i64.const $push3=, 31
- i64.shl $push4=, $pop2, $pop3
- return $pop4
+ i32.const $push0=, 0
+ i32.load $push1=, d($pop0)
+ i32.const $push6=, 0
+ i32.lt_s $push2=, $pop1, $pop6
+ i64.extend_u/i32 $push3=, $pop2
+ i64.const $push4=, 31
+ i64.shl $push5=, $pop3, $pop4
+ return $pop5
.endfunc
.Lfunc_end5:
.size f6, .Lfunc_end5-f6
@@ -114,15 +114,15 @@ f6: # @f6
.type f7,@function
f7: # @f7
.result i64
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, d($0)
- i32.lt_s $push1=, $pop0, $0
- i64.const $push3=, 15032385536
- i64.const $push2=, 0
- i64.select $push4=, $pop1, $pop3, $pop2
- return $pop4
+ i32.const $push0=, 0
+ i32.load $push1=, d($pop0)
+ i32.const $push6=, 0
+ i32.lt_s $push2=, $pop1, $pop6
+ i64.const $push4=, 15032385536
+ i64.const $push3=, 0
+ i64.select $push5=, $pop2, $pop4, $pop3
+ return $pop5
.endfunc
.Lfunc_end6:
.size f7, .Lfunc_end6-f7
@@ -133,15 +133,15 @@ f7: # @f7
.type f8,@function
f8: # @f8
.result i64
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, d($0)
- i32.lt_s $push1=, $pop0, $0
- i64.const $push3=, -2147483648
- i64.const $push2=, 0
- i64.select $push4=, $pop1, $pop3, $pop2
- return $pop4
+ i32.const $push0=, 0
+ i32.load $push1=, d($pop0)
+ i32.const $push6=, 0
+ i32.lt_s $push2=, $pop1, $pop6
+ i64.const $push4=, -2147483648
+ i64.const $push3=, 0
+ i64.select $push5=, $pop2, $pop4, $pop3
+ return $pop5
.endfunc
.Lfunc_end7:
.size f8, .Lfunc_end7-f8
@@ -152,33 +152,39 @@ f8: # @f8
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load8_u $push0=, a($0)
+ i32.const $push10=, 0
+ i32.load8_u $push0=, a($pop10):p2align=2
i32.const $push1=, 7
i32.shr_u $push2=, $pop0, $pop1
- i32.const $push9=, 0
- i32.eq $push10=, $pop2, $pop9
- br_if $pop10, 0 # 0: down to label0
+ i32.const $push17=, 0
+ i32.eq $push18=, $pop2, $pop17
+ br_if $pop18, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.load8_s $push3=, b($0)
- i32.ge_s $push4=, $pop3, $0
+ i32.const $push12=, 0
+ i32.load8_s $push3=, b($pop12)
+ i32.const $push11=, 0
+ i32.ge_s $push4=, $pop3, $pop11
br_if $pop4, 0 # 0: down to label1
# BB#2: # %if.end12
block
- i32.load $push5=, c($0)
- i32.ge_s $push6=, $pop5, $0
+ i32.const $push14=, 0
+ i32.load $push5=, c($pop14):p2align=3
+ i32.const $push13=, 0
+ i32.ge_s $push6=, $pop5, $pop13
br_if $pop6, 0 # 0: down to label2
# BB#3: # %if.end16
block
- i32.load $push7=, d($0)
- i32.ge_s $push8=, $pop7, $0
+ i32.const $push16=, 0
+ i32.load $push7=, d($pop16)
+ i32.const $push15=, 0
+ i32.ge_s $push8=, $pop7, $pop15
br_if $pop8, 0 # 0: down to label3
# BB#4: # %if.end28
- return $0
+ i32.const $push9=, 0
+ return $pop9
.LBB8_5: # %if.then19
end_block # label3:
call abort@FUNCTION
@@ -203,7 +209,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 128 # 0x80
.size a, 4
@@ -220,7 +226,7 @@ b:
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 3
+ .p2align 3
c:
.int64 2147483648 # 0x80000000
.size c, 8
@@ -229,7 +235,7 @@ c:
.type d,@object
.section .data.d,"aw",@progbits
.globl d
- .align 2
+ .p2align 2
d:
.int32 2147483648 # 0x80000000
.size d, 4
diff --git a/test/torture-s/pr30185.c.s b/test/torture-s/pr30185.c.s
new file mode 100644
index 000000000..a5c7d76bf
--- /dev/null
+++ b/test/torture-s/pr30185.c.s
@@ -0,0 +1,33 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr30185.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 8($1)
+ i64.load $push1=, 8($2)
+ i64.div_s $push2=, $pop0, $pop1
+ i64.store $discard=, 8($0), $pop2
+ return
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %if.end10
+ i32.const $push0=, 0
+ return $pop0
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr30778.c.s b/test/torture-s/pr30778.c.s
new file mode 100644
index 000000000..e8d507b0f
--- /dev/null
+++ b/test/torture-s/pr30778.c.s
@@ -0,0 +1,73 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr30778.c"
+ .section .text.init_reg_last,"ax",@progbits
+ .hidden init_reg_last
+ .globl init_reg_last
+ .type init_reg_last,@function
+init_reg_last: # @init_reg_last
+ .local i64, i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, reg_stat($pop0)
+ tee_local $push11=, $1=, $pop1
+ i64.const $push2=, 0
+ i64.store $0=, 0($pop11):p2align=2, $pop2
+ i32.const $push6=, 16
+ i32.add $push7=, $1, $pop6
+ i32.const $push3=, 18
+ i32.add $push4=, $1, $pop3
+ i32.const $push10=, 0
+ i32.store8 $push5=, 0($pop4):p2align=1, $pop10
+ i32.store16 $discard=, 0($pop7):p2align=2, $pop5
+ i32.const $push8=, 8
+ i32.add $push9=, $1, $pop8
+ i64.store $discard=, 0($pop9):p2align=2, $0
+ return
+ .endfunc
+.Lfunc_end0:
+ .size init_reg_last, .Lfunc_end0-init_reg_last
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 32
+ i32.sub $5=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $5=, 0($2), $5
+ i32.const $push3=, 0
+ i32.const $4=, 8
+ i32.add $4=, $5, $4
+ i32.store $discard=, reg_stat($pop3), $4
+ i32.const $push0=, -1
+ i32.store $0=, 28($5), $pop0
+ call init_reg_last@FUNCTION
+ block
+ i32.load $push1=, 28($5)
+ i32.ne $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push4=, 0
+ i32.const $3=, 32
+ i32.add $5=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ return $pop4
+.LBB1_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .type reg_stat,@object # @reg_stat
+ .lcomm reg_stat,4,2
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr31072.c.s b/test/torture-s/pr31072.c.s
index 943f920f9..4e58c5bec 100644
--- a/test/torture-s/pr31072.c.s
+++ b/test/torture-s/pr31072.c.s
@@ -6,16 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, ReadyFlag_NotProperlyInitialized($0)
+ i32.const $push3=, 0
+ i32.load $push0=, ReadyFlag_NotProperlyInitialized($pop3)
i32.const $push1=, 1
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -28,7 +28,7 @@ main: # @main
.type ReadyFlag_NotProperlyInitialized,@object
.section .data.ReadyFlag_NotProperlyInitialized,"aw",@progbits
.globl ReadyFlag_NotProperlyInitialized
- .align 2
+ .p2align 2
ReadyFlag_NotProperlyInitialized:
.int32 1 # 0x1
.size ReadyFlag_NotProperlyInitialized, 4
diff --git a/test/torture-s/pr31136.c.s b/test/torture-s/pr31136.c.s
index 7e2e969d4..2cb1738ee 100644
--- a/test/torture-s/pr31136.c.s
+++ b/test/torture-s/pr31136.c.s
@@ -6,16 +6,17 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load16_u $push0=, s($0)
- i32.const $push1=, 64512
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 255
- i32.or $push4=, $pop2, $pop3
- i32.store16 $discard=, s($0), $pop4
- return $0
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load16_u $push1=, s($pop7):p2align=2
+ i32.const $push2=, 64512
+ i32.and $push3=, $pop1, $pop2
+ i32.const $push4=, 255
+ i32.or $push5=, $pop3, $pop4
+ i32.store16 $discard=, s($pop0):p2align=2, $pop5
+ i32.const $push6=, 0
+ return $pop6
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -24,7 +25,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 4
.size s, 4
diff --git a/test/torture-s/pr31169.c.s b/test/torture-s/pr31169.c.s
index 764670497..20a76b081 100644
--- a/test/torture-s/pr31169.c.s
+++ b/test/torture-s/pr31169.c.s
@@ -7,46 +7,49 @@
sign_bit_p: # @sign_bit_p
.param i32, i32, i32
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
block
block
- i32.load16_u $push0=, 0($0)
- i32.const $push1=, 511
- i32.and $0=, $pop0, $pop1
- i32.const $push2=, 33
- i32.lt_u $push3=, $0, $pop2
- br_if $pop3, 0 # 0: down to label1
+ i32.load16_u $push1=, 0($0):p2align=2
+ i32.const $push2=, 511
+ i32.and $push0=, $pop1, $pop2
+ tee_local $push20=, $0=, $pop0
+ i32.const $push3=, 33
+ i32.lt_u $push4=, $pop20, $pop3
+ br_if $pop4, 0 # 0: down to label1
# BB#1: # %if.then
- i32.const $push10=, 1
- i32.const $push8=, -33
- i32.add $push9=, $0, $pop8
- i32.shl $6=, $pop10, $pop9
+ i32.const $push12=, 1
+ i32.const $push10=, -33
+ i32.add $push11=, $0, $pop10
+ i32.shl $5=, $pop12, $pop11
i32.const $3=, -1
- i32.const $push11=, 64
- i32.sub $push12=, $pop11, $0
- i32.shr_u $5=, $3, $pop12
+ i32.const $push21=, -1
+ i32.const $push13=, 64
+ i32.sub $push14=, $pop13, $0
+ i32.shr_u $0=, $pop21, $pop14
i32.const $4=, 0
br 1 # 1: down to label0
.LBB0_2: # %if.else
end_block # label1:
- i32.const $3=, -1
- i32.const $push5=, 1
- i32.add $push4=, $0, $3
- i32.shl $4=, $pop5, $pop4
+ i32.const $push7=, 1
+ i32.const $push5=, -1
+ i32.add $push6=, $0, $pop5
+ i32.shl $4=, $pop7, $pop6
+ i32.const $push22=, -1
+ i32.const $push8=, 32
+ i32.sub $push9=, $pop8, $0
+ i32.shr_u $3=, $pop22, $pop9
+ i32.const $0=, 0
i32.const $5=, 0
- i32.const $push6=, 32
- i32.sub $push7=, $pop6, $0
- i32.shr_u $3=, $3, $pop7
- copy_local $6=, $5
.LBB0_3: # %if.end
end_block # label0:
- i32.and $push15=, $3, $2
- i32.eq $push16=, $pop15, $4
- i32.and $push13=, $5, $1
- i32.eq $push14=, $pop13, $6
- i32.and $push17=, $pop16, $pop14
- return $pop17
+ i32.and $push17=, $3, $2
+ i32.eq $push18=, $pop17, $4
+ i32.and $push15=, $0, $1
+ i32.eq $push16=, $pop15, $5
+ i32.and $push19=, $pop18, $pop16
+ return $pop19
.endfunc
.Lfunc_end0:
.size sign_bit_p, .Lfunc_end0-sign_bit_p
diff --git a/test/torture-s/pr31448-2.c.s b/test/torture-s/pr31448-2.c.s
new file mode 100644
index 000000000..85e74c99b
--- /dev/null
+++ b/test/torture-s/pr31448-2.c.s
@@ -0,0 +1,81 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr31448-2.c"
+ .section .text.g,"ax",@progbits
+ .hidden g
+ .globl g
+ .type g,@function
+g: # @g
+# BB#0: # %entry
+ unreachable
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size g, .Lfunc_end0-g
+
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $0=, next($pop0)
+ i32.load $push1=, 0($0)
+ i32.const $push2=, -16777216
+ i32.and $push3=, $pop1, $pop2
+ i32.const $push4=, 16711422
+ i32.or $push5=, $pop3, $pop4
+ i32.store $discard=, 0($0), $pop5
+ i32.const $push11=, 0
+ i32.load $0=, next($pop11)
+ i32.load $push6=, 4($0)
+ i32.const $push10=, -16777216
+ i32.and $push7=, $pop6, $pop10
+ i32.const $push9=, 16711422
+ i32.or $push8=, $pop7, $pop9
+ i32.store $discard=, 4($0), $pop8
+ return
+ .endfunc
+.Lfunc_end1:
+ .size f, .Lfunc_end1-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %if.end6
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $4=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $4=, 0($1), $4
+ i32.const $push0=, 0
+ i32.const $3=, 8
+ i32.add $3=, $4, $3
+ i32.store $discard=, next($pop0), $3
+ i32.const $push1=, 0
+ i32.const $2=, 16
+ i32.add $4=, $4, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ return $pop1
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden next # @next
+ .type next,@object
+ .section .bss.next,"aw",@nobits
+ .globl next
+ .p2align 2
+next:
+ .int32 0
+ .size next, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr31448.c.s b/test/torture-s/pr31448.c.s
new file mode 100644
index 000000000..e37a59dca
--- /dev/null
+++ b/test/torture-s/pr31448.c.s
@@ -0,0 +1,81 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr31448.c"
+ .section .text.g,"ax",@progbits
+ .hidden g
+ .globl g
+ .type g,@function
+g: # @g
+# BB#0: # %entry
+ unreachable
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size g, .Lfunc_end0-g
+
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $0=, next($pop0)
+ i32.load $push1=, 0($0)
+ i32.const $push2=, -16777216
+ i32.and $push3=, $pop1, $pop2
+ i32.const $push4=, 16711422
+ i32.or $push5=, $pop3, $pop4
+ i32.store $discard=, 0($0), $pop5
+ i32.const $push11=, 0
+ i32.load $0=, next($pop11)
+ i32.load $push6=, 4($0)
+ i32.const $push10=, -16777216
+ i32.and $push7=, $pop6, $pop10
+ i32.const $push9=, 16711422
+ i32.or $push8=, $pop7, $pop9
+ i32.store $discard=, 4($0), $pop8
+ return
+ .endfunc
+.Lfunc_end1:
+ .size f, .Lfunc_end1-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %if.end6
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $4=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $4=, 0($1), $4
+ i32.const $push0=, 0
+ i32.const $3=, 8
+ i32.add $3=, $4, $3
+ i32.store $discard=, next($pop0), $3
+ i32.const $push1=, 0
+ i32.const $2=, 16
+ i32.add $4=, $4, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ return $pop1
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden next # @next
+ .type next,@object
+ .section .bss.next,"aw",@nobits
+ .globl next
+ .p2align 2
+next:
+ .int32 0
+ .size next, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr31605.c.s b/test/torture-s/pr31605.c.s
index a4f1a9e0f..447bdcbc7 100644
--- a/test/torture-s/pr31605.c.s
+++ b/test/torture-s/pr31605.c.s
@@ -6,20 +6,20 @@
.type put_field,@function
put_field: # @put_field
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, -8
block
i32.add $push0=, $1, $0
- i32.or $push1=, $pop0, $2
- i32.ne $push2=, $pop1, $2
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push1=, -8
+ i32.or $push2=, $pop0, $pop1
+ i32.const $push5=, -8
+ i32.ne $push3=, $pop2, $pop5
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
return
.LBB0_2: # %if.then
end_block # label0:
- i32.const $push3=, 0
- call exit@FUNCTION, $pop3
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.endfunc
.Lfunc_end0:
@@ -32,8 +32,10 @@ put_field: # @put_field
main: # @main
.result i32
# BB#0: # %entry
- i32.const $push0=, 0
- call exit@FUNCTION, $pop0
+ i32.const $push1=, 0
+ i32.const $push0=, 1
+ call put_field@FUNCTION, $pop1, $pop0
+ call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/pr32244-1.c.s b/test/torture-s/pr32244-1.c.s
index 34e65387f..d32ab67f6 100644
--- a/test/torture-s/pr32244-1.c.s
+++ b/test/torture-s/pr32244-1.c.s
@@ -30,15 +30,15 @@ test1: # @test1
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.then.i
- i32.const $0=, 0
- i64.load $push0=, x($0)
- i64.const $push1=, -1099511627776
- i64.and $push2=, $pop0, $pop1
- i64.const $push3=, 256
- i64.or $push4=, $pop2, $pop3
- i64.store $discard=, x($0), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i64.load $push1=, x($pop6)
+ i64.const $push2=, -1099511627776
+ i64.and $push3=, $pop1, $pop2
+ i64.const $push4=, 256
+ i64.or $push5=, $pop3, $pop4
+ i64.store $discard=, x($pop0), $pop5
call abort@FUNCTION
unreachable
.endfunc
@@ -49,7 +49,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 3
+ .p2align 3
x:
.skip 8
.size x, 8
diff --git a/test/torture-s/pr32500.c.s b/test/torture-s/pr32500.c.s
index 164702dd8..2edb7b689 100644
--- a/test/torture-s/pr32500.c.s
+++ b/test/torture-s/pr32500.c.s
@@ -53,7 +53,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.int32 0 # 0x0
.size x, 4
diff --git a/test/torture-s/pr33142.c.s b/test/torture-s/pr33142.c.s
index d62a7f7b4..524052ce5 100644
--- a/test/torture-s/pr33142.c.s
+++ b/test/torture-s/pr33142.c.s
@@ -7,9 +7,9 @@
lisp_atan2: # @lisp_atan2
.param i32, i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $3=, 0
+ i32.const $2=, 0
block
i32.const $push0=, 1
i32.lt_s $push1=, $0, $pop0
@@ -19,17 +19,20 @@ lisp_atan2: # @lisp_atan2
i32.gt_s $push3=, $1, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#2: # %if.then2
- i32.const $3=, 31
- i32.shr_s $2=, $1, $3
- i32.shr_s $3=, $0, $3
- i32.add $push4=, $1, $2
- i32.xor $push5=, $pop4, $2
- i32.add $push6=, $0, $3
- i32.xor $push7=, $pop6, $3
- i32.le_s $3=, $pop5, $pop7
+ i32.const $push4=, 31
+ i32.shr_s $push5=, $1, $pop4
+ tee_local $push13=, $2=, $pop5
+ i32.add $push6=, $1, $pop13
+ i32.xor $push7=, $pop6, $2
+ i32.const $push12=, 31
+ i32.shr_s $push8=, $0, $pop12
+ tee_local $push11=, $1=, $pop8
+ i32.add $push9=, $0, $pop11
+ i32.xor $push10=, $pop9, $1
+ i32.le_s $2=, $pop7, $pop10
.LBB0_3: # %return
end_block # label0:
- return $3
+ return $2
.endfunc
.Lfunc_end0:
.size lisp_atan2, .Lfunc_end0-lisp_atan2
@@ -48,11 +51,11 @@ main: # @main
i32.sub $3=, $0, $1
i32.const $1=, __stack_pointer
i32.store $3=, 0($1), $3
- block
i32.const $push0=, 63
i32.store $discard=, 12($3), $pop0
i32.const $push1=, -77
i32.store $discard=, 8($3), $pop1
+ block
i32.load $push2=, 12($3)
i32.load $push3=, 8($3)
i32.call $push4=, lisp_atan2@FUNCTION, $pop2, $pop3
diff --git a/test/torture-s/pr33382.c.s b/test/torture-s/pr33382.c.s
index 815de551b..528916aae 100644
--- a/test/torture-s/pr33382.c.s
+++ b/test/torture-s/pr33382.c.s
@@ -6,13 +6,14 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, x+8($0)
- i32.const $push0=, 1
- i32.store $discard=, x+4($0), $pop0
- return $1
+ i32.const $push0=, 0
+ i32.load $0=, x+8($pop0)
+ i32.const $push2=, 0
+ i32.const $push1=, 1
+ i32.store $discard=, x+4($pop2), $pop1
+ return $0
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -23,16 +24,18 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, x+8($0)
- block
+ i32.const $push2=, 0
+ i32.load $0=, x+8($pop2)
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, x+4($0), $pop0
- br_if $1, 0 # 0: down to label0
+ i32.store $discard=, x+4($pop1), $pop0
+ block
+ br_if $0, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push3=, 0
+ return $pop3
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -45,7 +48,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int32 1 # 0x1
.int32 2 # 0x2
diff --git a/test/torture-s/pr33669.c.s b/test/torture-s/pr33669.c.s
index 516d4a2d4..e4b013c8a 100644
--- a/test/torture-s/pr33669.c.s
+++ b/test/torture-s/pr33669.c.s
@@ -7,34 +7,36 @@
foo: # @foo
.param i32, i64, i32
.result i64
- .local i32, i64, i32, i64
+ .local i64, i64, i32
# BB#0: # %entry
- i32.load $3=, 0($0)
- i64.extend_u/i32 $push0=, $3
- i64.rem_s $4=, $1, $pop0
- i32.add $push2=, $2, $3
- i32.wrap/i64 $push1=, $4
- i32.add $push3=, $pop2, $pop1
- i32.const $push4=, -1
- i32.add $2=, $pop3, $pop4
- i32.rem_u $5=, $2, $3
- i64.const $6=, -1
+ i32.load $push0=, 0($0)
+ tee_local $push15=, $5=, $pop0
+ i32.add $push4=, $2, $pop15
+ i64.extend_u/i32 $push1=, $5
+ i64.rem_s $push2=, $1, $pop1
+ tee_local $push14=, $4=, $pop2
+ i32.wrap/i64 $push3=, $pop14
+ i32.add $push5=, $pop4, $pop3
+ i32.const $push6=, -1
+ i32.add $2=, $pop5, $pop6
+ i64.const $3=, -1
block
- i32.sub $push5=, $2, $5
- i32.lt_u $push6=, $3, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.rem_u $push7=, $2, $5
+ i32.sub $push8=, $2, $pop7
+ i32.lt_u $push9=, $5, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#1: # %if.end
- i64.sub $6=, $1, $4
- i32.load $push7=, 4($0)
- i32.le_u $push8=, $pop7, $3
- br_if $pop8, 0 # 0: down to label0
+ i64.sub $3=, $1, $4
+ i32.load $push10=, 4($0)
+ i32.le_u $push11=, $pop10, $5
+ br_if $pop11, 0 # 0: down to label0
# BB#2: # %if.then13
- i32.const $push9=, 4
- i32.add $push10=, $0, $pop9
- i32.store $discard=, 0($pop10), $3
+ i32.const $push12=, 4
+ i32.add $push13=, $0, $pop12
+ i32.store $discard=, 0($pop13), $5
.LBB0_3: # %cleanup
end_block # label0:
- return $6
+ return $3
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/pr33779-1.c.s b/test/torture-s/pr33779-1.c.s
index b9a7fe62e..64e20eafd 100644
--- a/test/torture-s/pr33779-1.c.s
+++ b/test/torture-s/pr33779-1.c.s
@@ -7,12 +7,12 @@
foo: # @foo
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 1073741823
- i32.and $push0=, $0, $1
- i32.eq $push1=, $pop0, $1
- return $pop1
+ i32.const $push0=, 1073741823
+ i32.and $push1=, $0, $pop0
+ i32.const $push3=, 1073741823
+ i32.eq $push2=, $pop1, $pop3
+ return $pop2
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/pr33779-2.c.s b/test/torture-s/pr33779-2.c.s
index 4bc48bee7..47da8f8f8 100644
--- a/test/torture-s/pr33779-2.c.s
+++ b/test/torture-s/pr33779-2.c.s
@@ -7,14 +7,14 @@
foo: # @foo
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 2
- i32.shl $push0=, $0, $1
- i32.const $push1=, 4
- i32.add $push2=, $pop0, $pop1
- i32.shr_s $push3=, $pop2, $1
- return $pop3
+ i32.const $push0=, 2
+ i32.shl $push1=, $0, $pop0
+ i32.const $push2=, 4
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push5=, 2
+ i32.shr_s $push4=, $pop3, $pop5
+ return $pop4
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/pr33992.c.s b/test/torture-s/pr33992.c.s
index c2b6505e9..00cbe00f8 100644
--- a/test/torture-s/pr33992.c.s
+++ b/test/torture-s/pr33992.c.s
@@ -27,50 +27,58 @@ bar: # @bar
.type do_test,@function
do_test: # @do_test
.param i32
- .local i64, i64, i64, i64, i64, i64, i64, i64, i64
+ .local i64, i64, i64, i64
# BB#0: # %entry
i64.load $1=, 0($0)
- i64.const $2=, -1
- i64.const $8=, 63
- copy_local $9=, $2
+ i64.const $3=, 63
+ i64.const $4=, -1
.LBB1_1: # %for.cond.i
# =>This Inner Loop Header: Depth=1
loop # label1:
- i64.const $3=, 4294967295
- i64.and $4=, $8, $3
- i64.const $5=, 1
- i64.add $9=, $9, $5
- i64.add $8=, $8, $2
- i64.const $6=, 0
- i64.shl $push0=, $5, $4
+ i64.const $push16=, 4294967295
+ i64.and $2=, $3, $pop16
+ i64.const $push15=, 1
+ i64.add $4=, $4, $pop15
+ i64.const $push14=, -1
+ i64.add $3=, $3, $pop14
+ i64.const $push13=, 1
+ i64.shl $push0=, $pop13, $2
i64.and $push1=, $pop0, $1
- i64.eq $push2=, $pop1, $6
+ i64.const $push12=, 0
+ i64.eq $push2=, $pop1, $pop12
br_if $pop2, 0 # 0: up to label1
# BB#2: # %foo.exit
end_loop # label2:
- i64.const $7=, 32
- i64.shl $push3=, $9, $7
- i64.shr_s $push4=, $pop3, $7
- call bar@FUNCTION, $pop4
+ i64.const $push3=, 32
+ i64.shl $push4=, $4, $pop3
+ i64.const $push17=, 32
+ i64.shr_s $push5=, $pop4, $pop17
+ call bar@FUNCTION, $pop5
i64.load $1=, 0($0)
- i64.const $2=, -1
- i64.const $8=, 63
- copy_local $9=, $2
+ i64.const $3=, 63
+ i64.const $4=, -1
.LBB1_3: # %for.cond.i.1
# =>This Inner Loop Header: Depth=1
loop # label3:
- i64.and $4=, $8, $3
- i64.add $9=, $9, $5
- i64.add $8=, $8, $2
- i64.shl $push5=, $5, $4
- i64.and $push6=, $pop5, $1
- i64.eq $push7=, $pop6, $6
- br_if $pop7, 0 # 0: up to label3
+ i64.const $push22=, 4294967295
+ i64.and $2=, $3, $pop22
+ i64.const $push21=, 1
+ i64.add $4=, $4, $pop21
+ i64.const $push20=, -1
+ i64.add $3=, $3, $pop20
+ i64.const $push19=, 1
+ i64.shl $push6=, $pop19, $2
+ i64.and $push7=, $pop6, $1
+ i64.const $push18=, 0
+ i64.eq $push8=, $pop7, $pop18
+ br_if $pop8, 0 # 0: up to label3
# BB#4: # %foo.exit.1
end_loop # label4:
- i64.shl $push8=, $9, $7
- i64.shr_s $push9=, $pop8, $7
- call bar@FUNCTION, $pop9
+ i64.const $push9=, 32
+ i64.shl $push10=, $4, $pop9
+ i64.const $push23=, 32
+ i64.shr_s $push11=, $pop10, $pop23
+ call bar@FUNCTION, $pop11
return
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/pr34130.c.s b/test/torture-s/pr34130.c.s
index b07065688..6a71ac97d 100644
--- a/test/torture-s/pr34130.c.s
+++ b/test/torture-s/pr34130.c.s
@@ -9,18 +9,19 @@ foo: # @foo
.result i32
.local i32
# BB#0: # %entry
+ i32.const $push9=, 0
i32.const $push0=, -2
- i32.add $1=, $0, $pop0
- i32.const $push8=, 0
- i32.const $push3=, -1
- i32.gt_s $push4=, $1, $pop3
- i32.const $push1=, 2
- i32.sub $push2=, $pop1, $0
- i32.select $push5=, $pop4, $1, $pop2
- i32.const $push6=, 1
- i32.shl $push7=, $pop5, $pop6
- i32.sub $push9=, $pop8, $pop7
- return $pop9
+ i32.add $push1=, $0, $pop0
+ tee_local $push11=, $1=, $pop1
+ i32.const $push4=, -1
+ i32.gt_s $push5=, $pop11, $pop4
+ i32.const $push2=, 2
+ i32.sub $push3=, $pop2, $0
+ i32.select $push6=, $pop5, $1, $pop3
+ i32.const $push7=, 1
+ i32.shl $push8=, $pop6, $pop7
+ i32.sub $push10=, $pop9, $pop8
+ return $pop10
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/pr34176.c.s b/test/torture-s/pr34176.c.s
index 5e3f61a8e..f9a56910b 100644
--- a/test/torture-s/pr34176.c.s
+++ b/test/torture-s/pr34176.c.s
@@ -23,18 +23,22 @@ hash_find_entry: # @hash_find_entry
foo: # @foo
.param i32
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, foo.count($1)
- i32.const $3=, 1
+ i32.const $push7=, 0
+ i32.const $push6=, 0
+ i32.load $push0=, foo.count($pop6)
+ tee_local $push5=, $1=, $pop0
+ i32.const $push1=, 1
+ i32.add $push2=, $pop5, $pop1
+ i32.store $discard=, foo.count($pop7), $pop2
block
- i32.add $push0=, $2, $3
- i32.store $discard=, foo.count($1), $pop0
- i32.ge_s $push1=, $2, $3
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push4=, 1
+ i32.ge_s $push3=, $1, $pop4
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- return $1
+ i32.const $push8=, 0
+ return $pop8
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -75,8 +79,8 @@ main: # @main
# Parent Loop BB2_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label4:
- i32.const $push0=, -1
- i32.add $1=, $1, $pop0
+ i32.const $push2=, -1
+ i32.add $1=, $1, $pop2
i32.const $push1=, 8
i32.add $0=, $0, $pop1
br_if $1, 0 # 0: up to label4
@@ -92,12 +96,12 @@ main: # @main
br_if $pop6, 0 # 0: up to label1
# BB#4: # %for.end
end_loop # label2:
- i32.const $push2=, 0
+ i32.const $push0=, 0
i32.const $4=, 16
i32.add $7=, $7, $4
i32.const $4=, __stack_pointer
i32.store $7=, 0($4), $7
- return $pop2
+ return $pop0
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
diff --git a/test/torture-s/pr34415.c.s b/test/torture-s/pr34415.c.s
index 16a18f3ab..ee266cf1e 100644
--- a/test/torture-s/pr34415.c.s
+++ b/test/torture-s/pr34415.c.s
@@ -7,71 +7,76 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, 1
# implicit-def: %vreg38
+ i32.const $2=, 1
.LBB0_1: # %for.cond
# =>This Loop Header: Depth=1
# Child Loop BB0_3 Depth 2
loop # label0:
- copy_local $1=, $0
- i32.load8_s $2=, 0($1)
- i32.const $4=, 255
- i32.const $push0=, -97
- i32.add $push1=, $2, $pop0
- i32.and $push2=, $pop1, $4
- i32.const $push3=, 26
- i32.lt_u $push4=, $pop2, $pop3
- i32.const $push5=, -32
- i32.add $push6=, $2, $pop5
- i32.select $3=, $pop4, $pop6, $2
- copy_local $0=, $1
+ copy_local $push0=, $0
+ tee_local $push25=, $5=, $pop0
+ copy_local $0=, $pop25
block
- i32.const $push7=, 66
- i32.eq $push8=, $3, $pop7
- br_if $pop8, 0 # 0: down to label2
+ i32.load8_s $push1=, 0($5)
+ tee_local $push24=, $4=, $pop1
+ i32.const $push23=, -97
+ i32.add $push3=, $pop24, $pop23
+ i32.const $push22=, 255
+ i32.and $push4=, $pop3, $pop22
+ i32.const $push21=, 26
+ i32.lt_u $push5=, $pop4, $pop21
+ i32.const $push20=, -32
+ i32.add $push6=, $4, $pop20
+ i32.select $push2=, $pop5, $pop6, $4
+ tee_local $push19=, $3=, $pop2
+ i32.const $push18=, 66
+ i32.eq $push7=, $pop19, $pop18
+ br_if $pop7, 0 # 0: down to label2
# BB#2: # %for.cond
# in Loop: Header=BB0_1 Depth=1
- copy_local $0=, $1
+ copy_local $0=, $5
block
- i32.const $push9=, 65
- i32.ne $push10=, $3, $pop9
- br_if $pop10, 0 # 0: down to label3
+ i32.const $push26=, 65
+ i32.ne $push8=, $3, $pop26
+ br_if $pop8, 0 # 0: down to label3
.LBB0_3: # %do.body
# Parent Loop BB0_1 Depth=1
# => This Inner Loop Header: Depth=2
loop # label4:
- i32.const $push11=, 1
- i32.add $0=, $0, $pop11
- i32.load8_u $push12=, 0($0)
- i32.const $push13=, 43
- i32.eq $push14=, $pop12, $pop13
- br_if $pop14, 0 # 0: up to label4
+ i32.const $push28=, 1
+ i32.add $0=, $0, $pop28
+ i32.load8_u $push9=, 0($0)
+ i32.const $push27=, 43
+ i32.eq $push10=, $pop9, $pop27
+ br_if $pop10, 0 # 0: up to label4
br 3 # 3: down to label2
.LBB0_4: # %for.end
end_loop # label5:
end_block # label3:
block
- i32.const $push15=, 3
- i32.lt_s $push16=, $6, $pop15
- br_if $pop16, 0 # 0: down to label6
+ i32.const $push11=, 3
+ i32.lt_s $push12=, $2, $pop11
+ br_if $pop12, 0 # 0: down to label6
# BB#5: # %land.lhs.true17
- i32.and $push17=, $2, $4
- i32.const $push18=, 58
- i32.eq $push19=, $pop17, $pop18
- i32.select $push20=, $pop19, $5, $1
- return $pop20
+ i32.const $push13=, 255
+ i32.and $push14=, $4, $pop13
+ i32.const $push15=, 58
+ i32.eq $push16=, $pop14, $pop15
+ i32.select $push17=, $pop16, $1, $5
+ return $pop17
.LBB0_6: # %if.end22
end_block # label6:
- return $1
+ return $5
.LBB0_7: # %cleanup.thread
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
- i32.const $2=, 1
- i32.add $0=, $0, $2
- i32.add $6=, $6, $2
- copy_local $5=, $1
+ i32.const $push30=, 1
+ i32.add $0=, $0, $pop30
+ i32.const $push29=, 1
+ i32.add $2=, $2, $pop29
+ copy_local $1=, $5
br 0 # 0: up to label0
.LBB0_8:
end_loop # label1:
diff --git a/test/torture-s/pr34456.c.s b/test/torture-s/pr34456.c.s
index c7c5a4e03..7bf43e193 100644
--- a/test/torture-s/pr34456.c.s
+++ b/test/torture-s/pr34456.c.s
@@ -34,17 +34,17 @@ bad_compare: # @bad_compare
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
i32.const $push1=, array
i32.const $push3=, 2
i32.const $push2=, 8
i32.const $push0=, compare@FUNCTION
call qsort@FUNCTION, $pop1, $pop3, $pop2, $pop0
- i32.const $0=, 0
- i32.load $push4=, errors($0)
- i32.eq $push5=, $pop4, $0
- return $pop5
+ i32.const $push4=, 0
+ i32.load $push5=, errors($pop4)
+ i32.const $push7=, 0
+ i32.eq $push6=, $pop5, $pop7
+ return $pop6
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -56,28 +56,30 @@ compare: # @compare
.result i32
.local i32
# BB#0: # %entry
- i32.load $1=, 0($1)
i32.load $2=, 4($0)
block
- i32.const $push6=, 0
- i32.eq $push7=, $1, $pop6
- br_if $pop7, 0 # 0: down to label0
+ i32.load $push0=, 0($1)
+ tee_local $push8=, $1=, $pop0
+ i32.const $push10=, 0
+ i32.eq $push11=, $pop8, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#1: # %land.lhs.true
- i32.load $push0=, 0($0)
- i32.call_indirect $push1=, $2, $pop0
- i32.const $push8=, 0
- i32.eq $push9=, $pop1, $pop8
- br_if $pop9, 0 # 0: down to label0
+ i32.load $push1=, 0($0)
+ i32.call_indirect $push2=, $2, $pop1
+ i32.const $push12=, 0
+ i32.eq $push13=, $pop2, $pop12
+ br_if $pop13, 0 # 0: down to label0
# BB#2: # %if.then
- i32.const $0=, 0
- i32.load $push2=, errors($0)
- i32.const $push3=, 1
- i32.add $push4=, $pop2, $pop3
- i32.store $discard=, errors($0), $pop4
+ i32.const $push3=, 0
+ i32.const $push9=, 0
+ i32.load $push4=, errors($pop9)
+ i32.const $push5=, 1
+ i32.add $push6=, $pop4, $pop5
+ i32.store $discard=, errors($pop3), $pop6
.LBB3_3: # %if.end
end_block # label0:
- i32.call_indirect $push5=, $2, $1
- return $pop5
+ i32.call_indirect $push7=, $2, $1
+ return $pop7
.endfunc
.Lfunc_end3:
.size compare, .Lfunc_end3-compare
@@ -86,7 +88,7 @@ compare: # @compare
.type array,@object
.section .data.array,"aw",@progbits
.globl array
- .align 4
+ .p2align 4
array:
.int32 1 # 0x1
.int32 bad_compare@FUNCTION
@@ -98,7 +100,7 @@ array:
.type errors,@object
.section .bss.errors,"aw",@nobits
.globl errors
- .align 2
+ .p2align 2
errors:
.int32 0 # 0x0
.size errors, 4
diff --git a/test/torture-s/pr34768-1.c.s b/test/torture-s/pr34768-1.c.s
index 7616ef40f..30179533b 100644
--- a/test/torture-s/pr34768-1.c.s
+++ b/test/torture-s/pr34768-1.c.s
@@ -5,12 +5,13 @@
.globl foo
.type foo,@function
foo: # @foo
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, x($0)
- i32.sub $push1=, $0, $pop0
- i32.store $discard=, x($0), $pop1
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.const $push3=, 0
+ i32.load $push1=, x($pop3)
+ i32.sub $push2=, $pop4, $pop1
+ i32.store $discard=, x($pop0), $pop2
return
.endfunc
.Lfunc_end0:
@@ -34,17 +35,18 @@ bar: # @bar
test: # @test
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, x($1)
- i32.const $push1=, foo@FUNCTION
- i32.const $push0=, bar@FUNCTION
- i32.select $push2=, $0, $pop1, $pop0
- call_indirect $pop2
- i32.load $push3=, x($1)
- i32.add $push4=, $pop3, $2
- return $pop4
+ i32.const $push0=, 0
+ i32.load $1=, x($pop0)
+ i32.const $push2=, foo@FUNCTION
+ i32.const $push1=, bar@FUNCTION
+ i32.select $push3=, $0, $pop2, $pop1
+ call_indirect $pop3
+ i32.const $push6=, 0
+ i32.load $push4=, x($pop6)
+ i32.add $push5=, $1, $pop4
+ return $pop5
.endfunc
.Lfunc_end2:
.size test, .Lfunc_end2-test
@@ -55,16 +57,16 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
+ i32.const $push3=, 0
i32.const $push0=, 1
- i32.store $push1=, x($0), $pop0
+ i32.store $push1=, x($pop3), $pop0
i32.call $push2=, test@FUNCTION, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB3_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -77,7 +79,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.int32 0 # 0x0
.size x, 4
diff --git a/test/torture-s/pr34768-2.c.s b/test/torture-s/pr34768-2.c.s
index ec60f74db..517b0df46 100644
--- a/test/torture-s/pr34768-2.c.s
+++ b/test/torture-s/pr34768-2.c.s
@@ -6,13 +6,15 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, x($0)
- i32.sub $push1=, $0, $pop0
- i32.store $discard=, x($0), $pop1
- return $0
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, x($pop4)
+ i32.sub $push2=, $pop5, $pop1
+ i32.store $discard=, x($pop0), $pop2
+ i32.const $push3=, 0
+ return $pop3
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -37,18 +39,18 @@ bar: # @bar
test: # @test
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, x($1)
- i32.const $push1=, foo@FUNCTION
- i32.const $push0=, bar@FUNCTION
- i32.select $push2=, $0, $pop1, $pop0
- i32.call_indirect $push3=, $pop2
- i32.add $push5=, $pop3, $2
- i32.load $push4=, x($1)
- i32.add $push6=, $pop5, $pop4
- return $pop6
+ i32.const $push0=, 0
+ i32.load $push1=, x($pop0)
+ i32.const $push3=, foo@FUNCTION
+ i32.const $push2=, bar@FUNCTION
+ i32.select $push4=, $0, $pop3, $pop2
+ i32.call_indirect $push5=, $pop4
+ i32.add $push7=, $pop1, $pop5
+ i32.const $push9=, 0
+ i32.load $push6=, x($pop9)
+ i32.add $push8=, $pop7, $pop6
+ return $pop8
.endfunc
.Lfunc_end2:
.size test, .Lfunc_end2-test
@@ -59,16 +61,16 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
+ i32.const $push3=, 0
i32.const $push0=, 1
- i32.store $push1=, x($0), $pop0
+ i32.store $push1=, x($pop3), $pop0
i32.call $push2=, test@FUNCTION, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB3_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -81,7 +83,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.int32 0 # 0x0
.size x, 4
diff --git a/test/torture-s/pr34971.c.s b/test/torture-s/pr34971.c.s
index 9aadf55ce..7edf8747b 100644
--- a/test/torture-s/pr34971.c.s
+++ b/test/torture-s/pr34971.c.s
@@ -12,14 +12,15 @@ test1: # @test1
i32.const $push0=, 0
i64.load $push1=, x($pop0)
i64.const $push2=, 1099511627775
- i64.and $1=, $pop1, $pop2
- i64.const $push3=, 8
- i64.shl $push4=, $1, $pop3
- i64.const $push5=, 32
- i64.shr_u $push6=, $1, $pop5
- i64.or $push7=, $pop4, $pop6
- i64.ne $push8=, $pop7, $0
- br_if $pop8, 0 # 0: down to label0
+ i64.and $push3=, $pop1, $pop2
+ tee_local $push10=, $1=, $pop3
+ i64.const $push4=, 8
+ i64.shl $push5=, $pop10, $pop4
+ i64.const $push6=, 32
+ i64.shr_u $push7=, $1, $pop6
+ i64.or $push8=, $pop5, $pop7
+ i64.ne $push9=, $pop8, $0
+ br_if $pop9, 0 # 0: down to label0
# BB#1: # %if.end
return
.LBB0_2: # %if.then
@@ -36,15 +37,15 @@ test1: # @test1
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.then.i
- i32.const $0=, 0
- i64.load $push0=, x($0)
- i64.const $push1=, -1099511627776
- i64.and $push2=, $pop0, $pop1
- i64.const $push3=, 4294967297
- i64.or $push4=, $pop2, $pop3
- i64.store $discard=, x($0), $pop4
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i64.load $push1=, x($pop6)
+ i64.const $push2=, -1099511627776
+ i64.and $push3=, $pop1, $pop2
+ i64.const $push4=, 4294967297
+ i64.or $push5=, $pop3, $pop4
+ i64.store $discard=, x($pop0), $pop5
call abort@FUNCTION
unreachable
.endfunc
@@ -55,7 +56,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 3
+ .p2align 3
x:
.skip 8
.size x, 8
diff --git a/test/torture-s/pr35231.c.s b/test/torture-s/pr35231.c.s
index 01a74726a..35b5dbc20 100644
--- a/test/torture-s/pr35231.c.s
+++ b/test/torture-s/pr35231.c.s
@@ -29,16 +29,17 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, 2
block
- i32.call $push0=, foo@FUNCTION, $1, $0
- i32.ne $push1=, $pop0, $1
- br_if $pop1, 0 # 0: down to label1
+ i32.const $push0=, 2
+ i32.const $push4=, 0
+ i32.call $push1=, foo@FUNCTION, $pop0, $pop4
+ i32.const $push3=, 2
+ i32.ne $push2=, $pop1, $pop3
+ br_if $pop2, 0 # 0: down to label1
# BB#1: # %if.end
- return $0
+ i32.const $push5=, 0
+ return $pop5
.LBB1_2: # %if.then
end_block # label1:
call abort@FUNCTION
diff --git a/test/torture-s/pr35472.c.s b/test/torture-s/pr35472.c.s
index 840418c90..a2e7caf20 100644
--- a/test/torture-s/pr35472.c.s
+++ b/test/torture-s/pr35472.c.s
@@ -21,104 +21,43 @@ foo: # @foo
.globl test
.type test,@function
test: # @test
- .local i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 128
- i32.sub $29=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $29=, 0($9), $29
- i32.const $0=, 56
- i32.const $11=, 64
- i32.add $11=, $29, $11
- i32.add $push0=, $11, $0
- i64.const $push1=, 0
- i64.store $1=, 0($pop0), $pop1
- i32.const $2=, 48
- i32.const $12=, 64
- i32.add $12=, $29, $12
- i32.add $push2=, $12, $2
- i64.store $discard=, 0($pop2), $1
- i32.const $3=, 40
- i32.const $13=, 64
- i32.add $13=, $29, $13
- i32.add $push3=, $13, $3
- i64.store $discard=, 0($pop3), $1
- i32.const $4=, 32
- i32.const $14=, 64
- i32.add $14=, $29, $14
- i32.add $push4=, $14, $4
- i64.store $discard=, 0($pop4), $1
- i32.const $5=, 24
- i32.const $15=, 64
- i32.add $15=, $29, $15
- i32.add $push5=, $15, $5
- i64.store $discard=, 0($pop5), $1
- i32.const $6=, 16
- i32.const $16=, 64
- i32.add $16=, $29, $16
- i32.add $push6=, $16, $6
- i64.store $discard=, 0($pop6), $1
- i32.const $7=, 8
- i32.const $17=, 64
- i32.add $17=, $29, $17
- i32.add $push7=, $17, $7
- i64.store $push8=, 0($pop7), $1
- i64.store $1=, 64($29), $pop8
- i32.const $18=, 0
- i32.add $18=, $29, $18
- i32.add $push9=, $18, $0
- i64.store $discard=, 0($pop9), $1
- i32.const $19=, 0
- i32.add $19=, $29, $19
- i32.add $push10=, $19, $2
- i64.store $discard=, 0($pop10), $1
- i32.const $20=, 0
- i32.add $20=, $29, $20
- i32.add $push11=, $20, $3
- i64.store $discard=, 0($pop11), $1
- i32.const $21=, 0
- i32.add $21=, $29, $21
- i32.add $push12=, $21, $4
- i64.store $discard=, 0($pop12), $1
- i32.const $22=, 0
- i32.add $22=, $29, $22
- i32.add $push13=, $22, $5
- i64.store $discard=, 0($pop13), $1
- i32.const $23=, 0
- i32.add $23=, $29, $23
- i32.add $push14=, $23, $6
- i64.store $discard=, 0($pop14), $1
- i32.const $24=, 0
- i32.add $24=, $29, $24
- i32.add $push15=, $24, $7
- i64.store $push16=, 0($pop15), $1
- i64.store $discard=, 0($29), $pop16
- i32.const $25=, 64
- i32.add $25=, $29, $25
- i32.const $26=, 0
- i32.add $26=, $29, $26
- call foo@FUNCTION, $25, $26
- i32.const $push17=, 0
- i32.load $0=, p($pop17)
- i32.const $2=, 64
- i32.const $27=, 64
- i32.add $27=, $29, $27
- call memcpy@FUNCTION, $0, $27, $2
- i32.const $28=, 0
- i32.add $28=, $29, $28
- call memcpy@FUNCTION, $0, $28, $2
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 128
+ i32.sub $6=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $6=, 0($1), $6
+ i32.const $push1=, 0
+ i32.const $push0=, 64
+ i32.const $3=, 64
+ i32.add $3=, $6, $3
+ i32.call $discard=, memset@FUNCTION, $3, $pop1, $pop0
+ i32.const $push11=, 0
+ i32.const $push10=, 64
+ i32.call $discard=, memset@FUNCTION, $6, $pop11, $pop10
+ i32.const $4=, 64
+ i32.add $4=, $6, $4
+ call foo@FUNCTION, $4, $6
+ i32.const $push9=, 0
+ i32.load $push2=, p($pop9)
+ i32.const $push8=, 64
+ i32.const $5=, 64
+ i32.add $5=, $6, $5
+ i32.call $push3=, memcpy@FUNCTION, $pop2, $5, $pop8
+ i32.const $push7=, 64
+ i32.call $discard=, memcpy@FUNCTION, $pop3, $6, $pop7
block
- i32.load $push18=, 0($29)
- i32.const $push19=, -1
- i32.ne $push20=, $pop18, $pop19
- br_if $pop20, 0 # 0: down to label0
+ i32.load $push4=, 0($6):p2align=3
+ i32.const $push5=, -1
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $10=, 128
- i32.add $29=, $29, $10
- i32.const $10=, __stack_pointer
- i32.store $29=, 0($10), $29
+ i32.const $2=, 128
+ i32.add $6=, $6, $2
+ i32.const $2=, __stack_pointer
+ i32.store $6=, 0($2), $6
return
.LBB1_2: # %if.then
end_block # label0:
@@ -134,105 +73,45 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 128
- i32.sub $29=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $29=, 0($9), $29
- i32.const $0=, 56
- i32.const $11=, 64
- i32.add $11=, $29, $11
- i32.add $push0=, $11, $0
- i64.const $push1=, 0
- i64.store $1=, 0($pop0), $pop1
- i32.const $2=, 48
- i32.const $12=, 64
- i32.add $12=, $29, $12
- i32.add $push2=, $12, $2
- i64.store $discard=, 0($pop2), $1
- i32.const $3=, 40
- i32.const $13=, 64
- i32.add $13=, $29, $13
- i32.add $push3=, $13, $3
- i64.store $discard=, 0($pop3), $1
- i32.const $4=, 32
- i32.const $14=, 64
- i32.add $14=, $29, $14
- i32.add $push4=, $14, $4
- i64.store $discard=, 0($pop4), $1
- i32.const $5=, 24
- i32.const $15=, 64
- i32.add $15=, $29, $15
- i32.add $push5=, $15, $5
- i64.store $discard=, 0($pop5), $1
- i32.const $6=, 16
- i32.const $16=, 64
- i32.add $16=, $29, $16
- i32.add $push6=, $16, $6
- i64.store $discard=, 0($pop6), $1
- i32.const $7=, 8
- i32.const $17=, 64
- i32.add $17=, $29, $17
- i32.add $push7=, $17, $7
- i64.store $push8=, 0($pop7), $1
- i64.store $1=, 64($29), $pop8
- i32.const $18=, 0
- i32.add $18=, $29, $18
- i32.add $push9=, $18, $0
- i64.store $discard=, 0($pop9), $1
- i32.const $19=, 0
- i32.add $19=, $29, $19
- i32.add $push10=, $19, $2
- i64.store $discard=, 0($pop10), $1
- i32.const $20=, 0
- i32.add $20=, $29, $20
- i32.add $push11=, $20, $3
- i64.store $discard=, 0($pop11), $1
- i32.const $21=, 0
- i32.add $21=, $29, $21
- i32.add $push12=, $21, $4
- i64.store $discard=, 0($pop12), $1
- i32.const $22=, 0
- i32.add $22=, $29, $22
- i32.add $push13=, $22, $5
- i64.store $discard=, 0($pop13), $1
- i32.const $23=, 0
- i32.add $23=, $29, $23
- i32.add $push14=, $23, $6
- i64.store $discard=, 0($pop14), $1
- i32.const $24=, 0
- i32.add $24=, $29, $24
- i32.add $push15=, $24, $7
- i64.store $push16=, 0($pop15), $1
- i64.store $discard=, 0($29), $pop16
- i32.const $25=, 64
- i32.add $25=, $29, $25
- i32.const $26=, 0
- i32.add $26=, $29, $26
- call foo@FUNCTION, $25, $26
- i32.const $3=, 0
- i32.load $0=, p($3)
- i32.const $2=, 64
- i32.const $27=, 64
- i32.add $27=, $29, $27
- call memcpy@FUNCTION, $0, $27, $2
- i32.const $28=, 0
- i32.add $28=, $29, $28
- call memcpy@FUNCTION, $0, $28, $2
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 128
+ i32.sub $6=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $6=, 0($1), $6
+ i32.const $push11=, 0
+ i32.const $push0=, 64
+ i32.const $3=, 64
+ i32.add $3=, $6, $3
+ i32.call $discard=, memset@FUNCTION, $3, $pop11, $pop0
+ i32.const $push10=, 0
+ i32.const $push9=, 64
+ i32.call $discard=, memset@FUNCTION, $6, $pop10, $pop9
+ i32.const $4=, 64
+ i32.add $4=, $6, $4
+ call foo@FUNCTION, $4, $6
+ i32.const $push8=, 0
+ i32.load $push1=, p($pop8)
+ i32.const $push7=, 64
+ i32.const $5=, 64
+ i32.add $5=, $6, $5
+ i32.call $push2=, memcpy@FUNCTION, $pop1, $5, $pop7
+ i32.const $push6=, 64
+ i32.call $discard=, memcpy@FUNCTION, $pop2, $6, $pop6
block
- i32.load $push17=, 0($29)
- i32.const $push18=, -1
- i32.ne $push19=, $pop17, $pop18
- br_if $pop19, 0 # 0: down to label1
+ i32.load $push3=, 0($6):p2align=3
+ i32.const $push4=, -1
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
# BB#1: # %test.exit
- i32.const $10=, 128
- i32.add $29=, $29, $10
- i32.const $10=, __stack_pointer
- i32.store $29=, 0($10), $29
- return $3
+ i32.const $push12=, 0
+ i32.const $2=, 128
+ i32.add $6=, $6, $2
+ i32.const $2=, __stack_pointer
+ i32.store $6=, 0($2), $6
+ return $pop12
.LBB2_2: # %if.then.i
end_block # label1:
call abort@FUNCTION
@@ -245,7 +124,7 @@ main: # @main
.type p,@object
.section .bss.p,"aw",@nobits
.globl p
- .align 2
+ .p2align 2
p:
.int32 0
.size p, 4
diff --git a/test/torture-s/pr35800.c.s b/test/torture-s/pr35800.c.s
index d6a389331..bbbc01e5f 100644
--- a/test/torture-s/pr35800.c.s
+++ b/test/torture-s/pr35800.c.s
@@ -11,23 +11,22 @@ stab_xcoff_builtin_type: # @stab_xcoff_builtin_type
# BB#0: # %entry
i32.const $1=, 0
block
- i32.const $push0=, -34
- i32.lt_u $push1=, $0, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push1=, -34
+ i32.lt_u $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $push2=, -2
- i32.sub $0=, $pop2, $0
i32.const $1=, .L.str
block
- i32.const $push3=, 32
- i32.gt_u $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push3=, -2
+ i32.sub $push0=, $pop3, $0
+ tee_local $push8=, $0=, $pop0
+ i32.const $push4=, 32
+ i32.gt_u $push5=, $pop8, $pop4
+ br_if $pop5, 0 # 0: down to label1
# BB#2: # %switch.lookup
- i32.const $push7=, .Lswitch.table
- i32.const $push5=, 2
- i32.shl $push6=, $0, $pop5
- i32.add $push8=, $pop7, $pop6
- i32.load $1=, 0($pop8)
+ i32.const $push6=, 2
+ i32.shl $push7=, $0, $pop6
+ i32.load $1=, .Lswitch.table($pop7)
.LBB0_3: # %sw.epilog
end_block # label1:
i32.load8_s $1=, 0($1)
@@ -54,22 +53,22 @@ main: # @main
loop # label3:
i32.load $push0=, 0($0)
i32.load8_u $push1=, 0($pop0)
- i32.const $push2=, 105
- i32.ne $push3=, $pop1, $pop2
- br_if $pop3, 2 # 2: down to label2
+ i32.const $push8=, 105
+ i32.ne $push2=, $pop1, $pop8
+ br_if $pop2, 2 # 2: down to label2
# BB#2: # %for.cond
# in Loop: Header=BB1_1 Depth=1
- i32.const $push4=, -1
- i32.add $1=, $1, $pop4
- i32.const $push5=, 4
- i32.add $0=, $0, $pop5
- i32.const $push6=, -34
- i32.ge_s $push7=, $1, $pop6
- br_if $pop7, 0 # 0: up to label3
+ i32.const $push7=, -1
+ i32.add $1=, $1, $pop7
+ i32.const $push6=, 4
+ i32.add $0=, $0, $pop6
+ i32.const $push5=, -34
+ i32.ge_s $push3=, $1, $pop5
+ br_if $pop3, 0 # 0: up to label3
# BB#3: # %if.end21
end_loop # label4:
- i32.const $push8=, 0
- return $pop8
+ i32.const $push4=, 0
+ return $pop4
.LBB1_4: # %if.then16
end_block # label2:
call abort@FUNCTION
@@ -96,7 +95,7 @@ main: # @main
.type .Lswitch.table,@object # @switch.table
.section .data.rel.ro..Lswitch.table,"aw",@progbits
- .align 4
+ .p2align 4
.Lswitch.table:
.int32 .L.str.2
.int32 .L.str.2
diff --git a/test/torture-s/pr36034-1.c.s b/test/torture-s/pr36034-1.c.s
index de4f892bb..59d9f2085 100644
--- a/test/torture-s/pr36034-1.c.s
+++ b/test/torture-s/pr36034-1.c.s
@@ -5,69 +5,128 @@
.globl test
.type test,@function
test: # @test
- .local i32, i64, i64, i64
+ .local i64, i64, i64
# BB#0: # %entry
- i32.const $0=, 0
- i64.load $1=, x+8($0)
- i64.load $push0=, x($0)
- i64.store $discard=, tmp($0), $pop0
- i64.store $discard=, tmp+8($0), $1
- i64.load $1=, x+24($0)
- i64.load $2=, x+32($0)
- i64.load $3=, x+40($0)
- i64.load $push1=, x+16($0)
- i64.store $discard=, tmp+16($0), $pop1
- i64.store $discard=, tmp+24($0), $1
- i64.store $discard=, tmp+32($0), $2
- i64.store $discard=, tmp+40($0), $3
- i64.load $1=, x+88($0)
- i64.load $2=, x+96($0)
- i64.load $3=, x+104($0)
- i64.load $push2=, x+80($0)
- i64.store $discard=, tmp+48($0), $pop2
- i64.store $discard=, tmp+56($0), $1
- i64.store $discard=, tmp+64($0), $2
- i64.store $discard=, tmp+72($0), $3
- i64.load $1=, x+120($0)
- i64.load $2=, x+160($0)
- i64.load $3=, x+168($0)
- i64.load $push3=, x+112($0)
- i64.store $discard=, tmp+80($0), $pop3
- i64.store $discard=, tmp+88($0), $1
- i64.store $discard=, tmp+96($0), $2
- i64.store $discard=, tmp+104($0), $3
- i64.load $1=, x+184($0)
- i64.load $2=, x+192($0)
- i64.load $3=, x+200($0)
- i64.load $push4=, x+176($0)
- i64.store $discard=, tmp+112($0), $pop4
- i64.store $discard=, tmp+120($0), $1
- i64.store $discard=, tmp+128($0), $2
- i64.store $discard=, tmp+136($0), $3
- i64.load $1=, x+248($0)
- i64.load $2=, x+256($0)
- i64.load $3=, x+264($0)
- i64.load $push5=, x+240($0)
- i64.store $discard=, tmp+144($0), $pop5
- i64.store $discard=, tmp+152($0), $1
- i64.store $discard=, tmp+160($0), $2
- i64.store $discard=, tmp+168($0), $3
- i64.load $1=, x+280($0)
- i64.load $2=, x+320($0)
- i64.load $3=, x+328($0)
- i64.load $push6=, x+272($0)
- i64.store $discard=, tmp+176($0), $pop6
- i64.store $discard=, tmp+184($0), $1
- i64.store $discard=, tmp+192($0), $2
- i64.store $discard=, tmp+200($0), $3
- i64.load $1=, x+344($0)
- i64.load $2=, x+352($0)
- i64.load $3=, x+360($0)
- i64.load $push7=, x+336($0)
- i64.store $discard=, tmp+208($0), $pop7
- i64.store $discard=, tmp+216($0), $1
- i64.store $discard=, tmp+224($0), $2
- i64.store $discard=, tmp+232($0), $3
+ i32.const $push0=, 0
+ i64.load $0=, x+8($pop0)
+ i32.const $push67=, 0
+ i32.const $push66=, 0
+ i64.load $push1=, x($pop66):p2align=4
+ i64.store $discard=, tmp($pop67):p2align=4, $pop1
+ i32.const $push65=, 0
+ i64.store $discard=, tmp+8($pop65), $0
+ i32.const $push64=, 0
+ i64.load $0=, x+24($pop64)
+ i32.const $push63=, 0
+ i64.load $1=, x+32($pop63):p2align=4
+ i32.const $push62=, 0
+ i64.load $2=, x+40($pop62)
+ i32.const $push61=, 0
+ i32.const $push60=, 0
+ i64.load $push2=, x+16($pop60):p2align=4
+ i64.store $discard=, tmp+16($pop61):p2align=4, $pop2
+ i32.const $push59=, 0
+ i64.store $discard=, tmp+24($pop59), $0
+ i32.const $push58=, 0
+ i64.store $discard=, tmp+32($pop58):p2align=4, $1
+ i32.const $push57=, 0
+ i64.store $discard=, tmp+40($pop57), $2
+ i32.const $push56=, 0
+ i64.load $0=, x+88($pop56)
+ i32.const $push55=, 0
+ i64.load $1=, x+96($pop55):p2align=4
+ i32.const $push54=, 0
+ i64.load $2=, x+104($pop54)
+ i32.const $push53=, 0
+ i32.const $push52=, 0
+ i64.load $push3=, x+80($pop52):p2align=4
+ i64.store $discard=, tmp+48($pop53):p2align=4, $pop3
+ i32.const $push51=, 0
+ i64.store $discard=, tmp+56($pop51), $0
+ i32.const $push50=, 0
+ i64.store $discard=, tmp+64($pop50):p2align=4, $1
+ i32.const $push49=, 0
+ i64.store $discard=, tmp+72($pop49), $2
+ i32.const $push48=, 0
+ i64.load $0=, x+120($pop48)
+ i32.const $push47=, 0
+ i64.load $1=, x+160($pop47):p2align=4
+ i32.const $push46=, 0
+ i64.load $2=, x+168($pop46)
+ i32.const $push45=, 0
+ i32.const $push44=, 0
+ i64.load $push4=, x+112($pop44):p2align=4
+ i64.store $discard=, tmp+80($pop45):p2align=4, $pop4
+ i32.const $push43=, 0
+ i64.store $discard=, tmp+88($pop43), $0
+ i32.const $push42=, 0
+ i64.store $discard=, tmp+96($pop42):p2align=4, $1
+ i32.const $push41=, 0
+ i64.store $discard=, tmp+104($pop41), $2
+ i32.const $push40=, 0
+ i64.load $0=, x+184($pop40)
+ i32.const $push39=, 0
+ i64.load $1=, x+192($pop39):p2align=4
+ i32.const $push38=, 0
+ i64.load $2=, x+200($pop38)
+ i32.const $push37=, 0
+ i32.const $push36=, 0
+ i64.load $push5=, x+176($pop36):p2align=4
+ i64.store $discard=, tmp+112($pop37):p2align=4, $pop5
+ i32.const $push35=, 0
+ i64.store $discard=, tmp+120($pop35), $0
+ i32.const $push34=, 0
+ i64.store $discard=, tmp+128($pop34):p2align=4, $1
+ i32.const $push33=, 0
+ i64.store $discard=, tmp+136($pop33), $2
+ i32.const $push32=, 0
+ i64.load $0=, x+248($pop32)
+ i32.const $push31=, 0
+ i64.load $1=, x+256($pop31):p2align=4
+ i32.const $push30=, 0
+ i64.load $2=, x+264($pop30)
+ i32.const $push29=, 0
+ i32.const $push28=, 0
+ i64.load $push6=, x+240($pop28):p2align=4
+ i64.store $discard=, tmp+144($pop29):p2align=4, $pop6
+ i32.const $push27=, 0
+ i64.store $discard=, tmp+152($pop27), $0
+ i32.const $push26=, 0
+ i64.store $discard=, tmp+160($pop26):p2align=4, $1
+ i32.const $push25=, 0
+ i64.store $discard=, tmp+168($pop25), $2
+ i32.const $push24=, 0
+ i64.load $0=, x+280($pop24)
+ i32.const $push23=, 0
+ i64.load $1=, x+320($pop23):p2align=4
+ i32.const $push22=, 0
+ i64.load $2=, x+328($pop22)
+ i32.const $push21=, 0
+ i32.const $push20=, 0
+ i64.load $push7=, x+272($pop20):p2align=4
+ i64.store $discard=, tmp+176($pop21):p2align=4, $pop7
+ i32.const $push19=, 0
+ i64.store $discard=, tmp+184($pop19), $0
+ i32.const $push18=, 0
+ i64.store $discard=, tmp+192($pop18):p2align=4, $1
+ i32.const $push17=, 0
+ i64.store $discard=, tmp+200($pop17), $2
+ i32.const $push16=, 0
+ i64.load $0=, x+344($pop16)
+ i32.const $push15=, 0
+ i64.load $1=, x+352($pop15):p2align=4
+ i32.const $push14=, 0
+ i64.load $2=, x+360($pop14)
+ i32.const $push13=, 0
+ i32.const $push12=, 0
+ i64.load $push8=, x+336($pop12):p2align=4
+ i64.store $discard=, tmp+208($pop13):p2align=4, $pop8
+ i32.const $push11=, 0
+ i64.store $discard=, tmp+216($pop11), $0
+ i32.const $push10=, 0
+ i64.store $discard=, tmp+224($pop10):p2align=4, $1
+ i32.const $push9=, 0
+ i64.store $discard=, tmp+232($pop9), $2
return
.endfunc
.Lfunc_end0:
@@ -79,133 +138,191 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local i32, f64
# BB#0: # %entry
call test@FUNCTION
- i32.const $0=, 0
- f64.const $1=, -0x1p0
block
- f64.load $push29=, tmp($0)
- f64.eq $push30=, $pop29, $1
+ i32.const $push62=, 0
+ f64.load $push29=, tmp($pop62):p2align=4
+ f64.const $push61=, -0x1p0
+ f64.eq $push30=, $pop29, $pop61
br_if $pop30, 0 # 0: down to label0
# BB#1: # %entry
- f64.load $push0=, tmp+8($0)
- f64.eq $push31=, $pop0, $1
+ i32.const $push64=, 0
+ f64.load $push0=, tmp+8($pop64)
+ f64.const $push63=, -0x1p0
+ f64.eq $push31=, $pop0, $pop63
br_if $pop31, 0 # 0: down to label0
# BB#2: # %entry
- f64.load $push1=, tmp+16($0)
- f64.eq $push32=, $pop1, $1
+ i32.const $push66=, 0
+ f64.load $push1=, tmp+16($pop66):p2align=4
+ f64.const $push65=, -0x1p0
+ f64.eq $push32=, $pop1, $pop65
br_if $pop32, 0 # 0: down to label0
# BB#3: # %entry
- f64.load $push2=, tmp+24($0)
- f64.eq $push33=, $pop2, $1
+ i32.const $push68=, 0
+ f64.load $push2=, tmp+24($pop68)
+ f64.const $push67=, -0x1p0
+ f64.eq $push33=, $pop2, $pop67
br_if $pop33, 0 # 0: down to label0
# BB#4: # %entry
- f64.load $push3=, tmp+32($0)
- f64.eq $push34=, $pop3, $1
+ i32.const $push70=, 0
+ f64.load $push3=, tmp+32($pop70):p2align=4
+ f64.const $push69=, -0x1p0
+ f64.eq $push34=, $pop3, $pop69
br_if $pop34, 0 # 0: down to label0
# BB#5: # %entry
- f64.load $push4=, tmp+40($0)
- f64.eq $push35=, $pop4, $1
+ i32.const $push72=, 0
+ f64.load $push4=, tmp+40($pop72)
+ f64.const $push71=, -0x1p0
+ f64.eq $push35=, $pop4, $pop71
br_if $pop35, 0 # 0: down to label0
# BB#6: # %entry
- f64.load $push5=, tmp+48($0)
- f64.eq $push36=, $pop5, $1
+ i32.const $push74=, 0
+ f64.load $push5=, tmp+48($pop74):p2align=4
+ f64.const $push73=, -0x1p0
+ f64.eq $push36=, $pop5, $pop73
br_if $pop36, 0 # 0: down to label0
# BB#7: # %entry
- f64.load $push6=, tmp+56($0)
- f64.eq $push37=, $pop6, $1
+ i32.const $push76=, 0
+ f64.load $push6=, tmp+56($pop76)
+ f64.const $push75=, -0x1p0
+ f64.eq $push37=, $pop6, $pop75
br_if $pop37, 0 # 0: down to label0
# BB#8: # %entry
- f64.load $push7=, tmp+64($0)
- f64.eq $push38=, $pop7, $1
+ i32.const $push78=, 0
+ f64.load $push7=, tmp+64($pop78):p2align=4
+ f64.const $push77=, -0x1p0
+ f64.eq $push38=, $pop7, $pop77
br_if $pop38, 0 # 0: down to label0
# BB#9: # %entry
- f64.load $push8=, tmp+72($0)
- f64.eq $push39=, $pop8, $1
+ i32.const $push80=, 0
+ f64.load $push8=, tmp+72($pop80)
+ f64.const $push79=, -0x1p0
+ f64.eq $push39=, $pop8, $pop79
br_if $pop39, 0 # 0: down to label0
# BB#10: # %entry
- f64.load $push9=, tmp+80($0)
- f64.eq $push40=, $pop9, $1
+ i32.const $push82=, 0
+ f64.load $push9=, tmp+80($pop82):p2align=4
+ f64.const $push81=, -0x1p0
+ f64.eq $push40=, $pop9, $pop81
br_if $pop40, 0 # 0: down to label0
# BB#11: # %entry
- f64.load $push10=, tmp+88($0)
- f64.eq $push41=, $pop10, $1
+ i32.const $push84=, 0
+ f64.load $push10=, tmp+88($pop84)
+ f64.const $push83=, -0x1p0
+ f64.eq $push41=, $pop10, $pop83
br_if $pop41, 0 # 0: down to label0
# BB#12: # %entry
- f64.load $push11=, tmp+96($0)
- f64.eq $push42=, $pop11, $1
+ i32.const $push86=, 0
+ f64.load $push11=, tmp+96($pop86):p2align=4
+ f64.const $push85=, -0x1p0
+ f64.eq $push42=, $pop11, $pop85
br_if $pop42, 0 # 0: down to label0
# BB#13: # %entry
- f64.load $push12=, tmp+104($0)
- f64.eq $push43=, $pop12, $1
+ i32.const $push88=, 0
+ f64.load $push12=, tmp+104($pop88)
+ f64.const $push87=, -0x1p0
+ f64.eq $push43=, $pop12, $pop87
br_if $pop43, 0 # 0: down to label0
# BB#14: # %entry
- f64.load $push13=, tmp+112($0)
- f64.eq $push44=, $pop13, $1
+ i32.const $push90=, 0
+ f64.load $push13=, tmp+112($pop90):p2align=4
+ f64.const $push89=, -0x1p0
+ f64.eq $push44=, $pop13, $pop89
br_if $pop44, 0 # 0: down to label0
# BB#15: # %entry
- f64.load $push14=, tmp+120($0)
- f64.eq $push45=, $pop14, $1
+ i32.const $push92=, 0
+ f64.load $push14=, tmp+120($pop92)
+ f64.const $push91=, -0x1p0
+ f64.eq $push45=, $pop14, $pop91
br_if $pop45, 0 # 0: down to label0
# BB#16: # %entry
- f64.load $push15=, tmp+128($0)
- f64.eq $push46=, $pop15, $1
+ i32.const $push94=, 0
+ f64.load $push15=, tmp+128($pop94):p2align=4
+ f64.const $push93=, -0x1p0
+ f64.eq $push46=, $pop15, $pop93
br_if $pop46, 0 # 0: down to label0
# BB#17: # %entry
- f64.load $push16=, tmp+136($0)
- f64.eq $push47=, $pop16, $1
+ i32.const $push96=, 0
+ f64.load $push16=, tmp+136($pop96)
+ f64.const $push95=, -0x1p0
+ f64.eq $push47=, $pop16, $pop95
br_if $pop47, 0 # 0: down to label0
# BB#18: # %entry
- f64.load $push17=, tmp+144($0)
- f64.eq $push48=, $pop17, $1
+ i32.const $push98=, 0
+ f64.load $push17=, tmp+144($pop98):p2align=4
+ f64.const $push97=, -0x1p0
+ f64.eq $push48=, $pop17, $pop97
br_if $pop48, 0 # 0: down to label0
# BB#19: # %entry
- f64.load $push18=, tmp+152($0)
- f64.eq $push49=, $pop18, $1
+ i32.const $push100=, 0
+ f64.load $push18=, tmp+152($pop100)
+ f64.const $push99=, -0x1p0
+ f64.eq $push49=, $pop18, $pop99
br_if $pop49, 0 # 0: down to label0
# BB#20: # %entry
- f64.load $push19=, tmp+160($0)
- f64.eq $push50=, $pop19, $1
+ i32.const $push102=, 0
+ f64.load $push19=, tmp+160($pop102):p2align=4
+ f64.const $push101=, -0x1p0
+ f64.eq $push50=, $pop19, $pop101
br_if $pop50, 0 # 0: down to label0
# BB#21: # %entry
- f64.load $push20=, tmp+168($0)
- f64.eq $push51=, $pop20, $1
+ i32.const $push104=, 0
+ f64.load $push20=, tmp+168($pop104)
+ f64.const $push103=, -0x1p0
+ f64.eq $push51=, $pop20, $pop103
br_if $pop51, 0 # 0: down to label0
# BB#22: # %entry
- f64.load $push21=, tmp+176($0)
- f64.eq $push52=, $pop21, $1
+ i32.const $push106=, 0
+ f64.load $push21=, tmp+176($pop106):p2align=4
+ f64.const $push105=, -0x1p0
+ f64.eq $push52=, $pop21, $pop105
br_if $pop52, 0 # 0: down to label0
# BB#23: # %entry
- f64.load $push22=, tmp+184($0)
- f64.eq $push53=, $pop22, $1
+ i32.const $push108=, 0
+ f64.load $push22=, tmp+184($pop108)
+ f64.const $push107=, -0x1p0
+ f64.eq $push53=, $pop22, $pop107
br_if $pop53, 0 # 0: down to label0
# BB#24: # %entry
- f64.load $push23=, tmp+192($0)
- f64.eq $push54=, $pop23, $1
+ i32.const $push110=, 0
+ f64.load $push23=, tmp+192($pop110):p2align=4
+ f64.const $push109=, -0x1p0
+ f64.eq $push54=, $pop23, $pop109
br_if $pop54, 0 # 0: down to label0
# BB#25: # %entry
- f64.load $push24=, tmp+200($0)
- f64.eq $push55=, $pop24, $1
+ i32.const $push112=, 0
+ f64.load $push24=, tmp+200($pop112)
+ f64.const $push111=, -0x1p0
+ f64.eq $push55=, $pop24, $pop111
br_if $pop55, 0 # 0: down to label0
# BB#26: # %entry
- f64.load $push25=, tmp+208($0)
- f64.eq $push56=, $pop25, $1
+ i32.const $push114=, 0
+ f64.load $push25=, tmp+208($pop114):p2align=4
+ f64.const $push113=, -0x1p0
+ f64.eq $push56=, $pop25, $pop113
br_if $pop56, 0 # 0: down to label0
# BB#27: # %entry
- f64.load $push26=, tmp+216($0)
- f64.eq $push57=, $pop26, $1
+ i32.const $push116=, 0
+ f64.load $push26=, tmp+216($pop116)
+ f64.const $push115=, -0x1p0
+ f64.eq $push57=, $pop26, $pop115
br_if $pop57, 0 # 0: down to label0
# BB#28: # %entry
- f64.load $push27=, tmp+224($0)
- f64.eq $push58=, $pop27, $1
+ i32.const $push118=, 0
+ f64.load $push27=, tmp+224($pop118):p2align=4
+ f64.const $push117=, -0x1p0
+ f64.eq $push58=, $pop27, $pop117
br_if $pop58, 0 # 0: down to label0
# BB#29: # %entry
- f64.load $push28=, tmp+232($0)
- f64.eq $push59=, $pop28, $1
+ i32.const $push120=, 0
+ f64.load $push28=, tmp+232($pop120)
+ f64.const $push119=, -0x1p0
+ f64.eq $push59=, $pop28, $pop119
br_if $pop59, 0 # 0: down to label0
# BB#30: # %for.cond1.5.4
- return $0
+ i32.const $push60=, 0
+ return $pop60
.LBB1_31: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -218,7 +335,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 4
+ .p2align 4
x:
.int64 4621819117588971520 # double 10
.int64 4622382067542392832 # double 11
@@ -276,7 +393,7 @@ x:
.type tmp,@object
.section .bss.tmp,"aw",@nobits
.globl tmp
- .align 4
+ .p2align 4
tmp:
.skip 240
.size tmp, 240
diff --git a/test/torture-s/pr36034-2.c.s b/test/torture-s/pr36034-2.c.s
index 3b44019d3..0de6e9804 100644
--- a/test/torture-s/pr36034-2.c.s
+++ b/test/torture-s/pr36034-2.c.s
@@ -5,49 +5,42 @@
.globl test
.type test,@function
test: # @test
- .local i32, i64, i32, i32, i64, i32, i32
+ .local i64, i64, i64, i32, i32
# BB#0: # %entry
- i32.const $6=, 0
- i32.const $5=, tmp
+ i32.const $4=, 0
+ i32.const $3=, tmp
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $push0=, x
- i32.add $0=, $pop0, $6
- i32.const $2=, 8
- i64.load $1=, 0($0)
- i32.add $push3=, $5, $2
- i32.add $push1=, $0, $2
- i64.load $push2=, 0($pop1)
- i64.store $discard=, 0($pop3), $pop2
- i32.const $2=, 16
- i32.const $3=, 24
- i32.add $push7=, $0, $3
- i64.load $4=, 0($pop7)
- i32.add $push6=, $5, $2
- i32.add $push4=, $0, $2
- i64.load $push5=, 0($pop4)
- i64.store $discard=, 0($pop6), $pop5
- i32.add $push8=, $5, $3
- i64.store $discard=, 0($pop8), $4
- i32.const $2=, 32
- i32.const $3=, 40
- i32.add $push12=, $0, $3
- i64.load $4=, 0($pop12)
- i32.add $push11=, $5, $2
- i32.add $push9=, $0, $2
- i64.load $push10=, 0($pop9)
- i64.store $discard=, 0($pop11), $pop10
- i32.add $push13=, $5, $3
- i64.store $discard=, 0($pop13), $4
- i32.const $push14=, 80
- i32.add $6=, $6, $pop14
- i64.store $discard=, 0($5), $1
- i32.const $push15=, 48
- i32.add $5=, $5, $pop15
- i32.const $push16=, 400
- i32.ne $push17=, $6, $pop16
- br_if $pop17, 0 # 0: up to label0
+ i64.load $0=, x($4):p2align=4
+ i64.load $1=, x+16($4):p2align=4
+ i32.const $push14=, 8
+ i32.add $push1=, $3, $pop14
+ i64.load $push0=, x+8($4)
+ i64.store $discard=, 0($pop1), $pop0
+ i64.load $2=, x+24($4)
+ i32.const $push13=, 16
+ i32.add $push2=, $3, $pop13
+ i64.store $discard=, 0($pop2):p2align=4, $1
+ i64.load $1=, x+32($4):p2align=4
+ i32.const $push12=, 24
+ i32.add $push3=, $3, $pop12
+ i64.store $discard=, 0($pop3), $2
+ i64.load $2=, x+40($4)
+ i32.const $push11=, 32
+ i32.add $push4=, $3, $pop11
+ i64.store $discard=, 0($pop4):p2align=4, $1
+ i32.const $push10=, 40
+ i32.add $push5=, $3, $pop10
+ i64.store $discard=, 0($pop5), $2
+ i64.store $discard=, 0($3):p2align=4, $0
+ i32.const $push9=, 80
+ i32.add $4=, $4, $pop9
+ i32.const $push8=, 48
+ i32.add $3=, $3, $pop8
+ i32.const $push7=, 400
+ i32.ne $push6=, $4, $pop7
+ br_if $pop6, 0 # 0: up to label0
# BB#2: # %for.end
end_loop # label1:
return
@@ -61,67 +54,72 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local f64, i32, i32
+ .local i32, i32
# BB#0: # %entry
call test@FUNCTION
- i32.const $2=, 0
- i32.const $1=, tmp
+ i32.const $1=, 0
+ i32.const $0=, tmp
.LBB1_1: # %for.cond1.preheader
# =>This Inner Loop Header: Depth=1
block
loop # label3:
- f64.const $0=, -0x1p0
- f64.load $push0=, 0($1)
- f64.eq $push1=, $pop0, $0
+ f64.load $push0=, 0($0):p2align=4
+ f64.const $push19=, -0x1p0
+ f64.eq $push1=, $pop0, $pop19
br_if $pop1, 2 # 2: down to label2
# BB#2: # %for.cond1
# in Loop: Header=BB1_1 Depth=1
- i32.const $push2=, 8
- i32.add $push3=, $1, $pop2
- f64.load $push4=, 0($pop3)
- f64.eq $push5=, $pop4, $0
- br_if $pop5, 2 # 2: down to label2
+ i32.const $push21=, 8
+ i32.add $push2=, $0, $pop21
+ f64.load $push3=, 0($pop2)
+ f64.const $push20=, -0x1p0
+ f64.eq $push4=, $pop3, $pop20
+ br_if $pop4, 2 # 2: down to label2
# BB#3: # %for.cond1.1
# in Loop: Header=BB1_1 Depth=1
- i32.const $push6=, 16
- i32.add $push7=, $1, $pop6
- f64.load $push8=, 0($pop7)
- f64.eq $push9=, $pop8, $0
- br_if $pop9, 2 # 2: down to label2
+ i32.const $push23=, 16
+ i32.add $push5=, $0, $pop23
+ f64.load $push6=, 0($pop5):p2align=4
+ f64.const $push22=, -0x1p0
+ f64.eq $push7=, $pop6, $pop22
+ br_if $pop7, 2 # 2: down to label2
# BB#4: # %for.cond1.2
# in Loop: Header=BB1_1 Depth=1
- i32.const $push10=, 24
- i32.add $push11=, $1, $pop10
- f64.load $push12=, 0($pop11)
- f64.eq $push13=, $pop12, $0
- br_if $pop13, 2 # 2: down to label2
+ i32.const $push25=, 24
+ i32.add $push8=, $0, $pop25
+ f64.load $push9=, 0($pop8)
+ f64.const $push24=, -0x1p0
+ f64.eq $push10=, $pop9, $pop24
+ br_if $pop10, 2 # 2: down to label2
# BB#5: # %for.cond1.3
# in Loop: Header=BB1_1 Depth=1
- i32.const $push14=, 32
- i32.add $push15=, $1, $pop14
- f64.load $push16=, 0($pop15)
- f64.eq $push17=, $pop16, $0
- br_if $pop17, 2 # 2: down to label2
+ i32.const $push27=, 32
+ i32.add $push11=, $0, $pop27
+ f64.load $push12=, 0($pop11):p2align=4
+ f64.const $push26=, -0x1p0
+ f64.eq $push13=, $pop12, $pop26
+ br_if $pop13, 2 # 2: down to label2
# BB#6: # %for.cond1.4
# in Loop: Header=BB1_1 Depth=1
- i32.const $push18=, 40
- i32.add $push19=, $1, $pop18
- f64.load $push20=, 0($pop19)
- f64.eq $push21=, $pop20, $0
- br_if $pop21, 2 # 2: down to label2
+ i32.const $push29=, 40
+ i32.add $push14=, $0, $pop29
+ f64.load $push15=, 0($pop14)
+ f64.const $push28=, -0x1p0
+ f64.eq $push16=, $pop15, $pop28
+ br_if $pop16, 2 # 2: down to label2
# BB#7: # %for.cond1.5
# in Loop: Header=BB1_1 Depth=1
- i32.const $push22=, 1
- i32.add $2=, $2, $pop22
- i32.const $push23=, 48
- i32.add $1=, $1, $pop23
- i32.const $push24=, 5
- i32.lt_s $push25=, $2, $pop24
- br_if $pop25, 0 # 0: up to label3
+ i32.const $push32=, 1
+ i32.add $1=, $1, $pop32
+ i32.const $push31=, 48
+ i32.add $0=, $0, $pop31
+ i32.const $push30=, 5
+ i32.lt_s $push17=, $1, $pop30
+ br_if $pop17, 0 # 0: up to label3
# BB#8: # %for.end7
end_loop # label4:
- i32.const $push26=, 0
- return $pop26
+ i32.const $push18=, 0
+ return $pop18
.LBB1_9: # %if.then
end_block # label2:
call abort@FUNCTION
@@ -134,7 +132,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 4
+ .p2align 4
x:
.int64 4621819117588971520 # double 10
.int64 4622382067542392832 # double 11
@@ -192,7 +190,7 @@ x:
.type tmp,@object
.section .bss.tmp,"aw",@nobits
.globl tmp
- .align 4
+ .p2align 4
tmp:
.skip 240
.size tmp, 240
diff --git a/test/torture-s/pr36038.c.s b/test/torture-s/pr36038.c.s
index e52ae37a8..5a2728a6a 100644
--- a/test/torture-s/pr36038.c.s
+++ b/test/torture-s/pr36038.c.s
@@ -5,42 +5,47 @@
.globl doit
.type doit,@function
doit: # @doit
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, 0
- i32.load $0=, markstack_ptr($5)
block
- i32.const $push2=, -4
- i32.add $push3=, $0, $pop2
- i32.load $1=, 0($pop3)
- i32.const $push4=, 6
- i32.eq $push5=, $1, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push19=, 0
+ i32.load $push0=, markstack_ptr($pop19)
+ tee_local $push18=, $3=, $pop0
+ i32.const $push4=, -4
+ i32.add $push5=, $pop18, $pop4
+ i32.load $push1=, 0($pop5)
+ tee_local $push17=, $0=, $pop1
+ i32.const $push6=, 6
+ i32.eq $push7=, $pop17, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %while.body.preheader
- i32.load $push0=, stack_base($5)
- i32.const $push1=, 40
- i32.add $5=, $pop0, $pop1
- i32.const $2=, -8
- i32.const $push8=, -6
- i32.add $4=, $1, $pop8
- i32.const $3=, 3
- i32.add $push6=, $0, $2
- i32.load $push7=, 0($pop6)
- i32.shl $push9=, $pop7, $3
- i32.shl $push10=, $1, $3
- i32.sub $1=, $pop9, $pop10
+ i32.const $push22=, 0
+ i32.load $push2=, stack_base($pop22)
+ i32.const $push3=, 40
+ i32.add $2=, $pop2, $pop3
+ i32.const $push10=, -6
+ i32.add $1=, $0, $pop10
+ i32.const $push21=, -8
+ i32.add $push8=, $3, $pop21
+ i32.load $push9=, 0($pop8)
+ i32.const $push11=, 3
+ i32.shl $push12=, $pop9, $pop11
+ i32.const $push20=, 3
+ i32.shl $push13=, $0, $pop20
+ i32.sub $0=, $pop12, $pop13
.LBB0_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.add $push12=, $5, $1
- i32.const $push13=, 16
- i32.add $push14=, $pop12, $pop13
- i64.load $push11=, 0($5)
- i64.store $discard=, 0($pop14), $pop11
- i32.add $5=, $5, $2
- i32.const $push15=, 1
- i32.add $4=, $4, $pop15
- br_if $4, 0 # 0: up to label1
+ i32.add $push15=, $2, $0
+ i32.const $push25=, 16
+ i32.add $push16=, $pop15, $pop25
+ i64.load $push14=, 0($2)
+ i64.store $discard=, 0($pop16), $pop14
+ i32.const $push24=, -8
+ i32.add $2=, $2, $pop24
+ i32.const $push23=, 1
+ i32.add $1=, $1, $pop23
+ br_if $1, 0 # 0: up to label1
.LBB0_3: # %while.end
end_loop # label2:
end_block # label0:
@@ -55,44 +60,57 @@ doit: # @doit
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
+ i32.const $push31=, 0
i32.const $push8=, indices+36
- i32.store $discard=, markstack_ptr($0), $pop8
+ i32.store $discard=, markstack_ptr($pop31), $pop8
+ i32.const $push30=, 0
i32.const $push9=, 2
- i32.store $discard=, indices+32($0), $pop9
+ i32.store $discard=, indices+32($pop30):p2align=4, $pop9
+ i32.const $push29=, 0
i32.const $push10=, 1
- i32.store $discard=, indices+28($0), $pop10
+ i32.store $discard=, indices+28($pop29), $pop10
+ i32.const $push28=, 0
i32.const $push11=, list+16
- i32.store $discard=, stack_base($0), $pop11
+ i32.store $discard=, stack_base($pop28), $pop11
+ i32.const $push27=, 0
i64.const $push0=, 0
- i64.store $discard=, list($0), $pop0
+ i64.store $discard=, list($pop27):p2align=4, $pop0
+ i32.const $push26=, 0
i64.const $push2=, 1
- i64.store $discard=, list+8($0), $pop2
+ i64.store $discard=, list+8($pop26), $pop2
+ i32.const $push25=, 0
i64.const $push3=, 2
- i64.store $discard=, list+16($0), $pop3
+ i64.store $discard=, list+16($pop25):p2align=4, $pop3
+ i32.const $push24=, 0
i64.const $push4=, 3
- i64.store $discard=, list+24($0), $pop4
+ i64.store $discard=, list+24($pop24), $pop4
+ i32.const $push23=, 0
i64.const $push7=, 9
- i64.store $discard=, list+72($0), $pop7
+ i64.store $discard=, list+72($pop23), $pop7
+ i32.const $push22=, 0
i64.const $push12=, 7
- i64.store $discard=, list+64($0), $pop12
+ i64.store $discard=, list+64($pop22):p2align=4, $pop12
+ i32.const $push21=, 0
i64.const $push13=, 6
- i64.store $discard=, list+56($0), $pop13
+ i64.store $discard=, list+56($pop21), $pop13
+ i32.const $push20=, 0
i64.const $push14=, 5
- i64.store $discard=, list+48($0), $pop14
+ i64.store $discard=, list+48($pop20):p2align=4, $pop14
+ i32.const $push19=, 0
+ i32.const $push18=, 0
i64.const $push5=, 4
- i64.store $push6=, list+32($0), $pop5
- i64.store $discard=, list+40($0), $pop6
+ i64.store $push6=, list+32($pop18):p2align=4, $pop5
+ i64.store $discard=, list+40($pop19), $pop6
+ block
i32.const $push15=, expect
i32.const $push1=, list
i32.const $push16=, 80
i32.call $push17=, memcmp@FUNCTION, $pop15, $pop1, $pop16
br_if $pop17, 0 # 0: down to label3
# BB#1: # %if.end
- return $0
+ i32.const $push32=, 0
+ return $pop32
.LBB1_2: # %if.then
end_block # label3:
call abort@FUNCTION
@@ -105,7 +123,7 @@ main: # @main
.type expect,@object
.section .data.expect,"aw",@progbits
.globl expect
- .align 4
+ .p2align 4
expect:
.int64 0 # 0x0
.int64 1 # 0x1
@@ -123,7 +141,7 @@ expect:
.type stack_base,@object
.section .bss.stack_base,"aw",@nobits
.globl stack_base
- .align 2
+ .p2align 2
stack_base:
.int32 0
.size stack_base, 4
@@ -132,7 +150,7 @@ stack_base:
.type markstack_ptr,@object
.section .bss.markstack_ptr,"aw",@nobits
.globl markstack_ptr
- .align 2
+ .p2align 2
markstack_ptr:
.int32 0
.size markstack_ptr, 4
@@ -141,7 +159,7 @@ markstack_ptr:
.type list,@object
.section .bss.list,"aw",@nobits
.globl list
- .align 4
+ .p2align 4
list:
.skip 80
.size list, 80
@@ -150,7 +168,7 @@ list:
.type indices,@object
.section .bss.indices,"aw",@nobits
.globl indices
- .align 4
+ .p2align 4
indices:
.skip 40
.size indices, 40
diff --git a/test/torture-s/pr36093.c.s b/test/torture-s/pr36093.c.s
index 31b2469d9..6b9e2f8d3 100644
--- a/test/torture-s/pr36093.c.s
+++ b/test/torture-s/pr36093.c.s
@@ -6,67 +6,25 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
-# BB#0: # %entry
- i32.const $3=, -129
-.LBB0_1: # %for.body4
- # =>This Inner Loop Header: Depth=1
- loop # label0:
- i32.const $0=, foo
- i32.const $2=, 129
- i32.add $push0=, $0, $3
- i32.add $push1=, $pop0, $2
+# BB#0: # %if.end
+ i32.const $push0=, foo
i32.const $push2=, 97
- i32.store8 $discard=, 0($pop1), $pop2
- i32.const $1=, 1
- i32.add $3=, $3, $1
- br_if $3, 0 # 0: up to label0
-.LBB0_2: # %for.body4.1
- # =>This Inner Loop Header: Depth=1
- end_loop # label1:
- loop # label2:
- i32.add $push3=, $0, $2
- i32.const $push4=, 98
- i32.store8 $discard=, 0($pop3), $pop4
- i32.add $2=, $2, $1
- i32.const $3=, 258
- i32.ne $push5=, $2, $3
- br_if $pop5, 0 # 0: up to label2
-.LBB0_3: # %for.body4.2
- # =>This Inner Loop Header: Depth=1
- end_loop # label3:
- loop # label4:
- i32.add $push6=, $0, $3
- i32.const $push7=, 99
- i32.store8 $discard=, 0($pop6), $pop7
- i32.add $3=, $3, $1
- i32.const $2=, 387
- i32.ne $push8=, $3, $2
- br_if $pop8, 0 # 0: up to label4
-.LBB0_4: # %for.body4.3
- # =>This Inner Loop Header: Depth=1
- end_loop # label5:
- loop # label6:
- i32.add $push9=, $0, $2
- i32.const $push10=, 100
- i32.store8 $3=, 0($pop9), $pop10
- i32.add $2=, $2, $1
- i32.const $push11=, 516
- i32.ne $push12=, $2, $pop11
- br_if $pop12, 0 # 0: up to label6
-# BB#5: # %for.end.3
- end_loop # label7:
- i32.const $2=, 0
- block
- i32.load8_u $push13=, foo+515($2)
- i32.ne $push14=, $pop13, $3
- br_if $pop14, 0 # 0: down to label8
-# BB#6: # %if.end
- return $2
-.LBB0_7: # %if.then
- end_block # label8:
- call abort@FUNCTION
- unreachable
+ i32.const $push1=, 129
+ i32.call $discard=, memset@FUNCTION, $pop0, $pop2, $pop1
+ i32.const $push4=, foo+129
+ i32.const $push3=, 98
+ i32.const $push12=, 129
+ i32.call $discard=, memset@FUNCTION, $pop4, $pop3, $pop12
+ i32.const $push6=, foo+258
+ i32.const $push5=, 99
+ i32.const $push11=, 129
+ i32.call $discard=, memset@FUNCTION, $pop6, $pop5, $pop11
+ i32.const $push8=, foo+387
+ i32.const $push7=, 100
+ i32.const $push10=, 129
+ i32.call $discard=, memset@FUNCTION, $pop8, $pop7, $pop10
+ i32.const $push9=, 0
+ return $pop9
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -75,7 +33,7 @@ main: # @main
.type foo,@object
.section .bss.foo,"aw",@nobits
.globl foo
- .align 7
+ .p2align 7
foo:
.skip 2560
.size foo, 2560
diff --git a/test/torture-s/pr36321.c.s b/test/torture-s/pr36321.c.s
index cf6b13eda..7e7d00013 100644
--- a/test/torture-s/pr36321.c.s
+++ b/test/torture-s/pr36321.c.s
@@ -19,18 +19,18 @@ foo: # @foo
main: # @main
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.load $discard=, argp($2)
- return $2
+ i32.const $push0=, 0
+ i32.load $discard=, argp($pop0)
+ i32.const $push1=, 0
+ return $pop1
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
.type argp,@object # @argp
.section .data.argp,"aw",@progbits
- .align 2
+ .p2align 2
argp:
.int32 .L.str
.size argp, 4
diff --git a/test/torture-s/pr36339.c.s b/test/torture-s/pr36339.c.s
index 22ec07748..f7b4f7e14 100644
--- a/test/torture-s/pr36339.c.s
+++ b/test/torture-s/pr36339.c.s
@@ -12,21 +12,21 @@ try_a: # @try_a
i32.const $1=, __stack_pointer
i32.load $1=, 0($1)
i32.const $2=, 16
- i32.sub $4=, $1, $2
+ i32.sub $5=, $1, $2
i32.const $2=, __stack_pointer
- i32.store $4=, 0($2), $4
- i32.store $discard=, 8($4), $0
+ i32.store $5=, 0($2), $5
+ i32.store $discard=, 8($5), $0
i32.const $push0=, 0
- i32.store $discard=, 12($4), $pop0
+ i32.store $discard=, 12($5), $pop0
i32.const $push1=, 1
i32.const $4=, 8
- i32.add $4=, $4, $4
+ i32.add $4=, $5, $4
i32.or $push2=, $4, $pop1
i32.call $push3=, check_a@FUNCTION, $pop2
i32.const $3=, 16
- i32.add $4=, $4, $3
+ i32.add $5=, $5, $3
i32.const $3=, __stack_pointer
- i32.store $4=, 0($3), $4
+ i32.store $5=, 0($3), $5
return $pop3
.endfunc
.Lfunc_end0:
@@ -39,28 +39,28 @@ try_a: # @try_a
check_a: # @check_a
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, -1
block
block
- i32.add $push0=, $0, $1
- i32.load $push1=, 0($pop0)
- i32.const $push2=, 42
- i32.ne $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label1
+ i32.const $push0=, -1
+ i32.add $push1=, $0, $pop0
+ i32.load $push2=, 0($pop1)
+ i32.const $push3=, 42
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label1
# BB#1: # %land.lhs.true
- i32.const $2=, 0
- i32.load $push4=, 3($0)
- i32.const $push5=, 0
- i32.eq $push6=, $pop4, $pop5
- br_if $pop6, 1 # 1: down to label0
+ i32.const $1=, 0
+ i32.load $push5=, 3($0)
+ i32.const $push6=, 0
+ i32.eq $push7=, $pop5, $pop6
+ br_if $pop7, 1 # 1: down to label0
.LBB1_2: # %if.end
end_block # label1:
- copy_local $2=, $1
+ i32.const $1=, -1
.LBB1_3: # %cleanup
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end1:
.size check_a, .Lfunc_end1-check_a
diff --git a/test/torture-s/pr36343.c.s b/test/torture-s/pr36343.c.s
index 18942a00a..b8def118d 100644
--- a/test/torture-s/pr36343.c.s
+++ b/test/torture-s/pr36343.c.s
@@ -21,44 +21,45 @@ bar: # @bar
foo: # @foo
.param i32
.result f32
- .local i32, f32, i32, i32, i32, i32, i32, i32
+ .local f32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $3=, __stack_pointer
i32.load $3=, 0($3)
i32.const $4=, 16
- i32.sub $7=, $3, $4
+ i32.sub $8=, $3, $4
i32.const $4=, __stack_pointer
- i32.store $7=, 0($4), $7
- i32.const $push0=, 0
- i32.store $discard=, 12($7), $pop0
+ i32.store $8=, 0($4), $8
+ i32.const $push1=, 0
+ i32.store $discard=, 12($8), $pop1
+ i32.const $push2=, 1065353216
+ i32.store $discard=, 8($8), $pop2
i32.const $6=, 12
- i32.add $6=, $7, $6
+ i32.add $6=, $8, $6
i32.const $7=, 8
- i32.add $7=, $7, $7
- i32.select $1=, $0, $6, $7
- i32.const $push1=, 1065353216
- i32.store $discard=, 8($7), $pop1
- call bar@FUNCTION, $1
+ i32.add $7=, $8, $7
+ i32.select $push0=, $0, $6, $7
+ tee_local $push5=, $2=, $pop0
+ call bar@FUNCTION, $pop5
block
block
- i32.const $push4=, 0
- i32.eq $push5=, $0, $pop4
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push6=, 0
+ i32.eq $push7=, $0, $pop6
+ br_if $pop7, 0 # 0: down to label1
# BB#1: # %if.then2
- i32.load $push2=, 0($1)
- i32.load $push3=, 0($pop2)
- f32.convert_s/i32 $2=, $pop3
+ i32.load $push3=, 0($2)
+ i32.load $push4=, 0($pop3)
+ f32.convert_s/i32 $1=, $pop4
br 1 # 1: down to label0
.LBB1_2: # %if.end3
end_block # label1:
- f32.load $2=, 8($7)
+ f32.load $1=, 8($8)
.LBB1_3: # %cleanup
end_block # label0:
i32.const $5=, 16
- i32.add $7=, $7, $5
+ i32.add $8=, $8, $5
i32.const $5=, __stack_pointer
- i32.store $7=, 0($5), $7
- return $2
+ i32.store $8=, 0($5), $8
+ return $1
.endfunc
.Lfunc_end1:
.size foo, .Lfunc_end1-foo
@@ -69,16 +70,16 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- f32.call $push0=, foo@FUNCTION, $0
+ i32.const $push3=, 0
+ f32.call $push0=, foo@FUNCTION, $pop3
f32.const $push1=, 0x0p0
f32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label2
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB2_2: # %if.then
end_block # label2:
call abort@FUNCTION
diff --git a/test/torture-s/pr36691.c.s b/test/torture-s/pr36691.c.s
index a5b580162..655d352f1 100644
--- a/test/torture-s/pr36691.c.s
+++ b/test/torture-s/pr36691.c.s
@@ -5,10 +5,10 @@
.globl func_1
.type func_1,@function
func_1: # @func_1
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.store8 $discard=, g_5($0), $0
+ i32.const $push0=, 0
+ i32.const $push1=, 0
+ i32.store8 $discard=, g_5($pop0), $pop1
return
.endfunc
.Lfunc_end0:
@@ -20,11 +20,11 @@ func_1: # @func_1
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.store8 $push0=, g_5($0), $0
- return $pop0
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store8 $push1=, g_5($pop0), $pop2
+ return $pop1
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
diff --git a/test/torture-s/pr36765.c.s b/test/torture-s/pr36765.c.s
index 0405c08db..8f82c5133 100644
--- a/test/torture-s/pr36765.c.s
+++ b/test/torture-s/pr36765.c.s
@@ -10,16 +10,17 @@ foo: # @foo
.local i32
# BB#0: # %entry
i32.const $push0=, 16
- i32.call $1=, __builtin_malloc@FUNCTION, $pop0
- i32.const $push1=, 0
- i32.store $discard=, 0($1), $pop1
- i32.const $push2=, 2
- i32.shl $push3=, $0, $pop2
- i32.add $push4=, $1, $pop3
- i32.const $push5=, 1
- i32.store $discard=, 0($pop4), $pop5
- i32.load $push6=, 0($1)
- return $pop6
+ i32.call $push1=, __builtin_malloc@FUNCTION, $pop0
+ tee_local $push8=, $1=, $pop1
+ i32.const $push2=, 0
+ i32.store $discard=, 0($pop8), $pop2
+ i32.const $push3=, 2
+ i32.shl $push4=, $0, $pop3
+ i32.add $push5=, $1, $pop4
+ i32.const $push6=, 1
+ i32.store $discard=, 0($pop5), $pop6
+ i32.load $push7=, 0($1)
+ return $pop7
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -30,16 +31,16 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.call $push0=, foo@FUNCTION, $0
+ i32.const $push3=, 0
+ i32.call $push0=, foo@FUNCTION, $pop3
i32.const $push1=, 1
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/pr37102.c.s b/test/torture-s/pr37102.c.s
index a382b43b2..064c1753c 100644
--- a/test/torture-s/pr37102.c.s
+++ b/test/torture-s/pr37102.c.s
@@ -27,29 +27,35 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, b($0)
+ i32.const $push10=, 0
+ i32.load $0=, b($pop10)
block
- i32.load $push0=, c($0)
- i32.const $push8=, 0
- i32.eq $push9=, $pop0, $pop8
- br_if $pop9, 0 # 0: down to label1
+ i32.const $push9=, 0
+ i32.load $push0=, c($pop9)
+ i32.const $push16=, 0
+ i32.eq $push17=, $pop0, $pop16
+ br_if $pop17, 0 # 0: down to label1
# BB#1: # %if.then.3
- i32.store $discard=, a($0), $1
+ i32.const $push11=, 0
+ i32.store $discard=, a($pop11), $0
.LBB1_2: # %for.inc.3
end_block # label1:
- i32.store $discard=, a($0), $1
- i32.const $push1=, 2147483647
- i32.and $push2=, $1, $pop1
- i32.const $push3=, 2
- i32.shl $push4=, $1, $pop3
- i32.const $push5=, 1
- i32.or $push6=, $pop4, $pop5
- i32.select $push7=, $pop2, $pop6, $0
- call foo@FUNCTION, $pop7
- return $0
+ i32.const $push15=, 0
+ i32.store $push1=, a($pop15), $0
+ tee_local $push14=, $0=, $pop1
+ i32.const $push2=, 2147483647
+ i32.and $push3=, $pop14, $pop2
+ i32.const $push4=, 2
+ i32.shl $push5=, $0, $pop4
+ i32.const $push6=, 1
+ i32.or $push7=, $pop5, $pop6
+ i32.const $push13=, 0
+ i32.select $push8=, $pop3, $pop7, $pop13
+ call foo@FUNCTION, $pop8
+ i32.const $push12=, 0
+ return $pop12
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -58,7 +64,7 @@ main: # @main
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 1 # 0x1
.size b, 4
@@ -67,7 +73,7 @@ b:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -76,7 +82,7 @@ c:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
diff --git a/test/torture-s/pr37125.c.s b/test/torture-s/pr37125.c.s
index b1792c61b..535fca212 100644
--- a/test/torture-s/pr37125.c.s
+++ b/test/torture-s/pr37125.c.s
@@ -6,15 +6,15 @@
.type func_44,@function
func_44: # @func_44
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, -9
block
- i32.mul $push0=, $0, $1
- i32.rem_u $push1=, $pop0, $1
- i32.const $push2=, 0
- i32.eq $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push0=, -9
+ i32.mul $push1=, $0, $pop0
+ i32.const $push3=, -9
+ i32.rem_u $push2=, $pop1, $pop3
+ i32.const $push4=, 0
+ i32.eq $push5=, $pop2, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
return
.LBB0_2: # %if.then
diff --git a/test/torture-s/pr37573.c.s b/test/torture-s/pr37573.c.s
index ace896219..3ed1dfdb3 100644
--- a/test/torture-s/pr37573.c.s
+++ b/test/torture-s/pr37573.c.s
@@ -28,192 +28,238 @@ main: # @main
.section .text.bar,"ax",@progbits
.type bar,@function
bar: # @bar
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, __stack_pointer
- i32.load $5=, 0($5)
- i32.const $6=, 2512
- i32.sub $34=, $5, $6
- i32.const $6=, __stack_pointer
- i32.store $34=, 0($6), $34
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 2512
+ i32.sub $32=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $32=, 0($4), $32
i32.const $push2=, 8
- i32.const $8=, 8
- i32.add $8=, $34, $8
- i32.add $push3=, $8, $pop2
+ i32.const $6=, 8
+ i32.add $6=, $32, $6
+ i32.add $push3=, $6, $pop2
i32.const $push1=, 41589
- i32.store $3=, 0($pop3), $pop1
- i32.const $0=, 1
+ i32.store $1=, 0($pop3):p2align=3, $pop1
i32.const $push4=, 12
- i32.const $9=, 8
- i32.add $9=, $34, $9
- i32.add $2=, $9, $pop4
- copy_local $4=, $0
+ i32.const $7=, 8
+ i32.add $7=, $32, $7
+ i32.add $0=, $7, $pop4
+ i32.const $2=, 1
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push5=, 30
- i32.shr_u $push6=, $3, $pop5
- i32.xor $push7=, $pop6, $3
- i32.const $push8=, 1812433253
- i32.mul $push9=, $pop7, $pop8
- i32.add $push0=, $pop9, $4
- i32.store $3=, 0($2), $pop0
- i32.add $4=, $4, $0
- i32.const $1=, 4
- i32.add $2=, $2, $1
- i32.const $push10=, 624
- i32.ne $push11=, $4, $pop10
- br_if $pop11, 0 # 0: up to label1
+ i32.const $push86=, 30
+ i32.shr_u $push5=, $1, $pop86
+ i32.xor $push6=, $pop5, $1
+ i32.const $push85=, 1812433253
+ i32.mul $push7=, $pop6, $pop85
+ i32.add $push0=, $pop7, $2
+ i32.store $1=, 0($0), $pop0
+ i32.const $push84=, 1
+ i32.add $2=, $2, $pop84
+ i32.const $push83=, 4
+ i32.add $0=, $0, $pop83
+ i32.const $push82=, 624
+ i32.ne $push8=, $2, $pop82
+ br_if $pop8, 0 # 0: up to label1
# BB#2: # %for.end
end_loop # label2:
+ i32.const $push9=, 4
+ i32.const $8=, 8
+ i32.add $8=, $32, $8
+ i32.or $push10=, $8, $pop9
+ i32.const $push11=, 1
+ i32.store $discard=, 0($pop10), $pop11
+ i32.const $push13=, 0
+ i32.const $push131=, 0
+ i32.load8_u $push14=, p($pop131):p2align=4
+ i32.const $9=, 8
+ i32.add $9=, $32, $9
+ i32.call $push12=, foo@FUNCTION, $9
+ i32.xor $push15=, $pop14, $pop12
+ i32.store8 $discard=, p($pop13):p2align=4, $pop15
+ i32.const $push130=, 0
+ i32.const $push129=, 0
+ i32.load8_u $push17=, p+1($pop129)
i32.const $10=, 8
- i32.add $10=, $34, $10
- i32.or $push12=, $10, $1
- i32.const $push13=, 1
- i32.store $discard=, 0($pop12), $pop13
+ i32.add $10=, $32, $10
+ i32.call $push16=, foo@FUNCTION, $10
+ i32.xor $push18=, $pop17, $pop16
+ i32.store8 $discard=, p+1($pop130), $pop18
+ i32.const $push128=, 0
+ i32.const $push127=, 0
+ i32.load8_u $push20=, p+2($pop127):p2align=1
i32.const $11=, 8
- i32.add $11=, $34, $11
- i32.call $3=, foo@FUNCTION, $11
- i32.const $4=, 0
- i32.load8_u $push14=, p($4)
- i32.xor $push15=, $pop14, $3
- i32.store8 $discard=, p($4), $pop15
+ i32.add $11=, $32, $11
+ i32.call $push19=, foo@FUNCTION, $11
+ i32.xor $push21=, $pop20, $pop19
+ i32.store8 $discard=, p+2($pop128):p2align=1, $pop21
+ i32.const $push126=, 0
+ i32.const $push125=, 0
+ i32.load8_u $push23=, p+3($pop125)
i32.const $12=, 8
- i32.add $12=, $34, $12
- i32.call $3=, foo@FUNCTION, $12
- i32.load8_u $push16=, p+1($4)
- i32.xor $push17=, $pop16, $3
- i32.store8 $discard=, p+1($4), $pop17
+ i32.add $12=, $32, $12
+ i32.call $push22=, foo@FUNCTION, $12
+ i32.xor $push24=, $pop23, $pop22
+ i32.store8 $discard=, p+3($pop126), $pop24
+ i32.const $push124=, 0
+ i32.const $push123=, 0
+ i32.load8_u $push26=, p+4($pop123):p2align=2
i32.const $13=, 8
- i32.add $13=, $34, $13
- i32.call $3=, foo@FUNCTION, $13
- i32.load8_u $push18=, p+2($4)
- i32.xor $push19=, $pop18, $3
- i32.store8 $discard=, p+2($4), $pop19
+ i32.add $13=, $32, $13
+ i32.call $push25=, foo@FUNCTION, $13
+ i32.xor $push27=, $pop26, $pop25
+ i32.store8 $discard=, p+4($pop124):p2align=2, $pop27
+ i32.const $push122=, 0
+ i32.const $push121=, 0
+ i32.load8_u $push29=, p+5($pop121)
i32.const $14=, 8
- i32.add $14=, $34, $14
- i32.call $3=, foo@FUNCTION, $14
- i32.load8_u $push20=, p+3($4)
- i32.xor $push21=, $pop20, $3
- i32.store8 $discard=, p+3($4), $pop21
+ i32.add $14=, $32, $14
+ i32.call $push28=, foo@FUNCTION, $14
+ i32.xor $push30=, $pop29, $pop28
+ i32.store8 $discard=, p+5($pop122), $pop30
+ i32.const $push120=, 0
+ i32.const $push119=, 0
+ i32.load8_u $push32=, p+6($pop119):p2align=1
i32.const $15=, 8
- i32.add $15=, $34, $15
- i32.call $3=, foo@FUNCTION, $15
- i32.load8_u $push22=, p+4($4)
- i32.xor $push23=, $pop22, $3
- i32.store8 $discard=, p+4($4), $pop23
+ i32.add $15=, $32, $15
+ i32.call $push31=, foo@FUNCTION, $15
+ i32.xor $push33=, $pop32, $pop31
+ i32.store8 $discard=, p+6($pop120):p2align=1, $pop33
+ i32.const $push118=, 0
+ i32.const $push117=, 0
+ i32.load8_u $push35=, p+7($pop117)
i32.const $16=, 8
- i32.add $16=, $34, $16
- i32.call $3=, foo@FUNCTION, $16
- i32.load8_u $push24=, p+5($4)
- i32.xor $push25=, $pop24, $3
- i32.store8 $discard=, p+5($4), $pop25
+ i32.add $16=, $32, $16
+ i32.call $push34=, foo@FUNCTION, $16
+ i32.xor $push36=, $pop35, $pop34
+ i32.store8 $discard=, p+7($pop118), $pop36
+ i32.const $push116=, 0
+ i32.const $push115=, 0
+ i32.load8_u $push38=, p+8($pop115):p2align=3
i32.const $17=, 8
- i32.add $17=, $34, $17
- i32.call $3=, foo@FUNCTION, $17
- i32.load8_u $push26=, p+6($4)
- i32.xor $push27=, $pop26, $3
- i32.store8 $discard=, p+6($4), $pop27
+ i32.add $17=, $32, $17
+ i32.call $push37=, foo@FUNCTION, $17
+ i32.xor $push39=, $pop38, $pop37
+ i32.store8 $discard=, p+8($pop116):p2align=3, $pop39
+ i32.const $push114=, 0
+ i32.const $push113=, 0
+ i32.load8_u $push41=, p+9($pop113)
i32.const $18=, 8
- i32.add $18=, $34, $18
- i32.call $3=, foo@FUNCTION, $18
- i32.load8_u $push28=, p+7($4)
- i32.xor $push29=, $pop28, $3
- i32.store8 $discard=, p+7($4), $pop29
+ i32.add $18=, $32, $18
+ i32.call $push40=, foo@FUNCTION, $18
+ i32.xor $push42=, $pop41, $pop40
+ i32.store8 $discard=, p+9($pop114), $pop42
+ i32.const $push112=, 0
+ i32.const $push111=, 0
+ i32.load8_u $push44=, p+10($pop111):p2align=1
i32.const $19=, 8
- i32.add $19=, $34, $19
- i32.call $3=, foo@FUNCTION, $19
- i32.load8_u $push30=, p+8($4)
- i32.xor $push31=, $pop30, $3
- i32.store8 $discard=, p+8($4), $pop31
+ i32.add $19=, $32, $19
+ i32.call $push43=, foo@FUNCTION, $19
+ i32.xor $push45=, $pop44, $pop43
+ i32.store8 $discard=, p+10($pop112):p2align=1, $pop45
+ i32.const $push110=, 0
+ i32.const $push109=, 0
+ i32.load8_u $push47=, p+11($pop109)
i32.const $20=, 8
- i32.add $20=, $34, $20
- i32.call $3=, foo@FUNCTION, $20
- i32.load8_u $push32=, p+9($4)
- i32.xor $push33=, $pop32, $3
- i32.store8 $discard=, p+9($4), $pop33
+ i32.add $20=, $32, $20
+ i32.call $push46=, foo@FUNCTION, $20
+ i32.xor $push48=, $pop47, $pop46
+ i32.store8 $discard=, p+11($pop110), $pop48
+ i32.const $push108=, 0
+ i32.const $push107=, 0
+ i32.load8_u $push50=, p+12($pop107):p2align=2
i32.const $21=, 8
- i32.add $21=, $34, $21
- i32.call $3=, foo@FUNCTION, $21
- i32.load8_u $push34=, p+10($4)
- i32.xor $push35=, $pop34, $3
- i32.store8 $discard=, p+10($4), $pop35
+ i32.add $21=, $32, $21
+ i32.call $push49=, foo@FUNCTION, $21
+ i32.xor $push51=, $pop50, $pop49
+ i32.store8 $discard=, p+12($pop108):p2align=2, $pop51
+ i32.const $push106=, 0
+ i32.const $push105=, 0
+ i32.load8_u $push53=, p+13($pop105)
i32.const $22=, 8
- i32.add $22=, $34, $22
- i32.call $3=, foo@FUNCTION, $22
- i32.load8_u $push36=, p+11($4)
- i32.xor $push37=, $pop36, $3
- i32.store8 $discard=, p+11($4), $pop37
+ i32.add $22=, $32, $22
+ i32.call $push52=, foo@FUNCTION, $22
+ i32.xor $push54=, $pop53, $pop52
+ i32.store8 $discard=, p+13($pop106), $pop54
+ i32.const $push104=, 0
+ i32.const $push103=, 0
+ i32.load8_u $push56=, p+14($pop103):p2align=1
i32.const $23=, 8
- i32.add $23=, $34, $23
- i32.call $3=, foo@FUNCTION, $23
- i32.load8_u $push38=, p+12($4)
- i32.xor $push39=, $pop38, $3
- i32.store8 $discard=, p+12($4), $pop39
+ i32.add $23=, $32, $23
+ i32.call $push55=, foo@FUNCTION, $23
+ i32.xor $push57=, $pop56, $pop55
+ i32.store8 $discard=, p+14($pop104):p2align=1, $pop57
+ i32.const $push102=, 0
+ i32.const $push101=, 0
+ i32.load8_u $push59=, p+15($pop101)
i32.const $24=, 8
- i32.add $24=, $34, $24
- i32.call $3=, foo@FUNCTION, $24
- i32.load8_u $push40=, p+13($4)
- i32.xor $push41=, $pop40, $3
- i32.store8 $discard=, p+13($4), $pop41
+ i32.add $24=, $32, $24
+ i32.call $push58=, foo@FUNCTION, $24
+ i32.xor $push60=, $pop59, $pop58
+ i32.store8 $discard=, p+15($pop102), $pop60
+ i32.const $push100=, 0
+ i32.const $push99=, 0
+ i32.load8_u $push62=, p+16($pop99):p2align=4
i32.const $25=, 8
- i32.add $25=, $34, $25
- i32.call $3=, foo@FUNCTION, $25
- i32.load8_u $push42=, p+14($4)
- i32.xor $push43=, $pop42, $3
- i32.store8 $discard=, p+14($4), $pop43
+ i32.add $25=, $32, $25
+ i32.call $push61=, foo@FUNCTION, $25
+ i32.xor $push63=, $pop62, $pop61
+ i32.store8 $discard=, p+16($pop100):p2align=4, $pop63
+ i32.const $push98=, 0
+ i32.const $push97=, 0
+ i32.load8_u $push65=, p+17($pop97)
i32.const $26=, 8
- i32.add $26=, $34, $26
- i32.call $3=, foo@FUNCTION, $26
- i32.load8_u $push44=, p+15($4)
- i32.xor $push45=, $pop44, $3
- i32.store8 $discard=, p+15($4), $pop45
+ i32.add $26=, $32, $26
+ i32.call $push64=, foo@FUNCTION, $26
+ i32.xor $push66=, $pop65, $pop64
+ i32.store8 $discard=, p+17($pop98), $pop66
+ i32.const $push96=, 0
+ i32.const $push95=, 0
+ i32.load8_u $push68=, p+18($pop95):p2align=1
i32.const $27=, 8
- i32.add $27=, $34, $27
- i32.call $3=, foo@FUNCTION, $27
- i32.load8_u $push46=, p+16($4)
- i32.xor $push47=, $pop46, $3
- i32.store8 $discard=, p+16($4), $pop47
+ i32.add $27=, $32, $27
+ i32.call $push67=, foo@FUNCTION, $27
+ i32.xor $push69=, $pop68, $pop67
+ i32.store8 $discard=, p+18($pop96):p2align=1, $pop69
+ i32.const $push94=, 0
+ i32.const $push93=, 0
+ i32.load8_u $push71=, p+19($pop93)
i32.const $28=, 8
- i32.add $28=, $34, $28
- i32.call $3=, foo@FUNCTION, $28
- i32.load8_u $push48=, p+17($4)
- i32.xor $push49=, $pop48, $3
- i32.store8 $discard=, p+17($4), $pop49
+ i32.add $28=, $32, $28
+ i32.call $push70=, foo@FUNCTION, $28
+ i32.xor $push72=, $pop71, $pop70
+ i32.store8 $discard=, p+19($pop94), $pop72
+ i32.const $push92=, 0
+ i32.const $push91=, 0
+ i32.load8_u $push74=, p+20($pop91):p2align=2
i32.const $29=, 8
- i32.add $29=, $34, $29
- i32.call $3=, foo@FUNCTION, $29
- i32.load8_u $push50=, p+18($4)
- i32.xor $push51=, $pop50, $3
- i32.store8 $discard=, p+18($4), $pop51
+ i32.add $29=, $32, $29
+ i32.call $push73=, foo@FUNCTION, $29
+ i32.xor $push75=, $pop74, $pop73
+ i32.store8 $discard=, p+20($pop92):p2align=2, $pop75
+ i32.const $push90=, 0
+ i32.const $push89=, 0
+ i32.load8_u $push77=, p+21($pop89)
i32.const $30=, 8
- i32.add $30=, $34, $30
- i32.call $3=, foo@FUNCTION, $30
- i32.load8_u $push52=, p+19($4)
- i32.xor $push53=, $pop52, $3
- i32.store8 $discard=, p+19($4), $pop53
+ i32.add $30=, $32, $30
+ i32.call $push76=, foo@FUNCTION, $30
+ i32.xor $push78=, $pop77, $pop76
+ i32.store8 $discard=, p+21($pop90), $pop78
+ i32.const $push88=, 0
+ i32.const $push87=, 0
+ i32.load8_u $push80=, p+22($pop87):p2align=1
i32.const $31=, 8
- i32.add $31=, $34, $31
- i32.call $3=, foo@FUNCTION, $31
- i32.load8_u $push54=, p+20($4)
- i32.xor $push55=, $pop54, $3
- i32.store8 $discard=, p+20($4), $pop55
- i32.const $32=, 8
- i32.add $32=, $34, $32
- i32.call $3=, foo@FUNCTION, $32
- i32.load8_u $push56=, p+21($4)
- i32.xor $push57=, $pop56, $3
- i32.store8 $discard=, p+21($4), $pop57
- i32.const $33=, 8
- i32.add $33=, $34, $33
- i32.call $3=, foo@FUNCTION, $33
- i32.load8_u $push58=, p+22($4)
- i32.xor $push59=, $pop58, $3
- i32.store8 $discard=, p+22($4), $pop59
- i32.const $7=, 2512
- i32.add $34=, $34, $7
- i32.const $7=, __stack_pointer
- i32.store $34=, 0($7), $34
+ i32.add $31=, $32, $31
+ i32.call $push79=, foo@FUNCTION, $31
+ i32.xor $push81=, $pop80, $pop79
+ i32.store8 $discard=, p+22($pop88):p2align=1, $pop81
+ i32.const $5=, 2512
+ i32.add $32=, $32, $5
+ i32.const $5=, __stack_pointer
+ i32.store $32=, 0($5), $32
return
.endfunc
.Lfunc_end1:
@@ -224,75 +270,83 @@ bar: # @bar
foo: # @foo
.param i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
block
- i32.load $push0=, 4($0)
- i32.const $push1=, -1
- i32.add $push2=, $pop0, $pop1
- i32.store $push3=, 4($0), $pop2
- br_if $pop3, 0 # 0: down to label3
+ i32.load $push1=, 4($0)
+ i32.const $push2=, -1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, 4($0), $pop3
+ br_if $pop4, 0 # 0: down to label3
# BB#1: # %if.then
- i32.const $3=, 8
- i32.add $push4=, $0, $3
- i32.store $discard=, 0($0), $pop4
- i32.load $7=, 8($0)
- i32.const $2=, 0
- copy_local $6=, $2
+ i32.const $push45=, 8
+ i32.add $push5=, $0, $pop45
+ i32.store $discard=, 0($0), $pop5
+ i32.load $2=, 8($0)
+ i32.const $1=, 0
.LBB2_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.add $4=, $0, $6
- i32.const $push5=, 12
- i32.add $push6=, $4, $pop5
- i32.load $1=, 0($pop6)
- i32.const $5=, 1
- i32.add $push21=, $4, $3
- i32.and $push12=, $1, $5
- i32.sub $push13=, $2, $pop12
- i32.const $push14=, -1727483681
- i32.and $push15=, $pop13, $pop14
- i32.const $push16=, 1596
- i32.add $push17=, $4, $pop16
- i32.load $push18=, 0($pop17)
- i32.xor $push19=, $pop15, $pop18
- i32.xor $push7=, $1, $7
- i32.const $push8=, 2147483646
- i32.and $push9=, $pop7, $pop8
- i32.xor $push10=, $pop9, $7
- i32.shr_u $push11=, $pop10, $5
- i32.xor $push20=, $pop19, $pop11
- i32.store $discard=, 0($pop21), $pop20
- i32.const $push22=, 4
- i32.add $6=, $6, $pop22
- copy_local $7=, $1
- i32.const $push23=, 908
- i32.ne $push24=, $6, $pop23
- br_if $pop24, 0 # 0: up to label4
+ i32.add $push6=, $0, $1
+ tee_local $push57=, $4=, $pop6
+ i32.const $push56=, 8
+ i32.add $push19=, $pop57, $pop56
+ i32.const $push55=, 0
+ i32.const $push54=, 12
+ i32.add $push7=, $4, $pop54
+ i32.load $push0=, 0($pop7)
+ tee_local $push53=, $3=, $pop0
+ i32.const $push52=, 1
+ i32.and $push12=, $pop53, $pop52
+ i32.sub $push13=, $pop55, $pop12
+ i32.const $push51=, -1727483681
+ i32.and $push14=, $pop13, $pop51
+ i32.const $push50=, 1596
+ i32.add $push15=, $4, $pop50
+ i32.load $push16=, 0($pop15)
+ i32.xor $push17=, $pop14, $pop16
+ i32.xor $push8=, $3, $2
+ i32.const $push49=, 2147483646
+ i32.and $push9=, $pop8, $pop49
+ i32.xor $push10=, $pop9, $2
+ i32.const $push48=, 1
+ i32.shr_u $push11=, $pop10, $pop48
+ i32.xor $push18=, $pop17, $pop11
+ i32.store $discard=, 0($pop19), $pop18
+ i32.const $push47=, 4
+ i32.add $1=, $1, $pop47
+ copy_local $2=, $3
+ i32.const $push46=, 908
+ i32.ne $push20=, $1, $pop46
+ br_if $pop20, 0 # 0: up to label4
.LBB2_3: # %if.end
end_loop # label5:
end_block # label3:
- i32.load $6=, 0($0)
- i32.const $push25=, 4
- i32.add $push26=, $6, $pop25
- i32.store $discard=, 0($0), $pop26
- i32.load $6=, 0($6)
- i32.const $push27=, 11
- i32.shr_u $push28=, $6, $pop27
- i32.xor $6=, $pop28, $6
- i32.const $push29=, 7
- i32.shl $push30=, $6, $pop29
- i32.const $push31=, -1658038656
- i32.and $push32=, $pop30, $pop31
- i32.xor $6=, $pop32, $6
+ i32.load $push21=, 0($0)
+ tee_local $push61=, $1=, $pop21
+ i32.const $push22=, 4
+ i32.add $push23=, $pop61, $pop22
+ i32.store $discard=, 0($0), $pop23
+ i32.load $push24=, 0($1)
+ tee_local $push60=, $1=, $pop24
+ i32.const $push25=, 11
+ i32.shr_u $push26=, $pop60, $pop25
+ i32.xor $push27=, $pop26, $1
+ tee_local $push59=, $1=, $pop27
+ i32.const $push28=, 7
+ i32.shl $push29=, $pop59, $pop28
+ i32.const $push30=, -1658038656
+ i32.and $push31=, $pop29, $pop30
+ i32.xor $push32=, $pop31, $1
+ tee_local $push58=, $1=, $pop32
i32.const $push33=, 15
- i32.shl $push34=, $6, $pop33
+ i32.shl $push34=, $pop58, $pop33
i32.const $push35=, 130023424
i32.and $push36=, $pop34, $pop35
- i32.xor $push37=, $pop36, $6
+ i32.xor $push37=, $pop36, $1
i32.const $push38=, 18
i32.shr_u $push39=, $pop37, $pop38
- i32.xor $push40=, $pop39, $6
+ i32.xor $push40=, $pop39, $1
i32.const $push41=, 1
i32.shr_u $push42=, $pop40, $pop41
i32.const $push43=, 255
@@ -304,14 +358,14 @@ foo: # @foo
.type p,@object # @p
.section .data.p,"aw",@progbits
- .align 4
+ .p2align 4
p:
.ascii "\300I\0272b\036.\325L\031(I\221\344r\203\221=\223\203\263a8"
.size p, 23
.type q,@object # @q
.section .data.q,"aw",@progbits
- .align 4
+ .p2align 4
q:
.ascii ">AUTOIT UNICODE SCRIPT<"
.size q, 23
diff --git a/test/torture-s/pr37882.c.s b/test/torture-s/pr37882.c.s
index b3e310540..a73292313 100644
--- a/test/torture-s/pr37882.c.s
+++ b/test/torture-s/pr37882.c.s
@@ -6,16 +6,17 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load8_u $push0=, s($0)
- i32.const $push1=, 248
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 4
- i32.or $push4=, $pop2, $pop3
- i32.store8 $discard=, s($0), $pop4
- return $0
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load8_u $push1=, s($pop7)
+ i32.const $push2=, 248
+ i32.and $push3=, $pop1, $pop2
+ i32.const $push4=, 4
+ i32.or $push5=, $pop3, $pop4
+ i32.store8 $discard=, s($pop0), $pop5
+ i32.const $push6=, 0
+ return $pop6
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
diff --git a/test/torture-s/pr37924.c.s b/test/torture-s/pr37924.c.s
index 9e5e14d40..dc7c45084 100644
--- a/test/torture-s/pr37924.c.s
+++ b/test/torture-s/pr37924.c.s
@@ -37,13 +37,14 @@ test2: # @test2
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end21
- i32.const $0=, 0
+ i32.const $push1=, 0
+ i32.const $push4=, 0
i32.const $push0=, 255
- i32.store8 $push1=, a($0), $pop0
- i32.store8 $discard=, b($0), $pop1
- return $0
+ i32.store8 $push2=, a($pop4), $pop0
+ i32.store8 $discard=, b($pop1), $pop2
+ i32.const $push3=, 0
+ return $pop3
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
diff --git a/test/torture-s/pr38212.c.s b/test/torture-s/pr38212.c.s
index edecc64a5..d060be05c 100644
--- a/test/torture-s/pr38212.c.s
+++ b/test/torture-s/pr38212.c.s
@@ -13,13 +13,14 @@ foo: # @foo
i32.shl $push1=, $1, $pop0
i32.sub $push2=, $0, $pop1
i32.const $push3=, 4
- i32.add $1=, $pop2, $pop3
- i32.load $2=, 0($1)
- i32.const $push4=, 1
- i32.store $discard=, 0($0), $pop4
- i32.load $push5=, 0($1)
- i32.add $push6=, $pop5, $2
- return $pop6
+ i32.add $push4=, $pop2, $pop3
+ tee_local $push8=, $1=, $pop4
+ i32.load $2=, 0($pop8)
+ i32.const $push5=, 1
+ i32.store $discard=, 0($0), $pop5
+ i32.load $push6=, 0($1)
+ i32.add $push7=, $2, $pop6
+ return $pop7
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -30,28 +31,29 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $5=, $1, $2
i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
- i32.const $3=, 16
- i32.sub $6=, $2, $3
- i32.const $3=, __stack_pointer
- i32.store $6=, 0($3), $6
- i32.const $1=, 1
+ i32.store $5=, 0($2), $5
i32.const $push0=, 0
- i32.store $0=, 12($6), $pop0
- i32.const $5=, 12
- i32.add $5=, $6, $5
+ i32.store $0=, 12($5), $pop0
+ i32.const $push1=, 1
+ i32.const $4=, 12
+ i32.add $4=, $5, $4
block
- i32.call $push1=, foo@FUNCTION, $5, $1
- i32.ne $push2=, $pop1, $1
- br_if $pop2, 0 # 0: down to label0
+ i32.call $push2=, foo@FUNCTION, $4, $pop1
+ i32.const $push4=, 1
+ i32.ne $push3=, $pop2, $pop4
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $4=, 16
- i32.add $6=, $6, $4
- i32.const $4=, __stack_pointer
- i32.store $6=, 0($4), $6
+ i32.const $3=, 16
+ i32.add $5=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
return $0
.LBB1_2: # %if.then
end_block # label0:
diff --git a/test/torture-s/pr38236.c.s b/test/torture-s/pr38236.c.s
index be8d3b0b4..f9e1f33be 100644
--- a/test/torture-s/pr38236.c.s
+++ b/test/torture-s/pr38236.c.s
@@ -12,24 +12,24 @@ foo: # @foo
i32.const $4=, __stack_pointer
i32.load $4=, 0($4)
i32.const $5=, 16
- i32.sub $6=, $4, $5
+ i32.sub $10=, $4, $5
i32.const $5=, __stack_pointer
- i32.store $6=, 0($5), $6
+ i32.store $10=, 0($5), $10
i32.const $7=, 12
- i32.add $7=, $6, $7
+ i32.add $7=, $10, $7
i32.const $8=, 8
- i32.add $8=, $6, $8
+ i32.add $8=, $10, $8
i32.select $push1=, $3, $7, $8
i32.const $push2=, 1
i32.store $discard=, 0($pop1), $pop2
i32.const $9=, 12
- i32.add $9=, $6, $9
+ i32.add $9=, $10, $9
i32.select $push0=, $2, $9, $0
i32.load $push3=, 0($pop0)
i32.const $6=, 16
- i32.add $6=, $6, $6
+ i32.add $10=, $10, $6
i32.const $6=, __stack_pointer
- i32.store $6=, 0($6), $6
+ i32.store $10=, 0($6), $10
return $pop3
.endfunc
.Lfunc_end0:
@@ -41,16 +41,19 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 1
- i32.const $1=, 0
block
- i32.call $push0=, foo@FUNCTION, $1, $0, $0, $0
- i32.ne $push1=, $pop0, $0
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push5=, 0
+ i32.const $push0=, 1
+ i32.const $push4=, 1
+ i32.call $push1=, foo@FUNCTION, $pop5, $0, $pop0, $pop4
+ i32.const $push3=, 1
+ i32.ne $push2=, $pop1, $pop3
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $1
+ i32.const $push6=, 0
+ return $pop6
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/pr38422.c.s b/test/torture-s/pr38422.c.s
index 3fcf2c120..577b8791e 100644
--- a/test/torture-s/pr38422.c.s
+++ b/test/torture-s/pr38422.c.s
@@ -5,18 +5,20 @@
.globl foo
.type foo,@function
foo: # @foo
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, s($0)
- i32.const $push0=, 1
- i32.shl $push1=, $1, $pop0
- i32.const $push2=, 1073741822
- i32.and $push3=, $pop1, $pop2
- i32.const $push4=, -1073741824
- i32.and $push5=, $1, $pop4
- i32.or $push6=, $pop3, $pop5
- i32.store $discard=, s($0), $pop6
+ i32.const $push0=, 0
+ i32.const $push10=, 0
+ i32.load $push1=, s($pop10)
+ tee_local $push9=, $0=, $pop1
+ i32.const $push2=, 1
+ i32.shl $push3=, $pop9, $pop2
+ i32.const $push4=, 1073741822
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push6=, -1073741824
+ i32.and $push7=, $0, $pop6
+ i32.or $push8=, $pop5, $pop7
+ i32.store $discard=, s($pop0), $pop8
return
.endfunc
.Lfunc_end0:
@@ -28,16 +30,17 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.load $push0=, s($0)
- i32.const $push1=, -1073741824
- i32.and $push2=, $pop0, $pop1
- i32.const $push3=, 48
- i32.or $push4=, $pop2, $pop3
- i32.store $discard=, s($0), $pop4
- return $0
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, s($pop7)
+ i32.const $push2=, -1073741824
+ i32.and $push3=, $pop1, $pop2
+ i32.const $push4=, 48
+ i32.or $push5=, $pop3, $pop4
+ i32.store $discard=, s($pop0), $pop5
+ i32.const $push6=, 0
+ return $pop6
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -46,7 +49,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 4
.size s, 4
diff --git a/test/torture-s/pr38533.c.s b/test/torture-s/pr38533.c.s
index 69f950e0c..99e397a79 100644
--- a/test/torture-s/pr38533.c.s
+++ b/test/torture-s/pr38533.c.s
@@ -8,913 +8,913 @@ foo: # @foo
.result i32
.local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $302=, 0
- copy_local $0=, $302
+ i32.const $0=, 0
#APP
#NO_APP
- copy_local $1=, $302
+ i32.const $1=, 0
#APP
#NO_APP
- copy_local $2=, $302
+ i32.const $2=, 0
#APP
#NO_APP
- copy_local $3=, $302
+ i32.const $3=, 0
#APP
#NO_APP
- copy_local $4=, $302
+ i32.const $4=, 0
#APP
#NO_APP
- copy_local $5=, $302
+ i32.const $5=, 0
#APP
#NO_APP
- copy_local $6=, $302
+ i32.const $6=, 0
#APP
#NO_APP
- copy_local $7=, $302
+ i32.const $7=, 0
#APP
#NO_APP
- copy_local $8=, $302
+ i32.const $8=, 0
#APP
#NO_APP
- copy_local $9=, $302
+ i32.const $9=, 0
#APP
#NO_APP
- copy_local $10=, $302
+ i32.const $10=, 0
#APP
#NO_APP
- copy_local $11=, $302
+ i32.const $11=, 0
#APP
#NO_APP
- copy_local $12=, $302
+ i32.const $12=, 0
#APP
#NO_APP
- copy_local $13=, $302
+ i32.const $13=, 0
#APP
#NO_APP
- copy_local $14=, $302
+ i32.const $14=, 0
#APP
#NO_APP
- copy_local $15=, $302
+ i32.const $15=, 0
#APP
#NO_APP
- copy_local $16=, $302
+ i32.const $16=, 0
#APP
#NO_APP
- copy_local $17=, $302
+ i32.const $17=, 0
#APP
#NO_APP
- copy_local $18=, $302
+ i32.const $18=, 0
#APP
#NO_APP
- copy_local $19=, $302
+ i32.const $19=, 0
#APP
#NO_APP
- copy_local $20=, $302
+ i32.const $20=, 0
#APP
#NO_APP
- copy_local $21=, $302
+ i32.const $21=, 0
#APP
#NO_APP
- copy_local $22=, $302
+ i32.const $22=, 0
#APP
#NO_APP
- copy_local $23=, $302
+ i32.const $23=, 0
#APP
#NO_APP
- copy_local $24=, $302
+ i32.const $24=, 0
#APP
#NO_APP
- copy_local $25=, $302
+ i32.const $25=, 0
#APP
#NO_APP
- copy_local $26=, $302
+ i32.const $26=, 0
#APP
#NO_APP
- copy_local $27=, $302
+ i32.const $27=, 0
#APP
#NO_APP
- copy_local $28=, $302
+ i32.const $28=, 0
#APP
#NO_APP
- copy_local $29=, $302
+ i32.const $29=, 0
#APP
#NO_APP
- copy_local $30=, $302
+ i32.const $30=, 0
#APP
#NO_APP
- copy_local $31=, $302
+ i32.const $31=, 0
#APP
#NO_APP
- copy_local $32=, $302
+ i32.const $32=, 0
#APP
#NO_APP
- copy_local $33=, $302
+ i32.const $33=, 0
#APP
#NO_APP
- copy_local $34=, $302
+ i32.const $34=, 0
#APP
#NO_APP
- copy_local $35=, $302
+ i32.const $35=, 0
#APP
#NO_APP
- copy_local $36=, $302
+ i32.const $36=, 0
#APP
#NO_APP
- copy_local $37=, $302
+ i32.const $37=, 0
#APP
#NO_APP
- copy_local $38=, $302
+ i32.const $38=, 0
#APP
#NO_APP
- copy_local $39=, $302
+ i32.const $39=, 0
#APP
#NO_APP
- copy_local $40=, $302
+ i32.const $40=, 0
#APP
#NO_APP
- copy_local $41=, $302
+ i32.const $41=, 0
#APP
#NO_APP
- copy_local $42=, $302
+ i32.const $42=, 0
#APP
#NO_APP
- copy_local $43=, $302
+ i32.const $43=, 0
#APP
#NO_APP
- copy_local $44=, $302
+ i32.const $44=, 0
#APP
#NO_APP
- copy_local $45=, $302
+ i32.const $45=, 0
#APP
#NO_APP
- copy_local $46=, $302
+ i32.const $46=, 0
#APP
#NO_APP
- copy_local $47=, $302
+ i32.const $47=, 0
#APP
#NO_APP
- copy_local $48=, $302
+ i32.const $48=, 0
#APP
#NO_APP
- copy_local $49=, $302
+ i32.const $49=, 0
#APP
#NO_APP
- copy_local $50=, $302
+ i32.const $50=, 0
#APP
#NO_APP
- copy_local $51=, $302
+ i32.const $51=, 0
#APP
#NO_APP
- copy_local $52=, $302
+ i32.const $52=, 0
#APP
#NO_APP
- copy_local $53=, $302
+ i32.const $53=, 0
#APP
#NO_APP
- copy_local $54=, $302
+ i32.const $54=, 0
#APP
#NO_APP
- copy_local $55=, $302
+ i32.const $55=, 0
#APP
#NO_APP
- copy_local $56=, $302
+ i32.const $56=, 0
#APP
#NO_APP
- copy_local $57=, $302
+ i32.const $57=, 0
#APP
#NO_APP
- copy_local $58=, $302
+ i32.const $58=, 0
#APP
#NO_APP
- copy_local $59=, $302
+ i32.const $59=, 0
#APP
#NO_APP
- copy_local $60=, $302
+ i32.const $60=, 0
#APP
#NO_APP
- copy_local $61=, $302
+ i32.const $61=, 0
#APP
#NO_APP
- copy_local $62=, $302
+ i32.const $62=, 0
#APP
#NO_APP
- copy_local $63=, $302
+ i32.const $63=, 0
#APP
#NO_APP
- copy_local $64=, $302
+ i32.const $64=, 0
#APP
#NO_APP
- copy_local $65=, $302
+ i32.const $65=, 0
#APP
#NO_APP
- copy_local $66=, $302
+ i32.const $66=, 0
#APP
#NO_APP
- copy_local $67=, $302
+ i32.const $67=, 0
#APP
#NO_APP
- copy_local $68=, $302
+ i32.const $68=, 0
#APP
#NO_APP
- copy_local $69=, $302
+ i32.const $69=, 0
#APP
#NO_APP
- copy_local $70=, $302
+ i32.const $70=, 0
#APP
#NO_APP
- copy_local $71=, $302
+ i32.const $71=, 0
#APP
#NO_APP
- copy_local $72=, $302
+ i32.const $72=, 0
#APP
#NO_APP
- copy_local $73=, $302
+ i32.const $73=, 0
#APP
#NO_APP
- copy_local $74=, $302
+ i32.const $74=, 0
#APP
#NO_APP
- copy_local $75=, $302
+ i32.const $75=, 0
#APP
#NO_APP
- copy_local $76=, $302
+ i32.const $76=, 0
#APP
#NO_APP
- copy_local $77=, $302
+ i32.const $77=, 0
#APP
#NO_APP
- copy_local $78=, $302
+ i32.const $78=, 0
#APP
#NO_APP
- copy_local $79=, $302
+ i32.const $79=, 0
#APP
#NO_APP
- copy_local $80=, $302
+ i32.const $80=, 0
#APP
#NO_APP
- copy_local $81=, $302
+ i32.const $81=, 0
#APP
#NO_APP
- copy_local $82=, $302
+ i32.const $82=, 0
#APP
#NO_APP
- copy_local $83=, $302
+ i32.const $83=, 0
#APP
#NO_APP
- copy_local $84=, $302
+ i32.const $84=, 0
#APP
#NO_APP
- copy_local $85=, $302
+ i32.const $85=, 0
#APP
#NO_APP
- copy_local $86=, $302
+ i32.const $86=, 0
#APP
#NO_APP
- copy_local $87=, $302
+ i32.const $87=, 0
#APP
#NO_APP
- copy_local $88=, $302
+ i32.const $88=, 0
#APP
#NO_APP
- copy_local $89=, $302
+ i32.const $89=, 0
#APP
#NO_APP
- copy_local $90=, $302
+ i32.const $90=, 0
#APP
#NO_APP
- copy_local $91=, $302
+ i32.const $91=, 0
#APP
#NO_APP
- copy_local $92=, $302
+ i32.const $92=, 0
#APP
#NO_APP
- copy_local $93=, $302
+ i32.const $93=, 0
#APP
#NO_APP
- copy_local $94=, $302
+ i32.const $94=, 0
#APP
#NO_APP
- copy_local $95=, $302
+ i32.const $95=, 0
#APP
#NO_APP
- copy_local $96=, $302
+ i32.const $96=, 0
#APP
#NO_APP
- copy_local $97=, $302
+ i32.const $97=, 0
#APP
#NO_APP
- copy_local $98=, $302
+ i32.const $98=, 0
#APP
#NO_APP
- copy_local $99=, $302
+ i32.const $99=, 0
#APP
#NO_APP
- copy_local $100=, $302
+ i32.const $100=, 0
#APP
#NO_APP
- copy_local $101=, $302
+ i32.const $101=, 0
#APP
#NO_APP
- copy_local $102=, $302
+ i32.const $102=, 0
#APP
#NO_APP
- copy_local $103=, $302
+ i32.const $103=, 0
#APP
#NO_APP
- copy_local $104=, $302
+ i32.const $104=, 0
#APP
#NO_APP
- copy_local $105=, $302
+ i32.const $105=, 0
#APP
#NO_APP
- copy_local $106=, $302
+ i32.const $106=, 0
#APP
#NO_APP
- copy_local $107=, $302
+ i32.const $107=, 0
#APP
#NO_APP
- copy_local $108=, $302
+ i32.const $108=, 0
#APP
#NO_APP
- copy_local $109=, $302
+ i32.const $109=, 0
#APP
#NO_APP
- copy_local $110=, $302
+ i32.const $110=, 0
#APP
#NO_APP
- copy_local $111=, $302
+ i32.const $111=, 0
#APP
#NO_APP
- copy_local $112=, $302
+ i32.const $112=, 0
#APP
#NO_APP
- copy_local $113=, $302
+ i32.const $113=, 0
#APP
#NO_APP
- copy_local $114=, $302
+ i32.const $114=, 0
#APP
#NO_APP
- copy_local $115=, $302
+ i32.const $115=, 0
#APP
#NO_APP
- copy_local $116=, $302
+ i32.const $116=, 0
#APP
#NO_APP
- copy_local $117=, $302
+ i32.const $117=, 0
#APP
#NO_APP
- copy_local $118=, $302
+ i32.const $118=, 0
#APP
#NO_APP
- copy_local $119=, $302
+ i32.const $119=, 0
#APP
#NO_APP
- copy_local $120=, $302
+ i32.const $120=, 0
#APP
#NO_APP
- copy_local $121=, $302
+ i32.const $121=, 0
#APP
#NO_APP
- copy_local $122=, $302
+ i32.const $122=, 0
#APP
#NO_APP
- copy_local $123=, $302
+ i32.const $123=, 0
#APP
#NO_APP
- copy_local $124=, $302
+ i32.const $124=, 0
#APP
#NO_APP
- copy_local $125=, $302
+ i32.const $125=, 0
#APP
#NO_APP
- copy_local $126=, $302
+ i32.const $126=, 0
#APP
#NO_APP
- copy_local $127=, $302
+ i32.const $127=, 0
#APP
#NO_APP
- copy_local $128=, $302
+ i32.const $128=, 0
#APP
#NO_APP
- copy_local $129=, $302
+ i32.const $129=, 0
#APP
#NO_APP
- copy_local $130=, $302
+ i32.const $130=, 0
#APP
#NO_APP
- copy_local $131=, $302
+ i32.const $131=, 0
#APP
#NO_APP
- copy_local $132=, $302
+ i32.const $132=, 0
#APP
#NO_APP
- copy_local $133=, $302
+ i32.const $133=, 0
#APP
#NO_APP
- copy_local $134=, $302
+ i32.const $134=, 0
#APP
#NO_APP
- copy_local $135=, $302
+ i32.const $135=, 0
#APP
#NO_APP
- copy_local $136=, $302
+ i32.const $136=, 0
#APP
#NO_APP
- copy_local $137=, $302
+ i32.const $137=, 0
#APP
#NO_APP
- copy_local $138=, $302
+ i32.const $138=, 0
#APP
#NO_APP
- copy_local $139=, $302
+ i32.const $139=, 0
#APP
#NO_APP
- copy_local $140=, $302
+ i32.const $140=, 0
#APP
#NO_APP
- copy_local $141=, $302
+ i32.const $141=, 0
#APP
#NO_APP
- copy_local $142=, $302
+ i32.const $142=, 0
#APP
#NO_APP
- copy_local $143=, $302
+ i32.const $143=, 0
#APP
#NO_APP
- copy_local $144=, $302
+ i32.const $144=, 0
#APP
#NO_APP
- copy_local $145=, $302
+ i32.const $145=, 0
#APP
#NO_APP
- copy_local $146=, $302
+ i32.const $146=, 0
#APP
#NO_APP
- copy_local $147=, $302
+ i32.const $147=, 0
#APP
#NO_APP
- copy_local $148=, $302
+ i32.const $148=, 0
#APP
#NO_APP
- copy_local $149=, $302
+ i32.const $149=, 0
#APP
#NO_APP
- copy_local $150=, $302
+ i32.const $150=, 0
#APP
#NO_APP
- copy_local $151=, $302
+ i32.const $151=, 0
#APP
#NO_APP
- copy_local $152=, $302
+ i32.const $152=, 0
#APP
#NO_APP
- copy_local $153=, $302
+ i32.const $153=, 0
#APP
#NO_APP
- copy_local $154=, $302
+ i32.const $154=, 0
#APP
#NO_APP
- copy_local $155=, $302
+ i32.const $155=, 0
#APP
#NO_APP
- copy_local $156=, $302
+ i32.const $156=, 0
#APP
#NO_APP
- copy_local $157=, $302
+ i32.const $157=, 0
#APP
#NO_APP
- copy_local $158=, $302
+ i32.const $158=, 0
#APP
#NO_APP
- copy_local $159=, $302
+ i32.const $159=, 0
#APP
#NO_APP
- copy_local $160=, $302
+ i32.const $160=, 0
#APP
#NO_APP
- copy_local $161=, $302
+ i32.const $161=, 0
#APP
#NO_APP
- copy_local $162=, $302
+ i32.const $162=, 0
#APP
#NO_APP
- copy_local $163=, $302
+ i32.const $163=, 0
#APP
#NO_APP
- copy_local $164=, $302
+ i32.const $164=, 0
#APP
#NO_APP
- copy_local $165=, $302
+ i32.const $165=, 0
#APP
#NO_APP
- copy_local $166=, $302
+ i32.const $166=, 0
#APP
#NO_APP
- copy_local $167=, $302
+ i32.const $167=, 0
#APP
#NO_APP
- copy_local $168=, $302
+ i32.const $168=, 0
#APP
#NO_APP
- copy_local $169=, $302
+ i32.const $169=, 0
#APP
#NO_APP
- copy_local $170=, $302
+ i32.const $170=, 0
#APP
#NO_APP
- copy_local $171=, $302
+ i32.const $171=, 0
#APP
#NO_APP
- copy_local $172=, $302
+ i32.const $172=, 0
#APP
#NO_APP
- copy_local $173=, $302
+ i32.const $173=, 0
#APP
#NO_APP
- copy_local $174=, $302
+ i32.const $174=, 0
#APP
#NO_APP
- copy_local $175=, $302
+ i32.const $175=, 0
#APP
#NO_APP
- copy_local $176=, $302
+ i32.const $176=, 0
#APP
#NO_APP
- copy_local $177=, $302
+ i32.const $177=, 0
#APP
#NO_APP
- copy_local $178=, $302
+ i32.const $178=, 0
#APP
#NO_APP
- copy_local $179=, $302
+ i32.const $179=, 0
#APP
#NO_APP
- copy_local $180=, $302
+ i32.const $180=, 0
#APP
#NO_APP
- copy_local $181=, $302
+ i32.const $181=, 0
#APP
#NO_APP
- copy_local $182=, $302
+ i32.const $182=, 0
#APP
#NO_APP
- copy_local $183=, $302
+ i32.const $183=, 0
#APP
#NO_APP
- copy_local $184=, $302
+ i32.const $184=, 0
#APP
#NO_APP
- copy_local $185=, $302
+ i32.const $185=, 0
#APP
#NO_APP
- copy_local $186=, $302
+ i32.const $186=, 0
#APP
#NO_APP
- copy_local $187=, $302
+ i32.const $187=, 0
#APP
#NO_APP
- copy_local $188=, $302
+ i32.const $188=, 0
#APP
#NO_APP
- copy_local $189=, $302
+ i32.const $189=, 0
#APP
#NO_APP
- copy_local $190=, $302
+ i32.const $190=, 0
#APP
#NO_APP
- copy_local $191=, $302
+ i32.const $191=, 0
#APP
#NO_APP
- copy_local $192=, $302
+ i32.const $192=, 0
#APP
#NO_APP
- copy_local $193=, $302
+ i32.const $193=, 0
#APP
#NO_APP
- copy_local $194=, $302
+ i32.const $194=, 0
#APP
#NO_APP
- copy_local $195=, $302
+ i32.const $195=, 0
#APP
#NO_APP
- copy_local $196=, $302
+ i32.const $196=, 0
#APP
#NO_APP
- copy_local $197=, $302
+ i32.const $197=, 0
#APP
#NO_APP
- copy_local $198=, $302
+ i32.const $198=, 0
#APP
#NO_APP
- copy_local $199=, $302
+ i32.const $199=, 0
#APP
#NO_APP
- copy_local $200=, $302
+ i32.const $200=, 0
#APP
#NO_APP
- copy_local $201=, $302
+ i32.const $201=, 0
#APP
#NO_APP
- copy_local $202=, $302
+ i32.const $202=, 0
#APP
#NO_APP
- copy_local $203=, $302
+ i32.const $203=, 0
#APP
#NO_APP
- copy_local $204=, $302
+ i32.const $204=, 0
#APP
#NO_APP
- copy_local $205=, $302
+ i32.const $205=, 0
#APP
#NO_APP
- copy_local $206=, $302
+ i32.const $206=, 0
#APP
#NO_APP
- copy_local $207=, $302
+ i32.const $207=, 0
#APP
#NO_APP
- copy_local $208=, $302
+ i32.const $208=, 0
#APP
#NO_APP
- copy_local $209=, $302
+ i32.const $209=, 0
#APP
#NO_APP
- copy_local $210=, $302
+ i32.const $210=, 0
#APP
#NO_APP
- copy_local $211=, $302
+ i32.const $211=, 0
#APP
#NO_APP
- copy_local $212=, $302
+ i32.const $212=, 0
#APP
#NO_APP
- copy_local $213=, $302
+ i32.const $213=, 0
#APP
#NO_APP
- copy_local $214=, $302
+ i32.const $214=, 0
#APP
#NO_APP
- copy_local $215=, $302
+ i32.const $215=, 0
#APP
#NO_APP
- copy_local $216=, $302
+ i32.const $216=, 0
#APP
#NO_APP
- copy_local $217=, $302
+ i32.const $217=, 0
#APP
#NO_APP
- copy_local $218=, $302
+ i32.const $218=, 0
#APP
#NO_APP
- copy_local $219=, $302
+ i32.const $219=, 0
#APP
#NO_APP
- copy_local $220=, $302
+ i32.const $220=, 0
#APP
#NO_APP
- copy_local $221=, $302
+ i32.const $221=, 0
#APP
#NO_APP
- copy_local $222=, $302
+ i32.const $222=, 0
#APP
#NO_APP
- copy_local $223=, $302
+ i32.const $223=, 0
#APP
#NO_APP
- copy_local $224=, $302
+ i32.const $224=, 0
#APP
#NO_APP
- copy_local $225=, $302
+ i32.const $225=, 0
#APP
#NO_APP
- copy_local $226=, $302
+ i32.const $226=, 0
#APP
#NO_APP
- copy_local $227=, $302
+ i32.const $227=, 0
#APP
#NO_APP
- copy_local $228=, $302
+ i32.const $228=, 0
#APP
#NO_APP
- copy_local $229=, $302
+ i32.const $229=, 0
#APP
#NO_APP
- copy_local $230=, $302
+ i32.const $230=, 0
#APP
#NO_APP
- copy_local $231=, $302
+ i32.const $231=, 0
#APP
#NO_APP
- copy_local $232=, $302
+ i32.const $232=, 0
#APP
#NO_APP
- copy_local $233=, $302
+ i32.const $233=, 0
#APP
#NO_APP
- copy_local $234=, $302
+ i32.const $234=, 0
#APP
#NO_APP
- copy_local $235=, $302
+ i32.const $235=, 0
#APP
#NO_APP
- copy_local $236=, $302
+ i32.const $236=, 0
#APP
#NO_APP
- copy_local $237=, $302
+ i32.const $237=, 0
#APP
#NO_APP
- copy_local $238=, $302
+ i32.const $238=, 0
#APP
#NO_APP
- copy_local $239=, $302
+ i32.const $239=, 0
#APP
#NO_APP
- copy_local $240=, $302
+ i32.const $240=, 0
#APP
#NO_APP
- copy_local $241=, $302
+ i32.const $241=, 0
#APP
#NO_APP
- copy_local $242=, $302
+ i32.const $242=, 0
#APP
#NO_APP
- copy_local $243=, $302
+ i32.const $243=, 0
#APP
#NO_APP
- copy_local $244=, $302
+ i32.const $244=, 0
#APP
#NO_APP
- copy_local $245=, $302
+ i32.const $245=, 0
#APP
#NO_APP
- copy_local $246=, $302
+ i32.const $246=, 0
#APP
#NO_APP
- copy_local $247=, $302
+ i32.const $247=, 0
#APP
#NO_APP
- copy_local $248=, $302
+ i32.const $248=, 0
#APP
#NO_APP
- copy_local $249=, $302
+ i32.const $249=, 0
#APP
#NO_APP
- copy_local $250=, $302
+ i32.const $250=, 0
#APP
#NO_APP
- copy_local $251=, $302
+ i32.const $251=, 0
#APP
#NO_APP
- copy_local $252=, $302
+ i32.const $252=, 0
#APP
#NO_APP
- copy_local $253=, $302
+ i32.const $253=, 0
#APP
#NO_APP
- copy_local $254=, $302
+ i32.const $254=, 0
#APP
#NO_APP
- copy_local $255=, $302
+ i32.const $255=, 0
#APP
#NO_APP
- copy_local $256=, $302
+ i32.const $256=, 0
#APP
#NO_APP
- copy_local $257=, $302
+ i32.const $257=, 0
#APP
#NO_APP
- copy_local $258=, $302
+ i32.const $258=, 0
#APP
#NO_APP
- copy_local $259=, $302
+ i32.const $259=, 0
#APP
#NO_APP
- copy_local $260=, $302
+ i32.const $260=, 0
#APP
#NO_APP
- copy_local $261=, $302
+ i32.const $261=, 0
#APP
#NO_APP
- copy_local $262=, $302
+ i32.const $262=, 0
#APP
#NO_APP
- copy_local $263=, $302
+ i32.const $263=, 0
#APP
#NO_APP
- copy_local $264=, $302
+ i32.const $264=, 0
#APP
#NO_APP
- copy_local $265=, $302
+ i32.const $265=, 0
#APP
#NO_APP
- copy_local $266=, $302
+ i32.const $266=, 0
#APP
#NO_APP
- copy_local $267=, $302
+ i32.const $267=, 0
#APP
#NO_APP
- copy_local $268=, $302
+ i32.const $268=, 0
#APP
#NO_APP
- copy_local $269=, $302
+ i32.const $269=, 0
#APP
#NO_APP
- copy_local $270=, $302
+ i32.const $270=, 0
#APP
#NO_APP
- copy_local $271=, $302
+ i32.const $271=, 0
#APP
#NO_APP
- copy_local $272=, $302
+ i32.const $272=, 0
#APP
#NO_APP
- copy_local $273=, $302
+ i32.const $273=, 0
#APP
#NO_APP
- copy_local $274=, $302
+ i32.const $274=, 0
#APP
#NO_APP
- copy_local $275=, $302
+ i32.const $275=, 0
#APP
#NO_APP
- copy_local $276=, $302
+ i32.const $276=, 0
#APP
#NO_APP
- copy_local $277=, $302
+ i32.const $277=, 0
#APP
#NO_APP
- copy_local $278=, $302
+ i32.const $278=, 0
#APP
#NO_APP
- copy_local $279=, $302
+ i32.const $279=, 0
#APP
#NO_APP
- copy_local $280=, $302
+ i32.const $280=, 0
#APP
#NO_APP
- copy_local $281=, $302
+ i32.const $281=, 0
#APP
#NO_APP
- copy_local $282=, $302
+ i32.const $282=, 0
#APP
#NO_APP
- copy_local $283=, $302
+ i32.const $283=, 0
#APP
#NO_APP
- copy_local $284=, $302
+ i32.const $284=, 0
#APP
#NO_APP
- copy_local $285=, $302
+ i32.const $285=, 0
#APP
#NO_APP
- copy_local $286=, $302
+ i32.const $286=, 0
#APP
#NO_APP
- copy_local $287=, $302
+ i32.const $287=, 0
#APP
#NO_APP
- copy_local $288=, $302
+ i32.const $288=, 0
#APP
#NO_APP
- copy_local $289=, $302
+ i32.const $289=, 0
#APP
#NO_APP
- copy_local $290=, $302
+ i32.const $290=, 0
#APP
#NO_APP
- copy_local $291=, $302
+ i32.const $291=, 0
#APP
#NO_APP
- copy_local $292=, $302
+ i32.const $292=, 0
#APP
#NO_APP
- copy_local $293=, $302
+ i32.const $293=, 0
#APP
#NO_APP
- copy_local $294=, $302
+ i32.const $294=, 0
#APP
#NO_APP
- copy_local $295=, $302
+ i32.const $295=, 0
#APP
#NO_APP
- copy_local $296=, $302
+ i32.const $296=, 0
#APP
#NO_APP
- copy_local $297=, $302
+ i32.const $297=, 0
#APP
#NO_APP
- copy_local $298=, $302
+ i32.const $298=, 0
#APP
#NO_APP
- copy_local $299=, $302
+ i32.const $299=, 0
#APP
#NO_APP
- copy_local $300=, $302
+ i32.const $300=, 0
#APP
#NO_APP
- copy_local $301=, $302
+ i32.const $301=, 0
#APP
#NO_APP
+ i32.const $302=, 0
#APP
#NO_APP
i32.or $push0=, $1, $0
diff --git a/test/torture-s/pr38819.c.s b/test/torture-s/pr38819.c.s
index d124feb4d..118fc1a8d 100644
--- a/test/torture-s/pr38819.c.s
+++ b/test/torture-s/pr38819.c.s
@@ -19,11 +19,11 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %for.body
- i32.const $0=, 0
- i32.load $discard=, a($0)
- i32.load $discard=, b($0)
+ i32.const $push0=, 0
+ i32.load $discard=, a($pop0)
+ i32.const $push1=, 0
+ i32.load $discard=, b($pop1)
call foo@FUNCTION
unreachable
.endfunc
@@ -34,7 +34,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
@@ -43,7 +43,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -52,7 +52,7 @@ b:
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int32 2 # 0x2
.size x, 4
@@ -61,7 +61,7 @@ x:
.type r,@object
.section .data.r,"aw",@progbits
.globl r
- .align 2
+ .p2align 2
r:
.int32 8 # 0x8
.size r, 4
diff --git a/test/torture-s/pr38969.c.s b/test/torture-s/pr38969.c.s
new file mode 100644
index 000000000..34d164c22
--- /dev/null
+++ b/test/torture-s/pr38969.c.s
@@ -0,0 +1,114 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr38969.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1):p2align=2
+ i64.store $discard=, 0($0):p2align=2, $pop0
+ return
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 32
+ i32.sub $10=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $10=, 0($4), $10
+ i32.load $2=, 4($1)
+ i32.load $push0=, 0($1)
+ i32.store $discard=, 16($10):p2align=3, $pop0
+ i32.const $push1=, 4
+ i32.const $6=, 8
+ i32.add $6=, $10, $6
+ i32.add $push4=, $6, $pop1
+ i32.const $push7=, 4
+ i32.const $7=, 16
+ i32.add $7=, $10, $7
+ i32.or $push2=, $7, $pop7
+ i32.store $push3=, 0($pop2), $2
+ i32.store $discard=, 0($pop4), $pop3
+ i32.load $push5=, 16($10):p2align=3
+ i32.store $discard=, 8($10), $pop5
+ i32.const $8=, 24
+ i32.add $8=, $10, $8
+ i32.const $9=, 8
+ i32.add $9=, $10, $9
+ call foo@FUNCTION, $8, $9
+ i64.load $push6=, 24($10)
+ i64.store $discard=, 0($0):p2align=2, $pop6
+ i32.const $5=, 32
+ i32.add $10=, $10, $5
+ i32.const $5=, __stack_pointer
+ i32.store $10=, 0($5), $10
+ return
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 32
+ i32.sub $6=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $6=, 0($1), $6
+ i64.const $push1=, 4767060206663237632
+ i64.store $push2=, 16($6), $pop1
+ i64.store $discard=, 8($6):p2align=2, $pop2
+ i32.const $3=, 24
+ i32.add $3=, $6, $3
+ i32.const $4=, 8
+ i32.add $4=, $6, $4
+ call bar@FUNCTION, $3, $4
+ block
+ f32.load $push3=, 24($6):p2align=3
+ f32.const $push6=, 0x1.2p3
+ f32.ne $push7=, $pop3, $pop6
+ br_if $pop7, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $push4=, 4
+ i32.const $5=, 24
+ i32.add $5=, $6, $5
+ i32.or $push5=, $5, $pop4
+ f32.load $push0=, 0($pop5)
+ f32.const $push8=, 0x1.5p5
+ f32.ne $push9=, $pop0, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#2: # %if.end
+ i32.const $push10=, 0
+ i32.const $2=, 32
+ i32.add $6=, $6, $2
+ i32.const $2=, __stack_pointer
+ i32.store $6=, 0($2), $6
+ return $pop10
+.LBB2_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr39120.c.s b/test/torture-s/pr39120.c.s
index c322de817..b8bffe340 100644
--- a/test/torture-s/pr39120.c.s
+++ b/test/torture-s/pr39120.c.s
@@ -43,17 +43,18 @@ main: # @main
i32.const $2=, __stack_pointer
i32.store $5=, 0($2), $5
i32.const $push0=, 0
- i32.store $0=, 12($5), $pop0
+ i32.store $push1=, 12($5), $pop0
+ tee_local $push6=, $0=, $pop1
i32.const $4=, 12
i32.add $4=, $5, $4
- i32.call $push1=, foo@FUNCTION, $4
- i32.store $discard=, x($0), $pop1
+ i32.call $push2=, foo@FUNCTION, $4
+ i32.store $discard=, x($pop6), $pop2
call bar@FUNCTION
block
- i32.load $push2=, 12($5)
- i32.const $push3=, 1
- i32.ne $push4=, $pop2, $pop3
- br_if $pop4, 0 # 0: down to label0
+ i32.load $push3=, 12($5)
+ i32.const $push4=, 1
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
i32.const $3=, 16
i32.add $5=, $5, $3
@@ -72,7 +73,7 @@ main: # @main
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.skip 4
.size x, 4
diff --git a/test/torture-s/pr39228.c.s b/test/torture-s/pr39228.c.s
index 5dc4ba056..499d65fce 100644
--- a/test/torture-s/pr39228.c.s
+++ b/test/torture-s/pr39228.c.s
@@ -6,29 +6,30 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- f64.const $push0=, infinity
- i32.call $0=, __builtin_isinff@FUNCTION, $pop0
- i32.const $1=, 0
block
- i32.le_s $push1=, $0, $1
- br_if $pop1, 0 # 0: down to label0
+ f64.const $push0=, infinity
+ i32.call $push1=, __builtin_isinff@FUNCTION, $pop0
+ i32.const $push2=, 0
+ i32.le_s $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.const $push2=, 1
- i32.const $push7=, 0
- i32.eq $push8=, $pop2, $pop7
- br_if $pop8, 0 # 0: down to label1
+ i32.const $push4=, 1
+ i32.const $push11=, 0
+ i32.eq $push12=, $pop4, $pop11
+ br_if $pop12, 0 # 0: down to label1
# BB#2: # %if.end4
block
- i64.const $push4=, 0
- i64.const $push3=, 9223090561878065152
- i32.call $push5=, __builtin_isinfl@FUNCTION, $pop4, $pop3
- i32.le_s $push6=, $pop5, $1
- br_if $pop6, 0 # 0: down to label2
+ i64.const $push6=, 0
+ i64.const $push5=, 9223090561878065152
+ i32.call $push7=, __builtin_isinfl@FUNCTION, $pop6, $pop5
+ i32.const $push9=, 0
+ i32.le_s $push8=, $pop7, $pop9
+ br_if $pop8, 0 # 0: down to label2
# BB#3: # %if.end8
- return $1
+ i32.const $push10=, 0
+ return $pop10
.LBB0_4: # %if.then7
end_block # label2:
call abort@FUNCTION
diff --git a/test/torture-s/pr39233.c.s b/test/torture-s/pr39233.c.s
index d6f5a702d..cabb69d27 100644
--- a/test/torture-s/pr39233.c.s
+++ b/test/torture-s/pr39233.c.s
@@ -31,7 +31,6 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
i32.const $push0=, 6
call foo@FUNCTION, $pop0
@@ -45,9 +44,10 @@ main: # @main
call foo@FUNCTION, $pop4
i32.const $push5=, 1
call foo@FUNCTION, $pop5
- i32.const $0=, 0
- call foo@FUNCTION, $0
- return $0
+ i32.const $push6=, 0
+ call foo@FUNCTION, $pop6
+ i32.const $push7=, 0
+ return $pop7
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
diff --git a/test/torture-s/pr39240.c.s b/test/torture-s/pr39240.c.s
index f0842192a..9d32287dd 100644
--- a/test/torture-s/pr39240.c.s
+++ b/test/torture-s/pr39240.c.s
@@ -50,12 +50,12 @@ bar2: # @bar2
foo2: # @foo2
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 16
- i32.shl $push0=, $0, $1
- i32.shr_s $push1=, $pop0, $1
- return $pop1
+ i32.const $push0=, 16
+ i32.shl $push1=, $0, $pop0
+ i32.const $push3=, 16
+ i32.shr_s $push2=, $pop1, $pop3
+ return $pop2
.endfunc
.Lfunc_end3:
.size foo2, .Lfunc_end3-foo2
@@ -83,12 +83,12 @@ bar3: # @bar3
foo3: # @foo3
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 24
- i32.shl $push0=, $0, $1
- i32.shr_s $push1=, $pop0, $1
- return $pop1
+ i32.const $push0=, 24
+ i32.shl $push1=, $0, $pop0
+ i32.const $push3=, 24
+ i32.shr_s $push2=, $pop1, $pop3
+ return $pop2
.endfunc
.Lfunc_end5:
.size foo3, .Lfunc_end5-foo3
@@ -127,15 +127,15 @@ foo4: # @foo4
bar5: # @bar5
.param i32
.result i32
- .local i32
# BB#0: # %entry
i32.const $push0=, 6
i32.add $push1=, $0, $pop0
- i32.call $1=, foo5@FUNCTION, $pop1
- i32.const $0=, 16
- i32.shl $push2=, $1, $0
- i32.shr_s $push3=, $pop2, $0
- return $pop3
+ i32.call $push2=, foo5@FUNCTION, $pop1
+ i32.const $push3=, 16
+ i32.shl $push4=, $pop2, $pop3
+ i32.const $push6=, 16
+ i32.shr_s $push5=, $pop4, $pop6
+ return $pop5
.endfunc
.Lfunc_end8:
.size bar5, .Lfunc_end8-bar5
@@ -160,15 +160,15 @@ foo5: # @foo5
bar6: # @bar6
.param i32
.result i32
- .local i32
# BB#0: # %entry
i32.const $push0=, 6
i32.add $push1=, $0, $pop0
- i32.call $1=, foo6@FUNCTION, $pop1
- i32.const $0=, 24
- i32.shl $push2=, $1, $0
- i32.shr_s $push3=, $pop2, $0
- return $pop3
+ i32.call $push2=, foo6@FUNCTION, $pop1
+ i32.const $push3=, 24
+ i32.shl $push4=, $pop2, $pop3
+ i32.const $push6=, 24
+ i32.shr_s $push5=, $pop4, $pop6
+ return $pop5
.endfunc
.Lfunc_end10:
.size bar6, .Lfunc_end10-bar6
@@ -192,47 +192,57 @@ foo6: # @foo6
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, -10
- i32.call $1=, bar1@FUNCTION, $0
- i32.const $2=, 0
block
- i32.load $push0=, l1($2)
- i32.ne $push1=, $1, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push20=, -10
+ i32.call $push0=, bar1@FUNCTION, $pop20
+ i32.const $push19=, 0
+ i32.load $push1=, l1($pop19)
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.call $push2=, bar2@FUNCTION, $0
- i32.load $push3=, l2($2)
- i32.ne $push4=, $pop2, $pop3
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push22=, -10
+ i32.call $push3=, bar2@FUNCTION, $pop22
+ i32.const $push21=, 0
+ i32.load $push4=, l2($pop21)
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label1
# BB#2: # %if.end5
block
- i32.call $push5=, bar3@FUNCTION, $0
- i32.load $push6=, l3($2)
- i32.ne $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: down to label2
+ i32.const $push24=, -10
+ i32.call $push6=, bar3@FUNCTION, $pop24
+ i32.const $push23=, 0
+ i32.load $push7=, l3($pop23)
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label2
# BB#3: # %if.end11
block
- i32.call $push8=, bar4@FUNCTION, $0
- i32.load $push9=, l4($2)
- i32.ne $push10=, $pop8, $pop9
- br_if $pop10, 0 # 0: down to label3
+ i32.const $push26=, -10
+ i32.call $push9=, bar4@FUNCTION, $pop26
+ i32.const $push25=, 0
+ i32.load $push10=, l4($pop25)
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label3
# BB#4: # %if.end16
block
- i32.call $push11=, bar5@FUNCTION, $0
- i32.load $push12=, l5($2)
- i32.ne $push13=, $pop11, $pop12
- br_if $pop13, 0 # 0: down to label4
+ i32.const $push28=, -10
+ i32.call $push12=, bar5@FUNCTION, $pop28
+ i32.const $push27=, 0
+ i32.load $push13=, l5($pop27)
+ i32.ne $push14=, $pop12, $pop13
+ br_if $pop14, 0 # 0: down to label4
# BB#5: # %if.end22
block
- i32.call $push14=, bar6@FUNCTION, $0
- i32.load $push15=, l6($2)
- i32.ne $push16=, $pop14, $pop15
- br_if $pop16, 0 # 0: down to label5
+ i32.const $push30=, -10
+ i32.call $push15=, bar6@FUNCTION, $pop30
+ i32.const $push29=, 0
+ i32.load $push16=, l6($pop29)
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label5
# BB#6: # %if.end28
- return $2
+ i32.const $push18=, 0
+ return $pop18
.LBB12_7: # %if.then27
end_block # label5:
call abort@FUNCTION
@@ -265,7 +275,7 @@ main: # @main
.type l1,@object
.section .data.l1,"aw",@progbits
.globl l1
- .align 2
+ .p2align 2
l1:
.int32 4294967292 # 0xfffffffc
.size l1, 4
@@ -274,7 +284,7 @@ l1:
.type l2,@object
.section .data.l2,"aw",@progbits
.globl l2
- .align 2
+ .p2align 2
l2:
.int32 65532 # 0xfffc
.size l2, 4
@@ -283,7 +293,7 @@ l2:
.type l3,@object
.section .data.l3,"aw",@progbits
.globl l3
- .align 2
+ .p2align 2
l3:
.int32 252 # 0xfc
.size l3, 4
@@ -292,7 +302,7 @@ l3:
.type l4,@object
.section .data.l4,"aw",@progbits
.globl l4
- .align 2
+ .p2align 2
l4:
.int32 4294967292 # 0xfffffffc
.size l4, 4
@@ -301,7 +311,7 @@ l4:
.type l5,@object
.section .data.l5,"aw",@progbits
.globl l5
- .align 2
+ .p2align 2
l5:
.int32 4294967292 # 0xfffffffc
.size l5, 4
@@ -310,7 +320,7 @@ l5:
.type l6,@object
.section .data.l6,"aw",@progbits
.globl l6
- .align 2
+ .p2align 2
l6:
.int32 4294967292 # 0xfffffffc
.size l6, 4
diff --git a/test/torture-s/pr39339.c.s b/test/torture-s/pr39339.c.s
new file mode 100644
index 000000000..119605256
--- /dev/null
+++ b/test/torture-s/pr39339.c.s
@@ -0,0 +1,183 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr39339.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32, i32
+ .local i32, i32, i32
+# BB#0: # %entry
+ i32.const $push21=, 12
+ i32.add $push1=, $0, $pop21
+ i32.load $4=, 0($pop1)
+ i32.load $push7=, 0($3)
+ i32.load $push8=, 0($pop7)
+ i32.load $push0=, 4($0)
+ i32.const $push9=, 3
+ i32.shl $push10=, $pop0, $pop9
+ tee_local $push20=, $6=, $pop10
+ i32.add $push11=, $pop8, $pop20
+ tee_local $push19=, $0=, $pop11
+ i32.store $5=, 0($pop19), $1
+ i32.const $push4=, -16
+ i32.and $push5=, $4, $pop4
+ i32.const $push2=, 15
+ i32.and $push3=, $2, $pop2
+ i32.or $push6=, $pop5, $pop3
+ i32.store $0=, 4($0), $pop6
+ block
+ i32.const $push13=, 2
+ i32.lt_s $push14=, $2, $pop13
+ br_if $pop14, 0 # 0: down to label0
+# BB#1: # %for.body.preheader
+ i32.const $push12=, 4194304
+ i32.or $4=, $0, $pop12
+ i32.const $push23=, 12
+ i32.add $0=, $6, $pop23
+ i32.const $push22=, -1
+ i32.add $2=, $2, $pop22
+.LBB0_2: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label1:
+ i32.load $push15=, 0($3)
+ i32.load $push16=, 0($pop15)
+ i32.add $push17=, $pop16, $0
+ tee_local $push27=, $1=, $pop17
+ i32.const $push26=, -4
+ i32.add $push18=, $pop27, $pop26
+ i32.store $discard=, 0($pop18), $5
+ i32.store $discard=, 0($1), $4
+ i32.const $push25=, 8
+ i32.add $0=, $0, $pop25
+ i32.const $push24=, -1
+ i32.add $2=, $2, $pop24
+ br_if $2, 0 # 0: up to label1
+.LBB0_3: # %for.end
+ end_loop # label2:
+ end_block # label0:
+ return
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 64
+ i32.sub $16=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $16=, 0($3), $16
+ i32.const $push5=, 4
+ i32.const $5=, 8
+ i32.add $5=, $16, $5
+ i32.or $push6=, $5, $pop5
+ i32.const $push35=, 4
+ i32.store $push7=, 0($pop6), $pop35
+ tee_local $push34=, $1=, $pop7
+ i32.or $push8=, $16, $pop34
+ i32.const $push9=, 255
+ i32.store8 $discard=, 0($pop8):p2align=2, $pop9
+ i32.const $push13=, 24
+ i32.const $6=, 16
+ i32.add $6=, $16, $6
+ i32.add $push14=, $6, $pop13
+ i32.const $push10=, 28
+ i32.const $7=, 16
+ i32.add $7=, $16, $7
+ i32.add $push11=, $7, $pop10
+ i32.const $push0=, 0
+ i32.store $push12=, 0($pop11), $pop0
+ i32.store $discard=, 0($pop14):p2align=3, $pop12
+ i32.const $push2=, 8
+ i32.const $8=, 48
+ i32.add $8=, $16, $8
+ i32.add $push3=, $8, $pop2
+ i32.const $push33=, 0
+ i64.load $push1=, .Lmain.e+8($pop33):p2align=2
+ i64.store $discard=, 0($pop3), $pop1
+ i32.const $push32=, 8
+ i32.const $9=, 16
+ i32.add $9=, $16, $9
+ i32.or $push19=, $9, $pop32
+ i32.const $push15=, 16
+ i32.const $10=, 16
+ i32.add $10=, $16, $10
+ i32.add $push16=, $10, $pop15
+ i64.const $push17=, 0
+ i64.store $push18=, 0($pop16):p2align=4, $pop17
+ i64.store $0=, 0($pop19), $pop18
+ i32.const $push31=, 0
+ i64.load $push4=, .Lmain.e($pop31):p2align=2
+ i64.store $discard=, 48($16), $pop4
+ i64.store $discard=, 16($16):p2align=4, $0
+ i32.const $11=, 16
+ i32.add $11=, $16, $11
+ i32.store $discard=, 8($16):p2align=3, $11
+ i32.const $12=, 8
+ i32.add $12=, $16, $12
+ i32.store $discard=, 0($16):p2align=3, $12
+ i32.const $push22=, 65
+ i32.const $push21=, 2
+ i32.const $13=, 48
+ i32.add $13=, $16, $13
+ call foo@FUNCTION, $13, $pop22, $pop21, $16
+ i32.const $14=, 16
+ i32.add $14=, $16, $14
+ block
+ i32.or $push20=, $14, $1
+ i32.load $push23=, 0($pop20)
+ i32.const $push30=, 1434451954
+ i32.ne $push24=, $pop23, $pop30
+ br_if $pop24, 0 # 0: down to label3
+# BB#1: # %if.end
+ i32.const $push25=, 12
+ i32.const $15=, 16
+ i32.add $15=, $16, $15
+ block
+ i32.or $push26=, $15, $pop25
+ i32.load $push27=, 0($pop26)
+ i32.const $push36=, 1434451954
+ i32.ne $push28=, $pop27, $pop36
+ br_if $pop28, 0 # 0: down to label4
+# BB#2: # %if.end13
+ i32.const $push29=, 0
+ i32.const $4=, 64
+ i32.add $16=, $16, $4
+ i32.const $4=, __stack_pointer
+ i32.store $16=, 0($4), $16
+ return $pop29
+.LBB1_3: # %if.then12
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB1_4: # %if.then
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .type .Lmain.e,@object # @main.e
+ .section .rodata.cst16,"aM",@progbits,16
+ .p2align 2
+.Lmain.e:
+ .int32 5 # 0x5
+ .int32 0 # 0x0
+ .int32 6 # 0x6
+ .int8 255 # 0xff
+ .int8 255 # 0xff
+ .int8 127 # 0x7f
+ .int8 85 # 0x55
+ .size .Lmain.e, 16
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr39501.c.s b/test/torture-s/pr39501.c.s
index 2bdb8479d..1bde6bb9c 100644
--- a/test/torture-s/pr39501.c.s
+++ b/test/torture-s/pr39501.c.s
@@ -126,13 +126,13 @@ double_max2: # @double_max2
.type main,@function
main: # @main
.result i32
- .local f32, f32, f32, f64, f64, f64
# BB#0: # %entry
- f32.const $0=, -0x1p0
- f32.const $1=, 0x0p0
block
- f32.call $push0=, float_min1@FUNCTION, $1, $0
- f32.eq $push1=, $pop0, $0
+ f32.const $push99=, 0x0p0
+ f32.const $push98=, -0x1p0
+ f32.call $push0=, float_min1@FUNCTION, $pop99, $pop98
+ f32.const $push97=, -0x1p0
+ f32.eq $push1=, $pop0, $pop97
br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.then
call abort@FUNCTION
@@ -140,18 +140,23 @@ main: # @main
.LBB8_2: # %if.end
end_block # label0:
block
- f32.call $push2=, float_min1@FUNCTION, $0, $1
- f32.eq $push3=, $pop2, $0
+ f32.const $push102=, -0x1p0
+ f32.const $push101=, 0x0p0
+ f32.call $push2=, float_min1@FUNCTION, $pop102, $pop101
+ f32.const $push100=, -0x1p0
+ f32.eq $push3=, $pop2, $pop100
br_if $pop3, 0 # 0: down to label1
# BB#3: # %if.then3
call abort@FUNCTION
unreachable
.LBB8_4: # %if.end4
end_block # label1:
- f32.const $2=, 0x1p0
block
- f32.call $push4=, float_min1@FUNCTION, $1, $2
- f32.eq $push5=, $pop4, $1
+ f32.const $push105=, 0x0p0
+ f32.const $push104=, 0x1p0
+ f32.call $push4=, float_min1@FUNCTION, $pop105, $pop104
+ f32.const $push103=, 0x0p0
+ f32.eq $push5=, $pop4, $pop103
br_if $pop5, 0 # 0: down to label2
# BB#5: # %if.then7
call abort@FUNCTION
@@ -159,8 +164,11 @@ main: # @main
.LBB8_6: # %if.end8
end_block # label2:
block
- f32.call $push6=, float_min1@FUNCTION, $2, $1
- f32.eq $push7=, $pop6, $1
+ f32.const $push108=, 0x1p0
+ f32.const $push107=, 0x0p0
+ f32.call $push6=, float_min1@FUNCTION, $pop108, $pop107
+ f32.const $push106=, 0x0p0
+ f32.eq $push7=, $pop6, $pop106
br_if $pop7, 0 # 0: down to label3
# BB#7: # %if.then11
call abort@FUNCTION
@@ -168,8 +176,11 @@ main: # @main
.LBB8_8: # %if.end12
end_block # label3:
block
- f32.call $push8=, float_min1@FUNCTION, $0, $2
- f32.eq $push9=, $pop8, $0
+ f32.const $push111=, -0x1p0
+ f32.const $push110=, 0x1p0
+ f32.call $push8=, float_min1@FUNCTION, $pop111, $pop110
+ f32.const $push109=, -0x1p0
+ f32.eq $push9=, $pop8, $pop109
br_if $pop9, 0 # 0: down to label4
# BB#9: # %if.then15
call abort@FUNCTION
@@ -177,8 +188,11 @@ main: # @main
.LBB8_10: # %if.end16
end_block # label4:
block
- f32.call $push10=, float_min1@FUNCTION, $2, $0
- f32.eq $push11=, $pop10, $0
+ f32.const $push114=, 0x1p0
+ f32.const $push113=, -0x1p0
+ f32.call $push10=, float_min1@FUNCTION, $pop114, $pop113
+ f32.const $push112=, -0x1p0
+ f32.eq $push11=, $pop10, $pop112
br_if $pop11, 0 # 0: down to label5
# BB#11: # %if.then19
call abort@FUNCTION
@@ -186,8 +200,11 @@ main: # @main
.LBB8_12: # %if.end20
end_block # label5:
block
- f32.call $push12=, float_max1@FUNCTION, $1, $0
- f32.eq $push13=, $pop12, $1
+ f32.const $push117=, 0x0p0
+ f32.const $push116=, -0x1p0
+ f32.call $push12=, float_max1@FUNCTION, $pop117, $pop116
+ f32.const $push115=, 0x0p0
+ f32.eq $push13=, $pop12, $pop115
br_if $pop13, 0 # 0: down to label6
# BB#13: # %if.then23
call abort@FUNCTION
@@ -195,8 +212,11 @@ main: # @main
.LBB8_14: # %if.end24
end_block # label6:
block
- f32.call $push14=, float_max1@FUNCTION, $0, $1
- f32.eq $push15=, $pop14, $1
+ f32.const $push120=, -0x1p0
+ f32.const $push119=, 0x0p0
+ f32.call $push14=, float_max1@FUNCTION, $pop120, $pop119
+ f32.const $push118=, 0x0p0
+ f32.eq $push15=, $pop14, $pop118
br_if $pop15, 0 # 0: down to label7
# BB#15: # %if.then27
call abort@FUNCTION
@@ -204,8 +224,11 @@ main: # @main
.LBB8_16: # %if.end28
end_block # label7:
block
- f32.call $push16=, float_max1@FUNCTION, $1, $2
- f32.eq $push17=, $pop16, $2
+ f32.const $push123=, 0x0p0
+ f32.const $push122=, 0x1p0
+ f32.call $push16=, float_max1@FUNCTION, $pop123, $pop122
+ f32.const $push121=, 0x1p0
+ f32.eq $push17=, $pop16, $pop121
br_if $pop17, 0 # 0: down to label8
# BB#17: # %if.then31
call abort@FUNCTION
@@ -213,8 +236,11 @@ main: # @main
.LBB8_18: # %if.end32
end_block # label8:
block
- f32.call $push18=, float_max1@FUNCTION, $2, $1
- f32.eq $push19=, $pop18, $2
+ f32.const $push126=, 0x1p0
+ f32.const $push125=, 0x0p0
+ f32.call $push18=, float_max1@FUNCTION, $pop126, $pop125
+ f32.const $push124=, 0x1p0
+ f32.eq $push19=, $pop18, $pop124
br_if $pop19, 0 # 0: down to label9
# BB#19: # %if.then35
call abort@FUNCTION
@@ -222,8 +248,11 @@ main: # @main
.LBB8_20: # %if.end36
end_block # label9:
block
- f32.call $push20=, float_max1@FUNCTION, $0, $2
- f32.eq $push21=, $pop20, $2
+ f32.const $push129=, -0x1p0
+ f32.const $push128=, 0x1p0
+ f32.call $push20=, float_max1@FUNCTION, $pop129, $pop128
+ f32.const $push127=, 0x1p0
+ f32.eq $push21=, $pop20, $pop127
br_if $pop21, 0 # 0: down to label10
# BB#21: # %if.then39
call abort@FUNCTION
@@ -231,8 +260,11 @@ main: # @main
.LBB8_22: # %if.end40
end_block # label10:
block
- f32.call $push22=, float_max1@FUNCTION, $2, $0
- f32.eq $push23=, $pop22, $2
+ f32.const $push132=, 0x1p0
+ f32.const $push131=, -0x1p0
+ f32.call $push22=, float_max1@FUNCTION, $pop132, $pop131
+ f32.const $push130=, 0x1p0
+ f32.eq $push23=, $pop22, $pop130
br_if $pop23, 0 # 0: down to label11
# BB#23: # %if.then43
call abort@FUNCTION
@@ -240,8 +272,11 @@ main: # @main
.LBB8_24: # %if.end44
end_block # label11:
block
- f32.call $push24=, float_min2@FUNCTION, $1, $0
- f32.eq $push25=, $pop24, $0
+ f32.const $push135=, 0x0p0
+ f32.const $push134=, -0x1p0
+ f32.call $push24=, float_min2@FUNCTION, $pop135, $pop134
+ f32.const $push133=, -0x1p0
+ f32.eq $push25=, $pop24, $pop133
br_if $pop25, 0 # 0: down to label12
# BB#25: # %if.then47
call abort@FUNCTION
@@ -249,8 +284,11 @@ main: # @main
.LBB8_26: # %if.end48
end_block # label12:
block
- f32.call $push26=, float_min2@FUNCTION, $0, $1
- f32.eq $push27=, $pop26, $0
+ f32.const $push138=, -0x1p0
+ f32.const $push137=, 0x0p0
+ f32.call $push26=, float_min2@FUNCTION, $pop138, $pop137
+ f32.const $push136=, -0x1p0
+ f32.eq $push27=, $pop26, $pop136
br_if $pop27, 0 # 0: down to label13
# BB#27: # %if.then51
call abort@FUNCTION
@@ -258,8 +296,11 @@ main: # @main
.LBB8_28: # %if.end52
end_block # label13:
block
- f32.call $push28=, float_min2@FUNCTION, $1, $2
- f32.eq $push29=, $pop28, $1
+ f32.const $push141=, 0x0p0
+ f32.const $push140=, 0x1p0
+ f32.call $push28=, float_min2@FUNCTION, $pop141, $pop140
+ f32.const $push139=, 0x0p0
+ f32.eq $push29=, $pop28, $pop139
br_if $pop29, 0 # 0: down to label14
# BB#29: # %if.then55
call abort@FUNCTION
@@ -267,8 +308,11 @@ main: # @main
.LBB8_30: # %if.end56
end_block # label14:
block
- f32.call $push30=, float_min2@FUNCTION, $2, $1
- f32.eq $push31=, $pop30, $1
+ f32.const $push144=, 0x1p0
+ f32.const $push143=, 0x0p0
+ f32.call $push30=, float_min2@FUNCTION, $pop144, $pop143
+ f32.const $push142=, 0x0p0
+ f32.eq $push31=, $pop30, $pop142
br_if $pop31, 0 # 0: down to label15
# BB#31: # %if.then59
call abort@FUNCTION
@@ -276,8 +320,11 @@ main: # @main
.LBB8_32: # %if.end60
end_block # label15:
block
- f32.call $push32=, float_min2@FUNCTION, $0, $2
- f32.eq $push33=, $pop32, $0
+ f32.const $push147=, -0x1p0
+ f32.const $push146=, 0x1p0
+ f32.call $push32=, float_min2@FUNCTION, $pop147, $pop146
+ f32.const $push145=, -0x1p0
+ f32.eq $push33=, $pop32, $pop145
br_if $pop33, 0 # 0: down to label16
# BB#33: # %if.then63
call abort@FUNCTION
@@ -285,8 +332,11 @@ main: # @main
.LBB8_34: # %if.end64
end_block # label16:
block
- f32.call $push34=, float_min2@FUNCTION, $2, $0
- f32.eq $push35=, $pop34, $0
+ f32.const $push150=, 0x1p0
+ f32.const $push149=, -0x1p0
+ f32.call $push34=, float_min2@FUNCTION, $pop150, $pop149
+ f32.const $push148=, -0x1p0
+ f32.eq $push35=, $pop34, $pop148
br_if $pop35, 0 # 0: down to label17
# BB#35: # %if.then67
call abort@FUNCTION
@@ -294,8 +344,11 @@ main: # @main
.LBB8_36: # %if.end68
end_block # label17:
block
- f32.call $push36=, float_max2@FUNCTION, $1, $0
- f32.eq $push37=, $pop36, $1
+ f32.const $push153=, 0x0p0
+ f32.const $push152=, -0x1p0
+ f32.call $push36=, float_max2@FUNCTION, $pop153, $pop152
+ f32.const $push151=, 0x0p0
+ f32.eq $push37=, $pop36, $pop151
br_if $pop37, 0 # 0: down to label18
# BB#37: # %if.then71
call abort@FUNCTION
@@ -303,8 +356,11 @@ main: # @main
.LBB8_38: # %if.end72
end_block # label18:
block
- f32.call $push38=, float_max2@FUNCTION, $0, $1
- f32.eq $push39=, $pop38, $1
+ f32.const $push156=, -0x1p0
+ f32.const $push155=, 0x0p0
+ f32.call $push38=, float_max2@FUNCTION, $pop156, $pop155
+ f32.const $push154=, 0x0p0
+ f32.eq $push39=, $pop38, $pop154
br_if $pop39, 0 # 0: down to label19
# BB#39: # %if.then75
call abort@FUNCTION
@@ -312,8 +368,11 @@ main: # @main
.LBB8_40: # %if.end76
end_block # label19:
block
- f32.call $push40=, float_max2@FUNCTION, $1, $2
- f32.eq $push41=, $pop40, $2
+ f32.const $push159=, 0x0p0
+ f32.const $push158=, 0x1p0
+ f32.call $push40=, float_max2@FUNCTION, $pop159, $pop158
+ f32.const $push157=, 0x1p0
+ f32.eq $push41=, $pop40, $pop157
br_if $pop41, 0 # 0: down to label20
# BB#41: # %if.then79
call abort@FUNCTION
@@ -321,8 +380,11 @@ main: # @main
.LBB8_42: # %if.end80
end_block # label20:
block
- f32.call $push42=, float_max2@FUNCTION, $2, $1
- f32.eq $push43=, $pop42, $2
+ f32.const $push162=, 0x1p0
+ f32.const $push161=, 0x0p0
+ f32.call $push42=, float_max2@FUNCTION, $pop162, $pop161
+ f32.const $push160=, 0x1p0
+ f32.eq $push43=, $pop42, $pop160
br_if $pop43, 0 # 0: down to label21
# BB#43: # %if.then83
call abort@FUNCTION
@@ -330,8 +392,11 @@ main: # @main
.LBB8_44: # %if.end84
end_block # label21:
block
- f32.call $push44=, float_max2@FUNCTION, $0, $2
- f32.eq $push45=, $pop44, $2
+ f32.const $push165=, -0x1p0
+ f32.const $push164=, 0x1p0
+ f32.call $push44=, float_max2@FUNCTION, $pop165, $pop164
+ f32.const $push163=, 0x1p0
+ f32.eq $push45=, $pop44, $pop163
br_if $pop45, 0 # 0: down to label22
# BB#45: # %if.then87
call abort@FUNCTION
@@ -339,19 +404,23 @@ main: # @main
.LBB8_46: # %if.end88
end_block # label22:
block
- f32.call $push46=, float_max2@FUNCTION, $2, $0
- f32.eq $push47=, $pop46, $2
+ f32.const $push168=, 0x1p0
+ f32.const $push167=, -0x1p0
+ f32.call $push46=, float_max2@FUNCTION, $pop168, $pop167
+ f32.const $push166=, 0x1p0
+ f32.eq $push47=, $pop46, $pop166
br_if $pop47, 0 # 0: down to label23
# BB#47: # %if.then91
call abort@FUNCTION
unreachable
.LBB8_48: # %if.end92
end_block # label23:
- f64.const $3=, -0x1p0
- f64.const $4=, 0x0p0
block
- f64.call $push48=, double_min1@FUNCTION, $4, $3
- f64.eq $push49=, $pop48, $3
+ f64.const $push171=, 0x0p0
+ f64.const $push170=, -0x1p0
+ f64.call $push48=, double_min1@FUNCTION, $pop171, $pop170
+ f64.const $push169=, -0x1p0
+ f64.eq $push49=, $pop48, $pop169
br_if $pop49, 0 # 0: down to label24
# BB#49: # %if.then95
call abort@FUNCTION
@@ -359,18 +428,23 @@ main: # @main
.LBB8_50: # %if.end96
end_block # label24:
block
- f64.call $push50=, double_min1@FUNCTION, $3, $4
- f64.eq $push51=, $pop50, $3
+ f64.const $push174=, -0x1p0
+ f64.const $push173=, 0x0p0
+ f64.call $push50=, double_min1@FUNCTION, $pop174, $pop173
+ f64.const $push172=, -0x1p0
+ f64.eq $push51=, $pop50, $pop172
br_if $pop51, 0 # 0: down to label25
# BB#51: # %if.then99
call abort@FUNCTION
unreachable
.LBB8_52: # %if.end100
end_block # label25:
- f64.const $5=, 0x1p0
block
- f64.call $push52=, double_min1@FUNCTION, $4, $5
- f64.eq $push53=, $pop52, $4
+ f64.const $push177=, 0x0p0
+ f64.const $push176=, 0x1p0
+ f64.call $push52=, double_min1@FUNCTION, $pop177, $pop176
+ f64.const $push175=, 0x0p0
+ f64.eq $push53=, $pop52, $pop175
br_if $pop53, 0 # 0: down to label26
# BB#53: # %if.then103
call abort@FUNCTION
@@ -378,8 +452,11 @@ main: # @main
.LBB8_54: # %if.end104
end_block # label26:
block
- f64.call $push54=, double_min1@FUNCTION, $5, $4
- f64.eq $push55=, $pop54, $4
+ f64.const $push180=, 0x1p0
+ f64.const $push179=, 0x0p0
+ f64.call $push54=, double_min1@FUNCTION, $pop180, $pop179
+ f64.const $push178=, 0x0p0
+ f64.eq $push55=, $pop54, $pop178
br_if $pop55, 0 # 0: down to label27
# BB#55: # %if.then107
call abort@FUNCTION
@@ -387,8 +464,11 @@ main: # @main
.LBB8_56: # %if.end108
end_block # label27:
block
- f64.call $push56=, double_min1@FUNCTION, $3, $5
- f64.eq $push57=, $pop56, $3
+ f64.const $push183=, -0x1p0
+ f64.const $push182=, 0x1p0
+ f64.call $push56=, double_min1@FUNCTION, $pop183, $pop182
+ f64.const $push181=, -0x1p0
+ f64.eq $push57=, $pop56, $pop181
br_if $pop57, 0 # 0: down to label28
# BB#57: # %if.then111
call abort@FUNCTION
@@ -396,8 +476,11 @@ main: # @main
.LBB8_58: # %if.end112
end_block # label28:
block
- f64.call $push58=, double_min1@FUNCTION, $5, $3
- f64.eq $push59=, $pop58, $3
+ f64.const $push186=, 0x1p0
+ f64.const $push185=, -0x1p0
+ f64.call $push58=, double_min1@FUNCTION, $pop186, $pop185
+ f64.const $push184=, -0x1p0
+ f64.eq $push59=, $pop58, $pop184
br_if $pop59, 0 # 0: down to label29
# BB#59: # %if.then115
call abort@FUNCTION
@@ -405,8 +488,11 @@ main: # @main
.LBB8_60: # %if.end116
end_block # label29:
block
- f64.call $push60=, double_max1@FUNCTION, $4, $3
- f64.eq $push61=, $pop60, $4
+ f64.const $push189=, 0x0p0
+ f64.const $push188=, -0x1p0
+ f64.call $push60=, double_max1@FUNCTION, $pop189, $pop188
+ f64.const $push187=, 0x0p0
+ f64.eq $push61=, $pop60, $pop187
br_if $pop61, 0 # 0: down to label30
# BB#61: # %if.then119
call abort@FUNCTION
@@ -414,8 +500,11 @@ main: # @main
.LBB8_62: # %if.end120
end_block # label30:
block
- f64.call $push62=, double_max1@FUNCTION, $3, $4
- f64.eq $push63=, $pop62, $4
+ f64.const $push192=, -0x1p0
+ f64.const $push191=, 0x0p0
+ f64.call $push62=, double_max1@FUNCTION, $pop192, $pop191
+ f64.const $push190=, 0x0p0
+ f64.eq $push63=, $pop62, $pop190
br_if $pop63, 0 # 0: down to label31
# BB#63: # %if.then123
call abort@FUNCTION
@@ -423,8 +512,11 @@ main: # @main
.LBB8_64: # %if.end124
end_block # label31:
block
- f64.call $push64=, double_max1@FUNCTION, $4, $5
- f64.eq $push65=, $pop64, $5
+ f64.const $push195=, 0x0p0
+ f64.const $push194=, 0x1p0
+ f64.call $push64=, double_max1@FUNCTION, $pop195, $pop194
+ f64.const $push193=, 0x1p0
+ f64.eq $push65=, $pop64, $pop193
br_if $pop65, 0 # 0: down to label32
# BB#65: # %if.then127
call abort@FUNCTION
@@ -432,8 +524,11 @@ main: # @main
.LBB8_66: # %if.end128
end_block # label32:
block
- f64.call $push66=, double_max1@FUNCTION, $5, $4
- f64.eq $push67=, $pop66, $5
+ f64.const $push198=, 0x1p0
+ f64.const $push197=, 0x0p0
+ f64.call $push66=, double_max1@FUNCTION, $pop198, $pop197
+ f64.const $push196=, 0x1p0
+ f64.eq $push67=, $pop66, $pop196
br_if $pop67, 0 # 0: down to label33
# BB#67: # %if.then131
call abort@FUNCTION
@@ -441,8 +536,11 @@ main: # @main
.LBB8_68: # %if.end132
end_block # label33:
block
- f64.call $push68=, double_max1@FUNCTION, $3, $5
- f64.eq $push69=, $pop68, $5
+ f64.const $push201=, -0x1p0
+ f64.const $push200=, 0x1p0
+ f64.call $push68=, double_max1@FUNCTION, $pop201, $pop200
+ f64.const $push199=, 0x1p0
+ f64.eq $push69=, $pop68, $pop199
br_if $pop69, 0 # 0: down to label34
# BB#69: # %if.then135
call abort@FUNCTION
@@ -450,8 +548,11 @@ main: # @main
.LBB8_70: # %if.end136
end_block # label34:
block
- f64.call $push70=, double_max1@FUNCTION, $5, $3
- f64.eq $push71=, $pop70, $5
+ f64.const $push204=, 0x1p0
+ f64.const $push203=, -0x1p0
+ f64.call $push70=, double_max1@FUNCTION, $pop204, $pop203
+ f64.const $push202=, 0x1p0
+ f64.eq $push71=, $pop70, $pop202
br_if $pop71, 0 # 0: down to label35
# BB#71: # %if.then139
call abort@FUNCTION
@@ -459,8 +560,11 @@ main: # @main
.LBB8_72: # %if.end140
end_block # label35:
block
- f64.call $push72=, double_min2@FUNCTION, $4, $3
- f64.eq $push73=, $pop72, $3
+ f64.const $push207=, 0x0p0
+ f64.const $push206=, -0x1p0
+ f64.call $push72=, double_min2@FUNCTION, $pop207, $pop206
+ f64.const $push205=, -0x1p0
+ f64.eq $push73=, $pop72, $pop205
br_if $pop73, 0 # 0: down to label36
# BB#73: # %if.then143
call abort@FUNCTION
@@ -468,8 +572,11 @@ main: # @main
.LBB8_74: # %if.end144
end_block # label36:
block
- f64.call $push74=, double_min2@FUNCTION, $3, $4
- f64.eq $push75=, $pop74, $3
+ f64.const $push210=, -0x1p0
+ f64.const $push209=, 0x0p0
+ f64.call $push74=, double_min2@FUNCTION, $pop210, $pop209
+ f64.const $push208=, -0x1p0
+ f64.eq $push75=, $pop74, $pop208
br_if $pop75, 0 # 0: down to label37
# BB#75: # %if.then147
call abort@FUNCTION
@@ -477,8 +584,11 @@ main: # @main
.LBB8_76: # %if.end148
end_block # label37:
block
- f64.call $push76=, double_min2@FUNCTION, $4, $5
- f64.eq $push77=, $pop76, $4
+ f64.const $push213=, 0x0p0
+ f64.const $push212=, 0x1p0
+ f64.call $push76=, double_min2@FUNCTION, $pop213, $pop212
+ f64.const $push211=, 0x0p0
+ f64.eq $push77=, $pop76, $pop211
br_if $pop77, 0 # 0: down to label38
# BB#77: # %if.then151
call abort@FUNCTION
@@ -486,8 +596,11 @@ main: # @main
.LBB8_78: # %if.end152
end_block # label38:
block
- f64.call $push78=, double_min2@FUNCTION, $5, $4
- f64.eq $push79=, $pop78, $4
+ f64.const $push216=, 0x1p0
+ f64.const $push215=, 0x0p0
+ f64.call $push78=, double_min2@FUNCTION, $pop216, $pop215
+ f64.const $push214=, 0x0p0
+ f64.eq $push79=, $pop78, $pop214
br_if $pop79, 0 # 0: down to label39
# BB#79: # %if.then155
call abort@FUNCTION
@@ -495,8 +608,11 @@ main: # @main
.LBB8_80: # %if.end156
end_block # label39:
block
- f64.call $push80=, double_min2@FUNCTION, $3, $5
- f64.eq $push81=, $pop80, $3
+ f64.const $push219=, -0x1p0
+ f64.const $push218=, 0x1p0
+ f64.call $push80=, double_min2@FUNCTION, $pop219, $pop218
+ f64.const $push217=, -0x1p0
+ f64.eq $push81=, $pop80, $pop217
br_if $pop81, 0 # 0: down to label40
# BB#81: # %if.then159
call abort@FUNCTION
@@ -504,8 +620,11 @@ main: # @main
.LBB8_82: # %if.end160
end_block # label40:
block
- f64.call $push82=, double_min2@FUNCTION, $5, $3
- f64.eq $push83=, $pop82, $3
+ f64.const $push222=, 0x1p0
+ f64.const $push221=, -0x1p0
+ f64.call $push82=, double_min2@FUNCTION, $pop222, $pop221
+ f64.const $push220=, -0x1p0
+ f64.eq $push83=, $pop82, $pop220
br_if $pop83, 0 # 0: down to label41
# BB#83: # %if.then163
call abort@FUNCTION
@@ -513,8 +632,11 @@ main: # @main
.LBB8_84: # %if.end164
end_block # label41:
block
- f64.call $push84=, double_max2@FUNCTION, $4, $3
- f64.eq $push85=, $pop84, $4
+ f64.const $push225=, 0x0p0
+ f64.const $push224=, -0x1p0
+ f64.call $push84=, double_max2@FUNCTION, $pop225, $pop224
+ f64.const $push223=, 0x0p0
+ f64.eq $push85=, $pop84, $pop223
br_if $pop85, 0 # 0: down to label42
# BB#85: # %if.then167
call abort@FUNCTION
@@ -522,8 +644,11 @@ main: # @main
.LBB8_86: # %if.end168
end_block # label42:
block
- f64.call $push86=, double_max2@FUNCTION, $3, $4
- f64.eq $push87=, $pop86, $4
+ f64.const $push228=, -0x1p0
+ f64.const $push227=, 0x0p0
+ f64.call $push86=, double_max2@FUNCTION, $pop228, $pop227
+ f64.const $push226=, 0x0p0
+ f64.eq $push87=, $pop86, $pop226
br_if $pop87, 0 # 0: down to label43
# BB#87: # %if.then171
call abort@FUNCTION
@@ -531,8 +656,11 @@ main: # @main
.LBB8_88: # %if.end172
end_block # label43:
block
- f64.call $push88=, double_max2@FUNCTION, $4, $5
- f64.eq $push89=, $pop88, $5
+ f64.const $push231=, 0x0p0
+ f64.const $push230=, 0x1p0
+ f64.call $push88=, double_max2@FUNCTION, $pop231, $pop230
+ f64.const $push229=, 0x1p0
+ f64.eq $push89=, $pop88, $pop229
br_if $pop89, 0 # 0: down to label44
# BB#89: # %if.then175
call abort@FUNCTION
@@ -540,8 +668,11 @@ main: # @main
.LBB8_90: # %if.end176
end_block # label44:
block
- f64.call $push90=, double_max2@FUNCTION, $5, $4
- f64.eq $push91=, $pop90, $5
+ f64.const $push234=, 0x1p0
+ f64.const $push233=, 0x0p0
+ f64.call $push90=, double_max2@FUNCTION, $pop234, $pop233
+ f64.const $push232=, 0x1p0
+ f64.eq $push91=, $pop90, $pop232
br_if $pop91, 0 # 0: down to label45
# BB#91: # %if.then179
call abort@FUNCTION
@@ -549,8 +680,11 @@ main: # @main
.LBB8_92: # %if.end180
end_block # label45:
block
- f64.call $push92=, double_max2@FUNCTION, $3, $5
- f64.eq $push93=, $pop92, $5
+ f64.const $push237=, -0x1p0
+ f64.const $push236=, 0x1p0
+ f64.call $push92=, double_max2@FUNCTION, $pop237, $pop236
+ f64.const $push235=, 0x1p0
+ f64.eq $push93=, $pop92, $pop235
br_if $pop93, 0 # 0: down to label46
# BB#93: # %if.then183
call abort@FUNCTION
@@ -558,8 +692,11 @@ main: # @main
.LBB8_94: # %if.end184
end_block # label46:
block
- f64.call $push94=, double_max2@FUNCTION, $5, $3
- f64.eq $push95=, $pop94, $5
+ f64.const $push240=, 0x1p0
+ f64.const $push239=, -0x1p0
+ f64.call $push94=, double_max2@FUNCTION, $pop240, $pop239
+ f64.const $push238=, 0x1p0
+ f64.eq $push95=, $pop94, $pop238
br_if $pop95, 0 # 0: down to label47
# BB#95: # %if.then187
call abort@FUNCTION
diff --git a/test/torture-s/pr40022.c.s b/test/torture-s/pr40022.c.s
index faca4ea11..3de3a86b1 100644
--- a/test/torture-s/pr40022.c.s
+++ b/test/torture-s/pr40022.c.s
@@ -12,19 +12,19 @@ foo: # @foo
i32.const $1=, __stack_pointer
i32.load $1=, 0($1)
i32.const $2=, 16
- i32.sub $4=, $1, $2
+ i32.sub $5=, $1, $2
i32.const $2=, __stack_pointer
- i32.store $4=, 0($2), $4
+ i32.store $5=, 0($2), $5
+ i32.store $discard=, 12($5), $0
i32.const $4=, 12
- i32.add $4=, $4, $4
+ i32.add $4=, $5, $4
#APP
#NO_APP
- i32.store $push0=, 12($4), $0
i32.const $3=, 16
- i32.add $4=, $4, $3
+ i32.add $5=, $5, $3
i32.const $3=, __stack_pointer
- i32.store $4=, 0($3), $4
- return $pop0
+ i32.store $5=, 0($3), $5
+ return $0
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -38,10 +38,11 @@ bar: # @bar
# BB#0: # %entry
block
i32.call $push0=, foo@FUNCTION, $1
- i32.store $1=, 0($0), $pop0
- i32.const $push3=, 0
- i32.eq $push4=, $1, $pop3
- br_if $pop4, 0 # 0: down to label0
+ i32.store $push3=, 0($0), $pop0
+ tee_local $push5=, $1=, $pop3
+ i32.const $push7=, 0
+ i32.eq $push8=, $pop5, $pop7
+ br_if $pop8, 0 # 0: down to label0
.LBB1_1: # %while.cond.while.cond_crit_edge
# =>This Inner Loop Header: Depth=1
loop # label1:
@@ -53,10 +54,11 @@ bar: # @bar
end_block # label0:
block
i32.call $push1=, foo@FUNCTION, $2
- i32.store $1=, 0($0), $pop1
- i32.const $push5=, 0
- i32.eq $push6=, $1, $pop5
- br_if $pop6, 0 # 0: down to label3
+ i32.store $push4=, 0($0), $pop1
+ tee_local $push6=, $1=, $pop4
+ i32.const $push9=, 0
+ i32.eq $push10=, $pop6, $pop9
+ br_if $pop10, 0 # 0: down to label3
.LBB1_3: # %while.cond2.while.cond2_crit_edge
# =>This Inner Loop Header: Depth=1
loop # label4:
@@ -79,35 +81,41 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $push0=, g
- i32.store $discard=, f($1), $pop0
- i32.const $push3=, d
- i32.const $push2=, e
- i32.const $push1=, f
- call bar@FUNCTION, $pop3, $pop2, $pop1, $1
- i32.load $0=, d($1)
+ i32.const $push4=, 0
+ i32.const $push3=, g
+ i32.store $discard=, f($pop4), $pop3
+ i32.const $push7=, d
+ i32.const $push6=, e
+ i32.const $push5=, f
+ i32.const $push12=, 0
+ call bar@FUNCTION, $pop7, $pop6, $pop5, $pop12
block
- i32.const $push5=, 0
- i32.eq $push6=, $0, $pop5
- br_if $pop6, 0 # 0: down to label6
+ i32.const $push11=, 0
+ i32.load $push0=, d($pop11)
+ tee_local $push10=, $0=, $pop0
+ i32.const $push15=, 0
+ i32.eq $push16=, $pop10, $pop15
+ br_if $pop16, 0 # 0: down to label6
# BB#1: # %lor.lhs.false
- i32.load $0=, 0($0)
- i32.const $push7=, 0
- i32.eq $push8=, $0, $pop7
- br_if $pop8, 0 # 0: down to label6
+ i32.load $push1=, 0($0)
+ tee_local $push13=, $0=, $pop1
+ i32.const $push17=, 0
+ i32.eq $push18=, $pop13, $pop17
+ br_if $pop18, 0 # 0: down to label6
# BB#2: # %lor.lhs.false2
- i32.load $0=, 0($0)
- i32.const $push9=, 0
- i32.eq $push10=, $0, $pop9
- br_if $pop10, 0 # 0: down to label6
+ i32.load $push2=, 0($0)
+ tee_local $push14=, $0=, $pop2
+ i32.const $push19=, 0
+ i32.eq $push20=, $pop14, $pop19
+ br_if $pop20, 0 # 0: down to label6
# BB#3: # %lor.lhs.false6
- i32.load $push4=, 0($0)
- br_if $pop4, 0 # 0: down to label6
+ i32.load $push8=, 0($0)
+ br_if $pop8, 0 # 0: down to label6
# BB#4: # %if.end
- return $1
+ i32.const $push9=, 0
+ return $pop9
.LBB2_5: # %if.then
end_block # label6:
call abort@FUNCTION
@@ -120,7 +128,7 @@ main: # @main
.type g,@object
.section .bss.g,"aw",@nobits
.globl g
- .align 2
+ .p2align 2
g:
.skip 4
.size g, 4
@@ -129,7 +137,7 @@ g:
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 2
+ .p2align 2
f:
.skip 4
.size f, 4
@@ -138,7 +146,7 @@ f:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.skip 4
.size d, 4
@@ -147,7 +155,7 @@ d:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.skip 4
.size e, 4
diff --git a/test/torture-s/pr40057.c.s b/test/torture-s/pr40057.c.s
index 69f862601..882c32fbb 100644
--- a/test/torture-s/pr40057.c.s
+++ b/test/torture-s/pr40057.c.s
@@ -38,32 +38,33 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i64, i64
# BB#0: # %entry
- i64.const $0=, 6042589866
block
- i32.call $push0=, foo@FUNCTION, $0
- br_if $pop0, 0 # 0: down to label0
+ i64.const $push0=, 6042589866
+ i32.call $push1=, foo@FUNCTION, $pop0
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
- i64.const $1=, 6579460778
block
- i32.call $push1=, foo@FUNCTION, $1
- i32.const $push5=, 0
- i32.eq $push6=, $pop1, $pop5
- br_if $pop6, 0 # 0: down to label1
+ i64.const $push2=, 6579460778
+ i32.call $push3=, foo@FUNCTION, $pop2
+ i32.const $push9=, 0
+ i32.eq $push10=, $pop3, $pop9
+ br_if $pop10, 0 # 0: down to label1
# BB#2: # %if.end4
block
- i32.call $push2=, bar@FUNCTION, $0
- br_if $pop2, 0 # 0: down to label2
+ i64.const $push4=, 6042589866
+ i32.call $push5=, bar@FUNCTION, $pop4
+ br_if $pop5, 0 # 0: down to label2
# BB#3: # %if.end8
block
- i32.call $push3=, bar@FUNCTION, $1
- i32.const $push7=, 0
- i32.eq $push8=, $pop3, $pop7
- br_if $pop8, 0 # 0: down to label3
+ i64.const $push6=, 6579460778
+ i32.call $push7=, bar@FUNCTION, $pop6
+ i32.const $push11=, 0
+ i32.eq $push12=, $pop7, $pop11
+ br_if $pop12, 0 # 0: down to label3
# BB#4: # %if.end12
- i32.const $push4=, 0
- return $pop4
+ i32.const $push8=, 0
+ return $pop8
.LBB2_5: # %if.then11
end_block # label3:
call abort@FUNCTION
diff --git a/test/torture-s/pr40386.c.s b/test/torture-s/pr40386.c.s
index 27745c7b1..58a44c01c 100644
--- a/test/torture-s/pr40386.c.s
+++ b/test/torture-s/pr40386.c.s
@@ -6,190 +6,238 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i32, i64
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i32
# BB#0: # %entry
- i32.const $11=, 0
- i32.load $1=, shift1($11)
- i32.load8_s $0=, c($11)
- i32.const $push1=, 8
- i32.sub $2=, $pop1, $1
- i32.const $12=, 835
block
- i32.shl $push2=, $0, $2
- i32.shr_s $push0=, $0, $1
- i32.or $push3=, $pop2, $pop0
- i32.ne $push4=, $pop3, $12
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push13=, 0
+ i32.load8_s $push0=, c($pop13)
+ tee_local $push136=, $2=, $pop0
+ i32.const $push15=, 8
+ i32.const $push135=, 0
+ i32.load $push1=, shift1($pop135)
+ tee_local $push134=, $1=, $pop1
+ i32.sub $push2=, $pop15, $pop134
+ tee_local $push133=, $0=, $pop2
+ i32.shl $push16=, $pop136, $pop133
+ i32.shr_s $push14=, $2, $1
+ i32.or $push17=, $pop16, $pop14
+ i32.const $push132=, 835
+ i32.ne $push18=, $pop17, $pop132
+ br_if $pop18, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $13=, 4
block
- i32.shr_s $push5=, $0, $13
- i32.shl $push6=, $0, $13
- i32.or $push7=, $pop5, $pop6
- i32.ne $push8=, $pop7, $12
- br_if $pop8, 0 # 0: down to label1
+ i32.const $push19=, 4
+ i32.shr_s $push20=, $2, $pop19
+ i32.const $push138=, 4
+ i32.shl $push21=, $2, $pop138
+ i32.or $push22=, $pop20, $pop21
+ i32.const $push137=, 835
+ i32.ne $push23=, $pop22, $pop137
+ br_if $pop23, 0 # 0: down to label1
# BB#2: # %if.end11
- i32.load16_s $3=, s($11)
- i32.const $push10=, 16
- i32.sub $4=, $pop10, $1
- i32.const $14=, -221
block
- i32.shr_s $push9=, $3, $1
- i32.shl $push11=, $3, $4
- i32.or $push12=, $pop9, $pop11
- i32.ne $push13=, $pop12, $14
- br_if $pop13, 0 # 0: down to label2
+ i32.const $push24=, 0
+ i32.load16_s $push3=, s($pop24)
+ tee_local $push141=, $4=, $pop3
+ i32.shr_s $push25=, $pop141, $1
+ i32.const $push26=, 16
+ i32.sub $push4=, $pop26, $1
+ tee_local $push140=, $3=, $pop4
+ i32.shl $push27=, $4, $pop140
+ i32.or $push28=, $pop25, $pop27
+ i32.const $push139=, -221
+ i32.ne $push29=, $pop28, $pop139
+ br_if $pop29, 0 # 0: down to label2
# BB#3: # %if.end21
- i32.const $15=, 12
block
- i32.shr_s $push14=, $3, $13
- i32.shl $push15=, $3, $15
- i32.or $push16=, $pop14, $pop15
- i32.ne $push17=, $pop16, $14
- br_if $pop17, 0 # 0: down to label3
+ i32.const $push30=, 4
+ i32.shr_s $push31=, $4, $pop30
+ i32.const $push32=, 12
+ i32.shl $push33=, $4, $pop32
+ i32.or $push34=, $pop31, $pop33
+ i32.const $push142=, -221
+ i32.ne $push35=, $pop34, $pop142
+ br_if $pop35, 0 # 0: down to label3
# BB#4: # %if.end30
- i32.load $14=, i($11)
- i32.const $push19=, 32
- i32.sub $5=, $pop19, $1
- i32.const $16=, 1073745699
block
- i32.shr_s $push18=, $14, $1
- i32.shl $push20=, $14, $5
- i32.or $push21=, $pop18, $pop20
- i32.ne $push22=, $pop21, $16
- br_if $pop22, 0 # 0: down to label4
+ i32.const $push36=, 0
+ i32.load $push5=, i($pop36)
+ tee_local $push145=, $6=, $pop5
+ i32.shr_s $push37=, $pop145, $1
+ i32.const $push38=, 32
+ i32.sub $push6=, $pop38, $1
+ tee_local $push144=, $5=, $pop6
+ i32.shl $push39=, $6, $pop144
+ i32.or $push40=, $pop37, $pop39
+ i32.const $push143=, 1073745699
+ i32.ne $push41=, $pop40, $pop143
+ br_if $pop41, 0 # 0: down to label4
# BB#5: # %if.end38
- i32.const $17=, 28
block
- i32.shr_s $push23=, $14, $13
- i32.shl $push24=, $14, $17
- i32.or $push25=, $pop23, $pop24
- i32.ne $push26=, $pop25, $16
- br_if $pop26, 0 # 0: down to label5
+ i32.const $push42=, 4
+ i32.shr_s $push43=, $6, $pop42
+ i32.const $push44=, 28
+ i32.shl $push45=, $6, $pop44
+ i32.or $push46=, $pop43, $pop45
+ i32.const $push146=, 1073745699
+ i32.ne $push47=, $pop46, $pop146
+ br_if $pop47, 0 # 0: down to label5
# BB#6: # %if.end45
- i32.load $16=, l($11)
- i32.const $18=, -14465689
block
- i32.shr_s $push27=, $16, $1
- i32.shl $push28=, $16, $5
- i32.or $push29=, $pop27, $pop28
- i32.ne $push30=, $pop29, $18
- br_if $pop30, 0 # 0: down to label6
+ i32.const $push48=, 0
+ i32.load $push7=, l($pop48)
+ tee_local $push148=, $7=, $pop7
+ i32.shr_s $push49=, $pop148, $1
+ i32.shl $push50=, $7, $5
+ i32.or $push51=, $pop49, $pop50
+ i32.const $push147=, -14465689
+ i32.ne $push52=, $pop51, $pop147
+ br_if $pop52, 0 # 0: down to label6
# BB#7: # %if.end53
block
- i32.shr_s $push31=, $16, $13
- i32.shl $push32=, $16, $17
- i32.or $push33=, $pop31, $pop32
- i32.ne $push34=, $pop33, $18
- br_if $pop34, 0 # 0: down to label7
+ i32.const $push53=, 4
+ i32.shr_s $push54=, $7, $pop53
+ i32.const $push55=, 28
+ i32.shl $push56=, $7, $pop55
+ i32.or $push57=, $pop54, $pop56
+ i32.const $push149=, -14465689
+ i32.ne $push58=, $pop57, $pop149
+ br_if $pop58, 0 # 0: down to label7
# BB#8: # %if.end60
- i64.load $6=, ll($11)
- i32.const $18=, 64
- i32.sub $push36=, $18, $1
- i64.extend_u/i32 $8=, $pop36
- i64.extend_u/i32 $7=, $1
- i64.const $19=, 68174490360335855
block
- i64.shr_s $push35=, $6, $7
- i64.shl $push37=, $6, $8
- i64.or $push38=, $pop35, $pop37
- i64.ne $push39=, $pop38, $19
- br_if $pop39, 0 # 0: down to label8
+ i32.const $push59=, 0
+ i64.load $push8=, ll($pop59)
+ tee_local $push153=, $10=, $pop8
+ i64.extend_u/i32 $push9=, $1
+ tee_local $push152=, $9=, $pop9
+ i64.shr_s $push60=, $pop153, $pop152
+ i32.const $push61=, 64
+ i32.sub $push62=, $pop61, $1
+ i64.extend_u/i32 $push10=, $pop62
+ tee_local $push151=, $8=, $pop10
+ i64.shl $push63=, $10, $pop151
+ i64.or $push64=, $pop60, $pop63
+ i64.const $push150=, 68174490360335855
+ i64.ne $push65=, $pop64, $pop150
+ br_if $pop65, 0 # 0: down to label8
# BB#9: # %if.end69
- i64.const $20=, 4
- i64.const $21=, 60
block
- i64.shr_s $push40=, $6, $20
- i64.shl $push41=, $6, $21
- i64.or $push42=, $pop40, $pop41
- i64.ne $push43=, $pop42, $19
- br_if $pop43, 0 # 0: down to label9
+ i64.const $push66=, 4
+ i64.shr_s $push67=, $10, $pop66
+ i64.const $push68=, 60
+ i64.shl $push69=, $10, $pop68
+ i64.or $push70=, $pop67, $pop69
+ i64.const $push154=, 68174490360335855
+ i64.ne $push71=, $pop70, $pop154
+ br_if $pop71, 0 # 0: down to label9
# BB#10: # %if.end76
- i32.load $22=, shift2($11)
- i64.extend_u/i32 $9=, $22
- i32.sub $push45=, $18, $22
- i64.extend_u/i32 $10=, $pop45
- i64.const $23=, -994074541463572736
block
- i64.shl $push46=, $6, $10
- i64.shr_s $push44=, $6, $9
- i64.or $push47=, $pop46, $pop44
- i64.ne $push48=, $pop47, $23
- br_if $pop48, 0 # 0: down to label10
+ i32.const $push75=, 64
+ i32.const $push72=, 0
+ i32.load $push73=, shift2($pop72)
+ tee_local $push158=, $13=, $pop73
+ i32.sub $push76=, $pop75, $pop158
+ i64.extend_u/i32 $push12=, $pop76
+ tee_local $push157=, $12=, $pop12
+ i64.shl $push77=, $10, $pop157
+ i64.extend_u/i32 $push11=, $13
+ tee_local $push156=, $11=, $pop11
+ i64.shr_s $push74=, $10, $pop156
+ i64.or $push78=, $pop77, $pop74
+ i64.const $push155=, -994074541463572736
+ i64.ne $push79=, $pop78, $pop155
+ br_if $pop79, 0 # 0: down to label10
# BB#11: # %if.end86
block
- i64.shr_s $push49=, $6, $21
- i64.shl $push50=, $6, $20
- i64.or $push51=, $pop49, $pop50
- i64.ne $push52=, $pop51, $23
- br_if $pop52, 0 # 0: down to label11
+ i64.const $push80=, 60
+ i64.shr_s $push81=, $10, $pop80
+ i64.const $push82=, 4
+ i64.shl $push83=, $10, $pop82
+ i64.or $push84=, $pop81, $pop83
+ i64.const $push159=, -994074541463572736
+ i64.ne $push85=, $pop84, $pop159
+ br_if $pop85, 0 # 0: down to label11
# BB#12: # %if.end93
block
- i32.shr_s $push54=, $0, $2
- i32.shl $push53=, $0, $1
- i32.or $push55=, $pop54, $pop53
- i32.ne $push56=, $pop55, $12
- br_if $pop56, 0 # 0: down to label12
+ i32.shr_s $push87=, $2, $0
+ i32.shl $push86=, $2, $1
+ i32.or $push88=, $pop87, $pop86
+ i32.const $push89=, 835
+ i32.ne $push90=, $pop88, $pop89
+ br_if $pop90, 0 # 0: down to label12
# BB#13: # %if.end112
- i32.const $0=, -1
block
- i32.shl $push57=, $3, $1
- i32.shr_s $push58=, $3, $4
- i32.or $push59=, $pop57, $pop58
- i32.ne $push60=, $pop59, $0
- br_if $pop60, 0 # 0: down to label13
+ i32.shl $push91=, $4, $1
+ i32.shr_s $push92=, $4, $3
+ i32.or $push93=, $pop91, $pop92
+ i32.const $push160=, -1
+ i32.ne $push94=, $pop93, $pop160
+ br_if $pop94, 0 # 0: down to label13
# BB#14: # %if.end122
block
- i32.shl $push61=, $3, $13
- i32.shr_s $push62=, $3, $15
- i32.or $push63=, $pop61, $pop62
- i32.ne $push64=, $pop63, $0
- br_if $pop64, 0 # 0: down to label14
+ i32.const $push95=, 4
+ i32.shl $push96=, $4, $pop95
+ i32.const $push97=, 12
+ i32.shr_s $push98=, $4, $pop97
+ i32.or $push99=, $pop96, $pop98
+ i32.const $push161=, -1
+ i32.ne $push100=, $pop99, $pop161
+ br_if $pop100, 0 # 0: down to label14
# BB#15: # %if.end131
- i32.const $12=, 992064
block
- i32.shl $push65=, $14, $1
- i32.shr_s $push66=, $14, $5
- i32.or $push67=, $pop65, $pop66
- i32.ne $push68=, $pop67, $12
- br_if $pop68, 0 # 0: down to label15
+ i32.shl $push101=, $6, $1
+ i32.shr_s $push102=, $6, $5
+ i32.or $push103=, $pop101, $pop102
+ i32.const $push162=, 992064
+ i32.ne $push104=, $pop103, $pop162
+ br_if $pop104, 0 # 0: down to label15
# BB#16: # %if.end139
block
- i32.shl $push69=, $14, $13
- i32.shr_s $push70=, $14, $17
- i32.or $push71=, $pop69, $pop70
- i32.ne $push72=, $pop71, $12
- br_if $pop72, 0 # 0: down to label16
+ i32.const $push105=, 4
+ i32.shl $push106=, $6, $pop105
+ i32.const $push107=, 28
+ i32.shr_s $push108=, $6, $pop107
+ i32.or $push109=, $pop106, $pop108
+ i32.const $push163=, 992064
+ i32.ne $push110=, $pop109, $pop163
+ br_if $pop110, 0 # 0: down to label16
# BB#17: # %if.end146
block
- i32.shl $push73=, $16, $1
- i32.shr_s $push74=, $16, $5
- i32.or $push75=, $pop73, $pop74
- i32.ne $push76=, $pop75, $0
- br_if $pop76, 0 # 0: down to label17
+ i32.shl $push111=, $7, $1
+ i32.shr_s $push112=, $7, $5
+ i32.or $push113=, $pop111, $pop112
+ i32.const $push164=, -1
+ i32.ne $push114=, $pop113, $pop164
+ br_if $pop114, 0 # 0: down to label17
# BB#18: # %if.end154
block
- i32.shl $push77=, $16, $13
- i32.shr_s $push78=, $16, $17
- i32.or $push79=, $pop77, $pop78
- i32.ne $push80=, $pop79, $0
- br_if $pop80, 0 # 0: down to label18
+ i32.const $push115=, 4
+ i32.shl $push116=, $7, $pop115
+ i32.const $push117=, 28
+ i32.shr_s $push118=, $7, $pop117
+ i32.or $push119=, $pop116, $pop118
+ i32.const $push165=, -1
+ i32.ne $push120=, $pop119, $pop165
+ br_if $pop120, 0 # 0: down to label18
# BB#19: # %if.end161
block
- i64.shl $push81=, $6, $7
- i64.shr_s $push82=, $6, $8
- i64.or $push83=, $pop81, $pop82
- i64.ne $push84=, $pop83, $23
- br_if $pop84, 0 # 0: down to label19
+ i64.shl $push121=, $10, $9
+ i64.shr_s $push122=, $10, $8
+ i64.or $push123=, $pop121, $pop122
+ i64.const $push124=, -994074541463572736
+ i64.ne $push125=, $pop123, $pop124
+ br_if $pop125, 0 # 0: down to label19
# BB#20: # %if.end178
block
- i64.shr_s $push86=, $6, $10
- i64.shl $push85=, $6, $9
- i64.or $push87=, $pop86, $pop85
- i64.ne $push88=, $pop87, $19
- br_if $pop88, 0 # 0: down to label20
+ i64.shr_s $push127=, $10, $12
+ i64.shl $push126=, $10, $11
+ i64.or $push128=, $pop127, $pop126
+ i64.const $push129=, 68174490360335855
+ i64.ne $push130=, $pop128, $pop129
+ br_if $pop130, 0 # 0: down to label20
# BB#21: # %if.end195
- call exit@FUNCTION, $11
+ i32.const $push131=, 0
+ call exit@FUNCTION, $pop131
unreachable
.LBB0_22: # %if.then187
end_block # label20:
@@ -291,7 +339,7 @@ c:
.type s,@object
.section .data.s,"aw",@progbits
.globl s
- .align 1
+ .p2align 1
s:
.int16 62004 # 0xf234
.size s, 2
@@ -300,7 +348,7 @@ s:
.type i,@object
.section .data.i,"aw",@progbits
.globl i
- .align 2
+ .p2align 2
i:
.int32 62004 # 0xf234
.size i, 4
@@ -309,7 +357,7 @@ i:
.type l,@object
.section .data.l,"aw",@progbits
.globl l
- .align 2
+ .p2align 2
l:
.int32 4063516280 # 0xf2345678
.size l, 4
@@ -318,7 +366,7 @@ l:
.type ll,@object
.section .data.ll,"aw",@progbits
.globl ll
- .align 3
+ .p2align 3
ll:
.int64 1090791845765373680 # 0xf2345678abcdef0
.size ll, 8
@@ -327,7 +375,7 @@ ll:
.type shift1,@object
.section .data.shift1,"aw",@progbits
.globl shift1
- .align 2
+ .p2align 2
shift1:
.int32 4 # 0x4
.size shift1, 4
@@ -336,7 +384,7 @@ shift1:
.type shift2,@object
.section .data.shift2,"aw",@progbits
.globl shift2
- .align 2
+ .p2align 2
shift2:
.int32 60 # 0x3c
.size shift2, 4
diff --git a/test/torture-s/pr40404.c.s b/test/torture-s/pr40404.c.s
index 1fd989c50..4a747e48b 100644
--- a/test/torture-s/pr40404.c.s
+++ b/test/torture-s/pr40404.c.s
@@ -6,14 +6,15 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, s($0)
- i32.const $push1=, 131071
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, s($0), $pop2
- return $0
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, s($pop5)
+ i32.const $push2=, 131071
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, s($pop0), $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -22,7 +23,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 4
.size s, 4
diff --git a/test/torture-s/pr40493.c.s b/test/torture-s/pr40493.c.s
index 2d842a334..566db0670 100644
--- a/test/torture-s/pr40493.c.s
+++ b/test/torture-s/pr40493.c.s
@@ -7,16 +7,19 @@
main: # @main
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
+ i32.const $push1=, 0
+ i32.const $push8=, 0
i32.const $push0=, 2
- i32.store $push1=, x00($2), $pop0
- i32.store $discard=, y00($2), $pop1
- i32.const $push2=, 22
- i32.store $push3=, x01($2), $pop2
- i32.store $discard=, y01($2), $pop3
- return $2
+ i32.store $push2=, x00($pop8), $pop0
+ i32.store $discard=, y00($pop1), $pop2
+ i32.const $push7=, 0
+ i32.const $push6=, 0
+ i32.const $push3=, 22
+ i32.store $push4=, x01($pop6), $pop3
+ i32.store $discard=, y01($pop7), $pop4
+ i32.const $push5=, 0
+ return $pop5
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -25,7 +28,7 @@ main: # @main
.type x00,@object
.section .bss.x00,"aw",@nobits
.globl x00
- .align 2
+ .p2align 2
x00:
.int32 0 # 0x0
.size x00, 4
@@ -34,7 +37,7 @@ x00:
.type x01,@object
.section .bss.x01,"aw",@nobits
.globl x01
- .align 2
+ .p2align 2
x01:
.int32 0 # 0x0
.size x01, 4
@@ -43,7 +46,7 @@ x01:
.type y00,@object
.section .bss.y00,"aw",@nobits
.globl y00
- .align 2
+ .p2align 2
y00:
.int32 0 # 0x0
.size y00, 4
@@ -52,7 +55,7 @@ y00:
.type y01,@object
.section .bss.y01,"aw",@nobits
.globl y01
- .align 2
+ .p2align 2
y01:
.int32 0 # 0x0
.size y01, 4
diff --git a/test/torture-s/pr40579.c.s b/test/torture-s/pr40579.c.s
index 0c3de3e4a..32f29c2d9 100644
--- a/test/torture-s/pr40579.c.s
+++ b/test/torture-s/pr40579.c.s
@@ -6,17 +6,17 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- call foo@FUNCTION, $0
- i32.const $push0=, 1
+ i32.const $push0=, 0
call foo@FUNCTION, $pop0
- i32.const $push1=, 2
+ i32.const $push1=, 1
call foo@FUNCTION, $pop1
- i32.const $push2=, 3
+ i32.const $push2=, 2
call foo@FUNCTION, $pop2
- return $0
+ i32.const $push3=, 3
+ call foo@FUNCTION, $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
diff --git a/test/torture-s/pr40657.c.s b/test/torture-s/pr40657.c.s
index 548adf7bb..c38689761 100644
--- a/test/torture-s/pr40657.c.s
+++ b/test/torture-s/pr40657.c.s
@@ -11,18 +11,18 @@ bar: # @bar
i32.const $1=, __stack_pointer
i32.load $1=, 0($1)
i32.const $2=, 16
- i32.sub $4=, $1, $2
+ i32.sub $5=, $1, $2
i32.const $2=, __stack_pointer
- i32.store $4=, 0($2), $4
- i32.store $discard=, 12($4), $0
+ i32.store $5=, 0($2), $5
+ i32.store $discard=, 12($5), $0
i32.const $4=, 12
- i32.add $4=, $4, $4
+ i32.add $4=, $5, $4
#APP
#NO_APP
i32.const $3=, 16
- i32.add $4=, $4, $3
+ i32.add $5=, $5, $3
i32.const $3=, __stack_pointer
- i32.store $4=, 0($3), $4
+ i32.store $5=, 0($3), $5
return
.endfunc
.Lfunc_end0:
@@ -62,16 +62,16 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i64, i32
# BB#0: # %entry
- i64.call $0=, foo@FUNCTION
- i32.const $1=, 0
block
- i64.load $push0=, v($1)
- i64.ne $push1=, $0, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i64.call $push0=, foo@FUNCTION
+ i32.const $push3=, 0
+ i64.load $push1=, v($pop3)
+ i64.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $1
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.LBB2_2: # %if.then
end_block # label0:
@@ -85,7 +85,7 @@ main: # @main
.type v,@object
.section .data.v,"aw",@progbits
.globl v
- .align 3
+ .p2align 3
v:
.int64 20015998343868 # 0x123456789abc
.size v, 8
diff --git a/test/torture-s/pr40668.c.s b/test/torture-s/pr40668.c.s
index 72543ca09..9d461a039 100644
--- a/test/torture-s/pr40668.c.s
+++ b/test/torture-s/pr40668.c.s
@@ -8,11 +8,12 @@ bar: # @bar
.param i32, i32
# BB#0: # %entry
block
- i32.const $push0=, -1
- i32.add $0=, $0, $pop0
- i32.const $push1=, 8
- i32.gt_u $push2=, $0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push1=, -1
+ i32.add $push0=, $0, $pop1
+ tee_local $push8=, $0=, $pop0
+ i32.const $push2=, 8
+ i32.gt_u $push3=, $pop8, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %entry
block
block
@@ -25,62 +26,23 @@ bar: # @bar
# 3: down to label1
.LBB0_2: # %sw.bb
end_block # label4:
- i32.const $push24=, 120
- i32.store8 $discard=, 0($1), $pop24
- i32.const $push25=, 3
- i32.add $push26=, $1, $pop25
- i32.const $push27=, 18
- i32.store8 $discard=, 0($pop26), $pop27
- i32.const $push28=, 2
- i32.add $push29=, $1, $pop28
- i32.const $push30=, 52
- i32.store8 $discard=, 0($pop29), $pop30
- i32.const $push31=, 1
- i32.add $push32=, $1, $pop31
- i32.const $push33=, 86
- i32.store8 $discard=, 0($pop32), $pop33
+ i32.const $push7=, 305419896
+ i32.store $discard=, 0($1):p2align=0, $pop7
br 3 # 3: down to label0
.LBB0_3: # %sw.bb1
end_block # label3:
- i32.const $push17=, 0
- i32.store8 $0=, 0($1), $pop17
- i32.const $push18=, 3
- i32.add $push19=, $1, $pop18
- i32.store8 $discard=, 0($pop19), $0
- i32.const $push20=, 2
- i32.add $push21=, $1, $pop20
- i32.store8 $discard=, 0($pop21), $0
- i32.const $push22=, 1
- i32.add $push23=, $1, $pop22
- i32.store8 $discard=, 0($pop23), $0
+ i32.const $push6=, 0
+ i32.store $discard=, 0($1):p2align=0, $pop6
br 2 # 2: down to label0
.LBB0_4: # %sw.bb2
end_block # label2:
- i32.const $push10=, 0
- i32.store8 $0=, 0($1), $pop10
- i32.const $push11=, 3
- i32.add $push12=, $1, $pop11
- i32.store8 $discard=, 0($pop12), $0
- i32.const $push13=, 2
- i32.add $push14=, $1, $pop13
- i32.store8 $discard=, 0($pop14), $0
- i32.const $push15=, 1
- i32.add $push16=, $1, $pop15
- i32.store8 $discard=, 0($pop16), $0
+ i32.const $push5=, 0
+ i32.store $discard=, 0($1):p2align=0, $pop5
br 1 # 1: down to label0
.LBB0_5: # %sw.bb3
end_block # label1:
- i32.const $push3=, 0
- i32.store8 $0=, 0($1), $pop3
- i32.const $push4=, 3
- i32.add $push5=, $1, $pop4
- i32.store8 $discard=, 0($pop5), $0
- i32.const $push6=, 2
- i32.add $push7=, $1, $pop6
- i32.store8 $discard=, 0($pop7), $0
- i32.const $push8=, 1
- i32.add $push9=, $1, $pop8
- i32.store8 $discard=, 0($pop9), $0
+ i32.const $push4=, 0
+ i32.store $discard=, 0($1):p2align=0, $pop4
.LBB0_6: # %sw.epilog
end_block # label0:
return
diff --git a/test/torture-s/pr40747.c.s b/test/torture-s/pr40747.c.s
index 74e0c611a..1b3566d58 100644
--- a/test/torture-s/pr40747.c.s
+++ b/test/torture-s/pr40747.c.s
@@ -7,12 +7,12 @@
foo: # @foo
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 4
- i32.lt_u $push0=, $0, $1
- i32.select $push1=, $pop0, $0, $1
- return $pop1
+ i32.const $push0=, 4
+ i32.lt_u $push1=, $0, $pop0
+ i32.const $push3=, 4
+ i32.select $push2=, $pop1, $0, $pop3
+ return $pop2
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/pr41239.c.s b/test/torture-s/pr41239.c.s
index d69145f67..41b8912be 100644
--- a/test/torture-s/pr41239.c.s
+++ b/test/torture-s/pr41239.c.s
@@ -12,54 +12,55 @@ test: # @test
i32.const $8=, __stack_pointer
i32.load $8=, 0($8)
i32.const $9=, 16
- i32.sub $10=, $8, $9
+ i32.sub $11=, $8, $9
i32.const $9=, __stack_pointer
- i32.store $10=, 0($9), $10
+ i32.store $11=, 0($9), $11
i32.load $1=, 4($0)
block
- i32.const $push0=, 8
- i32.add $push1=, $0, $pop0
- i32.load $0=, 0($pop1)
- br_if $0, 0 # 0: down to label0
-# BB#1: # %if.then
- i32.const $push6=, 20
- i32.const $push3=, .L.str
- i32.const $push5=, 924
- i32.const $push2=, .L__func__.test
- i32.const $push4=, 0
- i32.call $2=, fn1@FUNCTION, $pop6, $pop3, $pop5, $pop2, $pop4
- i32.const $push7=, 255
- i32.and $push8=, $2, $pop7
- i32.const $push12=, 0
- i32.eq $push13=, $pop8, $pop12
+ i32.const $push1=, 8
+ i32.add $push2=, $0, $pop1
+ i32.load $push0=, 0($pop2)
+ tee_local $push13=, $0=, $pop0
br_if $pop13, 0 # 0: down to label0
+# BB#1: # %if.then
+ i32.const $push7=, 20
+ i32.const $push4=, .L.str
+ i32.const $push6=, 924
+ i32.const $push3=, .L__func__.test
+ i32.const $push5=, 0
+ i32.call $2=, fn1@FUNCTION, $pop7, $pop4, $pop6, $pop3, $pop5
+ i32.const $push8=, 255
+ i32.and $push9=, $2, $pop8
+ i32.const $push14=, 0
+ i32.eq $push15=, $pop9, $pop14
+ br_if $pop15, 0 # 0: down to label0
# BB#2: # %cond.true
- i32.const $push9=, 33816706
- i32.call $2=, fn3@FUNCTION, $pop9
- i32.const $push10=, .L.str.1
- i32.call $3=, fn4@FUNCTION, $pop10
+ i32.const $push10=, 33816706
+ i32.call $2=, fn3@FUNCTION, $pop10
+ i32.const $push11=, .L.str.1
+ i32.call $3=, fn4@FUNCTION, $pop11
i32.const $4=, __stack_pointer
i32.load $4=, 0($4)
i32.const $5=, 4
- i32.sub $10=, $4, $5
+ i32.sub $11=, $4, $5
i32.const $5=, __stack_pointer
- i32.store $10=, 0($5), $10
- i32.store $discard=, 0($10), $3
+ i32.store $11=, 0($5), $11
+ i32.store $discard=, 0($11), $3
call fn2@FUNCTION, $2
i32.const $6=, __stack_pointer
i32.load $6=, 0($6)
i32.const $7=, 4
- i32.add $10=, $6, $7
+ i32.add $11=, $6, $7
i32.const $7=, __stack_pointer
- i32.store $10=, 0($7), $10
+ i32.store $11=, 0($7), $11
.LBB0_3: # %if.end
end_block # label0:
- i32.div_s $push11=, $1, $0
+ i32.div_s $push12=, $1, $0
i32.const $10=, 16
- i32.add $10=, $10, $10
+ i32.add $11=, $11, $10
i32.const $10=, __stack_pointer
- i32.store $10=, 0($10), $10
- return $pop11
+ i32.store $11=, 0($10), $11
+ return $pop12
.endfunc
.Lfunc_end0:
.size test, .Lfunc_end0-test
@@ -76,10 +77,11 @@ fn1: # @fn1
#NO_APP
#APP
#NO_APP
- i32.const $1=, 24
- i32.shl $push0=, $0, $1
- i32.shr_s $push1=, $pop0, $1
- return $pop1
+ i32.const $push0=, 24
+ i32.shl $push1=, $0, $pop0
+ i32.const $push3=, 24
+ i32.shr_s $push2=, $pop1, $pop3
+ return $pop2
.endfunc
.Lfunc_end1:
.size fn1, .Lfunc_end1-fn1
@@ -143,47 +145,23 @@ fn4: # @fn4
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32
-# BB#0: # %if.then.i
- i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 16
- i32.sub $8=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $8=, 0($7), $8
- block
- i32.const $push4=, 20
- i32.const $push1=, .L.str
- i32.const $push3=, 924
- i32.const $push0=, .L__func__.test
- i32.const $push2=, 0
- i32.call $0=, fn1@FUNCTION, $pop4, $pop1, $pop3, $pop0, $pop2
- i32.const $push5=, 255
- i32.and $push6=, $0, $pop5
- i32.const $push9=, 0
- i32.eq $push10=, $pop6, $pop9
- br_if $pop10, 0 # 0: down to label2
-# BB#1: # %cond.true.i
- i32.const $push7=, 33816706
- i32.call $0=, fn3@FUNCTION, $pop7
- i32.const $push8=, .L.str.1
- i32.call $1=, fn4@FUNCTION, $pop8
- i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
- i32.const $3=, 4
- i32.sub $8=, $2, $3
- i32.const $3=, __stack_pointer
- i32.store $8=, 0($3), $8
- i32.store $discard=, 0($8), $1
- call fn2@FUNCTION, $0
- i32.const $4=, __stack_pointer
- i32.load $4=, 0($4)
- i32.const $5=, 4
- i32.add $8=, $4, $5
- i32.const $5=, __stack_pointer
- i32.store $8=, 0($5), $8
-.LBB5_2: # %test.exit
- end_block # label2:
+ .local i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $2=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $2=, 0($1), $2
+ i32.const $push2=, 8
+ i32.add $push3=, $2, $pop2
+ i32.const $push0=, 0
+ i32.load $push1=, .Lmain.s+8($pop0)
+ i32.store $discard=, 0($pop3):p2align=3, $pop1
+ i32.const $push5=, 0
+ i64.load $push4=, .Lmain.s($pop5):p2align=2
+ i64.store $discard=, 0($2), $pop4
+ i32.call $discard=, test@FUNCTION, $2
call abort@FUNCTION
unreachable
.endfunc
@@ -206,5 +184,15 @@ main: # @main
.asciz "division by zero"
.size .L.str.1, 17
+ .type .Lmain.s,@object # @main.s
+ .section .rodata..Lmain.s,"a",@progbits
+ .p2align 2
+.Lmain.s:
+ .int16 2 # 0x2
+ .skip 2
+ .int32 5 # 0x5
+ .int32 0 # 0x0
+ .size .Lmain.s, 12
+
.ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr41395-1.c.s b/test/torture-s/pr41395-1.c.s
index 8a28a2ef4..b2400877c 100644
--- a/test/torture-s/pr41395-1.c.s
+++ b/test/torture-s/pr41395-1.c.s
@@ -7,20 +7,21 @@
foo: # @foo
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 1
- i32.shl $push0=, $1, $2
- i32.add $push1=, $0, $pop0
- i32.const $push2=, 8
- i32.add $1=, $pop1, $pop2
- i32.const $push3=, 0
- i32.store16 $discard=, 0($1), $pop3
- i32.const $push4=, 24
- i32.add $push5=, $0, $pop4
- i32.store16 $discard=, 0($pop5), $2
- i32.load16_s $push6=, 0($1)
- return $pop6
+ i32.const $push0=, 1
+ i32.shl $push1=, $1, $pop0
+ i32.add $push2=, $0, $pop1
+ i32.const $push3=, 8
+ i32.add $push4=, $pop2, $pop3
+ tee_local $push10=, $1=, $pop4
+ i32.const $push5=, 0
+ i32.store16 $discard=, 0($pop10), $pop5
+ i32.const $push6=, 24
+ i32.add $push7=, $0, $pop6
+ i32.const $push9=, 1
+ i32.store16 $discard=, 0($pop7), $pop9
+ i32.load16_s $push8=, 0($1)
+ return $pop8
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/pr41395-2.c.s b/test/torture-s/pr41395-2.c.s
index 6669a99f3..02a0e69c8 100644
--- a/test/torture-s/pr41395-2.c.s
+++ b/test/torture-s/pr41395-2.c.s
@@ -7,20 +7,21 @@
foo: # @foo
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 1
- i32.shl $push0=, $1, $2
- i32.add $push1=, $0, $pop0
- i32.const $push2=, 8
- i32.add $1=, $pop1, $pop2
- i32.const $push3=, 0
- i32.store16 $discard=, 0($1), $pop3
- i32.const $push4=, 40
- i32.add $push5=, $0, $pop4
- i32.store16 $discard=, 0($pop5), $2
- i32.load16_s $push6=, 0($1)
- return $pop6
+ i32.const $push0=, 1
+ i32.shl $push1=, $1, $pop0
+ i32.add $push2=, $0, $pop1
+ i32.const $push3=, 8
+ i32.add $push4=, $pop2, $pop3
+ tee_local $push10=, $1=, $pop4
+ i32.const $push5=, 0
+ i32.store16 $discard=, 0($pop10), $pop5
+ i32.const $push6=, 40
+ i32.add $push7=, $0, $pop6
+ i32.const $push9=, 1
+ i32.store16 $discard=, 0($pop7), $pop9
+ i32.load16_s $push8=, 0($1)
+ return $pop8
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/pr41463.c.s b/test/torture-s/pr41463.c.s
index 2b178a5a8..d3f6b461e 100644
--- a/test/torture-s/pr41463.c.s
+++ b/test/torture-s/pr41463.c.s
@@ -12,15 +12,16 @@ foo: # @foo
i32.shl $push1=, $1, $pop0
i32.add $push2=, $0, $pop1
i32.const $push3=, 24
- i32.add $1=, $pop2, $pop3
- i32.const $push4=, 0
- i32.store $discard=, 0($1), $pop4
- i32.const $push5=, 28
- i32.add $push6=, $0, $pop5
- i32.const $push7=, global
- i32.store $discard=, 0($pop6), $pop7
- i32.load $push8=, 0($1)
- return $pop8
+ i32.add $push4=, $pop2, $pop3
+ tee_local $push10=, $1=, $pop4
+ i32.const $push5=, 0
+ i32.store $discard=, 0($pop10), $pop5
+ i32.const $push6=, 28
+ i32.add $push7=, $0, $pop6
+ i32.const $push8=, global
+ i32.store $discard=, 0($pop7), $pop8
+ i32.load $push9=, 0($1)
+ return $pop9
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -55,7 +56,7 @@ main: # @main
.type global,@object
.section .bss.global,"aw",@nobits
.globl global
- .align 2
+ .p2align 2
global:
.skip 76
.size global, 76
diff --git a/test/torture-s/pr41750.c.s b/test/torture-s/pr41750.c.s
index 8529606b1..fa3d75610 100644
--- a/test/torture-s/pr41750.c.s
+++ b/test/torture-s/pr41750.c.s
@@ -25,27 +25,30 @@ elf64_ia64_check_relocs: # @elf64_ia64_check_relocs
.result i32
.local i32, i32
# BB#0: # %entry
- i32.load $2=, 0($1)
- i32.load $3=, 8($2)
block
- br_if $3, 0 # 0: down to label0
+ i32.load $push0=, 0($1)
+ tee_local $push8=, $3=, $pop0
+ i32.load $push6=, 8($pop8)
+ tee_local $push7=, $2=, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.then.i
- i32.load $3=, 4($2)
block
- br_if $3, 0 # 0: down to label1
+ i32.load $push5=, 4($3)
+ tee_local $push9=, $2=, $pop5
+ br_if $pop9, 0 # 0: down to label1
# BB#2: # %if.then3.i
- i32.const $push0=, 4
- i32.add $push1=, $2, $pop0
- i32.store $3=, 0($pop1), $0
+ i32.const $push1=, 4
+ i32.add $push2=, $3, $pop1
+ i32.store $2=, 0($pop2), $0
.LBB1_3: # %if.end.i
end_block # label1:
- i32.call $discard=, foo_create_got_section@FUNCTION, $3, $1
- i32.const $push2=, 8
- i32.add $push3=, $2, $pop2
- i32.load $3=, 0($pop3)
+ i32.call $discard=, foo_create_got_section@FUNCTION, $2, $1
+ i32.const $push3=, 8
+ i32.add $push4=, $3, $pop3
+ i32.load $2=, 0($pop4)
.LBB1_4: # %get_got.exit
end_block # label0:
- return $3
+ return $2
.endfunc
.Lfunc_end1:
.size elf64_ia64_check_relocs, .Lfunc_end1-elf64_ia64_check_relocs
@@ -56,19 +59,20 @@ elf64_ia64_check_relocs: # @elf64_ia64_check_relocs
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, abfd
- block
+ i32.const $push6=, 0
i32.const $push0=, hash
- i32.store $discard=, link_info($0), $pop0
+ i32.store $discard=, link_info($pop6), $pop0
+ block
+ i32.const $push2=, abfd
i32.const $push1=, link_info
- i32.call $push2=, elf64_ia64_check_relocs@FUNCTION, $1, $pop1
- i32.ne $push3=, $pop2, $1
- br_if $pop3, 0 # 0: down to label2
+ i32.call $push3=, elf64_ia64_check_relocs@FUNCTION, $pop2, $pop1
+ i32.const $push5=, abfd
+ i32.ne $push4=, $pop3, $pop5
+ br_if $pop4, 0 # 0: down to label2
# BB#1: # %if.end
- return $0
+ i32.const $push7=, 0
+ return $pop7
.LBB2_2: # %if.then
end_block # label2:
call abort@FUNCTION
@@ -81,7 +85,7 @@ main: # @main
.type hash,@object
.section .bss.hash,"aw",@nobits
.globl hash
- .align 2
+ .p2align 2
hash:
.skip 12
.size hash, 12
@@ -90,7 +94,7 @@ hash:
.type link_info,@object
.section .bss.link_info,"aw",@nobits
.globl link_info
- .align 2
+ .p2align 2
link_info:
.skip 4
.size link_info, 4
@@ -99,7 +103,7 @@ link_info:
.type abfd,@object
.section .bss.abfd,"aw",@nobits
.globl abfd
- .align 2
+ .p2align 2
abfd:
.int32 0 # 0x0
.size abfd, 4
diff --git a/test/torture-s/pr41917.c.s b/test/torture-s/pr41917.c.s
index dcbcda899..272696db8 100644
--- a/test/torture-s/pr41917.c.s
+++ b/test/torture-s/pr41917.c.s
@@ -6,19 +6,20 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, -942519458
block
- i32.load $push0=, a($0)
+ i32.const $push3=, -942519458
+ i32.const $push7=, 0
+ i32.load $push0=, a($pop7)
i32.const $push1=, -2
i32.or $push2=, $pop0, $pop1
- i32.rem_u $push3=, $1, $pop2
- i32.ne $push4=, $pop3, $1
- br_if $pop4, 0 # 0: down to label0
+ i32.rem_u $push4=, $pop3, $pop2
+ i32.const $push6=, -942519458
+ i32.ne $push5=, $pop4, $pop6
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push8=, 0
+ return $pop8
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -31,7 +32,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
diff --git a/test/torture-s/pr41919.c.s b/test/torture-s/pr41919.c.s
index 1cde2f628..1dde487f4 100644
--- a/test/torture-s/pr41919.c.s
+++ b/test/torture-s/pr41919.c.s
@@ -17,7 +17,7 @@ main: # @main
.type g_23,@object
.section .bss.g_23,"aw",@nobits
.globl g_23
- .align 2
+ .p2align 2
g_23:
.int32 0 # 0x0
.size g_23, 4
diff --git a/test/torture-s/pr42142.c.s b/test/torture-s/pr42142.c.s
index f32148dcc..adfdb5f87 100644
--- a/test/torture-s/pr42142.c.s
+++ b/test/torture-s/pr42142.c.s
@@ -7,17 +7,17 @@
sort: # @sort
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 1
i32.const $push0=, 10
i32.lt_s $push1=, $0, $pop0
- i32.lt_s $push2=, $0, $1
- i32.const $push3=, 2
- i32.select $push4=, $pop2, $pop3, $1
- i32.const $push5=, 0
- i32.select $push6=, $pop1, $pop4, $pop5
- return $pop6
+ i32.const $push2=, 1
+ i32.lt_s $push3=, $0, $pop2
+ i32.const $push4=, 2
+ i32.const $push8=, 1
+ i32.select $push5=, $pop3, $pop4, $pop8
+ i32.const $push6=, 0
+ i32.select $push7=, $pop1, $pop5, $pop6
+ return $pop7
.endfunc
.Lfunc_end0:
.size sort, .Lfunc_end0-sort
diff --git a/test/torture-s/pr42231.c.s b/test/torture-s/pr42231.c.s
index b379f7e93..0b603cef7 100644
--- a/test/torture-s/pr42231.c.s
+++ b/test/torture-s/pr42231.c.s
@@ -6,27 +6,27 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
block
i32.const $push0=, 1
i32.call $push1=, CallFunctionRec@FUNCTION, $pop0
- i32.const $push6=, 0
- i32.eq $push7=, $pop1, $pop6
- br_if $pop7, 0 # 0: down to label0
+ i32.const $push8=, 0
+ i32.eq $push9=, $pop1, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#1: # %land.rhs.i
i32.const $push2=, 0
call storemax@FUNCTION, $pop2
.LBB0_2: # %CallFunction.exit
end_block # label0:
- i32.const $0=, 0
block
- i32.load $push3=, max($0)
+ i32.const $push6=, 0
+ i32.load $push3=, max($pop6)
i32.const $push4=, 10
i32.ne $push5=, $pop3, $pop4
br_if $pop5, 0 # 0: down to label1
# BB#3: # %if.end
- return $0
+ i32.const $push7=, 0
+ return $pop7
.LBB0_4: # %if.then
end_block # label1:
call abort@FUNCTION
@@ -45,19 +45,20 @@ CallFunctionRec: # @CallFunctionRec
call storemax@FUNCTION, $0
i32.const $1=, 0
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label2
+ i32.const $push5=, 0
+ i32.eq $push6=, $0, $pop5
+ br_if $pop6, 0 # 0: down to label2
# BB#1: # %if.end
i32.const $1=, 1
i32.const $push0=, 9
i32.gt_s $push1=, $0, $pop0
br_if $pop1, 0 # 0: down to label2
# BB#2: # %if.then1
- i32.const $1=, 1
- i32.add $push2=, $0, $1
- i32.call $discard=, CallFunctionRec@FUNCTION, $pop2
- return $1
+ i32.const $push2=, 1
+ i32.add $push3=, $0, $pop2
+ i32.call $discard=, CallFunctionRec@FUNCTION, $pop3
+ i32.const $push4=, 1
+ return $pop4
.LBB1_3: # %return
end_block # label2:
return $1
@@ -69,15 +70,15 @@ CallFunctionRec: # @CallFunctionRec
.type storemax,@function
storemax: # @storemax
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
block
- i32.load $push0=, max($1)
+ i32.const $push2=, 0
+ i32.load $push0=, max($pop2)
i32.ge_s $push1=, $pop0, $0
br_if $pop1, 0 # 0: down to label3
# BB#1: # %if.then
- i32.store $discard=, max($1), $0
+ i32.const $push3=, 0
+ i32.store $discard=, max($pop3), $0
.LBB2_2: # %if.end
end_block # label3:
return
diff --git a/test/torture-s/pr42248.c.s b/test/torture-s/pr42248.c.s
new file mode 100644
index 000000000..88e946057
--- /dev/null
+++ b/test/torture-s/pr42248.c.s
@@ -0,0 +1,76 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr42248.c"
+ .section .text.check,"ax",@progbits
+ .hidden check
+ .globl check
+ .type check,@function
+check: # @check
+ .param i32, i32
+# BB#0: # %entry
+ block
+ f64.load $push2=, 0($0)
+ f64.load $push3=, 0($1)
+ f64.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
+# BB#1: # %entry
+ f64.load $push0=, 8($0)
+ f64.load $push1=, 8($1)
+ f64.ne $push5=, $pop0, $pop1
+ br_if $pop5, 0 # 0: down to label0
+# BB#2: # %if.end
+ return
+.LBB0_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size check, .Lfunc_end0-check
+
+ .section .text.init,"ax",@progbits
+ .hidden init
+ .globl init
+ .type init,@function
+init: # @init
+ .param i32, i32
+ .local i64
+# BB#0: # %entry
+ i64.load $2=, 8($1)
+ i64.load $push0=, 0($1)
+ i64.store $discard=, 0($0), $pop0
+ i64.store $discard=, 8($0), $2
+ return
+ .endfunc
+.Lfunc_end1:
+ .size init, .Lfunc_end1-init
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0: # %entry
+ i32.const $push1=, 0
+ i64.const $push0=, 4607182418800017408
+ i64.store $discard=, g1s($pop1), $pop0
+ i32.const $push4=, 0
+ i64.const $push2=, 0
+ i64.store $discard=, g1s+8($pop4), $pop2
+ i32.const $push3=, 0
+ return $pop3
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden g1s # @g1s
+ .type g1s,@object
+ .section .bss.g1s,"aw",@nobits
+ .globl g1s
+ .p2align 3
+g1s:
+ .skip 32
+ .size g1s, 32
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr42269-2.c.s b/test/torture-s/pr42269-2.c.s
index b7444ffb7..ccc841dc2 100644
--- a/test/torture-s/pr42269-2.c.s
+++ b/test/torture-s/pr42269-2.c.s
@@ -22,13 +22,13 @@ main: # @main
foo: # @foo
.param i32
.result i64
- .local i64
# BB#0: # %entry
- i64.const $1=, 48
i64.extend_u/i32 $push0=, $0
- i64.shl $push1=, $pop0, $1
- i64.shr_s $push2=, $pop1, $1
- return $pop2
+ i64.const $push1=, 48
+ i64.shl $push2=, $pop0, $pop1
+ i64.const $push4=, 48
+ i64.shr_s $push3=, $pop2, $pop4
+ return $pop3
.endfunc
.Lfunc_end1:
.size foo, .Lfunc_end1-foo
@@ -37,7 +37,7 @@ foo: # @foo
.type s,@object
.section .data.s,"aw",@progbits
.globl s
- .align 1
+ .p2align 1
s:
.int16 65535 # 0xffff
.size s, 2
diff --git a/test/torture-s/pr42512.c.s b/test/torture-s/pr42512.c.s
index 9b824d0ea..414aaed3f 100644
--- a/test/torture-s/pr42512.c.s
+++ b/test/torture-s/pr42512.c.s
@@ -6,30 +6,35 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load16_u $4=, g_3($0)
- i32.const $3=, -1
+ i32.const $push0=, 0
+ i32.load16_u $1=, g_3($pop0)
+ i32.const $0=, -1
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $1=, 65535
- i32.and $push0=, $4, $1
- i32.or $4=, $pop0, $3
- i32.const $2=, 255
- i32.add $push1=, $3, $2
- i32.and $3=, $pop1, $2
- br_if $3, 0 # 0: up to label0
+ i32.const $push8=, 65535
+ i32.and $push1=, $1, $pop8
+ i32.or $1=, $pop1, $0
+ i32.const $push7=, 255
+ i32.add $push2=, $0, $pop7
+ i32.const $push6=, 255
+ i32.and $0=, $pop2, $pop6
+ br_if $0, 0 # 0: up to label0
# BB#2: # %for.end
end_loop # label1:
- i32.store16 $discard=, g_3($0), $4
+ i32.const $push10=, 0
+ i32.store16 $discard=, g_3($pop10), $1
block
- i32.and $push2=, $4, $1
- i32.ne $push3=, $pop2, $1
- br_if $pop3, 0 # 0: down to label2
+ i32.const $push3=, 65535
+ i32.and $push4=, $1, $pop3
+ i32.const $push9=, 65535
+ i32.ne $push5=, $pop4, $pop9
+ br_if $pop5, 0 # 0: down to label2
# BB#3: # %if.end
- return $0
+ i32.const $push11=, 0
+ return $pop11
.LBB0_4: # %if.then
end_block # label2:
call abort@FUNCTION
@@ -42,7 +47,7 @@ main: # @main
.type g_3,@object
.section .bss.g_3,"aw",@nobits
.globl g_3
- .align 1
+ .p2align 1
g_3:
.int16 0 # 0x0
.size g_3, 2
diff --git a/test/torture-s/pr42614.c.s b/test/torture-s/pr42614.c.s
index 9eea422e2..369227069 100644
--- a/test/torture-s/pr42614.c.s
+++ b/test/torture-s/pr42614.c.s
@@ -50,25 +50,25 @@ expect_func: # @expect_func
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $0=, __stack_pointer
- i32.load $0=, 0($0)
- i32.const $1=, 16
- i32.sub $4=, $0, $1
i32.const $1=, __stack_pointer
- i32.store $4=, 0($1), $4
- i32.const $push2=, 1
- i32.const $3=, 15
- i32.add $3=, $4, $3
- call expect_func@FUNCTION, $pop2, $3
- i32.const $push0=, 0
- i32.store8 $push1=, 15($4), $pop0
+ i32.load $1=, 0($1)
i32.const $2=, 16
- i32.add $4=, $4, $2
+ i32.sub $5=, $1, $2
i32.const $2=, __stack_pointer
- i32.store $4=, 0($2), $4
- return $pop1
+ i32.store $5=, 0($2), $5
+ i32.const $push0=, 0
+ i32.store8 $0=, 15($5), $pop0
+ i32.const $push1=, 1
+ i32.const $4=, 15
+ i32.add $4=, $5, $4
+ call expect_func@FUNCTION, $pop1, $4
+ i32.const $3=, 16
+ i32.add $5=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ return $0
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
diff --git a/test/torture-s/pr42691.c.s b/test/torture-s/pr42691.c.s
index 8b131d91e..737a28b91 100644
--- a/test/torture-s/pr42691.c.s
+++ b/test/torture-s/pr42691.c.s
@@ -9,24 +9,27 @@ add: # @add
.result i32
.local f64, f64
# BB#0: # %entry
- f64.load $3=, 0($1)
- f64.load $2=, 0($0)
block
- f64.eq $push0=, $3, $2
- br_if $pop0, 0 # 0: down to label0
+ f64.load $push5=, 0($1)
+ tee_local $push7=, $3=, $pop5
+ f64.load $push0=, 0($0)
+ tee_local $push6=, $2=, $pop0
+ f64.eq $push1=, $pop7, $pop6
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end.preheader
- i32.const $0=, 8
- i32.add $1=, $1, $0
+ i32.const $push8=, 8
+ i32.add $1=, $1, $pop8
.LBB0_2: # %if.end
# =>This Inner Loop Header: Depth=1
loop # label1:
- f64.const $push1=, infinity
- f64.ne $push2=, $3, $pop1
+ f64.const $push10=, infinity
+ f64.ne $push2=, $3, $pop10
br_if $pop2, 1 # 1: down to label2
# BB#3: # %while.body
# in Loop: Header=BB0_2 Depth=1
f64.load $3=, 0($1)
- i32.add $1=, $1, $0
+ i32.const $push9=, 8
+ i32.add $1=, $1, $pop9
f64.ne $push3=, $3, $2
br_if $pop3, 0 # 0: up to label1
br 2 # 2: down to label0
@@ -48,45 +51,45 @@ add: # @add
.type main,@function
main: # @main
.result i32
- .local f64, i32, i32, f64, i32, i32, i32, i32, i32
+ .local f64, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $4=, __stack_pointer
- i32.load $4=, 0($4)
- i32.const $5=, 16
- i32.sub $8=, $4, $5
- i32.const $5=, __stack_pointer
- i32.store $8=, 0($5), $8
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
i64.const $push0=, 9218868437227405312
- i64.store $discard=, 0($8), $pop0
- f64.const $0=, infinity
- i32.const $1=, 8
- i32.const $7=, 0
- i32.add $7=, $8, $7
- i32.or $2=, $7, $1
+ i64.store $discard=, 0($5):p2align=4, $pop0
+ i32.const $push7=, 8
+ i32.or $push5=, $5, $pop7
+ tee_local $push6=, $1=, $pop5
i64.const $push1=, 4627167142146473984
- i64.store $discard=, 0($2), $pop1
- copy_local $3=, $0
+ i64.store $discard=, 0($pop6), $pop1
+ f64.const $0=, infinity
.LBB1_1: # %if.end.i
# =>This Inner Loop Header: Depth=1
block
loop # label4:
- f64.ne $push2=, $3, $0
+ f64.const $push10=, infinity
+ f64.ne $push2=, $0, $pop10
br_if $pop2, 2 # 2: down to label3
# BB#2: # %while.body.i
# in Loop: Header=BB1_1 Depth=1
- f64.load $3=, 0($2)
- i32.add $2=, $2, $1
- f64.const $push3=, 0x1.7p4
- f64.ne $push4=, $3, $pop3
- br_if $pop4, 0 # 0: up to label4
+ f64.load $0=, 0($1)
+ i32.const $push9=, 8
+ i32.add $1=, $1, $pop9
+ f64.const $push8=, 0x1.7p4
+ f64.ne $push3=, $0, $pop8
+ br_if $pop3, 0 # 0: up to label4
# BB#3: # %add.exit
end_loop # label5:
- i32.const $push5=, 0
- i32.const $6=, 16
- i32.add $8=, $8, $6
- i32.const $6=, __stack_pointer
- i32.store $8=, 0($6), $8
- return $pop5
+ i32.const $push4=, 0
+ i32.const $4=, 16
+ i32.add $5=, $5, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return $pop4
.LBB1_4: # %if.then3.i
end_block # label3:
call abort@FUNCTION
diff --git a/test/torture-s/pr42721.c.s b/test/torture-s/pr42721.c.s
index 03abc6b91..33e83ee85 100644
--- a/test/torture-s/pr42721.c.s
+++ b/test/torture-s/pr42721.c.s
@@ -6,17 +6,20 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, b($0)
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load $push0=, b($pop4)
+ tee_local $push3=, $0=, $pop0
+ i32.const $push1=, 1
+ i32.xor $push2=, $pop3, $pop1
+ i32.store $discard=, b($pop5), $pop2
block
- i32.const $push0=, 1
- i32.xor $push1=, $1, $pop0
- i32.store $discard=, b($0), $pop1
- br_if $1, 0 # 0: down to label0
+ br_if $0, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push6=, 0
+ return $pop6
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/pr42833.c.s b/test/torture-s/pr42833.c.s
index e3abd7389..648d7cd03 100644
--- a/test/torture-s/pr42833.c.s
+++ b/test/torture-s/pr42833.c.s
@@ -7,196 +7,225 @@
helper_neon_rshl_s8: # @helper_neon_rshl_s8
.param i32, i32
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, 24
- i32.shl $7=, $1, $6
- i32.const $11=, 0
- i32.const $5=, 16
- copy_local $8=, $11
+ i32.const $4=, 0
+ i32.const $3=, 0
block
- i32.const $push0=, 117440512
- i32.gt_s $push1=, $7, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.const $push92=, 24
+ i32.shl $push0=, $1, $pop92
+ tee_local $push91=, $5=, $pop0
+ i32.const $push6=, 117440512
+ i32.gt_s $push7=, $pop91, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.else
block
- i32.const $push2=, -134217729
- i32.gt_s $push3=, $7, $pop2
- br_if $pop3, 0 # 0: down to label1
+ i32.const $push8=, -134217729
+ i32.gt_s $push9=, $5, $pop8
+ br_if $pop9, 0 # 0: down to label1
# BB#2: # %if.then13
- i32.shl $push14=, $0, $6
- i32.const $push15=, 31
- i32.shr_s $8=, $pop14, $pop15
+ i32.const $push21=, 24
+ i32.shl $push22=, $0, $pop21
+ i32.const $push23=, 31
+ i32.shr_s $3=, $pop22, $pop23
br 1 # 1: down to label0
.LBB0_3: # %if.else18
end_block # label1:
- i32.shr_s $4=, $7, $6
- copy_local $8=, $11
- i32.const $push4=, -8
- i32.eq $push5=, $4, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $3=, 0
+ i32.const $push94=, 24
+ i32.shr_s $push1=, $5, $pop94
+ tee_local $push93=, $6=, $pop1
+ i32.const $push10=, -8
+ i32.eq $push11=, $pop93, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#4: # %if.else34
- i32.shl $push6=, $0, $6
- i32.shr_s $8=, $pop6, $6
- i32.const $3=, -1
+ i32.const $push12=, 24
+ i32.shl $push13=, $0, $pop12
+ i32.const $push96=, 24
+ i32.shr_s $3=, $pop13, $pop96
block
- i32.le_s $push7=, $7, $3
- br_if $pop7, 0 # 0: down to label2
+ i32.const $push95=, -1
+ i32.le_s $push14=, $5, $pop95
+ br_if $pop14, 0 # 0: down to label2
# BB#5: # %if.else48
- i32.shl $8=, $8, $4
+ i32.shl $3=, $3, $6
br 1 # 1: down to label0
.LBB0_6: # %if.then38
end_block # label2:
- i32.const $push9=, 1
- i32.xor $push8=, $4, $3
- i32.shl $push10=, $pop9, $pop8
- i32.add $push11=, $pop10, $8
- i32.const $push12=, 0
- i32.sub $push13=, $pop12, $4
- i32.shr_s $8=, $pop11, $pop13
+ i32.const $push16=, 1
+ i32.const $push97=, -1
+ i32.xor $push15=, $6, $pop97
+ i32.shl $push17=, $pop16, $pop15
+ i32.add $push18=, $pop17, $3
+ i32.const $push19=, 0
+ i32.sub $push20=, $pop19, $6
+ i32.shr_s $3=, $pop18, $pop20
.LBB0_7: # %if.end57
end_block # label0:
- i32.shl $push16=, $1, $5
- i32.shr_s $3=, $pop16, $6
- i32.const $4=, 8
- i32.const $7=, 7
- copy_local $9=, $11
block
- i32.gt_s $push17=, $3, $7
- br_if $pop17, 0 # 0: down to label3
+ i32.const $push101=, 16
+ i32.shl $push24=, $1, $pop101
+ i32.const $push100=, 24
+ i32.shr_s $push2=, $pop24, $pop100
+ tee_local $push99=, $5=, $pop2
+ i32.const $push98=, 7
+ i32.gt_s $push25=, $pop99, $pop98
+ br_if $pop25, 0 # 0: down to label3
# BB#8: # %if.else68
- i32.shr_u $10=, $0, $4
+ i32.const $push5=, 8
+ i32.shr_u $6=, $0, $pop5
block
- i32.const $push18=, -9
- i32.gt_s $push19=, $3, $pop18
- br_if $pop19, 0 # 0: down to label4
+ i32.const $push26=, -9
+ i32.gt_s $push27=, $5, $pop26
+ br_if $pop27, 0 # 0: down to label4
# BB#9: # %if.then72
- i32.shl $push30=, $10, $6
- i32.const $push31=, 31
- i32.shr_s $9=, $pop30, $pop31
+ i32.const $push39=, 24
+ i32.shl $push40=, $6, $pop39
+ i32.const $push41=, 31
+ i32.shr_s $4=, $pop40, $pop41
br 1 # 1: down to label3
.LBB0_10: # %if.else78
end_block # label4:
- copy_local $9=, $11
- i32.const $push20=, -8
- i32.eq $push21=, $3, $pop20
- br_if $pop21, 0 # 0: down to label3
+ i32.const $push28=, -8
+ i32.eq $push29=, $5, $pop28
+ br_if $pop29, 0 # 0: down to label3
# BB#11: # %if.else96
- i32.shl $push22=, $10, $6
- i32.shr_s $10=, $pop22, $6
- i32.const $9=, -1
+ i32.const $push30=, 24
+ i32.shl $push31=, $6, $pop30
+ i32.const $push103=, 24
+ i32.shr_s $4=, $pop31, $pop103
block
- i32.le_s $push23=, $3, $9
- br_if $pop23, 0 # 0: down to label5
+ i32.const $push102=, -1
+ i32.le_s $push32=, $5, $pop102
+ br_if $pop32, 0 # 0: down to label5
# BB#12: # %if.else112
- i32.shl $9=, $10, $3
+ i32.shl $4=, $4, $5
br 1 # 1: down to label3
.LBB0_13: # %if.then100
end_block # label5:
- i32.const $push25=, 1
- i32.xor $push24=, $3, $9
- i32.shl $push26=, $pop25, $pop24
- i32.add $push27=, $pop26, $10
- i32.const $push28=, 0
- i32.sub $push29=, $pop28, $3
- i32.shr_s $9=, $pop27, $pop29
+ i32.const $push34=, 1
+ i32.const $push104=, -1
+ i32.xor $push33=, $5, $pop104
+ i32.shl $push35=, $pop34, $pop33
+ i32.add $push36=, $pop35, $4
+ i32.const $push37=, 0
+ i32.sub $push38=, $pop37, $5
+ i32.shr_s $4=, $pop36, $pop38
.LBB0_14: # %if.end122
end_block # label3:
- i32.shl $push32=, $1, $4
- i32.shr_s $3=, $pop32, $6
- copy_local $10=, $11
+ i32.const $6=, 0
+ i32.const $5=, 0
block
- i32.gt_s $push33=, $3, $7
- br_if $pop33, 0 # 0: down to label6
+ i32.const $push42=, 8
+ i32.shl $push43=, $1, $pop42
+ i32.const $push107=, 24
+ i32.shr_s $push3=, $pop43, $pop107
+ tee_local $push106=, $7=, $pop3
+ i32.const $push105=, 7
+ i32.gt_s $push44=, $pop106, $pop105
+ br_if $pop44, 0 # 0: down to label6
# BB#15: # %if.else133
- i32.shr_u $2=, $0, $5
+ i32.const $push108=, 16
+ i32.shr_u $2=, $0, $pop108
block
- i32.const $push34=, -9
- i32.gt_s $push35=, $3, $pop34
- br_if $pop35, 0 # 0: down to label7
+ i32.const $push45=, -9
+ i32.gt_s $push46=, $7, $pop45
+ br_if $pop46, 0 # 0: down to label7
# BB#16: # %if.then137
- i32.shl $push46=, $2, $6
- i32.const $push47=, 31
- i32.shr_s $10=, $pop46, $pop47
+ i32.const $push58=, 24
+ i32.shl $push59=, $2, $pop58
+ i32.const $push60=, 31
+ i32.shr_s $5=, $pop59, $pop60
br 1 # 1: down to label6
.LBB0_17: # %if.else143
end_block # label7:
- copy_local $10=, $11
- i32.const $push36=, -8
- i32.eq $push37=, $3, $pop36
- br_if $pop37, 0 # 0: down to label6
+ i32.const $5=, 0
+ i32.const $push47=, -8
+ i32.eq $push48=, $7, $pop47
+ br_if $pop48, 0 # 0: down to label6
# BB#18: # %if.else161
- i32.shl $push38=, $2, $6
- i32.shr_s $2=, $pop38, $6
- i32.const $10=, -1
+ i32.const $push49=, 24
+ i32.shl $push50=, $2, $pop49
+ i32.const $push110=, 24
+ i32.shr_s $5=, $pop50, $pop110
block
- i32.le_s $push39=, $3, $10
- br_if $pop39, 0 # 0: down to label8
+ i32.const $push109=, -1
+ i32.le_s $push51=, $7, $pop109
+ br_if $pop51, 0 # 0: down to label8
# BB#19: # %if.else177
- i32.shl $10=, $2, $3
+ i32.shl $5=, $5, $7
br 1 # 1: down to label6
.LBB0_20: # %if.then165
end_block # label8:
- i32.const $push41=, 1
- i32.xor $push40=, $3, $10
- i32.shl $push42=, $pop41, $pop40
- i32.add $push43=, $pop42, $2
- i32.const $push44=, 0
- i32.sub $push45=, $pop44, $3
- i32.shr_s $10=, $pop43, $pop45
+ i32.const $push53=, 1
+ i32.const $push111=, -1
+ i32.xor $push52=, $7, $pop111
+ i32.shl $push54=, $pop53, $pop52
+ i32.add $push55=, $pop54, $5
+ i32.const $push56=, 0
+ i32.sub $push57=, $pop56, $7
+ i32.shr_s $5=, $pop55, $pop57
.LBB0_21: # %if.end187
end_block # label6:
- i32.shr_s $1=, $1, $6
block
- i32.gt_s $push48=, $1, $7
- br_if $pop48, 0 # 0: down to label9
+ i32.const $push113=, 24
+ i32.shr_s $push4=, $1, $pop113
+ tee_local $push112=, $1=, $pop4
+ i32.const $push61=, 7
+ i32.gt_s $push62=, $pop112, $pop61
+ br_if $pop62, 0 # 0: down to label9
# BB#22: # %if.else199
block
- i32.const $push49=, -9
- i32.gt_s $push50=, $1, $pop49
- br_if $pop50, 0 # 0: down to label10
+ i32.const $push63=, -9
+ i32.gt_s $push64=, $1, $pop63
+ br_if $pop64, 0 # 0: down to label10
# BB#23: # %if.then203
- i32.const $push60=, 31
- i32.shr_s $11=, $0, $pop60
+ i32.const $push75=, 31
+ i32.shr_s $6=, $0, $pop75
br 1 # 1: down to label9
.LBB0_24: # %if.else209
end_block # label10:
- i32.const $push51=, -8
- i32.eq $push52=, $1, $pop51
- br_if $pop52, 0 # 0: down to label9
+ i32.const $push65=, -8
+ i32.eq $push66=, $1, $pop65
+ br_if $pop66, 0 # 0: down to label9
# BB#25: # %if.else227
- i32.shr_s $7=, $0, $6
- i32.const $11=, -1
+ i32.const $push67=, 24
+ i32.shr_s $0=, $0, $pop67
block
- i32.le_s $push53=, $1, $11
- br_if $pop53, 0 # 0: down to label11
+ i32.const $push114=, -1
+ i32.le_s $push68=, $1, $pop114
+ br_if $pop68, 0 # 0: down to label11
# BB#26: # %if.else243
- i32.shl $11=, $7, $1
+ i32.shl $6=, $0, $1
br 1 # 1: down to label9
.LBB0_27: # %if.then231
end_block # label11:
- i32.const $push55=, 1
- i32.xor $push54=, $1, $11
- i32.shl $push56=, $pop55, $pop54
- i32.add $push57=, $pop56, $7
- i32.const $push58=, 0
- i32.sub $push59=, $pop58, $1
- i32.shr_s $11=, $pop57, $pop59
+ i32.const $push70=, 1
+ i32.const $push115=, -1
+ i32.xor $push69=, $1, $pop115
+ i32.shl $push71=, $pop70, $pop69
+ i32.add $push72=, $pop71, $0
+ i32.const $push73=, 0
+ i32.sub $push74=, $pop73, $1
+ i32.shr_s $6=, $pop72, $pop74
.LBB0_28: # %if.end253
end_block # label9:
- i32.shl $push65=, $9, $4
- i32.const $push66=, 65280
- i32.and $push67=, $pop65, $pop66
- i32.const $push68=, 255
- i32.and $push69=, $8, $pop68
- i32.or $push70=, $pop67, $pop69
- i32.shl $push62=, $10, $5
- i32.const $push63=, 16711680
- i32.and $push64=, $pop62, $pop63
- i32.or $push71=, $pop70, $pop64
- i32.shl $push61=, $11, $6
- i32.or $push72=, $pop71, $pop61
- return $pop72
+ i32.const $push82=, 8
+ i32.shl $push83=, $4, $pop82
+ i32.const $push84=, 65280
+ i32.and $push85=, $pop83, $pop84
+ i32.const $push86=, 255
+ i32.and $push87=, $3, $pop86
+ i32.or $push88=, $pop85, $pop87
+ i32.const $push78=, 16
+ i32.shl $push79=, $5, $pop78
+ i32.const $push80=, 16711680
+ i32.and $push81=, $pop79, $pop80
+ i32.or $push89=, $pop88, $pop81
+ i32.const $push76=, 24
+ i32.shl $push77=, $6, $pop76
+ i32.or $push90=, $pop89, $pop77
+ return $pop90
.endfunc
.Lfunc_end0:
.size helper_neon_rshl_s8, .Lfunc_end0-helper_neon_rshl_s8
diff --git a/test/torture-s/pr43008.c.s b/test/torture-s/pr43008.c.s
index 51e797eb8..2e623c66e 100644
--- a/test/torture-s/pr43008.c.s
+++ b/test/torture-s/pr43008.c.s
@@ -9,9 +9,10 @@ my_alloc: # @my_alloc
.local i32
# BB#0: # %entry
i32.const $push0=, 4
- i32.call $0=, __builtin_malloc@FUNCTION, $pop0
- i32.const $push1=, i
- i32.store $discard=, 0($0), $pop1
+ i32.call $push1=, __builtin_malloc@FUNCTION, $pop0
+ tee_local $push3=, $0=, $pop1
+ i32.const $push2=, i
+ i32.store $discard=, 0($pop3), $pop2
return $0
.endfunc
.Lfunc_end0:
@@ -25,22 +26,26 @@ main: # @main
.result i32
.local i32, i32
# BB#0: # %entry
- i32.const $0=, 4
- i32.call $1=, __builtin_malloc@FUNCTION, $0
- i32.call $push2=, __builtin_malloc@FUNCTION, $0
- i32.const $push0=, i
- i32.store $push1=, 0($1), $pop0
- i32.store $discard=, 0($pop2), $pop1
- i32.load $0=, 0($1)
- i32.const $push3=, 1
- i32.store $discard=, 0($0), $pop3
- i32.const $1=, 0
- i32.store $discard=, i($1), $1
+ i32.const $push0=, 4
+ i32.call $push1=, __builtin_malloc@FUNCTION, $pop0
+ tee_local $push11=, $1=, $pop1
+ i32.const $push2=, i
+ i32.store $0=, 0($pop11), $pop2
+ i32.const $push10=, 4
+ i32.call $push3=, __builtin_malloc@FUNCTION, $pop10
+ i32.store $discard=, 0($pop3), $0
+ i32.load $push4=, 0($1)
+ tee_local $push9=, $1=, $pop4
+ i32.const $push5=, 1
+ i32.store $discard=, 0($pop9), $pop5
+ i32.const $push6=, 0
+ i32.const $push8=, 0
+ i32.store $0=, i($pop6), $pop8
block
- i32.load $push4=, 0($0)
- br_if $pop4, 0 # 0: down to label0
+ i32.load $push7=, 0($1)
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.end
- return $1
+ return $0
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -53,7 +58,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/pr43220.c.s b/test/torture-s/pr43220.c.s
new file mode 100644
index 000000000..a534411d6
--- /dev/null
+++ b/test/torture-s/pr43220.c.s
@@ -0,0 +1,80 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr43220.c"
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $8=, 0($6)
+ copy_local $9=, $8
+ i32.const $4=, 0
+.LBB0_1: # %lab
+ # =>This Inner Loop Header: Depth=1
+ loop # label0:
+ copy_local $0=, $8
+ i32.const $push26=, 1000
+ i32.rem_s $push0=, $4, $pop26
+ i32.const $push25=, 2
+ i32.shl $push1=, $pop0, $pop25
+ tee_local $push24=, $3=, $pop1
+ i32.const $push23=, 19
+ i32.add $push2=, $pop24, $pop23
+ i32.const $push22=, -16
+ i32.and $push3=, $pop2, $pop22
+ i32.sub $1=, $8, $pop3
+ copy_local $8=, $1
+ i32.const $push21=, 1
+ i32.store $2=, 0($1):p2align=4, $pop21
+ i32.add $push4=, $1, $3
+ i32.const $push20=, 2
+ i32.store $3=, 0($pop4), $pop20
+ i32.const $push19=, 0
+ i32.store $discard=, p($pop19), $1
+ copy_local $8=, $0
+ copy_local $0=, $8
+ i32.add $push5=, $4, $2
+ i32.const $push18=, 1000
+ i32.rem_s $push6=, $pop5, $pop18
+ i32.shl $push7=, $pop6, $3
+ tee_local $push17=, $5=, $pop7
+ i32.const $push16=, 19
+ i32.add $push8=, $pop17, $pop16
+ i32.const $push15=, -16
+ i32.and $push9=, $pop8, $pop15
+ i32.sub $1=, $8, $pop9
+ copy_local $8=, $1
+ i32.store $discard=, 0($1):p2align=4, $2
+ i32.add $push10=, $1, $5
+ i32.store $2=, 0($pop10), $3
+ i32.const $push14=, 0
+ i32.store $discard=, p($pop14), $1
+ copy_local $8=, $0
+ i32.add $4=, $4, $2
+ i32.const $push13=, 1000000
+ i32.lt_s $push11=, $4, $pop13
+ br_if $pop11, 0 # 0: up to label0
+# BB#2: # %if.end
+ end_loop # label1:
+ i32.const $push12=, 0
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $9
+ return $pop12
+ .endfunc
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+
+ .hidden p # @p
+ .type p,@object
+ .section .bss.p,"aw",@nobits
+ .globl p
+ .p2align 2
+p:
+ .int32 0
+ .size p, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr43236.c.s b/test/torture-s/pr43236.c.s
index aa7969866..86b47390d 100644
--- a/test/torture-s/pr43236.c.s
+++ b/test/torture-s/pr43236.c.s
@@ -6,174 +6,119 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 96
- i32.sub $44=, $9, $10
- i32.const $10=, __stack_pointer
- i32.store $44=, 0($10), $44
- i32.const $0=, 28
- i32.const $12=, 64
- i32.add $12=, $44, $12
- i32.add $push0=, $12, $0
- i32.const $push1=, 257
- i32.store16 $8=, 0($pop0), $pop1
- i32.const $1=, 24
- i32.const $13=, 64
- i32.add $13=, $44, $13
- i32.add $push2=, $13, $1
- i32.const $push3=, 16843009
- i32.store $2=, 0($pop2), $pop3
- i32.const $3=, 16
- i32.const $14=, 64
- i32.add $14=, $44, $14
- i32.add $4=, $14, $3
- i64.const $push4=, 72340172838076673
- i64.store $5=, 0($4), $pop4
- i32.const $6=, 8
- i32.const $15=, 64
- i32.add $15=, $44, $15
- i32.or $push5=, $15, $6
- i64.store $discard=, 0($pop5), $5
- i32.const $16=, 32
- i32.add $16=, $44, $16
- i32.add $push6=, $16, $0
- i32.store16 $7=, 0($pop6), $8
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 96
+ i32.sub $21=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $21=, 0($5), $21
+ i32.const $push0=, 16
+ i32.const $7=, 64
+ i32.add $7=, $21, $7
+ i32.add $push1=, $7, $pop0
+ i64.const $push2=, 72340172838076673
+ i64.store $0=, 0($pop1):p2align=4, $pop2
+ i32.const $push3=, 28
+ i32.const $8=, 64
+ i32.add $8=, $21, $8
+ i32.add $push4=, $8, $pop3
+ i32.const $push5=, 257
+ i32.store16 $1=, 0($pop4):p2align=2, $pop5
+ i32.const $push6=, 24
+ i32.const $9=, 64
+ i32.add $9=, $21, $9
+ i32.add $push7=, $9, $pop6
+ i32.const $push8=, 16843009
+ i32.store $2=, 0($pop7):p2align=3, $pop8
+ i32.const $push51=, 16
+ i32.const $10=, 32
+ i32.add $10=, $21, $10
+ i32.add $push13=, $10, $pop51
+ i32.const $push9=, 8
+ i32.const $11=, 64
+ i32.add $11=, $21, $11
+ i32.or $push10=, $11, $pop9
+ i64.store $push11=, 0($pop10), $0
+ i64.store $push12=, 64($21):p2align=4, $pop11
+ i64.store $0=, 0($pop13):p2align=4, $pop12
+ i32.const $push50=, 28
+ i32.add $push30=, $21, $pop50
+ i32.const $push49=, 28
+ i32.const $12=, 32
+ i32.add $12=, $21, $12
+ i32.add $push14=, $12, $pop49
+ i32.store16 $push15=, 0($pop14):p2align=2, $1
+ i32.store16 $discard=, 0($pop30):p2align=2, $pop15
+ i32.const $push48=, 24
+ i32.add $push31=, $21, $pop48
+ i32.const $push47=, 24
+ i32.const $13=, 32
+ i32.add $13=, $21, $13
+ i32.add $push16=, $13, $pop47
+ i32.store $push17=, 0($pop16):p2align=3, $2
+ i32.store $discard=, 0($pop31):p2align=3, $pop17
+ i32.const $push46=, 8
+ i32.const $14=, 32
+ i32.add $14=, $21, $14
+ i32.or $push18=, $14, $pop46
+ i64.store $discard=, 0($pop18), $0
+ i32.const $push22=, 18
+ i32.const $15=, 32
+ i32.add $15=, $21, $15
+ i32.add $push29=, $15, $pop22
+ i32.const $push45=, 18
+ i32.const $16=, 64
+ i32.add $16=, $21, $16
+ i32.add $push23=, $16, $pop45
+ i32.const $push24=, 0
+ i32.store16 $push25=, 0($pop23), $pop24
+ i32.store16 $1=, 0($pop29), $pop25
+ i32.const $push44=, 16
+ i32.add $push32=, $21, $pop44
+ i64.store $push19=, 32($21):p2align=4, $0
+ i64.store $0=, 0($pop32):p2align=4, $pop19
+ i32.const $push43=, 18
+ i32.add $push35=, $21, $pop43
+ i32.store16 $discard=, 0($pop35), $1
+ i32.const $push20=, 10
i32.const $17=, 32
- i32.add $17=, $44, $17
- i32.add $push7=, $17, $1
- i32.store $discard=, 0($pop7), $2
- i64.store $discard=, 64($44), $5
- i32.const $18=, 32
- i32.add $18=, $44, $18
- i32.add $8=, $18, $3
- i64.store $discard=, 0($8), $5
- i32.const $19=, 32
- i32.add $19=, $44, $19
- i32.or $push8=, $19, $6
- i64.store $push9=, 0($pop8), $5
- i64.store $5=, 32($44), $pop9
- i32.const $20=, 0
- i32.add $20=, $44, $20
- i32.or $push30=, $20, $6
- i64.store $discard=, 0($pop30), $5
- i32.const $21=, 0
- i32.add $21=, $44, $21
- i32.add $push31=, $21, $0
- i32.store16 $discard=, 0($pop31), $7
- i32.const $22=, 0
- i32.add $22=, $44, $22
- i32.add $push32=, $22, $1
- i32.store $discard=, 0($pop32), $2
- i32.const $push10=, 0
- i32.store8 $push11=, 83($44), $pop10
- i32.store8 $push12=, 51($44), $pop11
- i32.store8 $push13=, 82($44), $pop12
- i32.store8 $push14=, 50($44), $pop13
- i32.store8 $push15=, 81($44), $pop14
- i32.store8 $push16=, 49($44), $pop15
- i32.store8 $push17=, 0($4), $pop16
- i32.store8 $1=, 0($8), $pop17
- i32.const $0=, 15
- i32.const $23=, 64
- i32.add $23=, $44, $23
- i32.or $push18=, $23, $0
- i32.store8 $discard=, 0($pop18), $1
- i32.const $24=, 32
- i32.add $24=, $44, $24
- i32.or $push19=, $24, $0
- i32.store8 $discard=, 0($pop19), $1
- i32.const $0=, 14
- i32.const $25=, 64
- i32.add $25=, $44, $25
- i32.or $push20=, $25, $0
- i32.store8 $discard=, 0($pop20), $1
- i32.const $26=, 32
- i32.add $26=, $44, $26
- i32.or $push21=, $26, $0
- i32.store8 $6=, 0($pop21), $1
- i32.const $1=, 13
- i32.const $27=, 64
- i32.add $27=, $44, $27
- i32.or $push22=, $27, $1
- i32.store8 $discard=, 0($pop22), $6
- i32.const $28=, 32
- i32.add $28=, $44, $28
- i32.or $push23=, $28, $1
- i32.store8 $discard=, 0($pop23), $6
- i32.const $1=, 12
- i32.const $29=, 64
- i32.add $29=, $44, $29
- i32.or $push24=, $29, $1
- i32.store8 $discard=, 0($pop24), $6
- i32.const $30=, 32
- i32.add $30=, $44, $30
- i32.or $push25=, $30, $1
- i32.store8 $4=, 0($pop25), $6
- i32.const $6=, 11
- i32.const $31=, 64
- i32.add $31=, $44, $31
- i32.or $push26=, $31, $6
- i32.store8 $discard=, 0($pop26), $4
- i32.const $32=, 32
- i32.add $32=, $44, $32
- i32.or $push27=, $32, $6
- i32.store8 $discard=, 0($pop27), $4
- i32.const $6=, 10
- i32.const $33=, 64
- i32.add $33=, $44, $33
- i32.or $push28=, $33, $6
- i32.store8 $discard=, 0($pop28), $4
- i32.const $34=, 32
- i32.add $34=, $44, $34
- i32.or $push29=, $34, $6
- i32.store8 $discard=, 0($pop29), $4
- i32.const $35=, 0
- i32.add $35=, $44, $35
- i32.add $3=, $35, $3
- i64.store $discard=, 0($3), $5
- i32.const $36=, 0
- i32.add $36=, $44, $36
- i32.or $push33=, $36, $6
- i32.store16 $6=, 0($pop33), $4
- i32.const $push34=, 18
- i32.const $37=, 0
- i32.add $37=, $44, $37
- i32.add $push35=, $37, $pop34
- i32.store16 $push36=, 0($pop35), $6
- i32.store16 $3=, 0($3), $pop36
- i32.const $38=, 0
- i32.add $38=, $44, $38
- i32.or $push37=, $38, $0
- i32.store16 $0=, 0($pop37), $3
- i32.const $39=, 0
- i32.add $39=, $44, $39
- i32.or $push38=, $39, $1
- i32.store16 $1=, 0($pop38), $0
- i32.const $0=, 30
- i64.store $discard=, 0($44), $5
- i32.const $40=, 64
- i32.add $40=, $44, $40
- i32.const $41=, 0
- i32.add $41=, $44, $41
+ i32.add $17=, $21, $17
+ i32.or $push28=, $17, $pop20
+ i32.const $push42=, 10
+ i32.const $18=, 64
+ i32.add $18=, $21, $18
+ i32.or $push21=, $18, $pop42
+ i64.const $push26=, 0
+ i64.store $push27=, 0($pop21):p2align=1, $pop26
+ i64.store $3=, 0($pop28):p2align=1, $pop27
+ i32.const $push41=, 8
+ i32.or $push33=, $21, $pop41
+ i64.store $discard=, 0($pop33), $0
+ i32.const $push40=, 10
+ i32.or $push34=, $21, $pop40
+ i64.store $discard=, 0($pop34):p2align=1, $3
+ i64.store $discard=, 0($21):p2align=4, $0
+ i32.const $push39=, 30
+ i32.const $19=, 64
+ i32.add $19=, $21, $19
block
- i32.call $push39=, memcmp@FUNCTION, $40, $41, $0
- br_if $pop39, 0 # 0: down to label0
+ i32.call $push36=, memcmp@FUNCTION, $19, $21, $pop39
+ br_if $pop36, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.const $42=, 32
- i32.add $42=, $44, $42
- i32.const $43=, 0
- i32.add $43=, $44, $43
- i32.call $push40=, memcmp@FUNCTION, $42, $43, $0
- br_if $pop40, 0 # 0: down to label0
+ i32.const $push52=, 30
+ i32.const $20=, 32
+ i32.add $20=, $21, $20
+ i32.call $push37=, memcmp@FUNCTION, $20, $21, $pop52
+ br_if $pop37, 0 # 0: down to label0
# BB#2: # %if.end
- i32.const $11=, 96
- i32.add $44=, $44, $11
- i32.const $11=, __stack_pointer
- i32.store $44=, 0($11), $44
- return $1
+ i32.const $push38=, 0
+ i32.const $6=, 96
+ i32.add $21=, $21, $6
+ i32.const $6=, __stack_pointer
+ i32.store $21=, 0($6), $21
+ return $pop38
.LBB0_3: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/pr43269.c.s b/test/torture-s/pr43269.c.s
index 9648c8a4f..d4ef89258 100644
--- a/test/torture-s/pr43269.c.s
+++ b/test/torture-s/pr43269.c.s
@@ -6,17 +6,17 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
call func_32@FUNCTION
- i32.const $0=, 0
block
- i32.load $push0=, g_261($0)
+ i32.const $push3=, 0
+ i32.load $push0=, g_261($pop3)
i32.const $push1=, -1
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -28,15 +28,15 @@ main: # @main
.section .text.func_32,"ax",@progbits
.type func_32,@function
func_32: # @func_32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push2=, g_211($0)
- i32.const $push0=, -1
- i32.store $push1=, g_261($0), $pop0
- i32.eq $push3=, $pop2, $pop1
- br_if $pop3, 0 # 0: down to label1
+ i32.const $push0=, 0
+ i32.load $push3=, g_211($pop0)
+ i32.const $push5=, 0
+ i32.const $push1=, -1
+ i32.store $push2=, g_261($pop5), $pop1
+ i32.eq $push4=, $pop3, $pop2
+ br_if $pop4, 0 # 0: down to label1
# BB#1: # %for.end
return
.LBB1_2: # %if.else
@@ -54,7 +54,7 @@ func_32: # @func_32
.type g_261,@object
.section .bss.g_261,"aw",@nobits
.globl g_261
- .align 2
+ .p2align 2
g_261:
.int32 0 # 0x0
.size g_261, 4
@@ -63,7 +63,7 @@ g_261:
.type g_21,@object
.section .bss.g_21,"aw",@nobits
.globl g_21
- .align 2
+ .p2align 2
g_21:
.int32 0 # 0x0
.size g_21, 4
@@ -72,7 +72,7 @@ g_21:
.type g_211,@object
.section .bss.g_211,"aw",@nobits
.globl g_211
- .align 2
+ .p2align 2
g_211:
.int32 0 # 0x0
.size g_211, 4
diff --git a/test/torture-s/pr43385.c.s b/test/torture-s/pr43385.c.s
index f8d8a6d10..34162aadd 100644
--- a/test/torture-s/pr43385.c.s
+++ b/test/torture-s/pr43385.c.s
@@ -8,19 +8,20 @@ foo: # @foo
.param i32, i32
# BB#0: # %entry
block
- i32.const $push3=, 0
- i32.eq $push4=, $0, $pop3
- br_if $pop4, 0 # 0: down to label0
-# BB#1: # %entry
i32.const $push5=, 0
- i32.eq $push6=, $1, $pop5
+ i32.eq $push6=, $0, $pop5
br_if $pop6, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $push7=, 0
+ i32.eq $push8=, $1, $pop7
+ br_if $pop8, 0 # 0: down to label0
# BB#2: # %if.then
- i32.const $0=, 0
- i32.load $push0=, e($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, e($0), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, e($pop4)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, e($pop0), $pop3
.LBB0_3: # %if.end
end_block # label0:
return
@@ -35,13 +36,13 @@ foo: # @foo
bar: # @bar
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.ne $push0=, $0, $2
- i32.ne $push1=, $1, $2
- i32.and $push2=, $pop0, $pop1
- return $pop2
+ i32.const $push0=, 0
+ i32.ne $push1=, $0, $pop0
+ i32.const $push4=, 0
+ i32.ne $push2=, $1, $pop4
+ i32.and $push3=, $pop1, $pop2
+ return $pop3
.endfunc
.Lfunc_end1:
.size bar, .Lfunc_end1-bar
@@ -52,79 +53,95 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- copy_local $0=, $3
+ i32.const $0=, 0
#APP
#NO_APP
- i32.const $4=, 2
- i32.add $1=, $0, $4
- i32.const $5=, 1
- i32.add $2=, $0, $5
- call foo@FUNCTION, $1, $2
+ i32.const $push2=, 2
+ i32.add $push0=, $0, $pop2
+ tee_local $push30=, $2=, $pop0
+ i32.const $push29=, 1
+ i32.add $push1=, $0, $pop29
+ tee_local $push28=, $1=, $pop1
+ call foo@FUNCTION, $pop30, $pop28
block
- i32.load $push0=, e($3)
- i32.ne $push1=, $pop0, $5
- br_if $pop1, 0 # 0: down to label1
+ i32.const $push27=, 0
+ i32.load $push3=, e($pop27)
+ i32.const $push26=, 1
+ i32.ne $push4=, $pop3, $pop26
+ br_if $pop4, 0 # 0: down to label1
# BB#1: # %if.end
- call foo@FUNCTION, $1, $0
+ call foo@FUNCTION, $2, $0
block
- i32.load $push2=, e($3)
- i32.ne $push3=, $pop2, $5
- br_if $pop3, 0 # 0: down to label2
+ i32.const $push32=, 0
+ i32.load $push5=, e($pop32)
+ i32.const $push31=, 1
+ i32.ne $push6=, $pop5, $pop31
+ br_if $pop6, 0 # 0: down to label2
# BB#2: # %if.end5
- call foo@FUNCTION, $2, $2
+ call foo@FUNCTION, $1, $1
block
- i32.load $push4=, e($3)
- i32.ne $push5=, $pop4, $4
- br_if $pop5, 0 # 0: down to label3
+ i32.const $push34=, 0
+ i32.load $push7=, e($pop34)
+ i32.const $push33=, 2
+ i32.ne $push8=, $pop7, $pop33
+ br_if $pop8, 0 # 0: down to label3
# BB#3: # %if.end10
- call foo@FUNCTION, $2, $0
+ call foo@FUNCTION, $1, $0
block
- i32.load $push6=, e($3)
- i32.ne $push7=, $pop6, $4
- br_if $pop7, 0 # 0: down to label4
+ i32.const $push36=, 0
+ i32.load $push9=, e($pop36)
+ i32.const $push35=, 2
+ i32.ne $push10=, $pop9, $pop35
+ br_if $pop10, 0 # 0: down to label4
# BB#4: # %if.end14
- call foo@FUNCTION, $0, $2
+ call foo@FUNCTION, $0, $1
block
- i32.load $push8=, e($3)
- i32.ne $push9=, $pop8, $4
- br_if $pop9, 0 # 0: down to label5
+ i32.const $push38=, 0
+ i32.load $push11=, e($pop38)
+ i32.const $push37=, 2
+ i32.ne $push12=, $pop11, $pop37
+ br_if $pop12, 0 # 0: down to label5
# BB#5: # %if.end18
call foo@FUNCTION, $0, $0
block
- i32.load $push10=, e($3)
- i32.ne $push11=, $pop10, $4
- br_if $pop11, 0 # 0: down to label6
+ i32.const $push40=, 0
+ i32.load $push13=, e($pop40)
+ i32.const $push39=, 2
+ i32.ne $push14=, $pop13, $pop39
+ br_if $pop14, 0 # 0: down to label6
# BB#6: # %if.end21
block
- i32.call $push12=, bar@FUNCTION, $1, $2
- i32.ne $push13=, $pop12, $5
- br_if $pop13, 0 # 0: down to label7
+ i32.call $push15=, bar@FUNCTION, $2, $1
+ i32.const $push16=, 1
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label7
# BB#7: # %if.end26
block
- i32.call $push14=, bar@FUNCTION, $1, $0
- br_if $pop14, 0 # 0: down to label8
+ i32.call $push18=, bar@FUNCTION, $2, $0
+ br_if $pop18, 0 # 0: down to label8
# BB#8: # %if.end31
block
- i32.call $push15=, bar@FUNCTION, $2, $2
- i32.ne $push16=, $pop15, $5
- br_if $pop16, 0 # 0: down to label9
+ i32.call $push19=, bar@FUNCTION, $1, $1
+ i32.const $push20=, 1
+ i32.ne $push21=, $pop19, $pop20
+ br_if $pop21, 0 # 0: down to label9
# BB#9: # %if.end37
block
- i32.call $push17=, bar@FUNCTION, $2, $0
- br_if $pop17, 0 # 0: down to label10
+ i32.call $push22=, bar@FUNCTION, $1, $0
+ br_if $pop22, 0 # 0: down to label10
# BB#10: # %if.end42
block
- i32.call $push18=, bar@FUNCTION, $0, $2
- br_if $pop18, 0 # 0: down to label11
+ i32.call $push23=, bar@FUNCTION, $0, $1
+ br_if $pop23, 0 # 0: down to label11
# BB#11: # %if.end47
block
- i32.call $push19=, bar@FUNCTION, $0, $0
- br_if $pop19, 0 # 0: down to label12
+ i32.call $push24=, bar@FUNCTION, $0, $0
+ br_if $pop24, 0 # 0: down to label12
# BB#12: # %if.end51
- return $3
+ i32.const $push25=, 0
+ return $pop25
.LBB2_13: # %if.then50
end_block # label12:
call abort@FUNCTION
@@ -181,7 +198,7 @@ main: # @main
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
diff --git a/test/torture-s/pr43438.c.s b/test/torture-s/pr43438.c.s
index 5828ff0e1..5a34bbf7e 100644
--- a/test/torture-s/pr43438.c.s
+++ b/test/torture-s/pr43438.c.s
@@ -6,12 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, g_9($0), $pop0
- return $0
+ i32.store $discard=, g_9($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
diff --git a/test/torture-s/pr43560.c.s b/test/torture-s/pr43560.c.s
index b87ca4f71..baa7b1f9c 100644
--- a/test/torture-s/pr43560.c.s
+++ b/test/torture-s/pr43560.c.s
@@ -8,34 +8,38 @@ test: # @test
.param i32
.local i32, i32, i32
# BB#0: # %entry
- i32.load $3=, 4($0)
block
- i32.const $push0=, 2
- i32.lt_s $push1=, $3, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.load $push15=, 4($0)
+ tee_local $push16=, $1=, $pop15
+ i32.const $push2=, 2
+ i32.lt_s $push3=, $pop16, $pop2
+ br_if $pop3, 0 # 0: down to label0
.LBB0_1: # %land.rhs
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push2=, -1
- i32.add $3=, $3, $pop2
- i32.add $push3=, $0, $3
- i32.const $push4=, 8
- i32.add $1=, $pop3, $pop4
- i32.load8_u $push5=, 0($1)
- i32.const $push6=, 47
- i32.ne $push7=, $pop5, $pop6
- br_if $pop7, 1 # 1: down to label2
+ i32.const $push4=, -1
+ i32.add $push0=, $1, $pop4
+ tee_local $push18=, $1=, $pop0
+ i32.add $push5=, $0, $pop18
+ i32.const $push6=, 8
+ i32.add $push1=, $pop5, $pop6
+ tee_local $push17=, $2=, $pop1
+ i32.load8_u $push7=, 0($pop17)
+ i32.const $push8=, 47
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 1 # 1: down to label2
# BB#2: # %while.body
# in Loop: Header=BB0_1 Depth=1
- i32.const $push8=, 4
- i32.add $2=, $0, $pop8
- i32.store $discard=, 0($2), $3
- i32.const $push9=, 0
- i32.store8 $discard=, 0($1), $pop9
- i32.load $3=, 0($2)
- i32.const $push10=, 1
- i32.gt_s $push11=, $3, $pop10
- br_if $pop11, 0 # 0: up to label1
+ i32.const $push10=, 4
+ i32.add $push11=, $0, $pop10
+ tee_local $push19=, $3=, $pop11
+ i32.store $discard=, 0($pop19), $1
+ i32.const $push12=, 0
+ i32.store8 $discard=, 0($2), $pop12
+ i32.load $1=, 0($3)
+ i32.const $push13=, 1
+ i32.gt_s $push14=, $1, $pop13
+ br_if $pop14, 0 # 0: up to label1
.LBB0_3: # %while.end
end_loop # label2:
end_block # label0:
@@ -66,7 +70,7 @@ main: # @main
.type s,@object
.section .rodata.s,"a",@progbits
.globl s
- .align 2
+ .p2align 2
s:
.skip 20
.size s, 20
diff --git a/test/torture-s/pr43629.c.s b/test/torture-s/pr43629.c.s
index bcf5f8753..576221633 100644
--- a/test/torture-s/pr43629.c.s
+++ b/test/torture-s/pr43629.c.s
@@ -6,14 +6,14 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, flag($0)
+ i32.const $push1=, 0
+ i32.load $push0=, flag($pop1)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.end4
- return $0
+ i32.const $push2=, 0
+ return $pop2
.LBB0_2: # %if.then3
end_block # label0:
call abort@FUNCTION
@@ -26,7 +26,7 @@ main: # @main
.type flag,@object
.section .bss.flag,"aw",@nobits
.globl flag
- .align 2
+ .p2align 2
flag:
.int32 0 # 0x0
.size flag, 4
diff --git a/test/torture-s/pr43783.c.s b/test/torture-s/pr43783.c.s
index 48b8dbdbf..b5beddc5e 100644
--- a/test/torture-s/pr43783.c.s
+++ b/test/torture-s/pr43783.c.s
@@ -6,44 +6,75 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i64.const $push2=, 1
- i64.store $discard=, bid_Kx192+32($0), $pop2
+ i32.const $push1=, 0
+ i64.const $push3=, 1
+ i64.store $discard=, bid_Kx192+32($pop1):p2align=4, $pop3
+ i32.const $push64=, 0
+ i32.const $push63=, 0
+ i32.const $push62=, 0
+ i32.const $push61=, 0
+ i32.const $push60=, 0
+ i32.const $push59=, 0
+ i32.const $push58=, 0
+ i32.const $push57=, 0
+ i32.const $push56=, 0
+ i32.const $push55=, 0
+ i32.const $push54=, 0
+ i32.const $push53=, 0
+ i32.const $push52=, 0
+ i32.const $push51=, 0
+ i32.const $push50=, 0
+ i32.const $push49=, 0
+ i32.const $push48=, 0
+ i32.const $push47=, 0
+ i32.const $push46=, 0
+ i32.const $push45=, 0
+ i32.const $push44=, 0
+ i32.const $push43=, 0
+ i32.const $push42=, 0
+ i32.const $push41=, 0
+ i32.const $push40=, 0
+ i32.const $push39=, 0
+ i32.const $push38=, 0
+ i32.const $push37=, 0
+ i32.const $push36=, 0
+ i32.const $push35=, 0
+ i32.const $push34=, 0
i64.const $push0=, 0
- i64.store $push1=, bid_Kx192+8($0), $pop0
- i64.store $push3=, bid_Kx192+56($0), $pop1
- i64.store $push4=, bid_Kx192+80($0), $pop3
- i64.store $push5=, bid_Kx192+104($0), $pop4
- i64.store $push6=, bid_Kx192+128($0), $pop5
- i64.store $push7=, bid_Kx192+152($0), $pop6
- i64.store $push8=, bid_Kx192+176($0), $pop7
- i64.store $push9=, bid_Kx192+200($0), $pop8
- i64.store $push10=, bid_Kx192+224($0), $pop9
- i64.store $push11=, bid_Kx192+248($0), $pop10
- i64.store $push12=, bid_Kx192+272($0), $pop11
- i64.store $push13=, bid_Kx192+296($0), $pop12
- i64.store $push14=, bid_Kx192+320($0), $pop13
- i64.store $push15=, bid_Kx192+344($0), $pop14
- i64.store $push16=, bid_Kx192+368($0), $pop15
- i64.store $push17=, bid_Kx192+392($0), $pop16
- i64.store $push18=, bid_Kx192+416($0), $pop17
- i64.store $push19=, bid_Kx192+440($0), $pop18
- i64.store $push20=, bid_Kx192+464($0), $pop19
- i64.store $push21=, bid_Kx192+488($0), $pop20
- i64.store $push22=, bid_Kx192+512($0), $pop21
- i64.store $push23=, bid_Kx192+536($0), $pop22
- i64.store $push24=, bid_Kx192+560($0), $pop23
- i64.store $push25=, bid_Kx192+584($0), $pop24
- i64.store $push26=, bid_Kx192+608($0), $pop25
- i64.store $push27=, bid_Kx192+632($0), $pop26
- i64.store $push28=, bid_Kx192+656($0), $pop27
- i64.store $push29=, bid_Kx192+680($0), $pop28
- i64.store $push30=, bid_Kx192+704($0), $pop29
- i64.store $push31=, bid_Kx192+728($0), $pop30
- i64.store $discard=, bid_Kx192+752($0), $pop31
- return $0
+ i64.store $push2=, bid_Kx192+8($pop34), $pop0
+ i64.store $push4=, bid_Kx192+56($pop35), $pop2
+ i64.store $push5=, bid_Kx192+80($pop36):p2align=4, $pop4
+ i64.store $push6=, bid_Kx192+104($pop37), $pop5
+ i64.store $push7=, bid_Kx192+128($pop38):p2align=4, $pop6
+ i64.store $push8=, bid_Kx192+152($pop39), $pop7
+ i64.store $push9=, bid_Kx192+176($pop40):p2align=4, $pop8
+ i64.store $push10=, bid_Kx192+200($pop41), $pop9
+ i64.store $push11=, bid_Kx192+224($pop42):p2align=4, $pop10
+ i64.store $push12=, bid_Kx192+248($pop43), $pop11
+ i64.store $push13=, bid_Kx192+272($pop44):p2align=4, $pop12
+ i64.store $push14=, bid_Kx192+296($pop45), $pop13
+ i64.store $push15=, bid_Kx192+320($pop46):p2align=4, $pop14
+ i64.store $push16=, bid_Kx192+344($pop47), $pop15
+ i64.store $push17=, bid_Kx192+368($pop48):p2align=4, $pop16
+ i64.store $push18=, bid_Kx192+392($pop49), $pop17
+ i64.store $push19=, bid_Kx192+416($pop50):p2align=4, $pop18
+ i64.store $push20=, bid_Kx192+440($pop51), $pop19
+ i64.store $push21=, bid_Kx192+464($pop52):p2align=4, $pop20
+ i64.store $push22=, bid_Kx192+488($pop53), $pop21
+ i64.store $push23=, bid_Kx192+512($pop54):p2align=4, $pop22
+ i64.store $push24=, bid_Kx192+536($pop55), $pop23
+ i64.store $push25=, bid_Kx192+560($pop56):p2align=4, $pop24
+ i64.store $push26=, bid_Kx192+584($pop57), $pop25
+ i64.store $push27=, bid_Kx192+608($pop58):p2align=4, $pop26
+ i64.store $push28=, bid_Kx192+632($pop59), $pop27
+ i64.store $push29=, bid_Kx192+656($pop60):p2align=4, $pop28
+ i64.store $push30=, bid_Kx192+680($pop61), $pop29
+ i64.store $push31=, bid_Kx192+704($pop62):p2align=4, $pop30
+ i64.store $push32=, bid_Kx192+728($pop63), $pop31
+ i64.store $discard=, bid_Kx192+752($pop64):p2align=4, $pop32
+ i32.const $push33=, 0
+ return $pop33
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -52,7 +83,7 @@ main: # @main
.type bid_Kx192,@object
.section .bss.bid_Kx192,"aw",@nobits
.globl bid_Kx192
- .align 4
+ .p2align 4
bid_Kx192:
.skip 768
.size bid_Kx192, 768
diff --git a/test/torture-s/pr43784.c.s b/test/torture-s/pr43784.c.s
index 3f72bfa98..741e72b14 100644
--- a/test/torture-s/pr43784.c.s
+++ b/test/torture-s/pr43784.c.s
@@ -6,60 +6,53 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $4=, __stack_pointer
- i32.load $4=, 0($4)
- i32.const $5=, 256
- i32.sub $9=, $4, $5
- i32.const $5=, __stack_pointer
- i32.store $9=, 0($5), $9
- i32.const $3=, 0
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 256
+ i32.sub $4=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.const $0=, 0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $0=, v
- i32.add $push0=, $0, $3
- i32.store8 $discard=, 0($pop0), $3
- i32.const $1=, 1
- i32.add $3=, $3, $1
- i32.const $2=, 256
- i32.ne $push1=, $3, $2
+ i32.store8 $push0=, v($0), $0
+ i32.const $push9=, 1
+ i32.add $0=, $pop0, $pop9
+ i32.const $push8=, 256
+ i32.ne $push1=, $0, $pop8
br_if $pop1, 0 # 0: up to label0
# BB#2: # %for.end
end_loop # label1:
- i32.const $7=, 0
- i32.add $7=, $9, $7
- call rp@FUNCTION, $7
- i32.const $push2=, v+4
- i32.const $8=, 0
- i32.add $8=, $9, $8
- call memcpy@FUNCTION, $pop2, $8, $2
- i32.const $3=, 0
+ call rp@FUNCTION, $4
+ i32.const $push3=, v+4
+ i32.const $push2=, 256
+ i32.call $discard=, memcpy@FUNCTION, $pop3, $4, $pop2
+ i32.const $0=, 0
.LBB0_3: # %for.body4
# =>This Inner Loop Header: Depth=1
block
loop # label3:
- i32.add $push3=, $0, $3
- i32.const $push4=, 4
- i32.add $push5=, $pop3, $pop4
- i32.load8_u $push6=, 0($pop5)
- i32.ne $push7=, $3, $pop6
- br_if $pop7, 2 # 2: down to label2
+ i32.load8_u $push4=, v+4($0)
+ i32.ne $push5=, $0, $pop4
+ br_if $pop5, 2 # 2: down to label2
# BB#4: # %for.cond1
# in Loop: Header=BB0_3 Depth=1
- i32.add $3=, $3, $1
- i32.const $push8=, 255
- i32.le_s $push9=, $3, $pop8
- br_if $pop9, 0 # 0: up to label3
+ i32.const $push11=, 1
+ i32.add $0=, $0, $pop11
+ i32.const $push10=, 255
+ i32.le_s $push6=, $0, $pop10
+ br_if $pop6, 0 # 0: up to label3
# BB#5: # %for.end12
end_loop # label4:
- i32.const $push10=, 0
- i32.const $6=, 256
- i32.add $9=, $9, $6
- i32.const $6=, __stack_pointer
- i32.store $9=, 0($6), $9
- return $pop10
+ i32.const $push7=, 0
+ i32.const $3=, 256
+ i32.add $4=, $4, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return $pop7
.LBB0_6: # %if.then
end_block # label2:
call abort@FUNCTION
@@ -75,7 +68,7 @@ rp: # @rp
# BB#0: # %entry
i32.const $push0=, v
i32.const $push1=, 256
- call memcpy@FUNCTION, $0, $pop0, $pop1
+ i32.call $discard=, memcpy@FUNCTION, $0, $pop0, $pop1
return
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/pr43835.c.s b/test/torture-s/pr43835.c.s
index 12e78d8da..3849276cd 100644
--- a/test/torture-s/pr43835.c.s
+++ b/test/torture-s/pr43835.c.s
@@ -30,24 +30,25 @@ foo: # @foo
.type mark_cell,@function
mark_cell: # @mark_cell
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 4
block
- i32.load $push0=, 8($1)
- i32.ne $push1=, $pop0, $2
- br_if $pop1, 0 # 0: down to label0
+ i32.load $push1=, 8($1)
+ i32.const $push2=, 4
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %land.lhs.true
- i32.load $1=, 0($1)
- i32.const $push6=, 0
- i32.eq $push7=, $1, $pop6
- br_if $pop7, 0 # 0: down to label0
+ i32.load $push0=, 0($1)
+ tee_local $push9=, $1=, $pop0
+ i32.const $push10=, 0
+ i32.eq $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#2: # %land.lhs.true1
- i32.const $push2=, 2
- i32.add $push3=, $1, $pop2
- i32.load8_u $push4=, 0($pop3)
- i32.and $push5=, $pop4, $2
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push4=, 2
+ i32.add $push5=, $1, $pop4
+ i32.load8_u $push6=, 0($pop5):p2align=1
+ i32.const $push7=, 4
+ i32.and $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label0
# BB#3: # %if.then
call Parrot_gc_mark_PMC_alive_fun@FUNCTION, $1, $1
unreachable
@@ -64,33 +65,27 @@ mark_cell: # @mark_cell
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $4=, $0, $1
i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
+ i32.store $4=, 0($1), $4
+ i32.const $push1=, 4
+ i32.store $discard=, 8($4):p2align=3, $pop1
+ i64.const $push0=, 180388626432
+ i64.store $discard=, 0($4), $pop0
+ i32.const $3=, 12
+ i32.add $3=, $4, $3
+ call mark_cell@FUNCTION, $3, $4
+ i32.const $push2=, 0
i32.const $2=, 16
- i32.sub $7=, $1, $2
+ i32.add $4=, $4, $2
i32.const $2=, __stack_pointer
- i32.store $7=, 0($2), $7
- i32.const $0=, 4
- i32.const $4=, 0
- i32.add $4=, $7, $4
- i32.or $push2=, $4, $0
- i32.const $push3=, 42
- i32.store $discard=, 0($pop2), $pop3
- i32.store $discard=, 8($7), $0
- i32.const $5=, 12
- i32.add $5=, $7, $5
- i32.const $6=, 0
- i32.add $6=, $7, $6
- call mark_cell@FUNCTION, $5, $6
- i32.const $push0=, 0
- i32.store $push1=, 0($7), $pop0
- i32.const $3=, 16
- i32.add $7=, $7, $3
- i32.const $3=, __stack_pointer
- i32.store $7=, 0($3), $7
- return $pop1
+ i32.store $4=, 0($2), $4
+ return $pop2
.endfunc
.Lfunc_end3:
.size main, .Lfunc_end3-main
diff --git a/test/torture-s/pr43987.c.s b/test/torture-s/pr43987.c.s
new file mode 100644
index 000000000..8e07c9337
--- /dev/null
+++ b/test/torture-s/pr43987.c.s
@@ -0,0 +1,56 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr43987.c"
+ .section .text.add_input_file,"ax",@progbits
+ .hidden add_input_file
+ .globl add_input_file
+ .type add_input_file,@function
+add_input_file: # @add_input_file
+ .param i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.load $push1=, B+4($pop0)
+ i32.store $discard=, 0($pop1), $0
+ return
+ .endfunc
+.Lfunc_end0:
+ .size add_input_file, .Lfunc_end0-add_input_file
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $4=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $4=, 0($1), $4
+ i32.const $push0=, 0
+ i32.const $3=, 12
+ i32.add $3=, $4, $3
+ i32.store $discard=, B+4($pop0), $3
+ i32.const $push1=, 0
+ i32.const $2=, 16
+ i32.add $4=, $4, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ return $pop1
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden B # @B
+ .type B,@object
+ .section .bss.B,"aw",@nobits
+ .globl B
+ .p2align 4
+B:
+ .skip 1024
+ .size B, 1024
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr44164.c.s b/test/torture-s/pr44164.c.s
index 27c99790b..45de8daaa 100644
--- a/test/torture-s/pr44164.c.s
+++ b/test/torture-s/pr44164.c.s
@@ -7,14 +7,15 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
i32.load $1=, 0($0)
- i32.const $2=, 0
- i32.store $discard=, a($2), $2
- i32.load $push0=, 0($0)
- i32.add $push1=, $pop0, $1
- return $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.store $discard=, a($pop0), $pop3
+ i32.load $push1=, 0($0)
+ i32.add $push2=, $1, $pop1
+ return $pop2
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -25,18 +26,18 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
+ i32.const $push5=, 0
+ i32.const $push0=, 1
+ i32.store $push1=, a($pop5), $pop0
i32.const $push2=, a
i32.call $push3=, foo@FUNCTION, $pop2
- i32.const $push0=, 1
- i32.store $push1=, a($0), $pop0
- i32.ne $push4=, $pop3, $pop1
+ i32.ne $push4=, $pop1, $pop3
br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push6=, 0
+ return $pop6
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -49,7 +50,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 4
.size a, 4
diff --git a/test/torture-s/pr44202-1.c.s b/test/torture-s/pr44202-1.c.s
index 20c1d52d6..1ba159c47 100644
--- a/test/torture-s/pr44202-1.c.s
+++ b/test/torture-s/pr44202-1.c.s
@@ -10,11 +10,12 @@ add512: # @add512
.local i32
# BB#0: # %entry
block
- i32.const $push0=, 512
- i32.add $2=, $0, $pop0
- i32.const $push1=, 0
- i32.eq $push2=, $2, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push1=, 512
+ i32.add $push0=, $0, $pop1
+ tee_local $push2=, $2=, $pop0
+ i32.const $push3=, 0
+ i32.eq $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.then
i32.store $discard=, 0($1), $0
.LBB0_2: # %if.end
@@ -34,9 +35,10 @@ add513: # @add513
.local i32
# BB#0: # %entry
block
- i32.const $push0=, 513
- i32.add $2=, $0, $pop0
- br_if $2, 0 # 0: down to label1
+ i32.const $push1=, 513
+ i32.add $push0=, $0, $pop1
+ tee_local $push2=, $2=, $pop0
+ br_if $pop2, 0 # 0: down to label1
# BB#1: # %if.then
i32.store $discard=, 0($1), $0
.LBB1_2: # %if.end
@@ -74,14 +76,15 @@ main: # @main
i32.ne $push5=, $pop0, $0
br_if $pop5, 0 # 0: down to label2
# BB#2: # %lor.lhs.false2
- i32.const $0=, -513
+ i32.const $push10=, -513
i32.const $4=, 8
i32.add $4=, $5, $4
- i32.call $push7=, add513@FUNCTION, $0, $4
+ i32.call $push7=, add513@FUNCTION, $pop10, $4
br_if $pop7, 0 # 0: down to label2
# BB#3: # %lor.lhs.false2
i32.load $push6=, 8($5)
- i32.ne $push8=, $pop6, $0
+ i32.const $push11=, -513
+ i32.ne $push8=, $pop6, $pop11
br_if $pop8, 0 # 0: down to label2
# BB#4: # %if.end
i32.const $push9=, 0
diff --git a/test/torture-s/pr44468.c.s b/test/torture-s/pr44468.c.s
index 8ed8ef1fd..8e5aac68c 100644
--- a/test/torture-s/pr44468.c.s
+++ b/test/torture-s/pr44468.c.s
@@ -9,12 +9,13 @@ test1: # @test1
.result i32
.local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.store $discard=, s+4($1), $1
- i32.const $push0=, 3
- i32.store $discard=, 4($0), $pop0
- i32.load $push1=, s+4($1)
- return $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.store $1=, s+4($pop0), $pop3
+ i32.const $push1=, 3
+ i32.store $discard=, 4($0), $pop1
+ i32.load $push2=, s+4($1)
+ return $pop2
.endfunc
.Lfunc_end0:
.size test1, .Lfunc_end0-test1
@@ -28,12 +29,13 @@ test2: # @test2
.result i32
.local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.store $discard=, s+4($1), $1
- i32.const $push0=, 3
- i32.store $discard=, 4($0), $pop0
- i32.load $push1=, s+4($1)
- return $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.store $1=, s+4($pop0), $pop3
+ i32.const $push1=, 3
+ i32.store $discard=, 4($0), $pop1
+ i32.load $push2=, s+4($1)
+ return $pop2
.endfunc
.Lfunc_end1:
.size test2, .Lfunc_end1-test2
@@ -47,12 +49,13 @@ test3: # @test3
.result i32
.local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.store $discard=, s+4($1), $1
- i32.const $push0=, 3
- i32.store $discard=, 4($0), $pop0
- i32.load $push1=, s+4($1)
- return $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.store $1=, s+4($pop0), $pop3
+ i32.const $push1=, 3
+ i32.store $discard=, 4($0), $pop1
+ i32.load $push2=, s+4($1)
+ return $pop2
.endfunc
.Lfunc_end2:
.size test3, .Lfunc_end2-test3
@@ -63,35 +66,39 @@ test3: # @test3
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i64
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $push0=, 1
- i32.store $1=, s+4($0), $pop0
- i32.const $2=, s
- i32.const $push1=, 2
- i32.store $3=, s+8($0), $pop1
- i32.call $4=, test1@FUNCTION, $2
- i32.const $5=, 3
+ i32.const $push12=, 0
+ i64.const $push0=, 8589934593
+ i64.store $0=, s+4($pop12):p2align=2, $pop0
block
- i32.ne $push2=, $4, $5
+ i32.const $push11=, s
+ i32.call $push1=, test1@FUNCTION, $pop11
+ i32.const $push10=, 3
+ i32.ne $push2=, $pop1, $pop10
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- i32.store $4=, s+4($0), $1
- i32.store $1=, s+8($0), $3
+ i32.const $push15=, 0
+ i64.store $discard=, s+4($pop15):p2align=2, $0
block
- i32.call $push3=, test2@FUNCTION, $2
- i32.ne $push4=, $pop3, $5
+ i32.const $push14=, s
+ i32.call $push3=, test2@FUNCTION, $pop14
+ i32.const $push13=, 3
+ i32.ne $push4=, $pop3, $pop13
br_if $pop4, 0 # 0: down to label1
# BB#2: # %if.end4
- i32.store $discard=, s+4($0), $4
- i32.store $discard=, s+8($0), $1
+ i32.const $push16=, 0
+ i64.const $push5=, 8589934593
+ i64.store $discard=, s+4($pop16):p2align=2, $pop5
block
- i32.call $push5=, test3@FUNCTION, $2
- i32.ne $push6=, $pop5, $5
- br_if $pop6, 0 # 0: down to label2
+ i32.const $push6=, s
+ i32.call $push7=, test3@FUNCTION, $pop6
+ i32.const $push8=, 3
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label2
# BB#3: # %if.end8
- return $0
+ i32.const $push17=, 0
+ return $pop17
.LBB3_4: # %if.then7
end_block # label2:
call abort@FUNCTION
@@ -112,7 +119,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 12
.size s, 12
diff --git a/test/torture-s/pr44683.c.s b/test/torture-s/pr44683.c.s
index f0c57e2e4..e93ec1b6f 100644
--- a/test/torture-s/pr44683.c.s
+++ b/test/torture-s/pr44683.c.s
@@ -7,15 +7,15 @@
copysign_bug: # @copysign_bug
.param f64
.result i32
- .local f64, i32
+ .local i32
# BB#0: # %entry
- f64.const $1=, 0x0p0
block
block
- f64.eq $push2=, $0, $1
+ f64.const $push9=, 0x0p0
+ f64.eq $push2=, $0, $pop9
br_if $pop2, 0 # 0: down to label1
# BB#1: # %entry
- i32.const $2=, 1
+ i32.const $1=, 1
f64.const $push1=, 0x1p-1
f64.mul $push0=, $0, $pop1
f64.eq $push3=, $pop0, $0
@@ -24,13 +24,14 @@ copysign_bug: # @copysign_bug
end_block # label1:
f64.const $push4=, 0x1p0
f64.copysign $push5=, $pop4, $0
- f64.lt $push6=, $pop5, $1
+ f64.const $push10=, 0x0p0
+ f64.lt $push6=, $pop5, $pop10
i32.const $push8=, 2
i32.const $push7=, 3
- i32.select $2=, $pop6, $pop8, $pop7
+ i32.select $1=, $pop6, $pop8, $pop7
.LBB0_3: # %return
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end0:
.size copysign_bug, .Lfunc_end0-copysign_bug
diff --git a/test/torture-s/pr44828.c.s b/test/torture-s/pr44828.c.s
index 1c96f1c8f..6bafcc340 100644
--- a/test/torture-s/pr44828.c.s
+++ b/test/torture-s/pr44828.c.s
@@ -6,11 +6,10 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load8_u $push0=, a($0)
+ i32.const $push7=, 0
+ i32.load8_u $push0=, a($pop7):p2align=2
i32.const $push1=, -939524096
i32.mul $push2=, $pop0, $pop1
i32.const $push3=, 24
@@ -19,7 +18,8 @@ main: # @main
i32.ge_s $push6=, $pop4, $pop5
br_if $pop6, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push8=, 0
+ return $pop8
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -32,7 +32,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 274686410 # 0x105f61ca
.size a, 4
diff --git a/test/torture-s/pr44852.c.s b/test/torture-s/pr44852.c.s
index d1b1b5e99..933c50364 100644
--- a/test/torture-s/pr44852.c.s
+++ b/test/torture-s/pr44852.c.s
@@ -16,23 +16,25 @@ sf: # @sf
block
block
loop # label2:
- i32.const $push0=, -1
- i32.add $3=, $0, $pop0
- i32.load8_u $2=, 0($3)
- i32.const $push1=, 57
- i32.ne $push2=, $2, $pop1
+ i32.const $push9=, -1
+ i32.add $push1=, $0, $pop9
+ tee_local $push8=, $3=, $pop1
+ i32.load8_u $push0=, 0($pop8)
+ tee_local $push7=, $2=, $pop0
+ i32.const $push6=, 57
+ i32.ne $push2=, $pop7, $pop6
br_if $pop2, 2 # 2: down to label1
# BB#2: # %while.body
# in Loop: Header=BB0_1 Depth=1
copy_local $0=, $3
- i32.ne $push5=, $1, $3
- br_if $pop5, 0 # 0: up to label2
+ i32.ne $push4=, $1, $3
+ br_if $pop4, 0 # 0: up to label2
# BB#3: # %if.then
end_loop # label3:
- i32.const $push4=, 1
- i32.add $0=, $3, $pop4
- i32.const $push6=, 48
- i32.store8 $discard=, 0($1), $pop6
+ i32.const $push10=, 1
+ i32.add $0=, $3, $pop10
+ i32.const $push5=, 48
+ i32.store8 $discard=, 0($1), $pop5
i32.const $2=, 49
br 1 # 1: down to label0
.LBB0_4: # %while.end.loopexit
@@ -54,76 +56,58 @@ sf: # @sf
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, __stack_pointer
- i32.load $5=, 0($5)
- i32.const $6=, 16
- i32.sub $14=, $5, $6
- i32.const $6=, __stack_pointer
- i32.store $14=, 0($6), $14
- i32.const $0=, 0
- i32.const $1=, 1
- i32.const $push1=, 6
- i32.const $8=, 8
- i32.add $8=, $14, $8
- i32.add $push2=, $8, $pop1
- i32.load8_u $push0=, .Lmain.s+6($0)
- i32.store8 $discard=, 0($pop2), $pop0
- i32.const $2=, 8
- i32.const $3=, .Lmain.s
- i32.const $4=, 2
- i32.const $push9=, 4
- i32.const $9=, 8
- i32.add $9=, $14, $9
- i32.add $push10=, $9, $pop9
- i32.const $push3=, .Lmain.s+4
- i32.add $push4=, $pop3, $1
- i32.load8_u $push5=, 0($pop4)
- i32.shl $push6=, $pop5, $2
- i32.load8_u $push7=, .Lmain.s+4($0)
- i32.or $push8=, $pop6, $pop7
- i32.store16 $discard=, 0($pop10), $pop8
- i32.const $push11=, 3
- i32.add $push12=, $3, $pop11
- i32.load8_u $push13=, 0($pop12)
- i32.shl $push14=, $pop13, $2
- i32.add $push15=, $3, $4
- i32.load8_u $push16=, 0($pop15)
- i32.or $push17=, $pop14, $pop16
- i32.const $push18=, 16
- i32.shl $push19=, $pop17, $pop18
- i32.add $push20=, $3, $1
- i32.load8_u $push21=, 0($pop20)
- i32.shl $push22=, $pop21, $2
- i32.load8_u $push23=, .Lmain.s($0)
- i32.or $push24=, $pop22, $pop23
- i32.or $push25=, $pop19, $pop24
- i32.store $discard=, 8($14), $pop25
- i32.const $10=, 8
- i32.add $10=, $14, $10
- i32.or $push26=, $10, $4
- i32.const $11=, 8
- i32.add $11=, $14, $11
- i32.call $push27=, sf@FUNCTION, $pop26, $11
- i32.const $12=, 8
- i32.add $12=, $14, $12
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $9=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $9=, 0($1), $9
+ i32.const $push2=, 6
+ i32.const $3=, 8
+ i32.add $3=, $9, $3
+ i32.add $push3=, $3, $pop2
+ i32.const $push0=, 0
+ i32.load8_u $push1=, .Lmain.s+6($pop0)
+ i32.store8 $discard=, 0($pop3):p2align=1, $pop1
+ i32.const $push5=, 4
+ i32.const $4=, 8
+ i32.add $4=, $9, $4
+ i32.add $push6=, $4, $pop5
+ i32.const $push18=, 0
+ i32.load16_u $push4=, .Lmain.s+4($pop18):p2align=0
+ i32.store16 $discard=, 0($pop6):p2align=2, $pop4
+ i32.const $push17=, 0
+ i32.load $push7=, .Lmain.s($pop17):p2align=0
+ i32.store $discard=, 8($9), $pop7
+ i32.const $push8=, 2
+ i32.const $5=, 8
+ i32.add $5=, $9, $5
+ i32.or $push9=, $5, $pop8
+ i32.const $6=, 8
+ i32.add $6=, $9, $6
+ i32.call $push10=, sf@FUNCTION, $pop9, $6
+ i32.const $push11=, 1
+ i32.const $7=, 8
+ i32.add $7=, $9, $7
block
- i32.or $push28=, $12, $1
- i32.ne $push29=, $pop27, $pop28
- br_if $pop29, 0 # 0: down to label4
+ i32.or $push12=, $7, $pop11
+ i32.ne $push13=, $pop10, $pop12
+ br_if $pop13, 0 # 0: down to label4
# BB#1: # %lor.lhs.false
- i32.const $push30=, .L.str
- i32.const $13=, 8
- i32.add $13=, $14, $13
- i32.call $push31=, strcmp@FUNCTION, $13, $pop30
- br_if $pop31, 0 # 0: down to label4
+ i32.const $push14=, .L.str
+ i32.const $8=, 8
+ i32.add $8=, $9, $8
+ i32.call $push15=, strcmp@FUNCTION, $8, $pop14
+ br_if $pop15, 0 # 0: down to label4
# BB#2: # %if.end
- i32.const $7=, 16
- i32.add $14=, $14, $7
- i32.const $7=, __stack_pointer
- i32.store $14=, 0($7), $14
- return $0
+ i32.const $push16=, 0
+ i32.const $2=, 16
+ i32.add $9=, $9, $2
+ i32.const $2=, __stack_pointer
+ i32.store $9=, 0($2), $9
+ return $pop16
.LBB1_3: # %if.then
end_block # label4:
call abort@FUNCTION
diff --git a/test/torture-s/pr44858.c.s b/test/torture-s/pr44858.c.s
index 8a7729636..9b0100fbb 100644
--- a/test/torture-s/pr44858.c.s
+++ b/test/torture-s/pr44858.c.s
@@ -21,13 +21,15 @@ foo: # @foo
.type bar,@function
bar: # @bar
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, a($0)
- i32.ne $push1=, $pop0, $0
- i32.store $discard=, b($0), $pop1
- return $0
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, a($pop5)
+ i32.const $push4=, 0
+ i32.ne $push2=, $pop1, $pop4
+ i32.store $discard=, b($pop0), $pop2
+ i32.const $push3=, 0
+ return $pop3
.endfunc
.Lfunc_end1:
.size bar, .Lfunc_end1-bar
@@ -38,17 +40,17 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
i32.call $discard=, bar@FUNCTION
- i32.const $0=, 0
block
- i32.load $push0=, b($0)
+ i32.const $push3=, 0
+ i32.load $push0=, b($pop3)
i32.const $push1=, 1
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB2_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -61,7 +63,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 3 # 0x3
.size a, 4
@@ -70,7 +72,7 @@ a:
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 1 # 0x1
.size b, 4
diff --git a/test/torture-s/pr44942.c.s b/test/torture-s/pr44942.c.s
new file mode 100644
index 000000000..2ba18c89b
--- /dev/null
+++ b/test/torture-s/pr44942.c.s
@@ -0,0 +1,266 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr44942.c"
+ .section .text.test1,"ax",@progbits
+ .hidden test1
+ .globl test1
+ .type test1,@function
+test1: # @test1
+ .param i32, i32, i32, i32, i32, i32, i32, i64, i64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 16
+ i32.sub $13=, $10, $11
+ copy_local $14=, $13
+ i32.const $11=, __stack_pointer
+ i32.store $13=, 0($11), $13
+ i32.store $push0=, 12($13), $14
+ i32.const $push1=, 3
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -4
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push10=, $9=, $pop4
+ i32.const $push5=, 4
+ i32.add $push6=, $pop10, $pop5
+ i32.store $discard=, 12($13), $pop6
+ block
+ i32.load $push7=, 0($9)
+ i32.const $push8=, 1234
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $12=, 16
+ i32.add $13=, $14, $12
+ i32.const $12=, __stack_pointer
+ i32.store $13=, 0($12), $13
+ return
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size test1, .Lfunc_end0-test1
+
+ .section .text.test2,"ax",@progbits
+ .hidden test2
+ .globl test2
+ .type test2,@function
+test2: # @test2
+ .param i32, i32, i32, i32, i32, i32, i32, i64, i64, i32, i64, i64, i32, i64, i64, i32, i64, i64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 16
+ i32.sub $22=, $19, $20
+ copy_local $23=, $22
+ i32.const $20=, __stack_pointer
+ i32.store $22=, 0($20), $22
+ i32.store $push0=, 12($22), $23
+ i32.const $push1=, 3
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -4
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push10=, $18=, $pop4
+ i32.const $push5=, 4
+ i32.add $push6=, $pop10, $pop5
+ i32.store $discard=, 12($22), $pop6
+ block
+ i32.load $push7=, 0($18)
+ i32.const $push8=, 1234
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label1
+# BB#1: # %if.end
+ i32.const $21=, 16
+ i32.add $22=, $23, $21
+ i32.const $21=, __stack_pointer
+ i32.store $22=, 0($21), $22
+ return
+.LBB1_2: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size test2, .Lfunc_end1-test2
+
+ .section .text.test3,"ax",@progbits
+ .hidden test3
+ .globl test3
+ .type test3,@function
+test3: # @test3
+ .param f64, f64, f64, f64, f64, f64, f64, i64, i64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 16
+ i32.sub $13=, $10, $11
+ copy_local $14=, $13
+ i32.const $11=, __stack_pointer
+ i32.store $13=, 0($11), $13
+ i32.store $push0=, 12($13), $14
+ i32.const $push1=, 7
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -8
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push10=, $9=, $pop4
+ i32.const $push5=, 8
+ i32.add $push6=, $pop10, $pop5
+ i32.store $discard=, 12($13), $pop6
+ block
+ f64.load $push7=, 0($9)
+ f64.const $push8=, 0x1.348p10
+ f64.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label2
+# BB#1: # %if.end
+ i32.const $12=, 16
+ i32.add $13=, $14, $12
+ i32.const $12=, __stack_pointer
+ i32.store $13=, 0($12), $13
+ return
+.LBB2_2: # %if.then
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size test3, .Lfunc_end2-test3
+
+ .section .text.test4,"ax",@progbits
+ .hidden test4
+ .globl test4
+ .type test4,@function
+test4: # @test4
+ .param f64, f64, f64, f64, f64, f64, f64, i64, i64, f64, i64, i64, f64, i64, i64, f64, i64, i64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 16
+ i32.sub $22=, $19, $20
+ copy_local $23=, $22
+ i32.const $20=, __stack_pointer
+ i32.store $22=, 0($20), $22
+ i32.store $push0=, 12($22), $23
+ i32.const $push1=, 7
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -8
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push10=, $18=, $pop4
+ i32.const $push5=, 8
+ i32.add $push6=, $pop10, $pop5
+ i32.store $discard=, 12($22), $pop6
+ block
+ f64.load $push7=, 0($18)
+ f64.const $push8=, 0x1.348p10
+ f64.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label3
+# BB#1: # %if.end
+ i32.const $21=, 16
+ i32.add $22=, $23, $21
+ i32.const $21=, __stack_pointer
+ i32.store $22=, 0($21), $22
+ return
+.LBB3_2: # %if.then
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size test4, .Lfunc_end3-test4
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i64, f64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $20=, __stack_pointer
+ i32.load $20=, 0($20)
+ i32.const $21=, 48
+ i32.sub $23=, $20, $21
+ i32.const $21=, __stack_pointer
+ i32.store $23=, 0($21), $23
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $23=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $23=, 0($5), $23
+ i32.const $push0=, 8
+ i32.add $0=, $23, $pop0
+ i32.const $push1=, 1234
+ i32.store $0=, 0($0), $pop1
+ call test1@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $2
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.add $23=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $23=, 0($7), $23
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 40
+ i32.sub $23=, $8, $9
+ i32.const $9=, __stack_pointer
+ i32.store $23=, 0($9), $23
+ i32.const $push2=, 32
+ i32.add $1=, $23, $pop2
+ i32.store $discard=, 0($1), $0
+ call test2@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $2, $2, $0, $2, $2, $0, $2
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 40
+ i32.add $23=, $10, $11
+ i32.const $11=, __stack_pointer
+ i32.store $23=, 0($11), $23
+ i32.const $12=, __stack_pointer
+ i32.load $12=, 0($12)
+ i32.const $13=, 16
+ i32.sub $23=, $12, $13
+ i32.const $13=, __stack_pointer
+ i32.store $23=, 0($13), $23
+ i32.const $push6=, 8
+ i32.add $0=, $23, $pop6
+ i64.const $push3=, 4653142004841054208
+ i64.store $2=, 0($0), $pop3
+ call test3@FUNCTION, $3, $3, $3, $3, $3, $3, $3, $2
+ i32.const $14=, __stack_pointer
+ i32.load $14=, 0($14)
+ i32.const $15=, 16
+ i32.add $23=, $14, $15
+ i32.const $15=, __stack_pointer
+ i32.store $23=, 0($15), $23
+ i32.const $16=, __stack_pointer
+ i32.load $16=, 0($16)
+ i32.const $17=, 40
+ i32.sub $23=, $16, $17
+ i32.const $17=, __stack_pointer
+ i32.store $23=, 0($17), $23
+ i32.const $push5=, 32
+ i32.add $0=, $23, $pop5
+ i64.store $discard=, 0($0), $2
+ call test4@FUNCTION, $3, $3, $3, $3, $3, $3, $3, $2, $2, $3, $2, $2, $3, $2
+ i32.const $18=, __stack_pointer
+ i32.load $18=, 0($18)
+ i32.const $19=, 40
+ i32.add $23=, $18, $19
+ i32.const $19=, __stack_pointer
+ i32.store $23=, 0($19), $23
+ i32.const $push4=, 0
+ i32.const $22=, 48
+ i32.add $23=, $23, $22
+ i32.const $22=, __stack_pointer
+ i32.store $23=, 0($22), $23
+ return $pop4
+ .endfunc
+.Lfunc_end4:
+ .size main, .Lfunc_end4-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr45034.c.s b/test/torture-s/pr45034.c.s
index 6c6cccd52..fa60900dc 100644
--- a/test/torture-s/pr45034.c.s
+++ b/test/torture-s/pr45034.c.s
@@ -29,48 +29,54 @@ foo: # @foo
.type test_neg,@function
test_neg: # @test_neg
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
i32.const $1=, 128
- copy_local $7=, $1
.LBB1_1: # %for.cond
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push0=, 255
- i32.and $2=, $7, $pop0
- i32.const $3=, 0
- i32.sub $4=, $3, $2
- i32.const $5=, 24
- i32.shl $0=, $4, $5
- i32.const $6=, 127
+ i32.const $push14=, 0
+ i32.const $push13=, 255
+ i32.and $push0=, $1, $pop13
+ tee_local $push12=, $3=, $pop0
+ i32.sub $push1=, $pop14, $pop12
+ tee_local $push11=, $2=, $pop1
+ i32.const $push10=, 24
+ i32.shl $0=, $pop11, $pop10
block
block
- i32.and $push1=, $4, $1
- i32.gt_u $push2=, $pop1, $6
- br_if $pop2, 0 # 0: down to label4
+ i32.const $push9=, 128
+ i32.and $push2=, $2, $pop9
+ i32.const $push8=, 127
+ i32.gt_u $push3=, $pop2, $pop8
+ br_if $pop3, 0 # 0: down to label4
# BB#2: # %cond.true.i
# in Loop: Header=BB1_1 Depth=1
- i32.shr_s $4=, $0, $5
+ i32.const $push15=, 24
+ i32.shr_s $2=, $0, $pop15
br 1 # 1: down to label3
.LBB1_3: # %cond.false.i
# in Loop: Header=BB1_1 Depth=1
end_block # label4:
- i32.const $push3=, -16777216
- i32.xor $push4=, $0, $pop3
- i32.shr_s $push5=, $pop4, $5
- i32.const $push6=, -1
- i32.xor $4=, $pop5, $pop6
+ i32.const $push18=, -16777216
+ i32.xor $push4=, $0, $pop18
+ i32.const $push17=, 24
+ i32.shr_s $push5=, $pop4, $pop17
+ i32.const $push16=, -1
+ i32.xor $2=, $pop5, $pop16
.LBB1_4: # %fixnum_neg.exit
# in Loop: Header=BB1_1 Depth=1
end_block # label3:
- call foo@FUNCTION, $7, $4, $7
- i32.const $push7=, 1
- i32.add $7=, $7, $pop7
- i32.ne $push8=, $2, $6
- br_if $pop8, 0 # 0: up to label1
+ call foo@FUNCTION, $1, $2, $1
+ i32.const $push20=, 1
+ i32.add $1=, $1, $pop20
+ i32.const $push19=, 127
+ i32.ne $push6=, $3, $pop19
+ br_if $pop6, 0 # 0: up to label1
# BB#5: # %for.end
end_loop # label2:
- return $3
+ i32.const $push7=, 0
+ return $pop7
.endfunc
.Lfunc_end1:
.size test_neg, .Lfunc_end1-test_neg
@@ -81,48 +87,54 @@ test_neg: # @test_neg
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
i32.const $1=, 128
- copy_local $7=, $1
.LBB2_1: # %for.cond.i
# =>This Inner Loop Header: Depth=1
loop # label5:
- i32.const $push0=, 255
- i32.and $2=, $7, $pop0
- i32.const $3=, 0
- i32.sub $4=, $3, $2
- i32.const $5=, 24
- i32.shl $0=, $4, $5
- i32.const $6=, 127
+ i32.const $push14=, 0
+ i32.const $push13=, 255
+ i32.and $push0=, $1, $pop13
+ tee_local $push12=, $3=, $pop0
+ i32.sub $push1=, $pop14, $pop12
+ tee_local $push11=, $2=, $pop1
+ i32.const $push10=, 24
+ i32.shl $0=, $pop11, $pop10
block
block
- i32.and $push1=, $4, $1
- i32.gt_u $push2=, $pop1, $6
- br_if $pop2, 0 # 0: down to label8
+ i32.const $push9=, 128
+ i32.and $push2=, $2, $pop9
+ i32.const $push8=, 127
+ i32.gt_u $push3=, $pop2, $pop8
+ br_if $pop3, 0 # 0: down to label8
# BB#2: # %cond.true.i.i
# in Loop: Header=BB2_1 Depth=1
- i32.shr_s $4=, $0, $5
+ i32.const $push15=, 24
+ i32.shr_s $2=, $0, $pop15
br 1 # 1: down to label7
.LBB2_3: # %cond.false.i.i
# in Loop: Header=BB2_1 Depth=1
end_block # label8:
- i32.const $push3=, -16777216
- i32.xor $push4=, $0, $pop3
- i32.shr_s $push5=, $pop4, $5
- i32.const $push6=, -1
- i32.xor $4=, $pop5, $pop6
+ i32.const $push18=, -16777216
+ i32.xor $push4=, $0, $pop18
+ i32.const $push17=, 24
+ i32.shr_s $push5=, $pop4, $pop17
+ i32.const $push16=, -1
+ i32.xor $2=, $pop5, $pop16
.LBB2_4: # %fixnum_neg.exit.i
# in Loop: Header=BB2_1 Depth=1
end_block # label7:
- call foo@FUNCTION, $7, $4, $7
- i32.const $push7=, 1
- i32.add $7=, $7, $pop7
- i32.ne $push8=, $2, $6
- br_if $pop8, 0 # 0: up to label5
+ call foo@FUNCTION, $1, $2, $1
+ i32.const $push20=, 1
+ i32.add $1=, $1, $pop20
+ i32.const $push19=, 127
+ i32.ne $push6=, $3, $pop19
+ br_if $pop6, 0 # 0: up to label5
# BB#5: # %if.end
end_loop # label6:
- return $3
+ i32.const $push7=, 0
+ return $pop7
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
diff --git a/test/torture-s/pr45070.c.s b/test/torture-s/pr45070.c.s
index 8b2e0b060..b3eed0e5b 100644
--- a/test/torture-s/pr45070.c.s
+++ b/test/torture-s/pr45070.c.s
@@ -6,51 +6,46 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
i32.const $3=, __stack_pointer
- i32.load $3=, 0($3)
- i32.const $4=, 16
- i32.sub $8=, $3, $4
- i32.const $4=, __stack_pointer
- i32.store $8=, 0($4), $8
+ i32.store $5=, 0($3), $5
+ i64.const $push1=, 0
+ i64.store $discard=, 0($5), $pop1
i32.const $push0=, 0
- i32.store $2=, 0($8), $pop0
- i32.const $push1=, 4
- i32.const $6=, 0
- i32.add $6=, $8, $6
- i32.or $push2=, $6, $pop1
- i32.store $push3=, 0($pop2), $2
- i32.store $2=, 8($8), $pop3
+ i32.store $1=, 8($5):p2align=3, $pop0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $7=, 0
- i32.add $7=, $8, $7
- i32.call $0=, next@FUNCTION, $7
+ i32.call $0=, next@FUNCTION, $5
block
block
block
- br_if $2, 0 # 0: down to label4
+ br_if $1, 0 # 0: down to label4
# BB#2: # %for.body
# in Loop: Header=BB0_1 Depth=1
- i32.const $1=, 65535
- i32.and $push4=, $0, $1
- i32.ne $push5=, $pop4, $1
- br_if $pop5, 1 # 1: down to label3
+ i32.const $push11=, 65535
+ i32.and $push2=, $0, $pop11
+ i32.const $push10=, 65535
+ i32.ne $push3=, $pop2, $pop10
+ br_if $pop3, 1 # 1: down to label3
.LBB0_3: # %lor.lhs.false
# in Loop: Header=BB0_1 Depth=1
end_block # label4:
- i32.const $1=, 1
- i32.lt_s $push6=, $2, $1
- br_if $pop6, 1 # 1: down to label2
+ i32.const $push12=, 1
+ i32.lt_s $push4=, $1, $pop12
+ br_if $pop4, 1 # 1: down to label2
# BB#4: # %lor.lhs.false
# in Loop: Header=BB0_1 Depth=1
- i32.const $push7=, 65535
- i32.and $push8=, $0, $pop7
- i32.const $push12=, 0
- i32.eq $push13=, $pop8, $pop12
- br_if $pop13, 1 # 1: down to label2
+ i32.const $push13=, 65535
+ i32.and $push5=, $0, $pop13
+ i32.const $push14=, 0
+ i32.eq $push15=, $pop5, $pop14
+ br_if $pop15, 1 # 1: down to label2
.LBB0_5: # %if.then
end_block # label3:
call abort@FUNCTION
@@ -58,18 +53,19 @@ main: # @main
.LBB0_6: # %for.cond
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
- i32.add $2=, $2, $1
- i32.const $push9=, 15
- i32.le_s $push10=, $2, $pop9
- br_if $pop10, 0 # 0: up to label0
+ i32.const $push9=, 1
+ i32.add $1=, $1, $pop9
+ i32.const $push8=, 15
+ i32.le_s $push6=, $1, $pop8
+ br_if $pop6, 0 # 0: up to label0
# BB#7: # %for.end
end_loop # label1:
- i32.const $push11=, 0
- i32.const $5=, 16
- i32.add $8=, $8, $5
- i32.const $5=, __stack_pointer
- i32.store $8=, 0($5), $8
- return $pop11
+ i32.const $push7=, 0
+ i32.const $4=, 16
+ i32.add $5=, $5, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return $pop7
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -79,43 +75,46 @@ main: # @main
next: # @next
.param i32
.result i32
- .local i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $1=, 0
+ i32.const $3=, 0
block
i32.load $push0=, 0($0)
i32.load $push1=, 4($0)
i32.lt_s $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label5
-.LBB1_1: # %if.then
- # =>This Inner Loop Header: Depth=1
- loop # label6:
+# BB#1: # %if.then.lr.ph
i32.const $push3=, 8
i32.add $1=, $0, $pop3
+ i32.const $push7=, 4
+ i32.add $2=, $0, $pop7
+.LBB1_2: # %if.then
+ # =>This Inner Loop Header: Depth=1
+ loop # label6:
i32.load $push4=, 0($1)
- i32.const $push12=, 0
- i32.eq $push13=, $pop4, $pop12
- br_if $pop13, 1 # 1: down to label7
-# BB#2: # %if.then1
- # in Loop: Header=BB1_1 Depth=1
+ i32.const $push13=, 0
+ i32.eq $push14=, $pop4, $pop13
+ br_if $pop14, 1 # 1: down to label7
+# BB#3: # %if.then1
+ # in Loop: Header=BB1_2 Depth=1
i32.const $push5=, 0
- i32.store $1=, 0($1), $pop5
+ i32.store $3=, 0($1), $pop5
call fetch@FUNCTION, $0
i32.load $push6=, 0($0)
- i32.const $push7=, 4
- i32.add $push8=, $0, $pop7
- i32.load $push9=, 0($pop8)
- i32.ge_s $push10=, $pop6, $pop9
- br_if $pop10, 0 # 0: up to label6
+ i32.load $push8=, 0($2)
+ i32.ge_s $push9=, $pop6, $pop8
+ br_if $pop9, 0 # 0: up to label6
br 2 # 2: down to label5
-.LBB1_3: # %if.end
+.LBB1_4: # %if.end
end_loop # label7:
- i32.const $push11=, 1
- i32.store $discard=, 0($1), $pop11
- i32.const $1=, 65535
-.LBB1_4: # %cleanup
+ i32.const $push10=, 8
+ i32.add $push11=, $0, $pop10
+ i32.const $push12=, 1
+ i32.store $discard=, 0($pop11), $pop12
+ i32.const $3=, 65535
+.LBB1_5: # %cleanup
end_block # label5:
- return $1
+ return $3
.endfunc
.Lfunc_end1:
.size next, .Lfunc_end1-next
diff --git a/test/torture-s/pr45695.c.s b/test/torture-s/pr45695.c.s
index 40f492639..0cf99fa5f 100644
--- a/test/torture-s/pr45695.c.s
+++ b/test/torture-s/pr45695.c.s
@@ -38,28 +38,31 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- copy_local $2=, $3
+ i32.const $0=, 0
#APP
#NO_APP
- i32.const $push0=, 4
- i32.add $1=, $2, $pop0
- i32.const $4=, 1
- i32.add $0=, $2, $4
block
- i32.call $push1=, f@FUNCTION, $2, $0, $1
- i32.const $push2=, -1
- i32.ne $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push11=, 1
+ i32.add $push0=, $0, $pop11
+ tee_local $push10=, $2=, $pop0
+ i32.const $push2=, 4
+ i32.add $push1=, $0, $pop2
+ tee_local $push9=, $1=, $pop1
+ i32.call $push3=, f@FUNCTION, $0, $pop10, $pop9
+ i32.const $push4=, -1
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.call $push4=, f@FUNCTION, $1, $0, $1
- i32.ne $push5=, $pop4, $4
- br_if $pop5, 0 # 0: down to label1
+ i32.call $push6=, f@FUNCTION, $1, $2, $1
+ i32.const $push12=, 1
+ i32.ne $push7=, $pop6, $pop12
+ br_if $pop7, 0 # 0: down to label1
# BB#2: # %if.end9
- return $3
+ i32.const $push8=, 0
+ return $pop8
.LBB2_3: # %if.then8
end_block # label1:
call abort@FUNCTION
diff --git a/test/torture-s/pr46309.c.s b/test/torture-s/pr46309.c.s
new file mode 100644
index 000000000..0e462e350
--- /dev/null
+++ b/test/torture-s/pr46309.c.s
@@ -0,0 +1,102 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr46309.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32
+# BB#0: # %entry
+ block
+ i32.load $push0=, 0($0)
+ tee_local $push12=, $0=, $pop0
+ i32.const $push1=, -2
+ i32.and $push2=, $pop12, $pop1
+ i32.const $push3=, 2
+ i32.eq $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
+# BB#1: # %if.then
+ i32.const $push10=, 1
+ i32.ne $push11=, $0, $pop10
+ br_if $pop11, 0 # 0: down to label0
+# BB#2: # %if.then
+ i32.const $push6=, 0
+ i32.load $push7=, q($pop6)
+ i32.load $push8=, 0($pop7)
+ i32.const $push9=, 263
+ i32.and $push5=, $pop8, $pop9
+ i32.const $push13=, 0
+ i32.eq $push14=, $pop5, $pop13
+ br_if $pop14, 0 # 0: down to label0
+# BB#3: # %cond.true
+ call abort@FUNCTION
+ unreachable
+.LBB0_4: # %if.end
+ end_block # label0:
+ return
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $10=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $10=, 0($3), $10
+ #APP
+ #NO_APP
+ i32.const $push0=, 2
+ i32.store $discard=, 12($10), $pop0
+ i32.const $5=, 12
+ i32.add $5=, $10, $5
+ call bar@FUNCTION, $5
+ i32.const $push1=, 3
+ i32.store $discard=, 12($10), $pop1
+ i32.const $6=, 12
+ i32.add $6=, $10, $6
+ call bar@FUNCTION, $6
+ i32.const $push2=, 1
+ i32.store $0=, 8($10), $pop2
+ i32.const $push3=, 0
+ i32.store $push4=, 12($10), $pop3
+ tee_local $push5=, $1=, $pop4
+ i32.const $7=, 8
+ i32.add $7=, $10, $7
+ i32.store $discard=, q($pop5), $7
+ i32.const $8=, 12
+ i32.add $8=, $10, $8
+ call bar@FUNCTION, $8
+ i32.store $discard=, 12($10), $0
+ i32.store $0=, 8($10), $1
+ i32.const $9=, 12
+ i32.add $9=, $10, $9
+ call bar@FUNCTION, $9
+ i32.const $4=, 16
+ i32.add $10=, $10, $4
+ i32.const $4=, __stack_pointer
+ i32.store $10=, 0($4), $10
+ return $0
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden q # @q
+ .type q,@object
+ .section .bss.q,"aw",@nobits
+ .globl q
+ .p2align 2
+q:
+ .int32 0
+ .size q, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr46316.c.s b/test/torture-s/pr46316.c.s
index 4abce32e8..b6b41eb1a 100644
--- a/test/torture-s/pr46316.c.s
+++ b/test/torture-s/pr46316.c.s
@@ -7,20 +7,20 @@
foo: # @foo
.param i64
.result i64
- .local i64
# BB#0: # %entry
- i64.const $1=, -4
- i64.lt_s $push0=, $0, $1
- i64.select $push1=, $pop0, $0, $1
- i64.const $push2=, -1
- i64.xor $push3=, $pop1, $pop2
- i64.add $push4=, $0, $pop3
- i64.const $push5=, 2
- i64.add $push6=, $pop4, $pop5
- i64.const $push7=, -2
- i64.and $push8=, $pop6, $pop7
- i64.sub $push9=, $0, $pop8
- return $pop9
+ i64.const $push0=, -4
+ i64.lt_s $push1=, $0, $pop0
+ i64.const $push11=, -4
+ i64.select $push2=, $pop1, $0, $pop11
+ i64.const $push3=, -1
+ i64.xor $push4=, $pop2, $pop3
+ i64.add $push5=, $0, $pop4
+ i64.const $push6=, 2
+ i64.add $push7=, $pop5, $pop6
+ i64.const $push8=, -2
+ i64.and $push9=, $pop7, $pop8
+ i64.sub $push10=, $0, $pop9
+ return $pop10
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/pr46909-1.c.s b/test/torture-s/pr46909-1.c.s
index 5e97ccd91..4c0860dc7 100644
--- a/test/torture-s/pr46909-1.c.s
+++ b/test/torture-s/pr46909-1.c.s
@@ -7,20 +7,21 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 6
- i32.const $2=, 1
- i32.const $push3=, 4
- i32.or $push4=, $0, $pop3
- i32.eq $push5=, $pop4, $1
+ i32.const $push4=, 4
+ i32.or $push5=, $0, $pop4
+ i32.const $push2=, 6
+ i32.eq $push6=, $pop5, $pop2
+ i32.const $push8=, 1
i32.const $push0=, 2
i32.or $push1=, $0, $pop0
- i32.ne $push2=, $pop1, $1
- i32.const $push6=, -1
- i32.select $push7=, $pop2, $2, $pop6
- i32.select $push8=, $pop5, $2, $pop7
- return $pop8
+ i32.const $push12=, 6
+ i32.ne $push3=, $pop1, $pop12
+ i32.const $push11=, 1
+ i32.const $push7=, -1
+ i32.select $push9=, $pop3, $pop11, $pop7
+ i32.select $push10=, $pop6, $pop8, $pop9
+ return $pop10
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -31,34 +32,37 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $3=, -14
+ i32.const $1=, -14
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
block
loop # label1:
- i32.const $push0=, 4
- i32.add $push1=, $3, $pop0
- i32.call $0=, foo@FUNCTION, $pop1
- i32.const $1=, 0
- i32.const $2=, 1
- i32.eq $push2=, $3, $1
- i32.shl $push3=, $pop2, $2
- i32.sub $push4=, $2, $pop3
- i32.ne $push5=, $0, $pop4
+ i32.const $push14=, 4
+ i32.add $push0=, $1, $pop14
+ i32.call $push1=, foo@FUNCTION, $pop0
+ i32.const $push13=, 1
+ i32.const $push12=, 0
+ i32.eq $push2=, $1, $pop12
+ i32.const $push11=, 1
+ i32.shl $push3=, $pop2, $pop11
+ i32.sub $push4=, $pop13, $pop3
+ i32.ne $push5=, $pop1, $pop4
br_if $pop5, 2 # 2: down to label0
# BB#2: # %for.cond
# in Loop: Header=BB1_1 Depth=1
- i32.const $push6=, 5
- i32.add $0=, $3, $pop6
- i32.add $3=, $3, $2
- i32.const $push7=, 9
- i32.le_s $push8=, $0, $pop7
- br_if $pop8, 0 # 0: up to label1
+ i32.const $push10=, 5
+ i32.add $0=, $1, $pop10
+ i32.const $push9=, 1
+ i32.add $1=, $1, $pop9
+ i32.const $push8=, 9
+ i32.le_s $push6=, $0, $pop8
+ br_if $pop6, 0 # 0: up to label1
# BB#3: # %for.end
end_loop # label2:
- return $1
+ i32.const $push7=, 0
+ return $pop7
.LBB1_4: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/pr46909-2.c.s b/test/torture-s/pr46909-2.c.s
index c9b0beed4..8451d9774 100644
--- a/test/torture-s/pr46909-2.c.s
+++ b/test/torture-s/pr46909-2.c.s
@@ -33,34 +33,38 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $3=, -10
+ i32.const $0=, -10
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
block
loop # label3:
- i32.call $0=, foo@FUNCTION, $3
- i32.const $1=, 0
- i32.const $2=, 1
- i32.eq $push0=, $3, $1
- i32.shl $push1=, $pop0, $2
- i32.sub $push2=, $2, $pop1
- i32.const $push3=, 13
- i32.eq $push4=, $3, $pop3
- i32.shl $push5=, $pop4, $2
- i32.sub $push6=, $pop2, $pop5
- i32.ne $push7=, $0, $pop6
+ i32.call $push0=, foo@FUNCTION, $0
+ i32.const $push16=, 1
+ i32.const $push15=, 0
+ i32.eq $push1=, $0, $pop15
+ i32.const $push14=, 1
+ i32.shl $push2=, $pop1, $pop14
+ i32.sub $push3=, $pop16, $pop2
+ i32.const $push13=, 13
+ i32.eq $push4=, $0, $pop13
+ i32.const $push12=, 1
+ i32.shl $push5=, $pop4, $pop12
+ i32.sub $push6=, $pop3, $pop5
+ i32.ne $push7=, $pop0, $pop6
br_if $pop7, 2 # 2: down to label2
# BB#2: # %for.cond
# in Loop: Header=BB1_1 Depth=1
- i32.add $3=, $3, $2
- i32.const $push8=, 29
- i32.le_s $push9=, $3, $pop8
- br_if $pop9, 0 # 0: up to label3
+ i32.const $push11=, 1
+ i32.add $0=, $0, $pop11
+ i32.const $push10=, 29
+ i32.le_s $push8=, $0, $pop10
+ br_if $pop8, 0 # 0: up to label3
# BB#3: # %for.end
end_loop # label4:
- return $1
+ i32.const $push9=, 0
+ return $pop9
.LBB1_4: # %if.then
end_block # label2:
call abort@FUNCTION
diff --git a/test/torture-s/pr47148.c.s b/test/torture-s/pr47148.c.s
index b2411ba30..183738d23 100644
--- a/test/torture-s/pr47148.c.s
+++ b/test/torture-s/pr47148.c.s
@@ -6,18 +6,18 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.store $push0=, b($0), $0
- return $pop0
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store $push1=, b($pop0), $pop2
+ return $pop1
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
.type b,@object # @b
.section .data.b,"aw",@progbits
- .align 2
+ .p2align 2
b:
.int32 1 # 0x1
.size b, 4
diff --git a/test/torture-s/pr47155.c.s b/test/torture-s/pr47155.c.s
index 5ee4f9069..39b8fed99 100644
--- a/test/torture-s/pr47155.c.s
+++ b/test/torture-s/pr47155.c.s
@@ -6,12 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, a($0), $pop0
- return $0
+ i32.store $discard=, a($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -20,7 +20,7 @@ main: # @main
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 2
+ .p2align 2
c:
.int32 1 # 0x1
.size c, 4
@@ -29,7 +29,7 @@ c:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
diff --git a/test/torture-s/pr47237.c.s b/test/torture-s/pr47237.c.s
index f6088f260..54c19f602 100644
--- a/test/torture-s/pr47237.c.s
+++ b/test/torture-s/pr47237.c.s
@@ -6,14 +6,13 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.call $0=, __builtin_apply_args@FUNCTION
- i32.const $push0=, foo@FUNCTION
- i32.const $push1=, 16
- i32.call $discard=, __builtin_apply@FUNCTION, $pop0, $0, $pop1
- i32.const $push2=, 0
- return $pop2
+ i32.const $push1=, foo@FUNCTION
+ i32.call $push0=, __builtin_apply_args@FUNCTION
+ i32.const $push2=, 16
+ i32.call $discard=, __builtin_apply@FUNCTION, $pop1, $pop0, $pop2
+ i32.const $push3=, 0
+ return $pop3
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
diff --git a/test/torture-s/pr47337.c.s b/test/torture-s/pr47337.c.s
index 1ba5b4aa2..5a83729fa 100644
--- a/test/torture-s/pr47337.c.s
+++ b/test/torture-s/pr47337.c.s
@@ -6,68 +6,73 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $push0=, w($1)
- i32.const $push1=, .L.str.1
- i32.call $0=, strcmp@FUNCTION, $pop0, $pop1
- i32.const $4=, -1024
+ i32.const $push0=, 0
+ i32.load $push1=, w($pop0)
+ i32.const $push2=, .L.str.1
+ i32.call $0=, strcmp@FUNCTION, $pop1, $pop2
+ i32.const $1=, -1024
.LBB0_1: # %for.cond2.preheader
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $2=, a
- i32.add $push2=, $2, $4
- i32.const $push3=, 1024
- i32.add $push4=, $pop2, $pop3
- i32.const $push5=, 1
- i32.store $3=, 0($pop4), $pop5
- i32.const $push6=, 4
- i32.add $4=, $4, $pop6
- br_if $4, 0 # 0: up to label0
+ i32.const $push32=, 1
+ i32.store $discard=, a+1024($1), $pop32
+ i32.const $push31=, 4
+ i32.add $1=, $1, $pop31
+ br_if $1, 0 # 0: up to label0
# BB#2: # %for.cond7.preheader
end_loop # label1:
- i32.store $discard=, d($1), $1
+ i32.const $push3=, 0
+ i32.const $push33=, 0
+ i32.store $1=, d($pop3), $pop33
block
- i32.const $push40=, 0
- i32.eq $push41=, $0, $pop40
- br_if $pop41, 0 # 0: down to label2
+ i32.const $push48=, 0
+ i32.eq $push49=, $0, $pop48
+ br_if $pop49, 0 # 0: down to label2
# BB#3: # %fnx.exit
- i32.const $4=, 2
- i32.load $push7=, b($1)
- i32.and $push8=, $pop7, $3
- i32.shl $push9=, $pop8, $4
- i32.add $push10=, $2, $pop9
- i32.load $push11=, 0($pop10)
- i32.and $push12=, $pop11, $3
- i32.shl $push13=, $pop12, $4
- i32.add $push14=, $2, $pop13
- i32.load $push15=, 0($pop14)
- i32.and $push16=, $pop15, $3
- i32.shl $push17=, $pop16, $4
- i32.add $push18=, $2, $pop17
- i32.load $push19=, 0($pop18)
- i32.and $push20=, $pop19, $3
- i32.shl $push21=, $pop20, $4
- i32.add $push22=, $2, $pop21
- i32.load $push23=, 0($pop22)
- i32.and $push24=, $pop23, $3
- i32.shl $push25=, $pop24, $4
- i32.add $push26=, $2, $pop25
- i32.load $push27=, 0($pop26)
- i32.and $push28=, $pop27, $3
- i32.shl $push29=, $pop28, $4
- i32.add $push30=, $2, $pop29
- i32.load $push31=, 0($pop30)
- i32.and $push32=, $pop31, $3
- i32.shl $push33=, $pop32, $4
- i32.add $push34=, $2, $pop33
- i32.load $push35=, 0($pop34)
- i32.and $push36=, $pop35, $3
- i32.shl $push37=, $pop36, $4
- i32.add $push38=, $2, $pop37
- i32.load $push39=, 0($pop38)
- i32.store $discard=, b($1), $pop39
+ i32.load $push4=, b($1)
+ i32.const $push5=, 1
+ i32.and $push6=, $pop4, $pop5
+ i32.const $push7=, 2
+ i32.shl $push8=, $pop6, $pop7
+ i32.load $push9=, a($pop8)
+ i32.const $push47=, 1
+ i32.and $push10=, $pop9, $pop47
+ i32.const $push46=, 2
+ i32.shl $push11=, $pop10, $pop46
+ i32.load $push12=, a($pop11)
+ i32.const $push45=, 1
+ i32.and $push13=, $pop12, $pop45
+ i32.const $push44=, 2
+ i32.shl $push14=, $pop13, $pop44
+ i32.load $push15=, a($pop14)
+ i32.const $push43=, 1
+ i32.and $push16=, $pop15, $pop43
+ i32.const $push42=, 2
+ i32.shl $push17=, $pop16, $pop42
+ i32.load $push18=, a($pop17)
+ i32.const $push41=, 1
+ i32.and $push19=, $pop18, $pop41
+ i32.const $push40=, 2
+ i32.shl $push20=, $pop19, $pop40
+ i32.load $push21=, a($pop20)
+ i32.const $push39=, 1
+ i32.and $push22=, $pop21, $pop39
+ i32.const $push38=, 2
+ i32.shl $push23=, $pop22, $pop38
+ i32.load $push24=, a($pop23)
+ i32.const $push37=, 1
+ i32.and $push25=, $pop24, $pop37
+ i32.const $push36=, 2
+ i32.shl $push26=, $pop25, $pop36
+ i32.load $push27=, a($pop26)
+ i32.const $push35=, 1
+ i32.and $push28=, $pop27, $pop35
+ i32.const $push34=, 2
+ i32.shl $push29=, $pop28, $pop34
+ i32.load $push30=, a($pop29)
+ i32.store $discard=, b($1), $pop30
.LBB0_4: # %if.end25
end_block # label2:
return $1
@@ -85,7 +90,7 @@ main: # @main
.type w,@object
.section .data.w,"aw",@progbits
.globl w
- .align 2
+ .p2align 2
w:
.int32 .L.str
.size w, 4
diff --git a/test/torture-s/pr47538.c.s b/test/torture-s/pr47538.c.s
new file mode 100644
index 000000000..7f7f416dd
--- /dev/null
+++ b/test/torture-s/pr47538.c.s
@@ -0,0 +1,435 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr47538.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+ .local i32, f64, i32, i32, i32, i32, f64, f64, i32, i32
+# BB#0: # %entry
+ f64.load $8=, 8($1)
+ i32.load $2=, 20($1)
+ f64.load $push3=, 0($1)
+ f64.store $9=, 0($0), $pop3
+ f64.store $discard=, 8($0), $8
+ block
+ block
+ i32.const $push51=, 0
+ i32.eq $push52=, $2, $pop51
+ br_if $pop52, 0 # 0: down to label1
+# BB#1: # %if.else
+ f64.sub $push4=, $8, $9
+ f64.const $push5=, 0x1p-2
+ f64.mul $3=, $pop4, $pop5
+ block
+ i32.const $push2=, 1
+ i32.add $push0=, $2, $pop2
+ tee_local $push41=, $10=, $pop0
+ i32.const $push6=, 2
+ i32.ne $push7=, $pop41, $pop6
+ br_if $pop7, 0 # 0: down to label2
+# BB#2: # %if.then6
+ i32.load $0=, 16($0):p2align=3
+ i32.load $push34=, 16($1):p2align=3
+ f64.load $push35=, 0($pop34)
+ f64.mul $push36=, $3, $pop35
+ f64.store $push37=, 8($0), $pop36
+ tee_local $push44=, $8=, $pop37
+ f64.add $push38=, $pop44, $8
+ f64.store $discard=, 0($0), $pop38
+ br 2 # 2: down to label0
+.LBB0_3: # %for.cond.preheader
+ end_block # label2:
+ i32.load $4=, 16($1):p2align=3
+ i32.load $5=, 16($0):p2align=3
+ f64.const $9=, 0x0p0
+ f64.const $8=, 0x1p0
+ block
+ i32.const $push8=, -1
+ i32.add $push1=, $2, $pop8
+ tee_local $push42=, $11=, $pop1
+ i32.const $push53=, 0
+ i32.eq $push54=, $pop42, $pop53
+ br_if $pop54, 0 # 0: down to label3
+# BB#4: # %for.body.preheader
+ f64.const $9=, 0x0p0
+ i32.const $push43=, 8
+ i32.add $0=, $5, $pop43
+ copy_local $1=, $4
+ i32.const $7=, 1
+ f64.const $8=, 0x1p0
+.LBB0_5: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label4:
+ f64.load $push9=, 0($1)
+ i32.const $push48=, 16
+ i32.add $push10=, $1, $pop48
+ f64.load $push11=, 0($pop10)
+ f64.sub $push12=, $pop9, $pop11
+ f64.mul $push13=, $3, $pop12
+ f64.convert_u/i32 $push14=, $7
+ f64.div $push15=, $pop13, $pop14
+ f64.store $push16=, 0($0), $pop15
+ f64.mul $push17=, $8, $pop16
+ f64.add $9=, $9, $pop17
+ i32.const $push47=, 1
+ i32.add $6=, $7, $pop47
+ f64.neg $8=, $8
+ i32.const $push46=, 8
+ i32.add $1=, $1, $pop46
+ i32.const $push45=, 8
+ i32.add $0=, $0, $pop45
+ copy_local $7=, $6
+ i32.le_u $push18=, $6, $11
+ br_if $pop18, 0 # 0: up to label4
+.LBB0_6: # %for.end
+ end_loop # label5:
+ end_block # label3:
+ i32.const $push19=, 3
+ i32.shl $push28=, $2, $pop19
+ i32.add $push29=, $5, $pop28
+ i32.const $push50=, 3
+ i32.shl $push20=, $11, $pop50
+ i32.add $push21=, $4, $pop20
+ f64.load $push22=, 0($pop21)
+ f64.mul $push23=, $3, $pop22
+ f64.convert_u/i32 $push24=, $10
+ f64.const $push25=, -0x1p0
+ f64.add $push26=, $pop24, $pop25
+ f64.div $push27=, $pop23, $pop26
+ f64.store $push30=, 0($pop29), $pop27
+ f64.mul $push31=, $8, $pop30
+ f64.add $push32=, $9, $pop31
+ tee_local $push49=, $8=, $pop32
+ f64.add $push33=, $pop49, $8
+ f64.store $discard=, 0($5), $pop33
+ br 1 # 1: down to label0
+.LBB0_7: # %if.then
+ end_block # label1:
+ i32.load $push39=, 16($0):p2align=3
+ i64.const $push40=, 0
+ i64.store $discard=, 0($pop39), $pop40
+.LBB0_8: # %if.end53
+ end_block # label0:
+ return
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 112
+ i32.sub $22=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $22=, 0($5), $22
+ i32.const $push14=, 28
+ i32.add $push15=, $22, $pop14
+ i32.const $push2=, 0
+ i32.load $push16=, .Lmain.e+28($pop2)
+ i32.store $discard=, 0($pop15), $pop16
+ i32.const $push0=, 24
+ i32.add $push17=, $22, $pop0
+ i32.const $push131=, 0
+ i32.load $push18=, .Lmain.e+24($pop131):p2align=3
+ i32.store $discard=, 0($pop17):p2align=3, $pop18
+ i32.const $push130=, 24
+ i32.const $7=, 32
+ i32.add $7=, $22, $7
+ i32.add $push1=, $7, $pop130
+ i32.const $push129=, 0
+ i64.load $push3=, .Lmain.c+24($pop129)
+ i64.store $discard=, 0($pop1), $pop3
+ i32.const $push4=, 16
+ i32.const $8=, 32
+ i32.add $8=, $22, $8
+ i32.add $push5=, $8, $pop4
+ i32.const $push128=, 0
+ i64.load $push6=, .Lmain.c+16($pop128):p2align=4
+ i64.store $discard=, 0($pop5):p2align=4, $pop6
+ i32.const $push7=, 8
+ i32.const $9=, 32
+ i32.add $9=, $22, $9
+ i32.or $push8=, $9, $pop7
+ i32.const $push127=, 0
+ i64.load $push9=, .Lmain.c+8($pop127)
+ i64.store $discard=, 0($pop8), $pop9
+ i32.const $push13=, 3
+ i32.store $discard=, 84($22), $pop13
+ i32.const $push126=, 16
+ i32.add $push19=, $22, $pop126
+ i32.const $push125=, 0
+ i64.load $push20=, .Lmain.e+16($pop125):p2align=4
+ i64.store $discard=, 0($pop19):p2align=4, $pop20
+ i32.const $push124=, 0
+ i64.load $push10=, .Lmain.c($pop124):p2align=4
+ i64.store $discard=, 32($22):p2align=4, $pop10
+ i64.const $push11=, 4621819117588971520
+ i64.store $discard=, 64($22), $pop11
+ i64.const $push12=, 4618441417868443648
+ i64.store $discard=, 72($22), $pop12
+ i32.const $push123=, 8
+ i32.or $push21=, $22, $pop123
+ tee_local $push122=, $3=, $pop21
+ i32.const $push121=, 0
+ i64.load $push22=, .Lmain.e+8($pop121)
+ i64.store $discard=, 0($pop122), $pop22
+ i32.const $push120=, 0
+ i64.load $push23=, .Lmain.e($pop120):p2align=4
+ i64.store $discard=, 0($22):p2align=4, $pop23
+ i32.const $10=, 32
+ i32.add $10=, $22, $10
+ i32.store $discard=, 80($22):p2align=3, $10
+ i32.store $discard=, 104($22):p2align=3, $22
+ i32.const $11=, 88
+ i32.add $11=, $22, $11
+ i32.const $12=, 64
+ i32.add $12=, $22, $12
+ call foo@FUNCTION, $11, $12
+ block
+ f64.load $push24=, 0($22):p2align=4
+ f64.const $push25=, 0x0p0
+ f64.ne $push26=, $pop24, $pop25
+ br_if $pop26, 0 # 0: down to label6
+# BB#1: # %lor.lhs.false
+ f64.load $push27=, 0($3)
+ f64.const $push28=, 0x1.4p4
+ f64.ne $push29=, $pop27, $pop28
+ br_if $pop29, 0 # 0: down to label6
+# BB#2: # %lor.lhs.false9
+ f64.load $push30=, 16($22):p2align=4
+ f64.const $push31=, 0x1.4p3
+ f64.ne $push32=, $pop30, $pop31
+ br_if $pop32, 0 # 0: down to label6
+# BB#3: # %lor.lhs.false12
+ f64.load $push33=, 24($22)
+ f64.const $push34=, -0x1.4p3
+ f64.ne $push35=, $pop33, $pop34
+ br_if $pop35, 0 # 0: down to label6
+# BB#4: # %if.end
+ i32.const $push39=, 20
+ i32.const $13=, 64
+ i32.add $13=, $22, $13
+ i32.add $push40=, $13, $pop39
+ i32.const $push41=, 2
+ i32.store $discard=, 0($pop40), $pop41
+ i32.const $push42=, 28
+ i32.add $push43=, $22, $pop42
+ i32.const $push44=, 0
+ i32.load $push45=, .Lmain.e+28($pop44)
+ i32.store $discard=, 0($pop43), $pop45
+ i32.const $push46=, 24
+ i32.add $push47=, $22, $pop46
+ tee_local $push138=, $1=, $pop47
+ i32.const $push137=, 0
+ i32.load $push48=, .Lmain.e+24($pop137):p2align=3
+ i32.store $discard=, 0($pop138):p2align=3, $pop48
+ i32.const $push49=, 16
+ i32.add $push50=, $22, $pop49
+ tee_local $push136=, $0=, $pop50
+ i32.const $push135=, 0
+ i64.load $push51=, .Lmain.e+16($pop135):p2align=4
+ i64.store $discard=, 0($pop136):p2align=4, $pop51
+ i32.const $push52=, 8
+ i32.or $push53=, $22, $pop52
+ tee_local $push134=, $3=, $pop53
+ i32.const $push133=, 0
+ i64.load $push54=, .Lmain.e+8($pop133)
+ i64.store $discard=, 0($pop134), $pop54
+ i32.const $push132=, 0
+ i64.load $push55=, .Lmain.e($pop132):p2align=4
+ i64.store $discard=, 0($22):p2align=4, $pop55
+ i32.const $14=, 88
+ i32.add $14=, $22, $14
+ i32.const $15=, 64
+ i32.add $15=, $22, $15
+ call foo@FUNCTION, $14, $15
+ block
+ f64.load $push56=, 0($22):p2align=4
+ f64.const $push57=, 0x1.ep5
+ f64.ne $push58=, $pop56, $pop57
+ br_if $pop58, 0 # 0: down to label7
+# BB#5: # %if.end
+ f64.load $push36=, 0($3)
+ f64.const $push59=, 0x1.4p4
+ f64.ne $push60=, $pop36, $pop59
+ br_if $pop60, 0 # 0: down to label7
+# BB#6: # %if.end
+ f64.load $push37=, 0($0):p2align=4
+ f64.const $push61=, -0x1.4p3
+ f64.ne $push62=, $pop37, $pop61
+ br_if $pop62, 0 # 0: down to label7
+# BB#7: # %if.end
+ f64.load $push38=, 0($1)
+ f64.const $push63=, 0x1.d8p6
+ f64.ne $push64=, $pop38, $pop63
+ br_if $pop64, 0 # 0: down to label7
+# BB#8: # %if.end30
+ i32.const $push68=, 20
+ i32.const $16=, 64
+ i32.add $16=, $22, $16
+ i32.add $push69=, $16, $pop68
+ i32.const $push70=, 1
+ i32.store $discard=, 0($pop69), $pop70
+ i32.const $push71=, 28
+ i32.add $push72=, $22, $pop71
+ i32.const $push73=, 0
+ i32.load $push74=, .Lmain.e+28($pop73)
+ i32.store $discard=, 0($pop72), $pop74
+ i32.const $push75=, 24
+ i32.add $push76=, $22, $pop75
+ tee_local $push145=, $1=, $pop76
+ i32.const $push144=, 0
+ i32.load $push77=, .Lmain.e+24($pop144):p2align=3
+ i32.store $discard=, 0($pop145):p2align=3, $pop77
+ i32.const $push78=, 16
+ i32.add $push79=, $22, $pop78
+ tee_local $push143=, $0=, $pop79
+ i32.const $push142=, 0
+ i64.load $push80=, .Lmain.e+16($pop142):p2align=4
+ i64.store $discard=, 0($pop143):p2align=4, $pop80
+ i32.const $push81=, 8
+ i32.or $push82=, $22, $pop81
+ tee_local $push141=, $3=, $pop82
+ i32.const $push140=, 0
+ i64.load $push83=, .Lmain.e+8($pop140)
+ i64.store $discard=, 0($pop141), $pop83
+ i32.const $push139=, 0
+ i64.load $push84=, .Lmain.e($pop139):p2align=4
+ i64.store $discard=, 0($22):p2align=4, $pop84
+ i32.const $17=, 88
+ i32.add $17=, $22, $17
+ i32.const $18=, 64
+ i32.add $18=, $22, $18
+ call foo@FUNCTION, $17, $18
+ block
+ f64.load $push85=, 0($22):p2align=4
+ f64.const $push86=, -0x1.4p4
+ f64.ne $push87=, $pop85, $pop86
+ br_if $pop87, 0 # 0: down to label8
+# BB#9: # %if.end30
+ f64.load $push65=, 0($3)
+ f64.const $push88=, -0x1.4p3
+ f64.ne $push89=, $pop65, $pop88
+ br_if $pop89, 0 # 0: down to label8
+# BB#10: # %if.end30
+ f64.load $push66=, 0($0):p2align=4
+ f64.const $push146=, 0x1.d8p6
+ f64.ne $push90=, $pop66, $pop146
+ br_if $pop90, 0 # 0: down to label8
+# BB#11: # %if.end30
+ f64.load $push67=, 0($1)
+ f64.const $push147=, 0x1.d8p6
+ f64.ne $push91=, $pop67, $pop147
+ br_if $pop91, 0 # 0: down to label8
+# BB#12: # %if.end46
+ i32.const $push99=, 28
+ i32.add $push100=, $22, $pop99
+ i32.const $push95=, 20
+ i32.const $19=, 64
+ i32.add $19=, $22, $19
+ i32.add $push96=, $19, $pop95
+ i32.const $push97=, 0
+ i32.store $push98=, 0($pop96), $pop97
+ tee_local $push151=, $3=, $pop98
+ i32.load $push101=, .Lmain.e+28($pop151)
+ i32.store $discard=, 0($pop100), $pop101
+ i32.const $push102=, 24
+ i32.add $push103=, $22, $pop102
+ tee_local $push150=, $2=, $pop103
+ i32.load $push104=, .Lmain.e+24($3):p2align=3
+ i32.store $discard=, 0($pop150):p2align=3, $pop104
+ i32.const $push105=, 16
+ i32.add $push106=, $22, $pop105
+ tee_local $push149=, $1=, $pop106
+ i64.load $push107=, .Lmain.e+16($3):p2align=4
+ i64.store $discard=, 0($pop149):p2align=4, $pop107
+ i32.const $push108=, 8
+ i32.or $push109=, $22, $pop108
+ tee_local $push148=, $0=, $pop109
+ i64.load $push110=, .Lmain.e+8($3)
+ i64.store $discard=, 0($pop148), $pop110
+ i64.load $push111=, .Lmain.e($3):p2align=4
+ i64.store $discard=, 0($22):p2align=4, $pop111
+ i32.const $20=, 88
+ i32.add $20=, $22, $20
+ i32.const $21=, 64
+ i32.add $21=, $22, $21
+ call foo@FUNCTION, $20, $21
+ block
+ f64.load $push112=, 0($22):p2align=4
+ f64.const $push113=, 0x0p0
+ f64.ne $push114=, $pop112, $pop113
+ br_if $pop114, 0 # 0: down to label9
+# BB#13: # %if.end46
+ f64.load $push92=, 0($0)
+ f64.const $push152=, 0x1.d8p6
+ f64.ne $push115=, $pop92, $pop152
+ br_if $pop115, 0 # 0: down to label9
+# BB#14: # %if.end46
+ f64.load $push93=, 0($1):p2align=4
+ f64.const $push153=, 0x1.d8p6
+ f64.ne $push116=, $pop93, $pop153
+ br_if $pop116, 0 # 0: down to label9
+# BB#15: # %if.end46
+ f64.load $push94=, 0($2)
+ f64.const $push117=, 0x1.d8p6
+ f64.ne $push118=, $pop94, $pop117
+ br_if $pop118, 0 # 0: down to label9
+# BB#16: # %if.end62
+ i32.const $push119=, 0
+ i32.const $6=, 112
+ i32.add $22=, $22, $6
+ i32.const $6=, __stack_pointer
+ i32.store $22=, 0($6), $22
+ return $pop119
+.LBB1_17: # %if.then61
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB1_18: # %if.then45
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB1_19: # %if.then29
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB1_20: # %if.then
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .type .Lmain.c,@object # @main.c
+ .section .rodata..Lmain.c,"a",@progbits
+ .p2align 4
+.Lmain.c:
+ .int64 4621819117588971520 # double 10
+ .int64 4626322717216342016 # double 20
+ .int64 4629137466983448576 # double 30
+ .int64 4630826316843712512 # double 40
+ .size .Lmain.c, 32
+
+ .type .Lmain.e,@object # @main.e
+ .section .rodata..Lmain.e,"a",@progbits
+ .p2align 4
+.Lmain.e:
+ .int64 4638003928749834240 # double 118
+ .int64 4638003928749834240 # double 118
+ .int64 4638003928749834240 # double 118
+ .int64 4638003928749834240 # double 118
+ .size .Lmain.e, 32
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr47925.c.s b/test/torture-s/pr47925.c.s
new file mode 100644
index 000000000..bf751bdf9
--- /dev/null
+++ b/test/torture-s/pr47925.c.s
@@ -0,0 +1,77 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr47925.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+# BB#0: # %entry
+ #APP
+ #NO_APP
+ return
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+ .result i32
+# BB#0: # %entry
+ call bar@FUNCTION, $1, $1
+ block
+ i32.const $push0=, 1
+ i32.lt_s $push1=, $1, $pop0
+ br_if $pop1, 0 # 0: down to label0
+.LBB1_1: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label1:
+ i32.load $0=, 0($0)
+ i32.const $push2=, -1
+ i32.add $1=, $1, $pop2
+ br_if $1, 0 # 0: up to label1
+.LBB1_2: # %for.end
+ end_loop # label2:
+ end_block # label0:
+ return $1
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $5=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $5=, 0($1), $5
+ i32.const $3=, 8
+ i32.add $3=, $5, $3
+ i32.store $discard=, 8($5):p2align=3, $3
+ i32.const $push0=, 10
+ i32.const $4=, 8
+ i32.add $4=, $5, $4
+ i32.call $discard=, foo@FUNCTION, $4, $pop0
+ i32.const $push1=, 0
+ i32.const $2=, 16
+ i32.add $5=, $5, $2
+ i32.const $2=, __stack_pointer
+ i32.store $5=, 0($2), $5
+ return $pop1
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr48571-1.c.s b/test/torture-s/pr48571-1.c.s
index 7f735115a..8f5e8901e 100644
--- a/test/torture-s/pr48571-1.c.s
+++ b/test/torture-s/pr48571-1.c.s
@@ -5,25 +5,19 @@
.globl bar
.type bar,@function
bar: # @bar
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, -2492
+ i32.const $0=, -2492
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $push0=, c
- i32.add $0=, $pop0, $1
- i32.const $push6=, 2496
- i32.add $push7=, $0, $pop6
- i32.const $push1=, 2492
- i32.add $push2=, $0, $pop1
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 1
- i32.shl $push5=, $pop3, $pop4
- i32.store $discard=, 0($pop7), $pop5
- i32.const $push8=, 4
- i32.add $1=, $1, $pop8
- br_if $1, 0 # 0: up to label0
+ i32.load $push0=, c+2492($0)
+ i32.const $push3=, 1
+ i32.shl $push1=, $pop0, $pop3
+ i32.store $discard=, c+2496($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label0
# BB#2: # %for.end
end_loop # label1:
return
@@ -37,45 +31,45 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $2=, -2496
+ i32.const $0=, -2496
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.const $3=, c
- i32.add $push0=, $3, $2
- i32.const $push1=, 2496
- i32.add $push2=, $pop0, $pop1
- i32.const $push3=, 1
- i32.store $4=, 0($pop2), $pop3
- i32.const $0=, 4
- i32.add $2=, $2, $0
- br_if $2, 0 # 0: up to label2
+ i32.const $push5=, 1
+ i32.store $discard=, c+2496($0), $pop5
+ i32.const $push4=, 4
+ i32.add $0=, $0, $pop4
+ br_if $0, 0 # 0: up to label2
# BB#2: # %for.end
end_loop # label3:
call bar@FUNCTION
i32.const $2=, 0
+ i32.const $0=, c
+ i32.const $1=, 1
.LBB1_3: # %for.body3
# =>This Inner Loop Header: Depth=1
block
loop # label5:
- i32.load $push4=, 0($3)
- i32.ne $push5=, $pop4, $4
- br_if $pop5, 2 # 2: down to label4
+ i32.load $push0=, 0($0)
+ i32.ne $push1=, $pop0, $1
+ br_if $pop1, 2 # 2: down to label4
# BB#4: # %if.end
# in Loop: Header=BB1_3 Depth=1
- i32.const $1=, 1
- i32.shl $4=, $4, $1
- i32.add $2=, $2, $1
- i32.add $3=, $3, $0
+ i32.const $push9=, 1
+ i32.shl $1=, $1, $pop9
+ i32.const $push8=, 1
+ i32.add $2=, $2, $pop8
+ i32.const $push7=, 4
+ i32.add $0=, $0, $pop7
i32.const $push6=, 624
- i32.lt_u $push7=, $2, $pop6
- br_if $pop7, 0 # 0: up to label5
+ i32.lt_u $push2=, $2, $pop6
+ br_if $pop2, 0 # 0: up to label5
# BB#5: # %for.end8
end_loop # label6:
- i32.const $push8=, 0
- return $pop8
+ i32.const $push3=, 0
+ return $pop3
.LBB1_6: # %if.then
end_block # label4:
call abort@FUNCTION
@@ -88,7 +82,7 @@ main: # @main
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 4
+ .p2align 4
c:
.skip 2496
.size c, 2496
diff --git a/test/torture-s/pr48717.c.s b/test/torture-s/pr48717.c.s
index 711c96996..84064c2c2 100644
--- a/test/torture-s/pr48717.c.s
+++ b/test/torture-s/pr48717.c.s
@@ -21,16 +21,18 @@ foo: # @foo
.globl bar
.type bar,@function
bar: # @bar
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, w($0)
- i32.const $push0=, -1
- i32.xor $push1=, $1, $pop0
- i32.add $push2=, $pop1, $1
- i32.const $push3=, 65535
- i32.and $push4=, $pop2, $pop3
- i32.store $discard=, v($0), $pop4
+ i32.const $push0=, 0
+ i32.const $push8=, 0
+ i32.load $push1=, w($pop8)
+ tee_local $push7=, $0=, $pop1
+ i32.const $push2=, -1
+ i32.xor $push3=, $pop7, $pop2
+ i32.add $push4=, $pop3, $0
+ i32.const $push5=, 65535
+ i32.and $push6=, $pop4, $pop5
+ i32.store $discard=, v($pop0), $pop6
return
.endfunc
.Lfunc_end1:
@@ -42,21 +44,25 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, w($0)
- i32.const $2=, 65535
block
- i32.const $push0=, -1
- i32.xor $push1=, $1, $pop0
- i32.add $push2=, $pop1, $1
- i32.and $push3=, $pop2, $2
- i32.store $push4=, v($0), $pop3
- i32.ne $push5=, $pop4, $2
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push11=, 0
+ i32.const $push10=, 0
+ i32.load $push0=, w($pop10)
+ tee_local $push9=, $0=, $pop0
+ i32.const $push1=, -1
+ i32.xor $push2=, $pop9, $pop1
+ i32.add $push3=, $pop2, $0
+ i32.const $push4=, 65535
+ i32.and $push5=, $pop3, $pop4
+ i32.store $push6=, v($pop11), $pop5
+ i32.const $push8=, 65535
+ i32.ne $push7=, $pop6, $pop8
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push12=, 0
+ return $pop12
.LBB2_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -69,7 +75,7 @@ main: # @main
.type v,@object
.section .data.v,"aw",@progbits
.globl v
- .align 2
+ .p2align 2
v:
.int32 1 # 0x1
.size v, 4
@@ -78,7 +84,7 @@ v:
.type w,@object
.section .bss.w,"aw",@nobits
.globl w
- .align 2
+ .p2align 2
w:
.int32 0 # 0x0
.size w, 4
diff --git a/test/torture-s/pr48809.c.s b/test/torture-s/pr48809.c.s
index 74bd24d32..fb26ecb7e 100644
--- a/test/torture-s/pr48809.c.s
+++ b/test/torture-s/pr48809.c.s
@@ -7,7 +7,7 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
block
block
@@ -209,12 +209,11 @@ foo: # @foo
i32.eq $push3=, $0, $pop2
br_if $pop3, 0 # 0: down to label33
# BB#34: # %entry
- i32.const $1=, 0
i32.const $push4=, 98
- i32.eq $2=, $0, $pop4
- copy_local $0=, $1
+ i32.eq $1=, $0, $pop4
+ i32.const $0=, 0
i32.const $push5=, 0
- i32.eq $push6=, $2, $pop5
+ i32.eq $push6=, $1, $pop5
br_if $pop6, 1 # 1: down to label0
# BB#35: # %sw.bb33
i32.const $0=, 18
diff --git a/test/torture-s/pr48814-1.c.s b/test/torture-s/pr48814-1.c.s
index 755eb7004..919467945 100644
--- a/test/torture-s/pr48814-1.c.s
+++ b/test/torture-s/pr48814-1.c.s
@@ -6,14 +6,14 @@
.type incr,@function
incr: # @incr
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, count($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $push3=, count($0), $pop2
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, count($pop5)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, count($pop0), $pop3
+ return $pop4
.endfunc
.Lfunc_end0:
.size incr, .Lfunc_end0-incr
@@ -24,29 +24,32 @@ incr: # @incr
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.call $0=, incr@FUNCTION
- i32.const $1=, 0
- i32.load $2=, count($1)
- i32.const $3=, 2
+ i32.const $push15=, 0
+ i32.load $push2=, count($pop15)
+ tee_local $push14=, $0=, $pop2
+ i32.const $push6=, 2
+ i32.shl $push7=, $pop14, $pop6
+ i32.call $push1=, incr@FUNCTION
+ i32.store $discard=, arr($pop7), $pop1
block
- i32.const $push5=, arr
- i32.shl $push4=, $2, $3
- i32.add $push6=, $pop5, $pop4
- i32.store $discard=, 0($pop6), $0
- i32.const $push1=, 1
- i32.add $push2=, $2, $pop1
- i32.store $push3=, count($1), $pop2
- i32.ne $push7=, $pop3, $3
- br_if $pop7, 0 # 0: down to label0
+ i32.const $push13=, 0
+ i32.const $push3=, 1
+ i32.add $push4=, $0, $pop3
+ i32.store $push5=, count($pop13), $pop4
+ i32.const $push12=, 2
+ i32.ne $push8=, $pop5, $pop12
+ br_if $pop8, 0 # 0: down to label0
# BB#1: # %entry
- i32.load $push0=, arr+8($1)
- i32.const $push8=, 3
- i32.ne $push9=, $pop0, $pop8
- br_if $pop9, 0 # 0: down to label0
+ i32.const $push16=, 0
+ i32.load $push0=, arr+8($pop16):p2align=3
+ i32.const $push9=, 3
+ i32.ne $push10=, $pop0, $pop9
+ br_if $pop10, 0 # 0: down to label0
# BB#2: # %if.end
- return $1
+ i32.const $push11=, 0
+ return $pop11
.LBB1_3: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -59,7 +62,7 @@ main: # @main
.type arr,@object
.section .data.arr,"aw",@progbits
.globl arr
- .align 4
+ .p2align 4
arr:
.int32 1 # 0x1
.int32 2 # 0x2
@@ -71,7 +74,7 @@ arr:
.type count,@object
.section .bss.count,"aw",@nobits
.globl count
- .align 2
+ .p2align 2
count:
.int32 0 # 0x0
.size count, 4
diff --git a/test/torture-s/pr48814-2.c.s b/test/torture-s/pr48814-2.c.s
index 652c7af20..05ad5e083 100644
--- a/test/torture-s/pr48814-2.c.s
+++ b/test/torture-s/pr48814-2.c.s
@@ -6,14 +6,14 @@
.type incr,@function
incr: # @incr
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, count($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $push3=, count($0), $pop2
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, count($pop5)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, count($pop0), $pop3
+ return $pop4
.endfunc
.Lfunc_end0:
.size incr, .Lfunc_end0-incr
@@ -24,30 +24,33 @@ incr: # @incr
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, count($0)
- i32.const $push1=, 1
- i32.add $2=, $1, $pop1
- i32.const $3=, 2
- i32.const $4=, arr
+ i32.const $push1=, 0
+ i32.load $push2=, count($pop1)
+ tee_local $push15=, $1=, $pop2
+ i32.const $push3=, 1
+ i32.add $push4=, $pop15, $pop3
+ tee_local $push14=, $0=, $pop4
+ i32.const $push13=, 2
+ i32.shl $push5=, $pop14, $pop13
+ i32.store $discard=, arr($pop5), $0
+ i32.const $push12=, 0
+ i32.const $push11=, 2
+ i32.add $push0=, $1, $pop11
+ i32.store $0=, count($pop12), $pop0
block
- i32.shl $push2=, $2, $3
- i32.add $push3=, $4, $pop2
- i32.store $discard=, 0($pop3), $2
- i32.add $push0=, $1, $3
- i32.store $2=, count($0), $pop0
br_if $1, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.shl $push4=, $2, $3
- i32.add $push5=, $4, $pop4
- i32.load $push6=, 0($pop5)
- i32.const $push7=, 3
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label0
+ i32.const $push16=, 2
+ i32.shl $push6=, $0, $pop16
+ i32.load $push7=, arr($pop6)
+ i32.const $push8=, 3
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#2: # %if.end
- return $0
+ i32.const $push10=, 0
+ return $pop10
.LBB1_3: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -60,7 +63,7 @@ main: # @main
.type arr,@object
.section .data.arr,"aw",@progbits
.globl arr
- .align 4
+ .p2align 4
arr:
.int32 1 # 0x1
.int32 2 # 0x2
@@ -72,7 +75,7 @@ arr:
.type count,@object
.section .bss.count,"aw",@nobits
.globl count
- .align 2
+ .p2align 2
count:
.int32 0 # 0x0
.size count, 4
diff --git a/test/torture-s/pr48973-1.c.s b/test/torture-s/pr48973-1.c.s
index 1f43e064b..25cb070de 100644
--- a/test/torture-s/pr48973-1.c.s
+++ b/test/torture-s/pr48973-1.c.s
@@ -27,23 +27,27 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
- i32.load $push0=, v($0)
- i32.const $push4=, 1
- i32.and $1=, $pop0, $pop4
- i32.load8_u $push1=, s($0)
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load8_u $push1=, s($pop9):p2align=2
i32.const $push2=, 254
i32.and $push3=, $pop1, $pop2
- i32.or $push5=, $pop3, $1
- i32.store8 $discard=, s($0), $pop5
- i32.const $push6=, 0
- i32.eq $push7=, $1, $pop6
- br_if $pop7, 0 # 0: down to label1
+ i32.const $push8=, 0
+ i32.load $push0=, v($pop8)
+ i32.const $push4=, 1
+ i32.and $push5=, $pop0, $pop4
+ tee_local $push7=, $0=, $pop5
+ i32.or $push6=, $pop3, $pop7
+ i32.store8 $discard=, s($pop10):p2align=2, $pop6
+ block
+ i32.const $push12=, 0
+ i32.eq $push13=, $0, $pop12
+ br_if $pop13, 0 # 0: down to label1
# BB#1: # %foo.exit
- return $0
+ i32.const $push11=, 0
+ return $pop11
.LBB1_2: # %if.then.i
end_block # label1:
call abort@FUNCTION
@@ -56,7 +60,7 @@ main: # @main
.type v,@object
.section .data.v,"aw",@progbits
.globl v
- .align 2
+ .p2align 2
v:
.int32 4294967295 # 0xffffffff
.size v, 4
@@ -65,7 +69,7 @@ v:
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 4
.size s, 4
diff --git a/test/torture-s/pr48973-2.c.s b/test/torture-s/pr48973-2.c.s
index 7eb8a67a3..e2228f292 100644
--- a/test/torture-s/pr48973-2.c.s
+++ b/test/torture-s/pr48973-2.c.s
@@ -6,23 +6,27 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
- i32.load $push0=, v($0)
+ i32.const $push12=, 0
+ i32.const $push11=, 0
+ i32.load8_u $push3=, s($pop11):p2align=2
+ i32.const $push4=, 254
+ i32.and $push5=, $pop3, $pop4
+ i32.const $push10=, 0
+ i32.load $push0=, v($pop10)
i32.const $push1=, 31
- i32.shr_u $1=, $pop0, $pop1
- i32.load8_u $push2=, s($0)
- i32.const $push3=, 254
- i32.and $push4=, $pop2, $pop3
- i32.or $push5=, $pop4, $1
- i32.store8 $discard=, s($0), $pop5
- i32.const $push6=, 1
- i32.ne $push7=, $1, $pop6
- br_if $pop7, 0 # 0: down to label0
+ i32.shr_u $push2=, $pop0, $pop1
+ tee_local $push9=, $0=, $pop2
+ i32.or $push6=, $pop5, $pop9
+ i32.store8 $discard=, s($pop12):p2align=2, $pop6
+ block
+ i32.const $push7=, 1
+ i32.ne $push8=, $0, $pop7
+ br_if $pop8, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push13=, 0
+ return $pop13
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -35,7 +39,7 @@ main: # @main
.type v,@object
.section .data.v,"aw",@progbits
.globl v
- .align 2
+ .p2align 2
v:
.int32 4294967295 # 0xffffffff
.size v, 4
@@ -44,7 +48,7 @@ v:
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 2
+ .p2align 2
s:
.skip 4
.size s, 4
diff --git a/test/torture-s/pr49039.c.s b/test/torture-s/pr49039.c.s
index 3c4702e0d..5246426f6 100644
--- a/test/torture-s/pr49039.c.s
+++ b/test/torture-s/pr49039.c.s
@@ -6,38 +6,44 @@
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $3=, 1
block
- i32.eq $push0=, $0, $3
- br_if $pop0, 0 # 0: down to label0
-# BB#1: # %entry
- i32.const $4=, -2
- i32.eq $push1=, $1, $4
+ i32.const $push0=, 1
+ i32.eq $push1=, $0, $pop0
br_if $pop1, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $push2=, -2
+ i32.eq $push3=, $1, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#2: # %if.end
+ i32.gt_u $push6=, $0, $1
+ i32.select $2=, $pop6, $0, $1
block
- i32.gt_u $push4=, $0, $1
- i32.select $2=, $pop4, $0, $1
- i32.lt_u $push2=, $0, $1
- i32.select $push3=, $pop2, $0, $1
- i32.ne $push5=, $pop3, $3
- br_if $pop5, 0 # 0: down to label1
+ i32.lt_u $push4=, $0, $1
+ i32.select $push5=, $pop4, $0, $1
+ i32.const $push17=, 1
+ i32.ne $push7=, $pop5, $pop17
+ br_if $pop7, 0 # 0: down to label1
# BB#3: # %if.then9
- i32.const $0=, 0
- i32.load $push6=, cnt($0)
- i32.add $push7=, $pop6, $3
- i32.store $discard=, cnt($0), $pop7
+ i32.const $push8=, 0
+ i32.const $push19=, 0
+ i32.load $push9=, cnt($pop19)
+ i32.const $push18=, 1
+ i32.add $push10=, $pop9, $pop18
+ i32.store $discard=, cnt($pop8), $pop10
.LBB0_4: # %if.end10
end_block # label1:
- i32.ne $push8=, $2, $4
- br_if $pop8, 0 # 0: down to label0
+ i32.const $push11=, -2
+ i32.ne $push12=, $2, $pop11
+ br_if $pop12, 0 # 0: down to label0
# BB#5: # %if.then12
- i32.const $0=, 0
- i32.load $push9=, cnt($0)
- i32.add $push10=, $pop9, $3
- i32.store $discard=, cnt($0), $pop10
+ i32.const $push13=, 0
+ i32.const $push20=, 0
+ i32.load $push14=, cnt($pop20)
+ i32.const $push15=, 1
+ i32.add $push16=, $pop14, $pop15
+ i32.store $discard=, cnt($pop13), $pop16
.LBB0_6: # %cleanup
end_block # label0:
return
@@ -51,19 +57,19 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
i32.const $push1=, -2
i32.const $push0=, 1
call foo@FUNCTION, $pop1, $pop0
- i32.const $0=, 0
block
- i32.load $push2=, cnt($0)
+ i32.const $push5=, 0
+ i32.load $push2=, cnt($pop5)
i32.const $push3=, 2
i32.ne $push4=, $pop2, $pop3
br_if $pop4, 0 # 0: down to label2
# BB#1: # %if.end
- return $0
+ i32.const $push6=, 0
+ return $pop6
.LBB1_2: # %if.then
end_block # label2:
call abort@FUNCTION
@@ -76,7 +82,7 @@ main: # @main
.type cnt,@object
.section .bss.cnt,"aw",@nobits
.globl cnt
- .align 2
+ .p2align 2
cnt:
.int32 0 # 0x0
.size cnt, 4
diff --git a/test/torture-s/pr49073.c.s b/test/torture-s/pr49073.c.s
index b05d0e9b2..9b5f2c72e 100644
--- a/test/torture-s/pr49073.c.s
+++ b/test/torture-s/pr49073.c.s
@@ -6,54 +6,57 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.const $2=, a+4
+ i32.const $2=, 0
+ i32.const $1=, a+4
.LBB0_1: # %do.body
# =>This Inner Loop Header: Depth=1
block
loop # label1:
- i32.load $0=, 0($2)
- i32.const $1=, 1
+ i32.load $0=, 0($1)
block
- i32.and $push1=, $3, $1
- i32.const $push12=, 0
- i32.eq $push13=, $pop1, $pop12
- br_if $pop13, 0 # 0: down to label3
+ i32.const $push11=, 1
+ i32.and $push1=, $2, $pop11
+ i32.const $push17=, 0
+ i32.eq $push18=, $pop1, $pop17
+ br_if $pop18, 0 # 0: down to label3
# BB#2: # %do.body
# in Loop: Header=BB0_1 Depth=1
- i32.const $push2=, 4
- i32.ne $push3=, $0, $pop2
- br_if $pop3, 0 # 0: down to label3
+ i32.const $push12=, 4
+ i32.ne $push2=, $0, $pop12
+ br_if $pop2, 0 # 0: down to label3
# BB#3: # %if.then
- i32.const $0=, 0
- i32.load $push9=, c($0)
- i32.add $push0=, $pop9, $1
- i32.store $0=, c($0), $pop0
+ i32.const $push5=, 0
+ i32.const $push13=, 0
+ i32.load $push6=, c($pop13)
+ i32.const $push7=, 1
+ i32.add $push0=, $pop6, $pop7
+ i32.store $0=, c($pop5), $pop0
br 3 # 3: down to label0
.LBB0_4: # %if.end
# in Loop: Header=BB0_1 Depth=1
end_block # label3:
- i32.const $push4=, 3
- i32.eq $3=, $0, $pop4
- i32.const $push7=, 4
- i32.add $2=, $2, $pop7
- i32.const $push5=, 7
- i32.lt_s $push6=, $0, $pop5
- br_if $pop6, 0 # 0: up to label1
+ i32.const $push16=, 3
+ i32.eq $2=, $0, $pop16
+ i32.const $push15=, 4
+ i32.add $1=, $1, $pop15
+ i32.const $push14=, 7
+ i32.lt_s $push3=, $0, $pop14
+ br_if $pop3, 0 # 0: up to label1
# BB#5: # %do.endthread-pre-split
end_loop # label2:
- i32.const $push8=, 0
- i32.load $0=, c($pop8)
+ i32.const $push4=, 0
+ i32.load $0=, c($pop4)
.LBB0_6: # %do.end
end_block # label0:
block
- i32.ne $push10=, $0, $1
- br_if $pop10, 0 # 0: down to label4
+ i32.const $push8=, 1
+ i32.ne $push9=, $0, $pop8
+ br_if $pop9, 0 # 0: down to label4
# BB#7: # %if.end6
- i32.const $push11=, 0
- return $pop11
+ i32.const $push10=, 0
+ return $pop10
.LBB0_8: # %if.then5
end_block # label4:
call abort@FUNCTION
@@ -66,7 +69,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 4
+ .p2align 4
a:
.int32 1 # 0x1
.int32 2 # 0x2
@@ -81,7 +84,7 @@ a:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
diff --git a/test/torture-s/pr49123.c.s b/test/torture-s/pr49123.c.s
index faa6e86bb..6e8893ff8 100644
--- a/test/torture-s/pr49123.c.s
+++ b/test/torture-s/pr49123.c.s
@@ -6,14 +6,15 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load8_u $push0=, s.0($0)
- i32.const $push1=, 1
- i32.or $push2=, $pop0, $pop1
- i32.store8 $discard=, s.0($0), $pop2
- return $0
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load8_u $push1=, s.0($pop5):p2align=2
+ i32.const $push2=, 1
+ i32.or $push3=, $pop1, $pop2
+ i32.store8 $discard=, s.0($pop0):p2align=2, $pop3
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
diff --git a/test/torture-s/pr49161.c.s b/test/torture-s/pr49161.c.s
index a59949e83..5b8648560 100644
--- a/test/torture-s/pr49161.c.s
+++ b/test/torture-s/pr49161.c.s
@@ -6,16 +6,18 @@
.type bar,@function
bar: # @bar
.param i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, c($1)
+ i32.const $push0=, 0
+ i32.const $push6=, 0
+ i32.load $push1=, c($pop6)
+ tee_local $push5=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop5, $pop2
+ i32.store $discard=, c($pop0), $pop3
block
- i32.const $push0=, 1
- i32.add $push1=, $2, $pop0
- i32.store $discard=, c($1), $pop1
- i32.ne $push2=, $2, $0
- br_if $pop2, 0 # 0: down to label0
+ i32.ne $push4=, $1, $0
+ br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
return
.LBB0_2: # %if.then
@@ -32,46 +34,46 @@ bar: # @bar
.type foo,@function
foo: # @foo
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 2
block
block
block
block
i32.const $push0=, -3
i32.add $push1=, $0, $pop0
- i32.ge_u $push2=, $pop1, $1
- br_if $pop2, 0 # 0: down to label4
+ i32.const $push2=, 2
+ i32.ge_u $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label4
# BB#1: # %l4
- i32.const $push8=, 0
- call bar@FUNCTION, $pop8
- i32.const $push9=, 4
- i32.eq $push10=, $0, $pop9
- br_if $pop10, 1 # 1: down to label3
+ i32.const $push9=, 0
+ call bar@FUNCTION, $pop9
+ i32.const $push10=, 4
+ i32.eq $push11=, $0, $pop10
+ br_if $pop11, 1 # 1: down to label3
# BB#2: # %if.then.thread
- i32.const $push11=, 1
- call bar@FUNCTION, $pop11
+ i32.const $push12=, 1
+ call bar@FUNCTION, $pop12
br 2 # 2: down to label2
.LBB1_3: # %entry
end_block # label4:
- i32.const $push3=, 6
- i32.ne $push4=, $0, $pop3
- br_if $pop4, 2 # 2: down to label1
+ i32.const $push4=, 6
+ i32.ne $push5=, $0, $pop4
+ br_if $pop5, 2 # 2: down to label1
# BB#4: # %if.then
- i32.const $push5=, -1
- call bar@FUNCTION, $pop5
- i32.const $push6=, 0
+ i32.const $push6=, -1
call bar@FUNCTION, $pop6
- i32.const $push7=, 1
+ i32.const $push7=, 0
call bar@FUNCTION, $pop7
+ i32.const $push8=, 1
+ call bar@FUNCTION, $pop8
.LBB1_5: # %if.then4
end_block # label3:
- i32.const $push12=, -1
- call bar@FUNCTION, $pop12
+ i32.const $push13=, -1
+ call bar@FUNCTION, $pop13
.LBB1_6: # %if.end5
end_block # label2:
- call bar@FUNCTION, $1
+ i32.const $push14=, 2
+ call bar@FUNCTION, $pop14
.LBB1_7: # %return
end_block # label1:
return
@@ -85,17 +87,18 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 3
- call foo@FUNCTION, $0
- i32.const $1=, 0
+ i32.const $push0=, 3
+ call foo@FUNCTION, $pop0
block
- i32.load $push0=, c($1)
- i32.ne $push1=, $pop0, $0
- br_if $pop1, 0 # 0: down to label5
+ i32.const $push4=, 0
+ i32.load $push1=, c($pop4)
+ i32.const $push3=, 3
+ i32.ne $push2=, $pop1, $pop3
+ br_if $pop2, 0 # 0: down to label5
# BB#1: # %if.end
- return $1
+ i32.const $push5=, 0
+ return $pop5
.LBB2_2: # %if.then
end_block # label5:
call abort@FUNCTION
@@ -108,7 +111,7 @@ main: # @main
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
diff --git a/test/torture-s/pr49218.c.s b/test/torture-s/pr49218.c.s
index 8903dc35b..d2f444421 100644
--- a/test/torture-s/pr49218.c.s
+++ b/test/torture-s/pr49218.c.s
@@ -6,59 +6,61 @@
.type main,@function
main: # @main
.result i32
- .local i64, i32, i64, i64, i32, i64, i64, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i64, i32, i64, i64, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $9=, $6, $7
i32.const $7=, __stack_pointer
- i32.load $7=, 0($7)
- i32.const $8=, 16
- i32.sub $12=, $7, $8
- i32.const $8=, __stack_pointer
- i32.store $12=, 0($8), $12
- i32.const $1=, 0
- f32.load $push0=, f($1)
- i32.const $10=, 0
- i32.add $10=, $12, $10
- call __fixsfti@FUNCTION, $10, $pop0
- i64.load $5=, 0($12)
- i32.const $push1=, 8
- i32.const $11=, 0
- i32.add $11=, $12, $11
- i32.add $push2=, $11, $pop1
- i64.load $6=, 0($pop2)
- i64.const $2=, 0
+ i32.store $9=, 0($7), $9
+ i32.const $push18=, 0
+ f32.load $push0=, f($pop18)
+ call __fixsfti@FUNCTION, $9, $pop0
+ i64.const $1=, 0
block
- i64.eq $push6=, $6, $2
+ i32.const $push1=, 8
+ i32.add $push2=, $9, $pop1
+ i64.load $push13=, 0($pop2)
+ tee_local $push17=, $5=, $pop13
+ i64.const $push16=, 0
+ i64.eq $push6=, $pop17, $pop16
+ i64.load $push12=, 0($9)
+ tee_local $push15=, $4=, $pop12
i64.const $push4=, 10
- i64.gt_u $push5=, $5, $pop4
- i64.gt_s $push3=, $6, $2
+ i64.gt_u $push5=, $pop15, $pop4
+ i64.const $push14=, 0
+ i64.gt_s $push3=, $5, $pop14
i32.select $push7=, $pop6, $pop5, $pop3
br_if $pop7, 0 # 0: down to label0
.LBB0_1: # %do.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i64.const $3=, 1
- i64.add $0=, $5, $3
- i64.lt_u $4=, $0, $5
- i64.extend_u/i32 $5=, $4
- i64.eq $4=, $0, $2
- i64.select $5=, $4, $3, $5
- i64.add $6=, $6, $5
+ i64.const $2=, 1
+ i64.add $0=, $4, $2
+ i64.lt_u $3=, $0, $4
+ i64.extend_u/i32 $4=, $3
+ i64.eq $3=, $0, $1
+ i64.select $4=, $3, $2, $4
+ i64.add $5=, $5, $4
#APP
#NO_APP
- copy_local $5=, $0
+ copy_local $4=, $0
i64.const $push8=, 11
i64.xor $push9=, $0, $pop8
- i64.or $push10=, $pop9, $6
- i64.ne $push11=, $pop10, $2
+ i64.or $push10=, $5, $pop9
+ i64.const $push19=, 0
+ i64.ne $push11=, $pop10, $pop19
br_if $pop11, 0 # 0: up to label1
.LBB0_2: # %if.end
end_loop # label2:
end_block # label0:
- i32.const $9=, 16
- i32.add $12=, $12, $9
- i32.const $9=, __stack_pointer
- i32.store $12=, 0($9), $12
- return $1
+ i32.const $push20=, 0
+ i32.const $8=, 16
+ i32.add $9=, $9, $8
+ i32.const $8=, __stack_pointer
+ i32.store $9=, 0($8), $9
+ return $pop20
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -67,7 +69,7 @@ main: # @main
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 2
+ .p2align 2
f:
.int32 0 # float 0
.size f, 4
diff --git a/test/torture-s/pr49279.c.s b/test/torture-s/pr49279.c.s
index b243e3d90..e467b5d1f 100644
--- a/test/torture-s/pr49279.c.s
+++ b/test/torture-s/pr49279.c.s
@@ -27,30 +27,32 @@ foo: # @foo
i32.const $3=, __stack_pointer
i32.load $3=, 0($3)
i32.const $4=, 16
- i32.sub $6=, $3, $4
+ i32.sub $8=, $3, $4
i32.const $4=, __stack_pointer
- i32.store $6=, 0($4), $6
+ i32.store $8=, 0($4), $8
i32.const $push1=, 4
i32.const $6=, 8
- i32.add $6=, $6, $6
- i32.or $2=, $6, $pop1
- i32.store $discard=, 0($2), $0
+ i32.add $6=, $8, $6
+ i32.or $push2=, $6, $pop1
+ tee_local $push8=, $2=, $pop2
+ i32.store $discard=, 0($pop8), $0
i32.const $push0=, 1
- i32.store $0=, 8($6), $pop0
+ i32.store $0=, 8($8):p2align=3, $pop0
i32.const $7=, 8
- i32.add $7=, $6, $7
- i32.call $push2=, bar@FUNCTION, $7
- i32.store $discard=, 4($pop2), $1
- i32.load $2=, 0($2)
- i32.const $push3=, 0
- i32.store $discard=, 0($2), $pop3
- i32.store $discard=, 0($1), $0
+ i32.add $7=, $8, $7
+ i32.call $push3=, bar@FUNCTION, $7
+ i32.store $discard=, 4($pop3), $1
i32.load $push4=, 0($2)
+ tee_local $push7=, $2=, $pop4
+ i32.const $push5=, 0
+ i32.store $discard=, 0($pop7), $pop5
+ i32.store $discard=, 0($1), $0
+ i32.load $push6=, 0($2)
i32.const $5=, 16
- i32.add $6=, $6, $5
+ i32.add $8=, $8, $5
i32.const $5=, __stack_pointer
- i32.store $6=, 0($5), $6
- return $pop4
+ i32.store $8=, 0($5), $8
+ return $pop6
.endfunc
.Lfunc_end1:
.size foo, .Lfunc_end1-foo
diff --git a/test/torture-s/pr49281.c.s b/test/torture-s/pr49281.c.s
index 5c4ac492b..2edd94fba 100644
--- a/test/torture-s/pr49281.c.s
+++ b/test/torture-s/pr49281.c.s
@@ -40,45 +40,47 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 43
block
- i32.call $push0=, foo@FUNCTION, $0
- i32.const $push1=, 172
- i32.ne $push2=, $pop0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push0=, 43
+ i32.call $push1=, foo@FUNCTION, $pop0
+ i32.const $push2=, 172
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.const $1=, 1
- i32.call $push3=, foo@FUNCTION, $1
- i32.const $push4=, 4
- i32.ne $push5=, $pop3, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push4=, 1
+ i32.call $push5=, foo@FUNCTION, $pop4
+ i32.const $push6=, 4
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#2: # %lor.lhs.false3
- i32.const $2=, 2
- i32.call $push6=, foo@FUNCTION, $2
- i32.const $push7=, 12
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label0
+ i32.const $push8=, 2
+ i32.call $push9=, foo@FUNCTION, $pop8
+ i32.const $push10=, 12
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#3: # %if.end
block
- i32.call $push9=, bar@FUNCTION, $0
- i32.const $push10=, 175
- i32.ne $push11=, $pop9, $pop10
- br_if $pop11, 0 # 0: down to label1
+ i32.const $push12=, 43
+ i32.call $push13=, bar@FUNCTION, $pop12
+ i32.const $push14=, 175
+ i32.ne $push15=, $pop13, $pop14
+ br_if $pop15, 0 # 0: down to label1
# BB#4: # %lor.lhs.false8
- i32.call $push12=, bar@FUNCTION, $1
- i32.const $push13=, 7
- i32.ne $push14=, $pop12, $pop13
- br_if $pop14, 0 # 0: down to label1
+ i32.const $push16=, 1
+ i32.call $push17=, bar@FUNCTION, $pop16
+ i32.const $push18=, 7
+ i32.ne $push19=, $pop17, $pop18
+ br_if $pop19, 0 # 0: down to label1
# BB#5: # %lor.lhs.false11
- i32.call $push15=, bar@FUNCTION, $2
- i32.const $push16=, 11
- i32.ne $push17=, $pop15, $pop16
- br_if $pop17, 0 # 0: down to label1
+ i32.const $push20=, 2
+ i32.call $push21=, bar@FUNCTION, $pop20
+ i32.const $push22=, 11
+ i32.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label1
# BB#6: # %if.end15
- i32.const $push18=, 0
- return $pop18
+ i32.const $push24=, 0
+ return $pop24
.LBB2_7: # %if.then14
end_block # label1:
call abort@FUNCTION
diff --git a/test/torture-s/pr49419.c.s b/test/torture-s/pr49419.c.s
new file mode 100644
index 000000000..43a83bbda
--- /dev/null
+++ b/test/torture-s/pr49419.c.s
@@ -0,0 +1,263 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr49419.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32, i32
+ .result i32
+ .local i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, 0
+ block
+ i32.const $push0=, -1
+ i32.eq $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %for.cond.preheader
+ i32.const $5=, 0
+ i32.const $push26=, 0
+ i32.load $4=, t($pop26)
+ block
+ i32.const $push6=, 1
+ i32.lt_s $push7=, $3, $pop6
+ br_if $pop7, 0 # 0: down to label1
+# BB#2: # %for.cond.preheader
+ copy_local $6=, $0
+ i32.const $push3=, 12
+ i32.mul $push4=, $0, $pop3
+ i32.add $push5=, $4, $pop4
+ i32.load $push2=, 0($pop5)
+ i32.ne $push8=, $pop2, $1
+ br_if $pop8, 0 # 0: down to label1
+.LBB0_3: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label2:
+ i32.const $push13=, 1
+ i32.add $5=, $5, $pop13
+ i32.ge_s $push16=, $5, $3
+ br_if $pop16, 1 # 1: down to label3
+# BB#4: # %for.body
+ # in Loop: Header=BB0_3 Depth=1
+ i32.const $push10=, 12
+ i32.mul $push11=, $6, $pop10
+ i32.add $push12=, $4, $pop11
+ i32.load $6=, 4($pop12)
+ i32.const $push27=, 12
+ i32.mul $push14=, $6, $pop27
+ i32.add $push15=, $4, $pop14
+ i32.load $push9=, 0($pop15)
+ i32.eq $push17=, $pop9, $1
+ br_if $pop17, 0 # 0: up to label2
+.LBB0_5: # %for.end
+ end_loop # label3:
+ end_block # label1:
+ block
+ i32.eq $push18=, $5, $3
+ br_if $pop18, 0 # 0: down to label4
+# BB#6: # %if.end7
+ block
+ i32.const $push28=, 1
+ i32.lt_s $push19=, $5, $pop28
+ br_if $pop19, 0 # 0: down to label5
+# BB#7: # %for.body10.preheader
+ i32.const $push20=, 2
+ i32.shl $push21=, $5, $pop20
+ i32.add $6=, $2, $pop21
+ i32.const $push29=, 1
+ i32.add $3=, $5, $pop29
+.LBB0_8: # %for.body10
+ # =>This Inner Loop Header: Depth=1
+ loop # label6:
+ i32.const $push34=, 12
+ i32.mul $push22=, $0, $pop34
+ i32.add $push23=, $4, $pop22
+ tee_local $push33=, $0=, $pop23
+ i32.load $push24=, 8($pop33)
+ i32.store $discard=, 0($6), $pop24
+ i32.load $0=, 4($0)
+ i32.const $push32=, -1
+ i32.add $3=, $3, $pop32
+ i32.const $push31=, -4
+ i32.add $6=, $6, $pop31
+ i32.const $push30=, 1
+ i32.gt_s $push25=, $3, $pop30
+ br_if $pop25, 0 # 0: up to label6
+.LBB0_9: # %for.end16
+ end_loop # label7:
+ end_block # label5:
+ i32.store $discard=, 0($2), $0
+ i32.const $push35=, 1
+ i32.add $6=, $5, $pop35
+ br 1 # 1: down to label0
+.LBB0_10: # %if.then6
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_11: # %cleanup
+ end_block # label0:
+ return $6
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %for.body.i.preheader
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 48
+ i32.sub $11=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $11=, 0($7), $11
+ i32.const $2=, 0
+ i32.const $push39=, 0
+ i32.const $push1=, 36
+ i32.call $discard=, memset@FUNCTION, $11, $pop39, $pop1
+ i32.const $push3=, 4
+ i32.or $push4=, $11, $pop3
+ i32.const $push0=, 1
+ i32.store $push2=, 0($11):p2align=4, $pop0
+ i32.store $0=, 0($pop4), $pop2
+ i32.const $push38=, 12
+ i32.or $push8=, $11, $pop38
+ i32.load $1=, 0($pop8)
+ i32.const $push5=, 8
+ i32.or $push6=, $11, $pop5
+ i32.const $push7=, 2
+ i32.store $5=, 0($pop6):p2align=3, $pop7
+ i32.const $push37=, 0
+ i32.store $discard=, t($pop37), $11
+ copy_local $4=, $0
+ copy_local $3=, $0
+ block
+ i32.ne $push9=, $1, $0
+ br_if $pop9, 0 # 0: down to label8
+.LBB1_1: # %for.body.i.for.body.i_crit_edge
+ # =>This Inner Loop Header: Depth=1
+ loop # label9:
+ i32.add $3=, $2, $5
+ i32.add $2=, $2, $0
+ i32.gt_s $push15=, $3, $5
+ br_if $pop15, 1 # 1: down to label10
+# BB#2: # %for.body.i.for.body.i_crit_edge
+ # in Loop: Header=BB1_1 Depth=1
+ i32.const $push41=, 12
+ i32.mul $push11=, $4, $pop41
+ i32.add $push12=, $11, $pop11
+ i32.load $4=, 4($pop12)
+ i32.const $push40=, 12
+ i32.mul $push13=, $4, $pop40
+ i32.add $push14=, $11, $pop13
+ i32.load $push10=, 0($pop14)
+ i32.const $push16=, 1
+ i32.eq $push17=, $pop10, $pop16
+ br_if $pop17, 0 # 0: up to label9
+.LBB1_3: # %for.end.i
+ end_loop # label10:
+ end_block # label8:
+ block
+ i32.const $push18=, 3
+ i32.eq $push19=, $3, $pop18
+ br_if $pop19, 0 # 0: down to label11
+# BB#4: # %if.end7.i
+ block
+ block
+ i32.const $push42=, 0
+ i32.lt_s $push20=, $2, $pop42
+ br_if $pop20, 0 # 0: down to label13
+# BB#5: # %for.body10.i.preheader
+ i32.const $5=, 1
+ i32.const $push21=, 2
+ i32.shl $push22=, $3, $pop21
+ tee_local $push44=, $4=, $pop22
+ i32.const $9=, 36
+ i32.add $9=, $11, $9
+ block
+ i32.add $push23=, $9, $pop44
+ i32.const $push43=, 2
+ i32.store $push24=, 0($pop23), $pop43
+ i32.lt_s $push25=, $3, $pop24
+ br_if $pop25, 0 # 0: down to label14
+# BB#6: # %for.body10.i.for.body10.i_crit_edge.preheader
+ i32.const $10=, 36
+ i32.add $10=, $11, $10
+ i32.add $push26=, $4, $10
+ i32.const $push45=, -4
+ i32.add $4=, $pop26, $pop45
+ i32.const $5=, 1
+.LBB1_7: # %for.body10.i.for.body10.i_crit_edge
+ # =>This Inner Loop Header: Depth=1
+ loop # label15:
+ i32.const $push51=, 12
+ i32.mul $push27=, $5, $pop51
+ i32.add $push28=, $11, $pop27
+ tee_local $push50=, $5=, $pop28
+ i32.load $push29=, 8($pop50)
+ i32.store $discard=, 0($4), $pop29
+ i32.load $5=, 4($5)
+ i32.const $push49=, -1
+ i32.add $3=, $3, $pop49
+ i32.const $push48=, -4
+ i32.add $4=, $4, $pop48
+ i32.const $push47=, 1
+ i32.gt_s $push30=, $3, $pop47
+ br_if $pop30, 0 # 0: up to label15
+.LBB1_8: # %foo.exit
+ end_loop # label16:
+ end_block # label14:
+ i32.store $3=, 36($11), $5
+ br_if $2, 1 # 1: down to label12
+# BB#9: # %if.end
+ block
+ i32.const $push31=, 1
+ i32.ne $push32=, $3, $pop31
+ br_if $pop32, 0 # 0: down to label17
+# BB#10: # %lor.lhs.false
+ i32.load $push33=, 40($11)
+ i32.const $push34=, 2
+ i32.ne $push35=, $pop33, $pop34
+ br_if $pop35, 0 # 0: down to label17
+# BB#11: # %if.end6
+ i32.const $push36=, 0
+ i32.const $8=, 48
+ i32.add $11=, $11, $8
+ i32.const $8=, __stack_pointer
+ i32.store $11=, 0($8), $11
+ return $pop36
+.LBB1_12: # %if.then5
+ end_block # label17:
+ call abort@FUNCTION
+ unreachable
+.LBB1_13: # %foo.exit.thread
+ end_block # label13:
+ i32.const $push46=, 0
+ i32.store $discard=, 36($11), $pop46
+.LBB1_14: # %if.then
+ end_block # label12:
+ call abort@FUNCTION
+ unreachable
+.LBB1_15: # %if.then6.i
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden t # @t
+ .type t,@object
+ .section .bss.t,"aw",@nobits
+ .globl t
+ .p2align 2
+t:
+ .int32 0
+ .size t, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr49712.c.s b/test/torture-s/pr49712.c.s
index cb4c695b2..3157fcd92 100644
--- a/test/torture-s/pr49712.c.s
+++ b/test/torture-s/pr49712.c.s
@@ -18,20 +18,23 @@ foo: # @foo
.type bar,@function
bar: # @bar
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, d($0)
- i32.gt_s $push1=, $pop0, $0
+ i32.const $push5=, 0
+ i32.load $push0=, d($pop5)
+ i32.const $push4=, 0
+ i32.gt_s $push1=, $pop0, $pop4
br_if $pop1, 0 # 0: down to label0
# BB#1: # %for.cond4.preheader.preheader
- i32.store $push2=, e($0), $0
+ i32.const $push7=, 0
+ i32.const $push6=, 0
+ i32.store $push2=, e($pop7), $pop6
i32.const $push3=, 1
i32.store $discard=, d($pop2), $pop3
.LBB1_2: # %for.end9
end_block # label0:
- return $0
+ i32.const $push8=, 0
+ return $pop8
.endfunc
.Lfunc_end1:
.size bar, .Lfunc_end1-bar
@@ -42,39 +45,45 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, 0
- i32.store $0=, b($2), $2
block
- i32.load $push0=, c($0)
- i32.const $push4=, 0
- i32.eq $push5=, $pop0, $pop4
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.store $push1=, b($pop0), $pop9
+ tee_local $push8=, $0=, $pop1
+ i32.load $push2=, c($pop8)
+ i32.const $push15=, 0
+ i32.eq $push16=, $pop2, $pop15
+ br_if $pop16, 0 # 0: down to label1
# BB#1: # %while.body.preheader
- i32.const $1=, 1
- i32.load $push1=, d($0)
- i32.lt_s $2=, $pop1, $1
+ i32.load $push3=, d($0)
+ i32.const $push10=, 1
+ i32.lt_s $0=, $pop3, $pop10
.LBB2_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.and $push2=, $2, $1
- i32.const $push6=, 0
- i32.eq $push7=, $pop2, $pop6
- br_if $pop7, 0 # 0: up to label2
+ i32.const $push11=, 1
+ i32.and $push4=, $0, $pop11
+ i32.const $push17=, 0
+ i32.eq $push18=, $pop4, $pop17
+ br_if $pop18, 0 # 0: up to label2
# BB#3: # %for.cond4.preheader.preheader.i
# in Loop: Header=BB2_2 Depth=1
- i32.store $2=, a($0), $0
- i32.store $discard=, e($2), $2
- i32.store $discard=, d($2), $1
+ i32.const $push5=, 0
+ i32.const $push14=, 0
+ i32.store $push6=, a($pop5), $pop14
+ tee_local $push13=, $0=, $pop6
+ i32.store $discard=, e($pop13), $0
+ i32.const $push12=, 1
+ i32.store $discard=, d($0), $pop12
br 0 # 0: up to label2
.LBB2_4: # %for.inc.1
end_loop # label3:
end_block # label1:
- i32.const $2=, 0
- i32.const $push3=, 2
- i32.store $discard=, b($2), $pop3
- return $2
+ i32.const $push7=, 2
+ i32.store $discard=, b($0), $pop7
+ return $0
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -83,7 +92,7 @@ main: # @main
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -92,7 +101,7 @@ d:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
@@ -101,7 +110,7 @@ e:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -110,7 +119,7 @@ b:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -119,7 +128,7 @@ c:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 8
.size a, 8
diff --git a/test/torture-s/pr49886.c.s b/test/torture-s/pr49886.c.s
index de5b877db..1ace64f87 100644
--- a/test/torture-s/pr49886.c.s
+++ b/test/torture-s/pr49886.c.s
@@ -19,12 +19,12 @@ never_ever: # @never_ever
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store $discard=, cond($0), $pop0
- return $0
+ i32.store $discard=, cond($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -50,97 +50,113 @@ bar_1: # @bar_1
.type mark_cell,@function
mark_cell: # @mark_cell
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
block
- i32.const $push27=, 0
- i32.eq $push28=, $0, $pop27
- br_if $pop28, 0 # 0: down to label0
+ i32.const $push49=, 0
+ i32.eq $push50=, $0, $pop49
+ br_if $pop50, 0 # 0: down to label0
# BB#1: # %entry
- i32.const $push1=, 0
- i32.load $push0=, cond($pop1)
- i32.const $push29=, 0
- i32.eq $push30=, $pop0, $pop29
- br_if $pop30, 0 # 0: down to label0
+ i32.const $push2=, 0
+ i32.load $push1=, cond($pop2)
+ i32.const $push51=, 0
+ i32.eq $push52=, $pop1, $pop51
+ br_if $pop52, 0 # 0: down to label0
# BB#2: # %land.lhs.true
- i32.const $1=, 4
- i32.load $push2=, 8($0)
- i32.ne $push3=, $pop2, $1
- br_if $pop3, 0 # 0: down to label0
+ i32.load $push3=, 8($0)
+ i32.const $push4=, 4
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#3: # %land.lhs.true2
- i32.load $0=, 0($0)
- i32.const $push31=, 0
- i32.eq $push32=, $0, $pop31
- br_if $pop32, 0 # 0: down to label0
+ i32.load $push0=, 0($0)
+ tee_local $push41=, $0=, $pop0
+ i32.const $push53=, 0
+ i32.eq $push54=, $pop41, $pop53
+ br_if $pop54, 0 # 0: down to label0
# BB#4: # %land.lhs.true4
- i32.const $2=, 2
- i32.add $3=, $0, $2
block
- i32.load8_u $push4=, 0($3)
- i32.and $push5=, $pop4, $1
- i32.const $push33=, 0
- i32.eq $push34=, $pop5, $pop33
- br_if $pop34, 0 # 0: down to label1
+ i32.const $push43=, 2
+ i32.add $push6=, $0, $pop43
+ tee_local $push42=, $1=, $pop6
+ i32.load8_u $push7=, 0($pop42):p2align=1
+ i32.const $push8=, 4
+ i32.and $push9=, $pop7, $pop8
+ i32.const $push55=, 0
+ i32.eq $push56=, $pop9, $pop55
+ br_if $pop56, 0 # 0: down to label1
# BB#5: # %land.lhs.true17
block
- i32.load8_u $push6=, 0($3)
- i32.and $push7=, $pop6, $2
- i32.const $push35=, 0
- i32.eq $push36=, $pop7, $pop35
- br_if $pop36, 0 # 0: down to label2
+ i32.load8_u $push10=, 0($1):p2align=1
+ i32.const $push44=, 2
+ i32.and $push11=, $pop10, $pop44
+ i32.const $push57=, 0
+ i32.eq $push58=, $pop11, $pop57
+ br_if $pop58, 0 # 0: down to label2
# BB#6: # %land.lhs.true33
- i32.const $2=, 1
block
- i32.load8_u $push8=, 0($3)
- i32.and $push9=, $pop8, $2
- i32.const $push37=, 0
- i32.eq $push38=, $pop9, $pop37
- br_if $pop38, 0 # 0: down to label3
+ i32.const $push12=, 2
+ i32.add $push13=, $0, $pop12
+ i32.load8_u $push14=, 0($pop13):p2align=1
+ i32.const $push45=, 1
+ i32.and $push15=, $pop14, $pop45
+ i32.const $push59=, 0
+ i32.eq $push60=, $pop15, $pop59
+ br_if $pop60, 0 # 0: down to label3
# BB#7: # %land.lhs.true49
- i32.add $0=, $0, $2
block
- i32.load8_u $push10=, 0($0)
- i32.const $push11=, 7
- i32.shr_u $push12=, $pop10, $pop11
- i32.const $push39=, 0
- i32.eq $push40=, $pop12, $pop39
- br_if $pop40, 0 # 0: down to label4
+ i32.const $push46=, 1
+ i32.add $push16=, $0, $pop46
+ i32.load8_u $push17=, 0($pop16)
+ i32.const $push18=, 7
+ i32.shr_u $push19=, $pop17, $pop18
+ i32.const $push61=, 0
+ i32.eq $push62=, $pop19, $pop61
+ br_if $pop62, 0 # 0: down to label4
# BB#8: # %land.lhs.true65
block
- i32.load8_u $push13=, 0($0)
- i32.const $push14=, 64
- i32.and $push15=, $pop13, $pop14
- i32.const $push41=, 0
- i32.eq $push42=, $pop15, $pop41
- br_if $pop42, 0 # 0: down to label5
+ i32.const $push20=, 1
+ i32.add $push21=, $0, $pop20
+ tee_local $push47=, $1=, $pop21
+ i32.load8_u $push22=, 0($pop47)
+ i32.const $push23=, 64
+ i32.and $push24=, $pop22, $pop23
+ i32.const $push63=, 0
+ i32.eq $push64=, $pop24, $pop63
+ br_if $pop64, 0 # 0: down to label5
# BB#9: # %land.lhs.true81
block
- i32.load8_u $push16=, 0($0)
- i32.const $push17=, 32
- i32.and $push18=, $pop16, $pop17
- i32.const $push43=, 0
- i32.eq $push44=, $pop18, $pop43
- br_if $pop44, 0 # 0: down to label6
+ i32.load8_u $push25=, 0($1)
+ i32.const $push26=, 32
+ i32.and $push27=, $pop25, $pop26
+ i32.const $push65=, 0
+ i32.eq $push66=, $pop27, $pop65
+ br_if $pop66, 0 # 0: down to label6
# BB#10: # %land.lhs.true97
block
- i32.load8_u $push19=, 0($0)
- i32.const $push20=, 16
- i32.and $push21=, $pop19, $pop20
- i32.const $push45=, 0
- i32.eq $push46=, $pop21, $pop45
- br_if $pop46, 0 # 0: down to label7
+ i32.const $push28=, 1
+ i32.add $push29=, $0, $pop28
+ tee_local $push48=, $1=, $pop29
+ i32.load8_u $push30=, 0($pop48)
+ i32.const $push31=, 16
+ i32.and $push32=, $pop30, $pop31
+ i32.const $push67=, 0
+ i32.eq $push68=, $pop32, $pop67
+ br_if $pop68, 0 # 0: down to label7
# BB#11: # %land.lhs.true113
block
- i32.load8_u $push22=, 0($0)
- i32.const $push23=, 8
- i32.and $push24=, $pop22, $pop23
- i32.const $push47=, 0
- i32.eq $push48=, $pop24, $pop47
- br_if $pop48, 0 # 0: down to label8
+ i32.load8_u $push33=, 0($1)
+ i32.const $push34=, 8
+ i32.and $push35=, $pop33, $pop34
+ i32.const $push69=, 0
+ i32.eq $push70=, $pop35, $pop69
+ br_if $pop70, 0 # 0: down to label8
# BB#12: # %land.lhs.true129
- i32.load8_u $push25=, 0($0)
- i32.and $push26=, $pop25, $1
- br_if $pop26, 8 # 8: down to label0
+ i32.const $push36=, 1
+ i32.add $push37=, $0, $pop36
+ i32.load8_u $push38=, 0($pop37)
+ i32.const $push39=, 4
+ i32.and $push40=, $pop38, $pop39
+ br_if $pop40, 8 # 8: down to label0
# BB#13: # %if.then134
call never_ever@FUNCTION, $0, $0
unreachable
@@ -204,7 +220,7 @@ bar_2: # @bar_2
.type cond,@object
.section .bss.cond,"aw",@nobits
.globl cond
- .align 2
+ .p2align 2
cond:
.int32 0 # 0x0
.size cond, 4
@@ -213,7 +229,7 @@ cond:
.type gi,@object
.section .bss.gi,"aw",@nobits
.globl gi
- .align 2
+ .p2align 2
gi:
.int32 0 # 0x0
.size gi, 4
diff --git a/test/torture-s/pr51023.c.s b/test/torture-s/pr51023.c.s
index ec8a15f28..4f01c1d1d 100644
--- a/test/torture-s/pr51023.c.s
+++ b/test/torture-s/pr51023.c.s
@@ -7,12 +7,12 @@
foo: # @foo
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 16
- i32.shl $push0=, $0, $1
- i32.shr_s $push1=, $pop0, $1
- return $pop1
+ i32.const $push0=, 16
+ i32.shl $push1=, $0, $pop0
+ i32.const $push3=, 16
+ i32.shr_s $push2=, $pop1, $pop3
+ return $pop2
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/pr51323.c.s b/test/torture-s/pr51323.c.s
new file mode 100644
index 000000000..c5c540dcf
--- /dev/null
+++ b/test/torture-s/pr51323.c.s
@@ -0,0 +1,123 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr51323.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32
+# BB#0: # %entry
+ block
+ i32.const $push2=, 9
+ i32.ne $push3=, $2, $pop2
+ br_if $pop3, 0 # 0: down to label0
+# BB#1: # %entry
+ br_if $1, 0 # 0: down to label0
+# BB#2: # %entry
+ i32.const $push1=, 0
+ i32.load $push0=, v($pop1)
+ i32.ne $push4=, $pop0, $0
+ br_if $pop4, 0 # 0: down to label0
+# BB#3: # %if.end
+ return
+.LBB0_4: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+# BB#0: # %entry
+ i32.load $push0=, 4($1)
+ i32.const $push1=, 0
+ call foo@FUNCTION, $pop0, $pop1, $0
+ return
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 48
+ i32.sub $9=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $9=, 0($2), $9
+ i32.const $push3=, 2
+ i32.store $discard=, 32($9):p2align=3, $pop3
+ i32.const $push4=, 4
+ i32.const $4=, 32
+ i32.add $4=, $9, $4
+ i32.or $push5=, $4, $pop4
+ tee_local $push23=, $0=, $pop5
+ i32.const $push1=, 0
+ i32.const $push0=, 3
+ i32.store $push2=, v($pop1), $pop0
+ i32.store $discard=, 0($pop23), $pop2
+ i32.const $push7=, 8
+ i32.const $5=, 20
+ i32.add $5=, $9, $5
+ i32.add $push8=, $5, $pop7
+ i32.const $push22=, 4
+ i32.store $push6=, 40($9):p2align=3, $pop22
+ i32.store $discard=, 0($pop8), $pop6
+ i64.load $push9=, 32($9)
+ i64.store $discard=, 20($9):p2align=2, $pop9
+ i32.const $push10=, 9
+ i32.const $6=, 20
+ i32.add $6=, $9, $6
+ call bar@FUNCTION, $pop10, $6
+ i32.const $push21=, 0
+ i32.const $push11=, 17
+ i32.store $push12=, v($pop21), $pop11
+ i32.store $discard=, 0($0), $pop12
+ i32.const $push13=, 16
+ i32.store $discard=, 32($9):p2align=3, $pop13
+ i32.const $push20=, 8
+ i32.const $7=, 8
+ i32.add $7=, $9, $7
+ i32.add $push16=, $7, $pop20
+ i32.const $push14=, 18
+ i32.store $push15=, 40($9):p2align=3, $pop14
+ i32.store $discard=, 0($pop16), $pop15
+ i64.load $push17=, 32($9)
+ i64.store $discard=, 8($9):p2align=2, $pop17
+ i32.const $push19=, 9
+ i32.const $8=, 8
+ i32.add $8=, $9, $8
+ call bar@FUNCTION, $pop19, $8
+ i32.const $push18=, 0
+ i32.const $3=, 48
+ i32.add $9=, $9, $3
+ i32.const $3=, __stack_pointer
+ i32.store $9=, 0($3), $9
+ return $pop18
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden v # @v
+ .type v,@object
+ .section .bss.v,"aw",@nobits
+ .globl v
+ .p2align 2
+v:
+ .int32 0 # 0x0
+ .size v, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr51466.c.s b/test/torture-s/pr51466.c.s
index d0efb0645..34b9b8b18 100644
--- a/test/torture-s/pr51466.c.s
+++ b/test/torture-s/pr51466.c.s
@@ -7,7 +7,7 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
i32.const $1=, __stack_pointer
i32.load $1=, 0($1)
@@ -17,8 +17,6 @@ foo: # @foo
i32.store $4=, 0($2), $4
i32.const $push0=, 2
i32.shl $push1=, $0, $pop0
- i32.const $4=, 0
- i32.add $4=, $4, $4
i32.add $push2=, $4, $pop1
i32.const $push3=, 6
i32.store $push4=, 0($pop2), $pop3
@@ -38,7 +36,7 @@ foo: # @foo
bar: # @bar
.param i32
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
i32.const $1=, __stack_pointer
i32.load $1=, 0($1)
@@ -48,19 +46,18 @@ bar: # @bar
i32.store $4=, 0($2), $4
i32.const $push0=, 2
i32.shl $push1=, $0, $pop0
- i32.const $4=, 0
- i32.add $4=, $4, $4
- i32.add $0=, $4, $pop1
- i32.const $push2=, 6
- i32.store $discard=, 0($0), $pop2
- i32.const $push3=, 8
- i32.store $discard=, 0($0), $pop3
- i32.load $push4=, 0($0)
+ i32.add $push2=, $4, $pop1
+ tee_local $push6=, $0=, $pop2
+ i32.const $push3=, 6
+ i32.store $discard=, 0($pop6), $pop3
+ i32.const $push4=, 8
+ i32.store $discard=, 0($0), $pop4
+ i32.load $push5=, 0($0)
i32.const $3=, 16
i32.add $4=, $4, $3
i32.const $3=, __stack_pointer
i32.store $4=, 0($3), $4
- return $pop4
+ return $pop5
.endfunc
.Lfunc_end1:
.size bar, .Lfunc_end1-bar
@@ -72,7 +69,7 @@ bar: # @bar
baz: # @baz
.param i32
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
i32.const $1=, __stack_pointer
i32.load $1=, 0($1)
@@ -82,19 +79,18 @@ baz: # @baz
i32.store $4=, 0($2), $4
i32.const $push0=, 2
i32.shl $push1=, $0, $pop0
- i32.const $4=, 0
- i32.add $4=, $4, $4
- i32.add $0=, $4, $pop1
- i32.const $push2=, 6
- i32.store $discard=, 0($0), $pop2
- i32.const $push3=, 8
- i32.store $discard=, 0($4), $pop3
- i32.load $push4=, 0($0)
+ i32.add $push2=, $4, $pop1
+ tee_local $push6=, $0=, $pop2
+ i32.const $push3=, 6
+ i32.store $discard=, 0($pop6), $pop3
+ i32.const $push4=, 8
+ i32.store $discard=, 0($4):p2align=4, $pop4
+ i32.load $push5=, 0($0)
i32.const $3=, 16
i32.add $4=, $4, $3
i32.const $3=, __stack_pointer
i32.store $4=, 0($3), $4
- return $pop4
+ return $pop5
.endfunc
.Lfunc_end2:
.size baz, .Lfunc_end2-baz
@@ -105,29 +101,30 @@ baz: # @baz
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
i32.const $push0=, 3
i32.call $discard=, foo@FUNCTION, $pop0
- i32.const $push1=, 2
- i32.call $1=, bar@FUNCTION, $pop1
- i32.const $0=, 8
block
- i32.ne $push2=, $1, $0
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push1=, 2
+ i32.call $push2=, bar@FUNCTION, $pop1
+ i32.const $push12=, 8
+ i32.ne $push3=, $pop2, $pop12
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %lor.lhs.false3
- i32.const $1=, 0
- i32.call $push3=, baz@FUNCTION, $1
- i32.ne $push4=, $pop3, $0
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push4=, 0
+ i32.call $push5=, baz@FUNCTION, $pop4
+ i32.const $push13=, 8
+ i32.ne $push6=, $pop5, $pop13
+ br_if $pop6, 0 # 0: down to label0
# BB#2: # %lor.lhs.false6
- i32.const $push5=, 1
- i32.call $push6=, baz@FUNCTION, $pop5
- i32.const $push7=, 6
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label0
+ i32.const $push7=, 1
+ i32.call $push8=, baz@FUNCTION, $pop7
+ i32.const $push9=, 6
+ i32.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label0
# BB#3: # %if.end
- return $1
+ i32.const $push11=, 0
+ return $pop11
.LBB3_4: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/pr51581-1.c.s b/test/torture-s/pr51581-1.c.s
index de25910c8..e29891650 100644
--- a/test/torture-s/pr51581-1.c.s
+++ b/test/torture-s/pr51581-1.c.s
@@ -5,26 +5,19 @@
.globl f1
.type f1,@function
f1: # @f1
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 3
- i32.div_s $1=, $pop3, $pop4
- i32.const $push5=, c
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label0
+ i32.load $push0=, a+16384($0)
+ i32.const $push3=, 3
+ i32.div_s $push1=, $pop0, $pop3
+ i32.store $discard=, c+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label0
# BB#2: # %for.end
end_loop # label1:
return
@@ -37,26 +30,19 @@ f1: # @f1
.globl f2
.type f2,@function
f2: # @f2
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.const $0=, 16384
- i32.const $push0=, b
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 3
- i32.div_u $1=, $pop3, $pop4
- i32.const $push5=, d
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label2
+ i32.load $push0=, b+16384($0)
+ i32.const $push3=, 3
+ i32.div_u $push1=, $pop0, $pop3
+ i32.store $discard=, d+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label2
# BB#2: # %for.end
end_loop # label3:
return
@@ -69,26 +55,19 @@ f2: # @f2
.globl f3
.type f3,@function
f3: # @f3
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB2_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 18
- i32.div_s $1=, $pop3, $pop4
- i32.const $push5=, c
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label4
+ i32.load $push0=, a+16384($0)
+ i32.const $push3=, 18
+ i32.div_s $push1=, $pop0, $pop3
+ i32.store $discard=, c+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label4
# BB#2: # %for.end
end_loop # label5:
return
@@ -101,26 +80,19 @@ f3: # @f3
.globl f4
.type f4,@function
f4: # @f4
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB3_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label6:
- i32.const $0=, 16384
- i32.const $push0=, b
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 18
- i32.div_u $1=, $pop3, $pop4
- i32.const $push5=, d
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label6
+ i32.load $push0=, b+16384($0)
+ i32.const $push3=, 18
+ i32.div_u $push1=, $pop0, $pop3
+ i32.store $discard=, d+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label6
# BB#2: # %for.end
end_loop # label7:
return
@@ -133,26 +105,19 @@ f4: # @f4
.globl f5
.type f5,@function
f5: # @f5
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB4_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label8:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 19
- i32.div_s $1=, $pop3, $pop4
- i32.const $push5=, c
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label8
+ i32.load $push0=, a+16384($0)
+ i32.const $push3=, 19
+ i32.div_s $push1=, $pop0, $pop3
+ i32.store $discard=, c+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label8
# BB#2: # %for.end
end_loop # label9:
return
@@ -165,26 +130,19 @@ f5: # @f5
.globl f6
.type f6,@function
f6: # @f6
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB5_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label10:
- i32.const $0=, 16384
- i32.const $push0=, b
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 19
- i32.div_u $1=, $pop3, $pop4
- i32.const $push5=, d
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label10
+ i32.load $push0=, b+16384($0)
+ i32.const $push3=, 19
+ i32.div_u $push1=, $pop0, $pop3
+ i32.store $discard=, d+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label10
# BB#2: # %for.end
end_loop # label11:
return
@@ -197,33 +155,27 @@ f6: # @f6
.globl f7
.type f7,@function
f7: # @f7
- .local i32, i32, i64, i32
+ .local i32, i32
# BB#0: # %entry
- i64.const $2=, 1431655766
- i32.const $3=, -16384
+ i32.const $0=, -16384
.LBB6_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label12:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $3
- i32.add $push2=, $pop1, $0
- i32.load $1=, 0($pop2)
- i32.const $push11=, c
- i32.add $push12=, $pop11, $3
- i32.add $push13=, $pop12, $0
- i64.extend_s/i32 $push3=, $1
- i64.mul $push4=, $pop3, $2
- i64.const $push5=, 32
- i64.shr_u $push6=, $pop4, $pop5
- i32.wrap/i64 $push7=, $pop6
+ i32.load $push0=, a+16384($0)
+ tee_local $push11=, $1=, $pop0
+ i64.extend_s/i32 $push1=, $pop11
+ i64.const $push10=, 1431655766
+ i64.mul $push2=, $pop1, $pop10
+ i64.const $push9=, 32
+ i64.shr_u $push3=, $pop2, $pop9
+ i32.wrap/i64 $push4=, $pop3
i32.const $push8=, 31
- i32.shr_s $push9=, $1, $pop8
- i32.sub $push10=, $pop7, $pop9
- i32.store $discard=, 0($pop13), $pop10
- i32.const $push14=, 4
- i32.add $3=, $3, $pop14
- br_if $3, 0 # 0: up to label12
+ i32.shr_s $push5=, $1, $pop8
+ i32.sub $push6=, $pop4, $pop5
+ i32.store $discard=, c+16384($0), $pop6
+ i32.const $push7=, 4
+ i32.add $0=, $0, $pop7
+ br_if $0, 0 # 0: up to label12
# BB#2: # %for.end
end_loop # label13:
return
@@ -236,28 +188,21 @@ f7: # @f7
.globl f8
.type f8,@function
f8: # @f8
- .local i32, i64, i32
+ .local i32
# BB#0: # %entry
- i64.const $1=, 2863311531
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB7_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label14:
- i32.const $0=, 16384
- i32.const $push7=, d
- i32.add $push8=, $pop7, $2
- i32.add $push9=, $pop8, $0
- i32.const $push0=, b
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i64.load32_u $push3=, 0($pop2)
- i64.mul $push4=, $pop3, $1
- i64.const $push5=, 33
- i64.shr_u $push6=, $pop4, $pop5
- i64.store32 $discard=, 0($pop9), $pop6
- i32.const $push10=, 4
- i32.add $2=, $2, $pop10
- br_if $2, 0 # 0: up to label14
+ i64.load32_u $push0=, b+16384($0)
+ i64.const $push5=, 2863311531
+ i64.mul $push1=, $pop0, $pop5
+ i64.const $push4=, 33
+ i64.shr_u $push2=, $pop1, $pop4
+ i64.store32 $discard=, d+16384($0), $pop2
+ i32.const $push3=, 4
+ i32.add $0=, $0, $pop3
+ br_if $0, 0 # 0: up to label14
# BB#2: # %for.end
end_loop # label15:
return
@@ -270,33 +215,27 @@ f8: # @f8
.globl f9
.type f9,@function
f9: # @f9
- .local i32, i32, i64, i32
+ .local i32, i32
# BB#0: # %entry
- i64.const $2=, 954437177
- i32.const $3=, -16384
+ i32.const $0=, -16384
.LBB8_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label16:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $3
- i32.add $push2=, $pop1, $0
- i32.load $1=, 0($pop2)
- i32.const $push11=, c
- i32.add $push12=, $pop11, $3
- i32.add $push13=, $pop12, $0
- i64.extend_s/i32 $push3=, $1
- i64.mul $push4=, $pop3, $2
- i64.const $push5=, 34
- i64.shr_s $push6=, $pop4, $pop5
- i32.wrap/i64 $push7=, $pop6
+ i32.load $push0=, a+16384($0)
+ tee_local $push11=, $1=, $pop0
+ i64.extend_s/i32 $push1=, $pop11
+ i64.const $push10=, 954437177
+ i64.mul $push2=, $pop1, $pop10
+ i64.const $push9=, 34
+ i64.shr_s $push3=, $pop2, $pop9
+ i32.wrap/i64 $push4=, $pop3
i32.const $push8=, 31
- i32.shr_s $push9=, $1, $pop8
- i32.sub $push10=, $pop7, $pop9
- i32.store $discard=, 0($pop13), $pop10
- i32.const $push14=, 4
- i32.add $3=, $3, $pop14
- br_if $3, 0 # 0: up to label16
+ i32.shr_s $push5=, $1, $pop8
+ i32.sub $push6=, $pop4, $pop5
+ i32.store $discard=, c+16384($0), $pop6
+ i32.const $push7=, 4
+ i32.add $0=, $0, $pop7
+ br_if $0, 0 # 0: up to label16
# BB#2: # %for.end
end_loop # label17:
return
@@ -309,28 +248,21 @@ f9: # @f9
.globl f10
.type f10,@function
f10: # @f10
- .local i32, i64, i32
+ .local i32
# BB#0: # %entry
- i64.const $1=, 954437177
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB9_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label18:
- i32.const $0=, 16384
- i32.const $push7=, d
- i32.add $push8=, $pop7, $2
- i32.add $push9=, $pop8, $0
- i32.const $push0=, b
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i64.load32_u $push3=, 0($pop2)
- i64.mul $push4=, $pop3, $1
- i64.const $push5=, 34
- i64.shr_u $push6=, $pop4, $pop5
- i64.store32 $discard=, 0($pop9), $pop6
- i32.const $push10=, 4
- i32.add $2=, $2, $pop10
- br_if $2, 0 # 0: up to label18
+ i64.load32_u $push0=, b+16384($0)
+ i64.const $push5=, 954437177
+ i64.mul $push1=, $pop0, $pop5
+ i64.const $push4=, 34
+ i64.shr_u $push2=, $pop1, $pop4
+ i64.store32 $discard=, d+16384($0), $pop2
+ i32.const $push3=, 4
+ i32.add $0=, $0, $pop3
+ br_if $0, 0 # 0: up to label18
# BB#2: # %for.end
end_loop # label19:
return
@@ -343,33 +275,27 @@ f10: # @f10
.globl f11
.type f11,@function
f11: # @f11
- .local i32, i32, i64, i32
+ .local i32, i32
# BB#0: # %entry
- i64.const $2=, 1808407283
- i32.const $3=, -16384
+ i32.const $0=, -16384
.LBB10_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label20:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $3
- i32.add $push2=, $pop1, $0
- i32.load $1=, 0($pop2)
- i32.const $push11=, c
- i32.add $push12=, $pop11, $3
- i32.add $push13=, $pop12, $0
- i64.extend_s/i32 $push3=, $1
- i64.mul $push4=, $pop3, $2
- i64.const $push5=, 35
- i64.shr_s $push6=, $pop4, $pop5
- i32.wrap/i64 $push7=, $pop6
+ i32.load $push0=, a+16384($0)
+ tee_local $push11=, $1=, $pop0
+ i64.extend_s/i32 $push1=, $pop11
+ i64.const $push10=, 1808407283
+ i64.mul $push2=, $pop1, $pop10
+ i64.const $push9=, 35
+ i64.shr_s $push3=, $pop2, $pop9
+ i32.wrap/i64 $push4=, $pop3
i32.const $push8=, 31
- i32.shr_s $push9=, $1, $pop8
- i32.sub $push10=, $pop7, $pop9
- i32.store $discard=, 0($pop13), $pop10
- i32.const $push14=, 4
- i32.add $3=, $3, $pop14
- br_if $3, 0 # 0: up to label20
+ i32.shr_s $push5=, $1, $pop8
+ i32.sub $push6=, $pop4, $pop5
+ i32.store $discard=, c+16384($0), $pop6
+ i32.const $push7=, 4
+ i32.add $0=, $0, $pop7
+ br_if $0, 0 # 0: up to label20
# BB#2: # %for.end
end_loop # label21:
return
@@ -382,35 +308,30 @@ f11: # @f11
.globl f12
.type f12,@function
f12: # @f12
- .local i32, i32, i64, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i64.const $2=, 2938661835
- i32.const $5=, -16384
+ i32.const $1=, -16384
.LBB11_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label22:
- i32.const $0=, 16384
- i32.const $push0=, b
- i32.add $push1=, $pop0, $5
- i32.add $push2=, $pop1, $0
- i32.load $1=, 0($pop2)
- i64.extend_u/i32 $push3=, $1
- i64.mul $push4=, $pop3, $2
- i64.const $push5=, 32
- i64.shr_u $push6=, $pop4, $pop5
- i32.wrap/i64 $3=, $pop6
- i32.const $4=, 4
- i32.const $push12=, d
- i32.add $push13=, $pop12, $5
- i32.add $push14=, $pop13, $0
- i32.sub $push7=, $1, $3
- i32.const $push8=, 1
- i32.shr_u $push9=, $pop7, $pop8
- i32.add $push10=, $pop9, $3
- i32.shr_u $push11=, $pop10, $4
- i32.store $discard=, 0($pop14), $pop11
- i32.add $5=, $5, $4
- br_if $5, 0 # 0: up to label22
+ i32.load $0=, b+16384($1)
+ i64.extend_u/i32 $push0=, $0
+ i64.const $push13=, 2938661835
+ i64.mul $push1=, $pop0, $pop13
+ i64.const $push12=, 32
+ i64.shr_u $push2=, $pop1, $pop12
+ i32.wrap/i64 $push3=, $pop2
+ tee_local $push11=, $2=, $pop3
+ i32.sub $push4=, $0, $pop11
+ i32.const $push10=, 1
+ i32.shr_u $push5=, $pop4, $pop10
+ i32.add $push6=, $pop5, $2
+ i32.const $push9=, 4
+ i32.shr_u $push7=, $pop6, $pop9
+ i32.store $discard=, d+16384($1), $pop7
+ i32.const $push8=, 4
+ i32.add $1=, $1, $pop8
+ br_if $1, 0 # 0: up to label22
# BB#2: # %for.end
end_loop # label23:
return
@@ -424,241 +345,238 @@ f12: # @f12
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $6=, 0
- i32.const $4=, -16384
+ i32.const $0=, 0
+ i32.const $1=, -16384
.LBB12_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label24:
#APP
#NO_APP
- i32.const $0=, a
- i32.const $2=, 16384
- i32.add $push2=, $0, $4
- i32.add $push3=, $pop2, $2
- i32.const $push0=, -2048
- i32.add $push1=, $6, $pop0
- i32.store $discard=, 0($pop3), $pop1
- i32.const $1=, b
- i32.add $push4=, $1, $4
- i32.add $push5=, $pop4, $2
- i32.store $3=, 0($pop5), $6
- i32.const $2=, 1
- i32.add $6=, $3, $2
- i32.const $3=, 4
- i32.add $4=, $4, $3
- br_if $4, 0 # 0: up to label24
+ i32.const $push63=, -2048
+ i32.add $push0=, $0, $pop63
+ i32.store $discard=, a+16384($1), $pop0
+ i32.store $push1=, b+16384($1), $0
+ i32.const $push62=, 1
+ i32.add $0=, $pop1, $pop62
+ i32.const $push61=, 4
+ i32.add $1=, $1, $pop61
+ br_if $1, 0 # 0: up to label24
# BB#2: # %for.end
end_loop # label25:
- i32.const $10=, 0
- i32.const $push6=, -2147483648
- i32.store $discard=, a($10), $pop6
- i32.const $push7=, -2147483647
- i32.store $discard=, a+4($10), $pop7
- i32.const $push8=, 2147483647
- i32.store $discard=, a+16380($10), $pop8
- i32.const $push9=, -1
- i32.store $discard=, b+16380($10), $pop9
+ i32.const $1=, 0
+ i32.const $push67=, 0
+ i32.const $push2=, -2147483648
+ i32.store $discard=, a($pop67):p2align=4, $pop2
+ i32.const $push66=, 0
+ i32.const $push3=, -2147483647
+ i32.store $discard=, a+4($pop66), $pop3
+ i32.const $push65=, 0
+ i32.const $push4=, 2147483647
+ i32.store $discard=, a+16380($pop65), $pop4
+ i32.const $push64=, 0
+ i32.const $push5=, -1
+ i32.store $discard=, b+16380($pop64), $pop5
call f1@FUNCTION
call f2@FUNCTION
- copy_local $8=, $10
+ i32.const $0=, 0
.LBB12_3: # %for.body4
# =>This Inner Loop Header: Depth=1
block
loop # label27:
- i32.const $4=, c
- i32.const $5=, 3
- i32.add $push10=, $4, $10
- i32.load $push11=, 0($pop10)
- i32.add $push12=, $0, $10
- i32.load $push13=, 0($pop12)
- i32.div_s $push14=, $pop13, $5
- i32.ne $push15=, $pop11, $pop14
- br_if $pop15, 2 # 2: down to label26
+ i32.load $push6=, c($1)
+ i32.load $push7=, a($1)
+ i32.const $push71=, 3
+ i32.div_s $push8=, $pop7, $pop71
+ i32.ne $push9=, $pop6, $pop8
+ br_if $pop9, 2 # 2: down to label26
# BB#4: # %lor.lhs.false
# in Loop: Header=BB12_3 Depth=1
- i32.const $6=, d
- i32.add $push16=, $6, $10
- i32.load $push17=, 0($pop16)
- i32.add $push18=, $1, $10
- i32.load $push19=, 0($pop18)
- i32.div_u $push20=, $pop19, $5
- i32.ne $push21=, $pop17, $pop20
- br_if $pop21, 2 # 2: down to label26
+ i32.load $push10=, d($1)
+ i32.load $push11=, b($1)
+ i32.const $push72=, 3
+ i32.div_u $push12=, $pop11, $pop72
+ i32.ne $push13=, $pop10, $pop12
+ br_if $pop13, 2 # 2: down to label26
# BB#5: # %for.cond2
# in Loop: Header=BB12_3 Depth=1
- i32.add $8=, $8, $2
- i32.add $10=, $10, $3
- i32.const $7=, 4095
- i32.le_s $push22=, $8, $7
- br_if $pop22, 0 # 0: up to label27
+ i32.const $push70=, 1
+ i32.add $0=, $0, $pop70
+ i32.const $push69=, 4
+ i32.add $1=, $1, $pop69
+ i32.const $push68=, 4095
+ i32.le_s $push14=, $0, $pop68
+ br_if $pop14, 0 # 0: up to label27
# BB#6: # %for.end14
end_loop # label28:
call f3@FUNCTION
call f4@FUNCTION
- i32.const $10=, 0
- copy_local $9=, $10
+ i32.const $1=, 0
+ i32.const $0=, 0
.LBB12_7: # %for.body17
# =>This Inner Loop Header: Depth=1
block
loop # label30:
- i32.const $8=, 18
- i32.add $push23=, $4, $10
- i32.load $push24=, 0($pop23)
- i32.add $push25=, $0, $10
- i32.load $push26=, 0($pop25)
- i32.div_s $push27=, $pop26, $8
- i32.ne $push28=, $pop24, $pop27
- br_if $pop28, 2 # 2: down to label29
+ i32.load $push15=, c($1)
+ i32.load $push16=, a($1)
+ i32.const $push76=, 18
+ i32.div_s $push17=, $pop16, $pop76
+ i32.ne $push18=, $pop15, $pop17
+ br_if $pop18, 2 # 2: down to label29
# BB#8: # %lor.lhs.false22
# in Loop: Header=BB12_7 Depth=1
- i32.add $push29=, $6, $10
- i32.load $push30=, 0($pop29)
- i32.add $push31=, $1, $10
- i32.load $push32=, 0($pop31)
- i32.div_u $push33=, $pop32, $8
- i32.ne $push34=, $pop30, $pop33
- br_if $pop34, 2 # 2: down to label29
+ i32.load $push19=, d($1)
+ i32.load $push20=, b($1)
+ i32.const $push77=, 18
+ i32.div_u $push21=, $pop20, $pop77
+ i32.ne $push22=, $pop19, $pop21
+ br_if $pop22, 2 # 2: down to label29
# BB#9: # %for.cond15
# in Loop: Header=BB12_7 Depth=1
- i32.add $9=, $9, $2
- i32.add $10=, $10, $3
- i32.le_s $push35=, $9, $7
- br_if $pop35, 0 # 0: up to label30
+ i32.const $push75=, 1
+ i32.add $0=, $0, $pop75
+ i32.const $push74=, 4
+ i32.add $1=, $1, $pop74
+ i32.const $push73=, 4095
+ i32.le_s $push23=, $0, $pop73
+ br_if $pop23, 0 # 0: up to label30
# BB#10: # %for.end31
end_loop # label31:
call f5@FUNCTION
call f6@FUNCTION
- i32.const $10=, 0
- copy_local $11=, $10
+ i32.const $1=, 0
+ i32.const $0=, 0
.LBB12_11: # %for.body34
# =>This Inner Loop Header: Depth=1
block
loop # label33:
- i32.const $9=, 19
- i32.add $push36=, $4, $10
- i32.load $push37=, 0($pop36)
- i32.add $push38=, $0, $10
- i32.load $push39=, 0($pop38)
- i32.div_s $push40=, $pop39, $9
- i32.ne $push41=, $pop37, $pop40
- br_if $pop41, 2 # 2: down to label32
+ i32.load $push24=, c($1)
+ i32.load $push25=, a($1)
+ i32.const $push81=, 19
+ i32.div_s $push26=, $pop25, $pop81
+ i32.ne $push27=, $pop24, $pop26
+ br_if $pop27, 2 # 2: down to label32
# BB#12: # %lor.lhs.false39
# in Loop: Header=BB12_11 Depth=1
- i32.add $push42=, $6, $10
- i32.load $push43=, 0($pop42)
- i32.add $push44=, $1, $10
- i32.load $push45=, 0($pop44)
- i32.div_u $push46=, $pop45, $9
- i32.ne $push47=, $pop43, $pop46
- br_if $pop47, 2 # 2: down to label32
+ i32.load $push28=, d($1)
+ i32.load $push29=, b($1)
+ i32.const $push82=, 19
+ i32.div_u $push30=, $pop29, $pop82
+ i32.ne $push31=, $pop28, $pop30
+ br_if $pop31, 2 # 2: down to label32
# BB#13: # %for.cond32
# in Loop: Header=BB12_11 Depth=1
- i32.add $11=, $11, $2
- i32.add $10=, $10, $3
- i32.le_s $push48=, $11, $7
- br_if $pop48, 0 # 0: up to label33
+ i32.const $push80=, 1
+ i32.add $0=, $0, $pop80
+ i32.const $push79=, 4
+ i32.add $1=, $1, $pop79
+ i32.const $push78=, 4095
+ i32.le_s $push32=, $0, $pop78
+ br_if $pop32, 0 # 0: up to label33
# BB#14: # %for.end48
end_loop # label34:
call f7@FUNCTION
call f8@FUNCTION
- i32.const $10=, 0
- copy_local $11=, $10
+ i32.const $1=, 0
+ i32.const $0=, 0
.LBB12_15: # %for.body51
# =>This Inner Loop Header: Depth=1
block
loop # label36:
- i32.add $push49=, $4, $10
- i32.load $push50=, 0($pop49)
- i32.add $push51=, $0, $10
- i32.load $push52=, 0($pop51)
- i32.div_s $push53=, $pop52, $5
- i32.ne $push54=, $pop50, $pop53
- br_if $pop54, 2 # 2: down to label35
+ i32.load $push33=, c($1)
+ i32.load $push34=, a($1)
+ i32.const $push86=, 3
+ i32.div_s $push35=, $pop34, $pop86
+ i32.ne $push36=, $pop33, $pop35
+ br_if $pop36, 2 # 2: down to label35
# BB#16: # %lor.lhs.false56
# in Loop: Header=BB12_15 Depth=1
- i32.add $push55=, $6, $10
- i32.load $push56=, 0($pop55)
- i32.add $push57=, $1, $10
- i32.load $push58=, 0($pop57)
- i32.div_u $push59=, $pop58, $5
- i32.ne $push60=, $pop56, $pop59
- br_if $pop60, 2 # 2: down to label35
+ i32.load $push37=, d($1)
+ i32.load $push38=, b($1)
+ i32.const $push87=, 3
+ i32.div_u $push39=, $pop38, $pop87
+ i32.ne $push40=, $pop37, $pop39
+ br_if $pop40, 2 # 2: down to label35
# BB#17: # %for.cond49
# in Loop: Header=BB12_15 Depth=1
- i32.add $11=, $11, $2
- i32.add $10=, $10, $3
- i32.le_s $push61=, $11, $7
- br_if $pop61, 0 # 0: up to label36
+ i32.const $push85=, 1
+ i32.add $0=, $0, $pop85
+ i32.const $push84=, 4
+ i32.add $1=, $1, $pop84
+ i32.const $push83=, 4095
+ i32.le_s $push41=, $0, $pop83
+ br_if $pop41, 0 # 0: up to label36
# BB#18: # %for.end65
end_loop # label37:
call f9@FUNCTION
call f10@FUNCTION
- i32.const $10=, 0
- copy_local $5=, $10
+ i32.const $1=, 0
+ i32.const $0=, 0
.LBB12_19: # %for.body68
# =>This Inner Loop Header: Depth=1
block
loop # label39:
- i32.add $push62=, $4, $10
- i32.load $push63=, 0($pop62)
- i32.add $push64=, $0, $10
- i32.load $push65=, 0($pop64)
- i32.div_s $push66=, $pop65, $8
- i32.ne $push67=, $pop63, $pop66
- br_if $pop67, 2 # 2: down to label38
+ i32.load $push42=, c($1)
+ i32.load $push43=, a($1)
+ i32.const $push91=, 18
+ i32.div_s $push44=, $pop43, $pop91
+ i32.ne $push45=, $pop42, $pop44
+ br_if $pop45, 2 # 2: down to label38
# BB#20: # %lor.lhs.false73
# in Loop: Header=BB12_19 Depth=1
- i32.add $push68=, $6, $10
- i32.load $push69=, 0($pop68)
- i32.add $push70=, $1, $10
- i32.load $push71=, 0($pop70)
- i32.div_u $push72=, $pop71, $8
- i32.ne $push73=, $pop69, $pop72
- br_if $pop73, 2 # 2: down to label38
+ i32.load $push46=, d($1)
+ i32.load $push47=, b($1)
+ i32.const $push92=, 18
+ i32.div_u $push48=, $pop47, $pop92
+ i32.ne $push49=, $pop46, $pop48
+ br_if $pop49, 2 # 2: down to label38
# BB#21: # %for.cond66
# in Loop: Header=BB12_19 Depth=1
- i32.add $5=, $5, $2
- i32.add $10=, $10, $3
- i32.le_s $push74=, $5, $7
- br_if $pop74, 0 # 0: up to label39
+ i32.const $push90=, 1
+ i32.add $0=, $0, $pop90
+ i32.const $push89=, 4
+ i32.add $1=, $1, $pop89
+ i32.const $push88=, 4095
+ i32.le_s $push50=, $0, $pop88
+ br_if $pop50, 0 # 0: up to label39
# BB#22: # %for.end82
end_loop # label40:
call f11@FUNCTION
call f12@FUNCTION
- i32.const $10=, 0
- copy_local $5=, $10
+ i32.const $1=, 0
+ i32.const $0=, 0
.LBB12_23: # %for.body85
# =>This Inner Loop Header: Depth=1
block
loop # label42:
- i32.add $push75=, $4, $10
- i32.load $push76=, 0($pop75)
- i32.add $push77=, $0, $10
- i32.load $push78=, 0($pop77)
- i32.div_s $push79=, $pop78, $9
- i32.ne $push80=, $pop76, $pop79
- br_if $pop80, 2 # 2: down to label41
+ i32.load $push51=, c($1)
+ i32.load $push52=, a($1)
+ i32.const $push96=, 19
+ i32.div_s $push53=, $pop52, $pop96
+ i32.ne $push54=, $pop51, $pop53
+ br_if $pop54, 2 # 2: down to label41
# BB#24: # %lor.lhs.false90
# in Loop: Header=BB12_23 Depth=1
- i32.add $push81=, $6, $10
- i32.load $push82=, 0($pop81)
- i32.add $push83=, $1, $10
- i32.load $push84=, 0($pop83)
- i32.div_u $push85=, $pop84, $9
- i32.ne $push86=, $pop82, $pop85
- br_if $pop86, 2 # 2: down to label41
+ i32.load $push55=, d($1)
+ i32.load $push56=, b($1)
+ i32.const $push97=, 19
+ i32.div_u $push57=, $pop56, $pop97
+ i32.ne $push58=, $pop55, $pop57
+ br_if $pop58, 2 # 2: down to label41
# BB#25: # %for.cond83
# in Loop: Header=BB12_23 Depth=1
- i32.add $5=, $5, $2
- i32.add $10=, $10, $3
- i32.le_s $push87=, $5, $7
- br_if $pop87, 0 # 0: up to label42
+ i32.const $push95=, 1
+ i32.add $0=, $0, $pop95
+ i32.const $push94=, 4
+ i32.add $1=, $1, $pop94
+ i32.const $push93=, 4095
+ i32.le_s $push59=, $0, $pop93
+ br_if $pop59, 0 # 0: up to label42
# BB#26: # %for.end99
end_loop # label43:
- i32.const $push88=, 0
- return $pop88
+ i32.const $push60=, 0
+ return $pop60
.LBB12_27: # %if.then95
end_block # label41:
call abort@FUNCTION
@@ -691,7 +609,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 16384
.size a, 16384
@@ -700,7 +618,7 @@ a:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 4
+ .p2align 4
c:
.skip 16384
.size c, 16384
@@ -709,7 +627,7 @@ c:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 4
+ .p2align 4
b:
.skip 16384
.size b, 16384
@@ -718,7 +636,7 @@ b:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 4
+ .p2align 4
d:
.skip 16384
.size d, 16384
diff --git a/test/torture-s/pr51581-2.c.s b/test/torture-s/pr51581-2.c.s
index 9a7c63ff2..748633fd8 100644
--- a/test/torture-s/pr51581-2.c.s
+++ b/test/torture-s/pr51581-2.c.s
@@ -5,26 +5,19 @@
.globl f1
.type f1,@function
f1: # @f1
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 3
- i32.rem_s $1=, $pop3, $pop4
- i32.const $push5=, c
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label0
+ i32.load $push0=, a+16384($0)
+ i32.const $push3=, 3
+ i32.rem_s $push1=, $pop0, $pop3
+ i32.store $discard=, c+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label0
# BB#2: # %for.end
end_loop # label1:
return
@@ -37,26 +30,19 @@ f1: # @f1
.globl f2
.type f2,@function
f2: # @f2
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.const $0=, 16384
- i32.const $push0=, b
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 3
- i32.rem_u $1=, $pop3, $pop4
- i32.const $push5=, d
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label2
+ i32.load $push0=, b+16384($0)
+ i32.const $push3=, 3
+ i32.rem_u $push1=, $pop0, $pop3
+ i32.store $discard=, d+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label2
# BB#2: # %for.end
end_loop # label3:
return
@@ -69,26 +55,19 @@ f2: # @f2
.globl f3
.type f3,@function
f3: # @f3
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB2_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 18
- i32.rem_s $1=, $pop3, $pop4
- i32.const $push5=, c
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label4
+ i32.load $push0=, a+16384($0)
+ i32.const $push3=, 18
+ i32.rem_s $push1=, $pop0, $pop3
+ i32.store $discard=, c+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label4
# BB#2: # %for.end
end_loop # label5:
return
@@ -101,26 +80,19 @@ f3: # @f3
.globl f4
.type f4,@function
f4: # @f4
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB3_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label6:
- i32.const $0=, 16384
- i32.const $push0=, b
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 18
- i32.rem_u $1=, $pop3, $pop4
- i32.const $push5=, d
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label6
+ i32.load $push0=, b+16384($0)
+ i32.const $push3=, 18
+ i32.rem_u $push1=, $pop0, $pop3
+ i32.store $discard=, d+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label6
# BB#2: # %for.end
end_loop # label7:
return
@@ -133,26 +105,19 @@ f4: # @f4
.globl f5
.type f5,@function
f5: # @f5
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB4_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label8:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 19
- i32.rem_s $1=, $pop3, $pop4
- i32.const $push5=, c
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label8
+ i32.load $push0=, a+16384($0)
+ i32.const $push3=, 19
+ i32.rem_s $push1=, $pop0, $pop3
+ i32.store $discard=, c+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label8
# BB#2: # %for.end
end_loop # label9:
return
@@ -165,26 +130,19 @@ f5: # @f5
.globl f6
.type f6,@function
f6: # @f6
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, -16384
+ i32.const $0=, -16384
.LBB5_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label10:
- i32.const $0=, 16384
- i32.const $push0=, b
- i32.add $push1=, $pop0, $2
- i32.add $push2=, $pop1, $0
- i32.load $push3=, 0($pop2)
- i32.const $push4=, 19
- i32.rem_u $1=, $pop3, $pop4
- i32.const $push5=, d
- i32.add $push6=, $pop5, $2
- i32.add $push7=, $pop6, $0
- i32.store $discard=, 0($pop7), $1
- i32.const $push8=, 4
- i32.add $2=, $2, $pop8
- br_if $2, 0 # 0: up to label10
+ i32.load $push0=, b+16384($0)
+ i32.const $push3=, 19
+ i32.rem_u $push1=, $pop0, $pop3
+ i32.store $discard=, d+16384($0), $pop1
+ i32.const $push2=, 4
+ i32.add $0=, $0, $pop2
+ br_if $0, 0 # 0: up to label10
# BB#2: # %for.end
end_loop # label11:
return
@@ -197,36 +155,30 @@ f6: # @f6
.globl f7
.type f7,@function
f7: # @f7
- .local i32, i32, i64, i32
+ .local i32, i32
# BB#0: # %entry
- i64.const $2=, 1431655766
- i32.const $3=, -16384
+ i32.const $0=, -16384
.LBB6_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label12:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $3
- i32.add $push2=, $pop1, $0
- i32.load $1=, 0($pop2)
- i32.const $push14=, c
- i32.add $push15=, $pop14, $3
- i32.add $push16=, $pop15, $0
- i64.extend_s/i32 $push3=, $1
- i64.mul $push4=, $pop3, $2
- i64.const $push5=, 32
- i64.shr_u $push6=, $pop4, $pop5
- i32.wrap/i64 $push7=, $pop6
- i32.const $push8=, 31
- i32.shr_s $push9=, $1, $pop8
- i32.sub $push10=, $pop7, $pop9
- i32.const $push11=, -3
- i32.mul $push12=, $pop10, $pop11
- i32.add $push13=, $pop12, $1
- i32.store $discard=, 0($pop16), $pop13
- i32.const $push17=, 4
- i32.add $3=, $3, $pop17
- br_if $3, 0 # 0: up to label12
+ i32.load $push0=, a+16384($0)
+ tee_local $push14=, $1=, $pop0
+ i64.extend_s/i32 $push1=, $pop14
+ i64.const $push13=, 1431655766
+ i64.mul $push2=, $pop1, $pop13
+ i64.const $push12=, 32
+ i64.shr_u $push3=, $pop2, $pop12
+ i32.wrap/i64 $push4=, $pop3
+ i32.const $push11=, 31
+ i32.shr_s $push5=, $1, $pop11
+ i32.sub $push6=, $pop4, $pop5
+ i32.const $push10=, -3
+ i32.mul $push7=, $pop6, $pop10
+ i32.add $push8=, $pop7, $1
+ i32.store $discard=, c+16384($0), $pop8
+ i32.const $push9=, 4
+ i32.add $0=, $0, $pop9
+ br_if $0, 0 # 0: up to label12
# BB#2: # %for.end
end_loop # label13:
return
@@ -239,33 +191,27 @@ f7: # @f7
.globl f8
.type f8,@function
f8: # @f8
- .local i32, i32, i64, i32
+ .local i32, i32
# BB#0: # %entry
- i64.const $2=, 2863311531
- i32.const $3=, -16384
+ i32.const $0=, -16384
.LBB7_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label14:
- i32.const $0=, 16384
- i32.const $push0=, b
- i32.add $push1=, $pop0, $3
- i32.add $push2=, $pop1, $0
- i32.load $1=, 0($pop2)
- i32.const $push11=, d
- i32.add $push12=, $pop11, $3
- i32.add $push13=, $pop12, $0
- i64.extend_u/i32 $push3=, $1
- i64.mul $push4=, $pop3, $2
- i64.const $push5=, 33
- i64.shr_u $push6=, $pop4, $pop5
- i32.wrap/i64 $push7=, $pop6
+ i32.load $push0=, b+16384($0)
+ tee_local $push11=, $1=, $pop0
+ i64.extend_u/i32 $push1=, $pop11
+ i64.const $push10=, 2863311531
+ i64.mul $push2=, $pop1, $pop10
+ i64.const $push9=, 33
+ i64.shr_u $push3=, $pop2, $pop9
+ i32.wrap/i64 $push4=, $pop3
i32.const $push8=, -3
- i32.mul $push9=, $pop7, $pop8
- i32.add $push10=, $pop9, $1
- i32.store $discard=, 0($pop13), $pop10
- i32.const $push14=, 4
- i32.add $3=, $3, $pop14
- br_if $3, 0 # 0: up to label14
+ i32.mul $push5=, $pop4, $pop8
+ i32.add $push6=, $pop5, $1
+ i32.store $discard=, d+16384($0), $pop6
+ i32.const $push7=, 4
+ i32.add $0=, $0, $pop7
+ br_if $0, 0 # 0: up to label14
# BB#2: # %for.end
end_loop # label15:
return
@@ -278,36 +224,30 @@ f8: # @f8
.globl f9
.type f9,@function
f9: # @f9
- .local i32, i32, i64, i32
+ .local i32, i32
# BB#0: # %entry
- i64.const $2=, 954437177
- i32.const $3=, -16384
+ i32.const $0=, -16384
.LBB8_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label16:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $3
- i32.add $push2=, $pop1, $0
- i32.load $1=, 0($pop2)
- i32.const $push14=, c
- i32.add $push15=, $pop14, $3
- i32.add $push16=, $pop15, $0
- i64.extend_s/i32 $push3=, $1
- i64.mul $push4=, $pop3, $2
- i64.const $push5=, 34
- i64.shr_s $push6=, $pop4, $pop5
- i32.wrap/i64 $push7=, $pop6
- i32.const $push8=, 31
- i32.shr_s $push9=, $1, $pop8
- i32.sub $push10=, $pop7, $pop9
- i32.const $push11=, -18
- i32.mul $push12=, $pop10, $pop11
- i32.add $push13=, $pop12, $1
- i32.store $discard=, 0($pop16), $pop13
- i32.const $push17=, 4
- i32.add $3=, $3, $pop17
- br_if $3, 0 # 0: up to label16
+ i32.load $push0=, a+16384($0)
+ tee_local $push14=, $1=, $pop0
+ i64.extend_s/i32 $push1=, $pop14
+ i64.const $push13=, 954437177
+ i64.mul $push2=, $pop1, $pop13
+ i64.const $push12=, 34
+ i64.shr_s $push3=, $pop2, $pop12
+ i32.wrap/i64 $push4=, $pop3
+ i32.const $push11=, 31
+ i32.shr_s $push5=, $1, $pop11
+ i32.sub $push6=, $pop4, $pop5
+ i32.const $push10=, -18
+ i32.mul $push7=, $pop6, $pop10
+ i32.add $push8=, $pop7, $1
+ i32.store $discard=, c+16384($0), $pop8
+ i32.const $push9=, 4
+ i32.add $0=, $0, $pop9
+ br_if $0, 0 # 0: up to label16
# BB#2: # %for.end
end_loop # label17:
return
@@ -320,33 +260,27 @@ f9: # @f9
.globl f10
.type f10,@function
f10: # @f10
- .local i32, i32, i64, i32
+ .local i32, i32
# BB#0: # %entry
- i64.const $2=, 954437177
- i32.const $3=, -16384
+ i32.const $0=, -16384
.LBB9_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label18:
- i32.const $0=, 16384
- i32.const $push0=, b
- i32.add $push1=, $pop0, $3
- i32.add $push2=, $pop1, $0
- i32.load $1=, 0($pop2)
- i32.const $push11=, d
- i32.add $push12=, $pop11, $3
- i32.add $push13=, $pop12, $0
- i64.extend_u/i32 $push3=, $1
- i64.mul $push4=, $pop3, $2
- i64.const $push5=, 34
- i64.shr_u $push6=, $pop4, $pop5
- i32.wrap/i64 $push7=, $pop6
+ i32.load $push0=, b+16384($0)
+ tee_local $push11=, $1=, $pop0
+ i64.extend_u/i32 $push1=, $pop11
+ i64.const $push10=, 954437177
+ i64.mul $push2=, $pop1, $pop10
+ i64.const $push9=, 34
+ i64.shr_u $push3=, $pop2, $pop9
+ i32.wrap/i64 $push4=, $pop3
i32.const $push8=, -18
- i32.mul $push9=, $pop7, $pop8
- i32.add $push10=, $pop9, $1
- i32.store $discard=, 0($pop13), $pop10
- i32.const $push14=, 4
- i32.add $3=, $3, $pop14
- br_if $3, 0 # 0: up to label18
+ i32.mul $push5=, $pop4, $pop8
+ i32.add $push6=, $pop5, $1
+ i32.store $discard=, d+16384($0), $pop6
+ i32.const $push7=, 4
+ i32.add $0=, $0, $pop7
+ br_if $0, 0 # 0: up to label18
# BB#2: # %for.end
end_loop # label19:
return
@@ -359,36 +293,30 @@ f10: # @f10
.globl f11
.type f11,@function
f11: # @f11
- .local i32, i32, i64, i32
+ .local i32, i32
# BB#0: # %entry
- i64.const $2=, 1808407283
- i32.const $3=, -16384
+ i32.const $0=, -16384
.LBB10_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label20:
- i32.const $0=, 16384
- i32.const $push0=, a
- i32.add $push1=, $pop0, $3
- i32.add $push2=, $pop1, $0
- i32.load $1=, 0($pop2)
- i32.const $push14=, c
- i32.add $push15=, $pop14, $3
- i32.add $push16=, $pop15, $0
- i64.extend_s/i32 $push3=, $1
- i64.mul $push4=, $pop3, $2
- i64.const $push5=, 35
- i64.shr_s $push6=, $pop4, $pop5
- i32.wrap/i64 $push7=, $pop6
- i32.const $push8=, 31
- i32.shr_s $push9=, $1, $pop8
- i32.sub $push10=, $pop7, $pop9
- i32.const $push11=, -19
- i32.mul $push12=, $pop10, $pop11
- i32.add $push13=, $pop12, $1
- i32.store $discard=, 0($pop16), $pop13
- i32.const $push17=, 4
- i32.add $3=, $3, $pop17
- br_if $3, 0 # 0: up to label20
+ i32.load $push0=, a+16384($0)
+ tee_local $push14=, $1=, $pop0
+ i64.extend_s/i32 $push1=, $pop14
+ i64.const $push13=, 1808407283
+ i64.mul $push2=, $pop1, $pop13
+ i64.const $push12=, 35
+ i64.shr_s $push3=, $pop2, $pop12
+ i32.wrap/i64 $push4=, $pop3
+ i32.const $push11=, 31
+ i32.shr_s $push5=, $1, $pop11
+ i32.sub $push6=, $pop4, $pop5
+ i32.const $push10=, -19
+ i32.mul $push7=, $pop6, $pop10
+ i32.add $push8=, $pop7, $1
+ i32.store $discard=, c+16384($0), $pop8
+ i32.const $push9=, 4
+ i32.add $0=, $0, $pop9
+ br_if $0, 0 # 0: up to label20
# BB#2: # %for.end
end_loop # label21:
return
@@ -401,38 +329,33 @@ f11: # @f11
.globl f12
.type f12,@function
f12: # @f12
- .local i32, i32, i64, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i64.const $2=, 2938661835
- i32.const $5=, -16384
+ i32.const $1=, -16384
.LBB11_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label22:
- i32.const $0=, 16384
- i32.const $push0=, b
- i32.add $push1=, $pop0, $5
- i32.add $push2=, $pop1, $0
- i32.load $1=, 0($pop2)
- i64.extend_u/i32 $push3=, $1
- i64.mul $push4=, $pop3, $2
- i64.const $push5=, 32
- i64.shr_u $push6=, $pop4, $pop5
- i32.wrap/i64 $3=, $pop6
- i32.const $4=, 4
- i32.const $push15=, d
- i32.add $push16=, $pop15, $5
- i32.add $push17=, $pop16, $0
- i32.sub $push7=, $1, $3
- i32.const $push8=, 1
- i32.shr_u $push9=, $pop7, $pop8
- i32.add $push10=, $pop9, $3
- i32.shr_u $push11=, $pop10, $4
- i32.const $push12=, -19
- i32.mul $push13=, $pop11, $pop12
- i32.add $push14=, $pop13, $1
- i32.store $discard=, 0($pop17), $pop14
- i32.add $5=, $5, $4
- br_if $5, 0 # 0: up to label22
+ i32.load $0=, b+16384($1)
+ i64.extend_u/i32 $push0=, $0
+ i64.const $push16=, 2938661835
+ i64.mul $push1=, $pop0, $pop16
+ i64.const $push15=, 32
+ i64.shr_u $push2=, $pop1, $pop15
+ i32.wrap/i64 $push3=, $pop2
+ tee_local $push14=, $2=, $pop3
+ i32.sub $push4=, $0, $pop14
+ i32.const $push13=, 1
+ i32.shr_u $push5=, $pop4, $pop13
+ i32.add $push6=, $pop5, $2
+ i32.const $push12=, 4
+ i32.shr_u $push7=, $pop6, $pop12
+ i32.const $push11=, -19
+ i32.mul $push8=, $pop7, $pop11
+ i32.add $push9=, $pop8, $0
+ i32.store $discard=, d+16384($1), $pop9
+ i32.const $push10=, 4
+ i32.add $1=, $1, $pop10
+ br_if $1, 0 # 0: up to label22
# BB#2: # %for.end
end_loop # label23:
return
@@ -446,241 +369,238 @@ f12: # @f12
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $6=, 0
- i32.const $4=, -16384
+ i32.const $0=, 0
+ i32.const $1=, -16384
.LBB12_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label24:
#APP
#NO_APP
- i32.const $0=, a
- i32.const $2=, 16384
- i32.add $push2=, $0, $4
- i32.add $push3=, $pop2, $2
- i32.const $push0=, -2048
- i32.add $push1=, $6, $pop0
- i32.store $discard=, 0($pop3), $pop1
- i32.const $1=, b
- i32.add $push4=, $1, $4
- i32.add $push5=, $pop4, $2
- i32.store $3=, 0($pop5), $6
- i32.const $2=, 1
- i32.add $6=, $3, $2
- i32.const $3=, 4
- i32.add $4=, $4, $3
- br_if $4, 0 # 0: up to label24
+ i32.const $push63=, -2048
+ i32.add $push0=, $0, $pop63
+ i32.store $discard=, a+16384($1), $pop0
+ i32.store $push1=, b+16384($1), $0
+ i32.const $push62=, 1
+ i32.add $0=, $pop1, $pop62
+ i32.const $push61=, 4
+ i32.add $1=, $1, $pop61
+ br_if $1, 0 # 0: up to label24
# BB#2: # %for.end
end_loop # label25:
- i32.const $10=, 0
- i32.const $push6=, -2147483648
- i32.store $discard=, a($10), $pop6
- i32.const $push7=, -2147483647
- i32.store $discard=, a+4($10), $pop7
- i32.const $push8=, 2147483647
- i32.store $discard=, a+16380($10), $pop8
- i32.const $push9=, -1
- i32.store $discard=, b+16380($10), $pop9
+ i32.const $1=, 0
+ i32.const $push67=, 0
+ i32.const $push2=, -2147483648
+ i32.store $discard=, a($pop67):p2align=4, $pop2
+ i32.const $push66=, 0
+ i32.const $push3=, -2147483647
+ i32.store $discard=, a+4($pop66), $pop3
+ i32.const $push65=, 0
+ i32.const $push4=, 2147483647
+ i32.store $discard=, a+16380($pop65), $pop4
+ i32.const $push64=, 0
+ i32.const $push5=, -1
+ i32.store $discard=, b+16380($pop64), $pop5
call f1@FUNCTION
call f2@FUNCTION
- copy_local $8=, $10
+ i32.const $0=, 0
.LBB12_3: # %for.body4
# =>This Inner Loop Header: Depth=1
block
loop # label27:
- i32.const $4=, c
- i32.const $5=, 3
- i32.add $push10=, $4, $10
- i32.load $push11=, 0($pop10)
- i32.add $push12=, $0, $10
- i32.load $push13=, 0($pop12)
- i32.rem_s $push14=, $pop13, $5
- i32.ne $push15=, $pop11, $pop14
- br_if $pop15, 2 # 2: down to label26
+ i32.load $push6=, c($1)
+ i32.load $push7=, a($1)
+ i32.const $push71=, 3
+ i32.rem_s $push8=, $pop7, $pop71
+ i32.ne $push9=, $pop6, $pop8
+ br_if $pop9, 2 # 2: down to label26
# BB#4: # %lor.lhs.false
# in Loop: Header=BB12_3 Depth=1
- i32.const $6=, d
- i32.add $push16=, $6, $10
- i32.load $push17=, 0($pop16)
- i32.add $push18=, $1, $10
- i32.load $push19=, 0($pop18)
- i32.rem_u $push20=, $pop19, $5
- i32.ne $push21=, $pop17, $pop20
- br_if $pop21, 2 # 2: down to label26
+ i32.load $push10=, d($1)
+ i32.load $push11=, b($1)
+ i32.const $push72=, 3
+ i32.rem_u $push12=, $pop11, $pop72
+ i32.ne $push13=, $pop10, $pop12
+ br_if $pop13, 2 # 2: down to label26
# BB#5: # %for.cond2
# in Loop: Header=BB12_3 Depth=1
- i32.add $8=, $8, $2
- i32.add $10=, $10, $3
- i32.const $7=, 4095
- i32.le_s $push22=, $8, $7
- br_if $pop22, 0 # 0: up to label27
+ i32.const $push70=, 1
+ i32.add $0=, $0, $pop70
+ i32.const $push69=, 4
+ i32.add $1=, $1, $pop69
+ i32.const $push68=, 4095
+ i32.le_s $push14=, $0, $pop68
+ br_if $pop14, 0 # 0: up to label27
# BB#6: # %for.end14
end_loop # label28:
call f3@FUNCTION
call f4@FUNCTION
- i32.const $10=, 0
- copy_local $9=, $10
+ i32.const $1=, 0
+ i32.const $0=, 0
.LBB12_7: # %for.body17
# =>This Inner Loop Header: Depth=1
block
loop # label30:
- i32.const $8=, 18
- i32.add $push23=, $4, $10
- i32.load $push24=, 0($pop23)
- i32.add $push25=, $0, $10
- i32.load $push26=, 0($pop25)
- i32.rem_s $push27=, $pop26, $8
- i32.ne $push28=, $pop24, $pop27
- br_if $pop28, 2 # 2: down to label29
+ i32.load $push15=, c($1)
+ i32.load $push16=, a($1)
+ i32.const $push76=, 18
+ i32.rem_s $push17=, $pop16, $pop76
+ i32.ne $push18=, $pop15, $pop17
+ br_if $pop18, 2 # 2: down to label29
# BB#8: # %lor.lhs.false22
# in Loop: Header=BB12_7 Depth=1
- i32.add $push29=, $6, $10
- i32.load $push30=, 0($pop29)
- i32.add $push31=, $1, $10
- i32.load $push32=, 0($pop31)
- i32.rem_u $push33=, $pop32, $8
- i32.ne $push34=, $pop30, $pop33
- br_if $pop34, 2 # 2: down to label29
+ i32.load $push19=, d($1)
+ i32.load $push20=, b($1)
+ i32.const $push77=, 18
+ i32.rem_u $push21=, $pop20, $pop77
+ i32.ne $push22=, $pop19, $pop21
+ br_if $pop22, 2 # 2: down to label29
# BB#9: # %for.cond15
# in Loop: Header=BB12_7 Depth=1
- i32.add $9=, $9, $2
- i32.add $10=, $10, $3
- i32.le_s $push35=, $9, $7
- br_if $pop35, 0 # 0: up to label30
+ i32.const $push75=, 1
+ i32.add $0=, $0, $pop75
+ i32.const $push74=, 4
+ i32.add $1=, $1, $pop74
+ i32.const $push73=, 4095
+ i32.le_s $push23=, $0, $pop73
+ br_if $pop23, 0 # 0: up to label30
# BB#10: # %for.end31
end_loop # label31:
call f5@FUNCTION
call f6@FUNCTION
- i32.const $10=, 0
- copy_local $11=, $10
+ i32.const $1=, 0
+ i32.const $0=, 0
.LBB12_11: # %for.body34
# =>This Inner Loop Header: Depth=1
block
loop # label33:
- i32.const $9=, 19
- i32.add $push36=, $4, $10
- i32.load $push37=, 0($pop36)
- i32.add $push38=, $0, $10
- i32.load $push39=, 0($pop38)
- i32.rem_s $push40=, $pop39, $9
- i32.ne $push41=, $pop37, $pop40
- br_if $pop41, 2 # 2: down to label32
+ i32.load $push24=, c($1)
+ i32.load $push25=, a($1)
+ i32.const $push81=, 19
+ i32.rem_s $push26=, $pop25, $pop81
+ i32.ne $push27=, $pop24, $pop26
+ br_if $pop27, 2 # 2: down to label32
# BB#12: # %lor.lhs.false39
# in Loop: Header=BB12_11 Depth=1
- i32.add $push42=, $6, $10
- i32.load $push43=, 0($pop42)
- i32.add $push44=, $1, $10
- i32.load $push45=, 0($pop44)
- i32.rem_u $push46=, $pop45, $9
- i32.ne $push47=, $pop43, $pop46
- br_if $pop47, 2 # 2: down to label32
+ i32.load $push28=, d($1)
+ i32.load $push29=, b($1)
+ i32.const $push82=, 19
+ i32.rem_u $push30=, $pop29, $pop82
+ i32.ne $push31=, $pop28, $pop30
+ br_if $pop31, 2 # 2: down to label32
# BB#13: # %for.cond32
# in Loop: Header=BB12_11 Depth=1
- i32.add $11=, $11, $2
- i32.add $10=, $10, $3
- i32.le_s $push48=, $11, $7
- br_if $pop48, 0 # 0: up to label33
+ i32.const $push80=, 1
+ i32.add $0=, $0, $pop80
+ i32.const $push79=, 4
+ i32.add $1=, $1, $pop79
+ i32.const $push78=, 4095
+ i32.le_s $push32=, $0, $pop78
+ br_if $pop32, 0 # 0: up to label33
# BB#14: # %for.end48
end_loop # label34:
call f7@FUNCTION
call f8@FUNCTION
- i32.const $10=, 0
- copy_local $11=, $10
+ i32.const $1=, 0
+ i32.const $0=, 0
.LBB12_15: # %for.body51
# =>This Inner Loop Header: Depth=1
block
loop # label36:
- i32.add $push49=, $4, $10
- i32.load $push50=, 0($pop49)
- i32.add $push51=, $0, $10
- i32.load $push52=, 0($pop51)
- i32.rem_s $push53=, $pop52, $5
- i32.ne $push54=, $pop50, $pop53
- br_if $pop54, 2 # 2: down to label35
+ i32.load $push33=, c($1)
+ i32.load $push34=, a($1)
+ i32.const $push86=, 3
+ i32.rem_s $push35=, $pop34, $pop86
+ i32.ne $push36=, $pop33, $pop35
+ br_if $pop36, 2 # 2: down to label35
# BB#16: # %lor.lhs.false56
# in Loop: Header=BB12_15 Depth=1
- i32.add $push55=, $6, $10
- i32.load $push56=, 0($pop55)
- i32.add $push57=, $1, $10
- i32.load $push58=, 0($pop57)
- i32.rem_u $push59=, $pop58, $5
- i32.ne $push60=, $pop56, $pop59
- br_if $pop60, 2 # 2: down to label35
+ i32.load $push37=, d($1)
+ i32.load $push38=, b($1)
+ i32.const $push87=, 3
+ i32.rem_u $push39=, $pop38, $pop87
+ i32.ne $push40=, $pop37, $pop39
+ br_if $pop40, 2 # 2: down to label35
# BB#17: # %for.cond49
# in Loop: Header=BB12_15 Depth=1
- i32.add $11=, $11, $2
- i32.add $10=, $10, $3
- i32.le_s $push61=, $11, $7
- br_if $pop61, 0 # 0: up to label36
+ i32.const $push85=, 1
+ i32.add $0=, $0, $pop85
+ i32.const $push84=, 4
+ i32.add $1=, $1, $pop84
+ i32.const $push83=, 4095
+ i32.le_s $push41=, $0, $pop83
+ br_if $pop41, 0 # 0: up to label36
# BB#18: # %for.end65
end_loop # label37:
call f9@FUNCTION
call f10@FUNCTION
- i32.const $10=, 0
- copy_local $5=, $10
+ i32.const $1=, 0
+ i32.const $0=, 0
.LBB12_19: # %for.body68
# =>This Inner Loop Header: Depth=1
block
loop # label39:
- i32.add $push62=, $4, $10
- i32.load $push63=, 0($pop62)
- i32.add $push64=, $0, $10
- i32.load $push65=, 0($pop64)
- i32.rem_s $push66=, $pop65, $8
- i32.ne $push67=, $pop63, $pop66
- br_if $pop67, 2 # 2: down to label38
+ i32.load $push42=, c($1)
+ i32.load $push43=, a($1)
+ i32.const $push91=, 18
+ i32.rem_s $push44=, $pop43, $pop91
+ i32.ne $push45=, $pop42, $pop44
+ br_if $pop45, 2 # 2: down to label38
# BB#20: # %lor.lhs.false73
# in Loop: Header=BB12_19 Depth=1
- i32.add $push68=, $6, $10
- i32.load $push69=, 0($pop68)
- i32.add $push70=, $1, $10
- i32.load $push71=, 0($pop70)
- i32.rem_u $push72=, $pop71, $8
- i32.ne $push73=, $pop69, $pop72
- br_if $pop73, 2 # 2: down to label38
+ i32.load $push46=, d($1)
+ i32.load $push47=, b($1)
+ i32.const $push92=, 18
+ i32.rem_u $push48=, $pop47, $pop92
+ i32.ne $push49=, $pop46, $pop48
+ br_if $pop49, 2 # 2: down to label38
# BB#21: # %for.cond66
# in Loop: Header=BB12_19 Depth=1
- i32.add $5=, $5, $2
- i32.add $10=, $10, $3
- i32.le_s $push74=, $5, $7
- br_if $pop74, 0 # 0: up to label39
+ i32.const $push90=, 1
+ i32.add $0=, $0, $pop90
+ i32.const $push89=, 4
+ i32.add $1=, $1, $pop89
+ i32.const $push88=, 4095
+ i32.le_s $push50=, $0, $pop88
+ br_if $pop50, 0 # 0: up to label39
# BB#22: # %for.end82
end_loop # label40:
call f11@FUNCTION
call f12@FUNCTION
- i32.const $10=, 0
- copy_local $5=, $10
+ i32.const $1=, 0
+ i32.const $0=, 0
.LBB12_23: # %for.body85
# =>This Inner Loop Header: Depth=1
block
loop # label42:
- i32.add $push75=, $4, $10
- i32.load $push76=, 0($pop75)
- i32.add $push77=, $0, $10
- i32.load $push78=, 0($pop77)
- i32.rem_s $push79=, $pop78, $9
- i32.ne $push80=, $pop76, $pop79
- br_if $pop80, 2 # 2: down to label41
+ i32.load $push51=, c($1)
+ i32.load $push52=, a($1)
+ i32.const $push96=, 19
+ i32.rem_s $push53=, $pop52, $pop96
+ i32.ne $push54=, $pop51, $pop53
+ br_if $pop54, 2 # 2: down to label41
# BB#24: # %lor.lhs.false90
# in Loop: Header=BB12_23 Depth=1
- i32.add $push81=, $6, $10
- i32.load $push82=, 0($pop81)
- i32.add $push83=, $1, $10
- i32.load $push84=, 0($pop83)
- i32.rem_u $push85=, $pop84, $9
- i32.ne $push86=, $pop82, $pop85
- br_if $pop86, 2 # 2: down to label41
+ i32.load $push55=, d($1)
+ i32.load $push56=, b($1)
+ i32.const $push97=, 19
+ i32.rem_u $push57=, $pop56, $pop97
+ i32.ne $push58=, $pop55, $pop57
+ br_if $pop58, 2 # 2: down to label41
# BB#25: # %for.cond83
# in Loop: Header=BB12_23 Depth=1
- i32.add $5=, $5, $2
- i32.add $10=, $10, $3
- i32.le_s $push87=, $5, $7
- br_if $pop87, 0 # 0: up to label42
+ i32.const $push95=, 1
+ i32.add $0=, $0, $pop95
+ i32.const $push94=, 4
+ i32.add $1=, $1, $pop94
+ i32.const $push93=, 4095
+ i32.le_s $push59=, $0, $pop93
+ br_if $pop59, 0 # 0: up to label42
# BB#26: # %for.end99
end_loop # label43:
- i32.const $push88=, 0
- return $pop88
+ i32.const $push60=, 0
+ return $pop60
.LBB12_27: # %if.then95
end_block # label41:
call abort@FUNCTION
@@ -713,7 +633,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 16384
.size a, 16384
@@ -722,7 +642,7 @@ a:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 4
+ .p2align 4
c:
.skip 16384
.size c, 16384
@@ -731,7 +651,7 @@ c:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 4
+ .p2align 4
b:
.skip 16384
.size b, 16384
@@ -740,7 +660,7 @@ b:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 4
+ .p2align 4
d:
.skip 16384
.size d, 16384
diff --git a/test/torture-s/pr51877.c.s b/test/torture-s/pr51877.c.s
index 4b1c24b64..db8f5f37d 100644
--- a/test/torture-s/pr51877.c.s
+++ b/test/torture-s/pr51877.c.s
@@ -6,58 +6,20 @@
.type bar,@function
bar: # @bar
.param i32, i32
- .local i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 32
- i32.sub $13=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $13=, 0($7), $13
- i32.const $2=, 0
- i32.const $push2=, 30
- i32.const $9=, 0
- i32.add $9=, $13, $9
- i32.add $push3=, $9, $pop2
- i32.store8 $4=, 0($pop3), $2
- i32.const $push4=, 28
- i32.const $10=, 0
- i32.add $10=, $13, $10
- i32.add $push5=, $10, $pop4
- i32.store16 $discard=, 0($pop5), $4
- i32.load $3=, bar.n($2)
- i32.const $push6=, 24
- i32.const $11=, 0
- i32.add $11=, $13, $11
- i32.add $push7=, $11, $pop6
- i32.store $discard=, 0($pop7), $4
- i32.const $push0=, 1
- i32.add $push1=, $3, $pop0
- i32.store $2=, bar.n($2), $pop1
- i32.const $push8=, 16
- i32.const $12=, 0
- i32.add $12=, $13, $12
- i32.add $push9=, $12, $pop8
- i64.const $push10=, 0
- i64.store $5=, 0($pop9), $pop10
- i32.store $discard=, 0($0), $2
- i32.store8 $discard=, 4($0), $1
- i32.const $push11=, 8
- i32.const $13=, 0
- i32.add $13=, $13, $13
- i32.add $push12=, $13, $pop11
- i64.store $push13=, 0($pop12), $5
- i64.store $discard=, 0($13), $pop13
- i32.const $push14=, 5
- i32.add $push15=, $0, $pop14
- i32.const $push16=, 31
- i32.const $14=, 0
- i32.add $14=, $13, $14
- call memcpy@FUNCTION, $pop15, $14, $pop16
- i32.const $8=, 32
- i32.add $13=, $13, $8
- i32.const $8=, __stack_pointer
- i32.store $13=, 0($8), $13
+ i32.const $push0=, 0
+ i32.const $push9=, 0
+ i32.load $push1=, bar.n($pop9)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $push4=, bar.n($pop0), $pop3
+ i32.store $discard=, 0($0), $pop4
+ i32.store8 $discard=, 4($0):p2align=2, $1
+ i32.const $push5=, 5
+ i32.add $push6=, $0, $pop5
+ i32.const $push8=, 0
+ i32.const $push7=, 31
+ i32.call $discard=, memset@FUNCTION, $pop6, $pop8, $pop7
return
.endfunc
.Lfunc_end0:
@@ -82,7 +44,7 @@ baz: # @baz
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
@@ -104,18 +66,14 @@ foo: # @foo
i32.const $push6=, 36
i32.const $6=, 40
i32.add $6=, $7, $6
- call memcpy@FUNCTION, $pop5, $6, $pop6
+ i32.call $discard=, memcpy@FUNCTION, $pop5, $6, $pop6
br 1 # 1: down to label0
.LBB2_2: # %if.else
end_block # label1:
i32.const $push2=, 7
- i32.const $7=, 0
- i32.add $7=, $7, $7
call bar@FUNCTION, $7, $pop2
i32.const $push3=, 36
- i32.const $8=, 0
- i32.add $8=, $7, $8
- call memcpy@FUNCTION, $0, $8, $pop3
+ i32.call $discard=, memcpy@FUNCTION, $0, $7, $pop3
.LBB2_3: # %if.end
end_block # label0:
call baz@FUNCTION
@@ -134,98 +92,121 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, __stack_pointer
- i32.load $6=, 0($6)
- i32.const $7=, 80
- i32.sub $13=, $6, $7
- i32.const $7=, __stack_pointer
- i32.store $13=, 0($7), $13
- i32.const $0=, 3
- i32.const $9=, 40
- i32.add $9=, $13, $9
- call bar@FUNCTION, $9, $0
- i32.const $3=, 36
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 80
+ i32.sub $5=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $5=, 0($1), $5
+ i32.const $push49=, 3
+ i32.const $3=, 40
+ i32.add $3=, $5, $3
+ call bar@FUNCTION, $3, $pop49
i32.const $push0=, a
- i32.const $10=, 40
- i32.add $10=, $13, $10
- call memcpy@FUNCTION, $pop0, $10, $3
- i32.const $1=, 4
- i32.const $11=, 0
- i32.add $11=, $13, $11
- call bar@FUNCTION, $11, $1
- i32.const $2=, b
- i32.const $12=, 0
- i32.add $12=, $13, $12
- call memcpy@FUNCTION, $2, $12, $3
- i32.const $3=, 0
- i32.const $5=, 1
+ i32.const $push1=, 36
+ i32.const $4=, 40
+ i32.add $4=, $5, $4
+ i32.call $discard=, memcpy@FUNCTION, $pop0, $4, $pop1
+ i32.const $push2=, 4
+ call bar@FUNCTION, $5, $pop2
+ i32.const $push3=, b
+ i32.const $push48=, 36
+ i32.call $discard=, memcpy@FUNCTION, $pop3, $5, $pop48
block
- i32.load $push1=, a($3)
- i32.ne $push2=, $pop1, $5
- br_if $pop2, 0 # 0: down to label2
-# BB#1: # %lor.lhs.false
- i32.load8_u $push5=, a+4($3)
- i32.ne $push6=, $pop5, $0
+ i32.const $push47=, 0
+ i32.load $push4=, a($pop47)
+ i32.const $push5=, 1
+ i32.ne $push6=, $pop4, $pop5
br_if $pop6, 0 # 0: down to label2
+# BB#1: # %lor.lhs.false
+ i32.const $push51=, 0
+ i32.load8_u $push9=, a+4($pop51):p2align=2
+ i32.const $push50=, 3
+ i32.ne $push10=, $pop9, $pop50
+ br_if $pop10, 0 # 0: down to label2
# BB#2: # %lor.lhs.false
- i32.load $push3=, b($3)
- i32.const $push7=, 2
- i32.ne $push8=, $pop3, $pop7
- br_if $pop8, 0 # 0: down to label2
+ i32.const $push52=, 0
+ i32.load $push7=, b($pop52)
+ i32.const $push11=, 2
+ i32.ne $push12=, $pop7, $pop11
+ br_if $pop12, 0 # 0: down to label2
# BB#3: # %lor.lhs.false
- i32.const $4=, 255
- i32.load8_u $push4=, b+4($3)
- i32.and $push9=, $pop4, $4
- i32.ne $push10=, $pop9, $1
- br_if $pop10, 0 # 0: down to label2
+ i32.const $push53=, 0
+ i32.load8_u $push8=, b+4($pop53):p2align=2
+ i32.const $push13=, 255
+ i32.and $push14=, $pop8, $pop13
+ i32.const $push15=, 4
+ i32.ne $push16=, $pop14, $pop15
+ br_if $pop16, 0 # 0: down to label2
# BB#4: # %if.end
- call foo@FUNCTION, $2, $3
+ i32.const $push17=, b
+ i32.const $push55=, 0
+ call foo@FUNCTION, $pop17, $pop55
block
- i32.load $push11=, a($3)
- i32.ne $push12=, $pop11, $5
- br_if $pop12, 0 # 0: down to label3
+ i32.const $push54=, 0
+ i32.load $push18=, a($pop54)
+ i32.const $push19=, 1
+ i32.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label3
# BB#5: # %lor.lhs.false13
- i32.load8_u $push15=, a+4($3)
- i32.ne $push16=, $pop15, $0
- br_if $pop16, 0 # 0: down to label3
+ i32.const $push57=, 0
+ i32.load8_u $push23=, a+4($pop57):p2align=2
+ i32.const $push56=, 3
+ i32.ne $push24=, $pop23, $pop56
+ br_if $pop24, 0 # 0: down to label3
# BB#6: # %lor.lhs.false13
- i32.load $push13=, b($3)
- i32.ne $push17=, $pop13, $0
- br_if $pop17, 0 # 0: down to label3
+ i32.const $push59=, 0
+ i32.load $push21=, b($pop59)
+ i32.const $push58=, 3
+ i32.ne $push25=, $pop21, $pop58
+ br_if $pop25, 0 # 0: down to label3
# BB#7: # %lor.lhs.false13
- i32.const $5=, 7
- i32.load8_u $push14=, b+4($3)
- i32.and $push18=, $pop14, $4
- i32.ne $push19=, $pop18, $5
- br_if $pop19, 0 # 0: down to label3
+ i32.const $push60=, 0
+ i32.load8_u $push22=, b+4($pop60):p2align=2
+ i32.const $push26=, 255
+ i32.and $push27=, $pop22, $pop26
+ i32.const $push28=, 7
+ i32.ne $push29=, $pop27, $pop28
+ br_if $pop29, 0 # 0: down to label3
# BB#8: # %if.end25
+ i32.const $push30=, b
+ i32.const $push31=, 6
+ call foo@FUNCTION, $pop30, $pop31
block
- i32.const $push20=, 6
- call foo@FUNCTION, $2, $pop20
- i32.load $push21=, a($3)
- i32.ne $push22=, $pop21, $1
- br_if $pop22, 0 # 0: down to label4
+ i32.const $push61=, 0
+ i32.load $push32=, a($pop61)
+ i32.const $push33=, 4
+ i32.ne $push34=, $pop32, $pop33
+ br_if $pop34, 0 # 0: down to label4
# BB#9: # %lor.lhs.false28
- i32.load8_u $push25=, a+4($3)
- i32.ne $push26=, $pop25, $5
- br_if $pop26, 0 # 0: down to label4
+ i32.const $push62=, 0
+ i32.load8_u $push37=, a+4($pop62):p2align=2
+ i32.const $push38=, 7
+ i32.ne $push39=, $pop37, $pop38
+ br_if $pop39, 0 # 0: down to label4
# BB#10: # %lor.lhs.false28
- i32.load $push23=, b($3)
- i32.ne $push27=, $pop23, $0
- br_if $pop27, 0 # 0: down to label4
+ i32.const $push63=, 0
+ i32.load $push35=, b($pop63)
+ i32.const $push40=, 3
+ i32.ne $push41=, $pop35, $pop40
+ br_if $pop41, 0 # 0: down to label4
# BB#11: # %lor.lhs.false28
- i32.load8_u $push24=, b+4($3)
- i32.and $push28=, $pop24, $4
- i32.ne $push29=, $pop28, $5
- br_if $pop29, 0 # 0: down to label4
+ i32.const $push64=, 0
+ i32.load8_u $push36=, b+4($pop64):p2align=2
+ i32.const $push42=, 255
+ i32.and $push43=, $pop36, $pop42
+ i32.const $push44=, 7
+ i32.ne $push45=, $pop43, $pop44
+ br_if $pop45, 0 # 0: down to label4
# BB#12: # %if.end40
- i32.const $8=, 80
- i32.add $13=, $13, $8
- i32.const $8=, __stack_pointer
- i32.store $13=, 0($8), $13
- return $3
+ i32.const $push46=, 0
+ i32.const $2=, 80
+ i32.add $5=, $5, $2
+ i32.const $2=, __stack_pointer
+ i32.store $5=, 0($2), $5
+ return $pop46
.LBB3_13: # %if.then39
end_block # label4:
call abort@FUNCTION
@@ -248,7 +229,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 36
.size a, 36
@@ -257,7 +238,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.skip 36
.size b, 36
diff --git a/test/torture-s/pr51933.c.s b/test/torture-s/pr51933.c.s
index 66364ba0b..1479bdd59 100644
--- a/test/torture-s/pr51933.c.s
+++ b/test/torture-s/pr51933.c.s
@@ -20,48 +20,51 @@ foo: # @foo
bar: # @bar
.param i32, i32, i32
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
block
- i32.load8_u $push0=, v1($3)
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push0=, 0
+ i32.load8_u $push1=, v1($pop0)
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.then
call foo@FUNCTION
.LBB1_2: # %for.cond.preheader
end_block # label0:
- i32.const $4=, 1
- copy_local $6=, $0
- copy_local $7=, $2
+ copy_local $3=, $0
+ copy_local $4=, $2
block
- i32.lt_s $push1=, $0, $4
- br_if $pop1, 0 # 0: down to label1
+ i32.const $push18=, 1
+ i32.lt_s $push2=, $0, $pop18
+ br_if $pop2, 0 # 0: down to label1
.LBB1_3: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.load16_u $5=, 0($1)
- i32.const $push2=, 256
- i32.lt_u $push3=, $5, $pop2
- i32.const $push4=, v2
- i32.add $push5=, $pop4, $5
- i32.const $push8=, v3
- i32.const $push6=, 255
- i32.and $push7=, $5, $pop6
- i32.add $push9=, $pop8, $pop7
- i32.select $push10=, $pop3, $pop5, $pop9
- i32.load8_u $push11=, 0($pop10)
- i32.store8 $discard=, 0($7), $pop11
- i32.const $push12=, 2
- i32.add $1=, $1, $pop12
- i32.const $push13=, -1
- i32.add $6=, $6, $pop13
- i32.add $7=, $7, $4
- br_if $6, 0 # 0: up to label2
+ i32.load16_u $push3=, 0($1)
+ tee_local $push20=, $5=, $pop3
+ i32.const $push4=, 256
+ i32.lt_u $push5=, $pop20, $pop4
+ i32.const $push6=, v2
+ i32.add $push7=, $5, $pop6
+ i32.const $push8=, 255
+ i32.and $push9=, $5, $pop8
+ i32.const $push10=, v3
+ i32.add $push11=, $pop9, $pop10
+ i32.select $push12=, $pop5, $pop7, $pop11
+ i32.load8_u $push13=, 0($pop12)
+ i32.store8 $discard=, 0($4), $pop13
+ i32.const $push14=, 2
+ i32.add $1=, $1, $pop14
+ i32.const $push15=, -1
+ i32.add $3=, $3, $pop15
+ i32.const $push19=, 1
+ i32.add $4=, $4, $pop19
+ br_if $3, 0 # 0: up to label2
.LBB1_4: # %for.end
end_loop # label3:
end_block # label1:
- i32.add $push14=, $2, $0
- i32.store8 $discard=, 0($pop14), $3
+ i32.add $push16=, $2, $0
+ i32.const $push17=, 0
+ i32.store8 $discard=, 0($pop16), $pop17
return $0
.endfunc
.Lfunc_end1:
@@ -73,100 +76,88 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 80
+ i32.sub $6=, $1, $2
i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
- i32.const $3=, 80
- i32.sub $12=, $2, $3
- i32.const $3=, __stack_pointer
- i32.store $12=, 0($3), $12
- i32.const $1=, 0
+ i32.store $6=, 0($2), $6
+ i32.const $0=, 0
.LBB2_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label4:
- i32.const $push1=, v2
- i32.add $push2=, $pop1, $1
- i32.store8 $discard=, 0($pop2), $1
- i32.const $push4=, v3
- i32.add $push5=, $pop4, $1
- i32.const $push3=, 1
- i32.add $push0=, $1, $pop3
- i32.store8 $1=, 0($pop5), $pop0
- i32.const $push6=, 256
- i32.ne $push7=, $1, $pop6
- br_if $pop7, 0 # 0: up to label4
+ i32.store8 $discard=, v2($0), $0
+ i32.const $push33=, 1
+ i32.add $push0=, $0, $pop33
+ i32.store8 $0=, v3($0), $pop0
+ i32.const $push32=, 256
+ i32.ne $push1=, $0, $pop32
+ br_if $pop1, 0 # 0: up to label4
# BB#2: # %for.body6.preheader
end_loop # label5:
- i32.const $push9=, 8
- i32.const $5=, 0
- i32.add $5=, $12, $5
- i32.or $push10=, $5, $pop9
- i32.const $push11=, 101
- i32.store16 $discard=, 0($pop10), $pop11
- i32.const $push16=, 14
- i32.const $6=, 0
- i32.add $6=, $12, $6
- i32.or $push17=, $6, $pop16
- i32.const $push18=, 104
- i32.store16 $discard=, 0($pop17), $pop18
- i32.const $push12=, 10
- i32.const $7=, 0
- i32.add $7=, $12, $7
- i32.or $push13=, $7, $pop12
- i32.const $push27=, 1638
- i32.store16 $discard=, 0($pop13), $pop27
- i32.const $push14=, 12
- i32.const $8=, 0
- i32.add $8=, $12, $8
- i32.or $push15=, $8, $pop14
- i32.const $push28=, 1383
- i32.store16 $discard=, 0($pop15), $pop28
- i32.const $push19=, 105
- i32.store16 $discard=, 16($12), $pop19
- i32.const $push20=, 106
- i32.store16 $discard=, 18($12), $pop20
- i32.const $push21=, 107
- i32.store16 $discard=, 20($12), $pop21
- i32.const $push22=, 109
- i32.store16 $discard=, 24($12), $pop22
- i32.const $push23=, 110
- i32.store16 $discard=, 26($12), $pop23
- i32.const $push24=, 111
- i32.store16 $discard=, 28($12), $pop24
- i32.const $push25=, 113
- i32.store16 $discard=, 32($12), $pop25
- i32.const $push29=, 8300
- i32.store16 $discard=, 22($12), $pop29
- i32.const $push30=, 1392
- i32.store16 $discard=, 30($12), $pop30
- i64.const $push8=, 28147922879250529
- i64.store $discard=, 0($12), $pop8
- i32.const $push26=, 0
- i32.store16 $0=, 34($12), $pop26
+ i32.const $push3=, 8
+ i32.or $push4=, $6, $pop3
+ i32.const $push5=, 101
+ i32.store16 $discard=, 0($pop4):p2align=3, $pop5
+ i32.const $push10=, 14
+ i32.or $push11=, $6, $pop10
+ i32.const $push12=, 104
+ i32.store16 $discard=, 0($pop11), $pop12
+ i32.const $push6=, 10
+ i32.or $push7=, $6, $pop6
+ i32.const $push21=, 1638
+ i32.store16 $discard=, 0($pop7), $pop21
+ i32.const $push8=, 12
+ i32.or $push9=, $6, $pop8
+ i32.const $push22=, 1383
+ i32.store16 $discard=, 0($pop9):p2align=2, $pop22
+ i32.const $push13=, 105
+ i32.store16 $discard=, 16($6):p2align=4, $pop13
+ i32.const $push14=, 106
+ i32.store16 $discard=, 18($6), $pop14
+ i32.const $push15=, 107
+ i32.store16 $discard=, 20($6):p2align=2, $pop15
+ i32.const $push16=, 109
+ i32.store16 $discard=, 24($6):p2align=3, $pop16
+ i32.const $push17=, 110
+ i32.store16 $discard=, 26($6), $pop17
+ i32.const $push18=, 111
+ i32.store16 $discard=, 28($6):p2align=2, $pop18
+ i32.const $push19=, 113
+ i32.store16 $discard=, 32($6):p2align=4, $pop19
+ i32.const $push20=, 0
+ i32.store16 $discard=, 34($6), $pop20
+ i32.const $push23=, 8300
+ i32.store16 $discard=, 22($6), $pop23
+ i32.const $push24=, 1392
+ i32.store16 $discard=, 30($6), $pop24
+ i64.const $push2=, 28147922879250529
+ i64.store $discard=, 0($6):p2align=4, $pop2
call foo@FUNCTION
- i32.const $1=, 17
- i32.const $9=, 0
- i32.add $9=, $12, $9
- i32.const $10=, 48
- i32.add $10=, $12, $10
+ i32.const $push25=, 17
+ i32.const $4=, 48
+ i32.add $4=, $6, $4
block
- i32.call $push31=, bar@FUNCTION, $1, $9, $10
- i32.ne $push32=, $pop31, $1
- br_if $pop32, 0 # 0: down to label6
+ i32.call $push26=, bar@FUNCTION, $pop25, $6, $4
+ i32.const $push34=, 17
+ i32.ne $push27=, $pop26, $pop34
+ br_if $pop27, 0 # 0: down to label6
# BB#3: # %lor.lhs.false
- i32.const $push33=, .L.str
- i32.const $push34=, 18
- i32.const $11=, 48
- i32.add $11=, $12, $11
- i32.call $push35=, memcmp@FUNCTION, $11, $pop33, $pop34
- br_if $pop35, 0 # 0: down to label6
+ i32.const $push28=, .L.str
+ i32.const $push29=, 18
+ i32.const $5=, 48
+ i32.add $5=, $6, $5
+ i32.call $push30=, memcmp@FUNCTION, $5, $pop28, $pop29
+ br_if $pop30, 0 # 0: down to label6
# BB#4: # %if.end
- i32.const $4=, 80
- i32.add $12=, $12, $4
- i32.const $4=, __stack_pointer
- i32.store $12=, 0($4), $12
- return $0
+ i32.const $push31=, 0
+ i32.const $3=, 80
+ i32.add $6=, $6, $3
+ i32.const $3=, __stack_pointer
+ i32.store $6=, 0($3), $6
+ return $pop31
.LBB2_5: # %if.then
end_block # label6:
call abort@FUNCTION
diff --git a/test/torture-s/pr52129.c.s b/test/torture-s/pr52129.c.s
new file mode 100644
index 000000000..33899697b
--- /dev/null
+++ b/test/torture-s/pr52129.c.s
@@ -0,0 +1,127 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr52129.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push0=, t+2
+ i32.ne $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load $push2=, 0($1)
+ i32.const $push3=, t+69
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false2
+ i32.const $push6=, t+81
+ i32.ne $push7=, $3, $pop6
+ br_if $pop7, 0 # 0: down to label0
+# BB#3: # %lor.lhs.false2
+ i32.const $push8=, t+17
+ i32.ne $push9=, $2, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#4: # %lor.lhs.false2
+ i32.load $push5=, 4($1)
+ i32.const $push10=, 27
+ i32.ne $push11=, $pop5, $pop10
+ br_if $pop11, 0 # 0: down to label0
+# BB#5: # %if.end
+ i32.const $push12=, 29
+ return $pop12
+.LBB0_6: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32, i32, i32, i32, i32
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $10=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $10=, 0($7), $10
+ i32.add $4=, $5, $4
+ i64.load $push2=, 0($3):p2align=2
+ i64.store $discard=, 8($10):p2align=2, $pop2
+ i32.const $push0=, 64
+ i32.add $push1=, $4, $pop0
+ i32.const $9=, 8
+ i32.add $9=, $10, $9
+ i32.call $discard=, foo@FUNCTION, $0, $9, $4, $pop1
+ i32.const $push3=, 29
+ i32.const $8=, 16
+ i32.add $10=, $10, $8
+ i32.const $8=, __stack_pointer
+ i32.store $10=, 0($8), $10
+ return $pop3
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $5=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $5=, 0($2), $5
+ i32.const $push0=, 0
+ i64.load $push1=, .Lmain.s($pop0):p2align=2
+ i64.store $discard=, 8($5):p2align=2, $pop1
+ i32.const $push4=, t+2
+ i32.const $push3=, 17
+ i32.const $push2=, t
+ i32.const $4=, 8
+ i32.add $4=, $5, $4
+ i32.call $discard=, bar@FUNCTION, $pop4, $0, $0, $4, $pop3, $pop2
+ i32.const $push5=, 0
+ i32.const $3=, 16
+ i32.add $5=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ return $pop5
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden t # @t
+ .type t,@object
+ .section .bss.t,"aw",@nobits
+ .globl t
+t:
+ .skip 128
+ .size t, 128
+
+ .type .Lmain.s,@object # @main.s
+ .section .data.rel.ro..Lmain.s,"aw",@progbits
+ .p2align 2
+.Lmain.s:
+ .int32 t+69
+ .int32 27 # 0x1b
+ .size .Lmain.s, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr52209.c.s b/test/torture-s/pr52209.c.s
index b7d5b8234..74d59b618 100644
--- a/test/torture-s/pr52209.c.s
+++ b/test/torture-s/pr52209.c.s
@@ -6,22 +6,26 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load8_u $1=, c($0)
- i32.const $2=, 31
+ i32.const $push11=, 0
+ i32.const $push10=, 0
+ i32.load8_u $push0=, c($pop10):p2align=2
+ tee_local $push9=, $0=, $pop0
+ i32.const $push1=, 31
+ i32.shl $push2=, $pop9, $pop1
+ i32.const $push8=, 31
+ i32.shr_s $push3=, $pop2, $pop8
+ i32.const $push4=, -1
+ i32.xor $push5=, $pop3, $pop4
+ i32.store $discard=, b($pop11), $pop5
block
- i32.shl $push0=, $1, $2
- i32.shr_s $push1=, $pop0, $2
- i32.const $push2=, -1
- i32.xor $push3=, $pop1, $pop2
- i32.store $discard=, b($0), $pop3
- i32.const $push4=, 1
- i32.and $push5=, $1, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push6=, 1
+ i32.and $push7=, $0, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push12=, 0
+ return $pop12
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -34,7 +38,7 @@ main: # @main
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.skip 4
.size c, 4
@@ -43,7 +47,7 @@ c:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/pr52286.c.s b/test/torture-s/pr52286.c.s
index c6097edcb..422cf3783 100644
--- a/test/torture-s/pr52286.c.s
+++ b/test/torture-s/pr52286.c.s
@@ -6,10 +6,9 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- copy_local $0=, $1
+ i32.const $0=, 0
#APP
#NO_APP
block
@@ -17,7 +16,8 @@ main: # @main
i32.le_s $push1=, $0, $pop0
br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
- return $1
+ i32.const $push2=, 0
+ return $pop2
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/pr52760.c.s b/test/torture-s/pr52760.c.s
index 0dce082c7..b1774986a 100644
--- a/test/torture-s/pr52760.c.s
+++ b/test/torture-s/pr52760.c.s
@@ -6,7 +6,7 @@
.type foo,@function
foo: # @foo
.param i32, i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
block
i32.const $push0=, 1
@@ -15,36 +15,48 @@ foo: # @foo
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.load16_u $2=, 0($1)
- i32.const $3=, 8
- i32.shr_u $push2=, $2, $3
- i32.shl $push3=, $2, $3
- i32.or $push4=, $pop2, $pop3
- i32.store16 $discard=, 0($1), $pop4
- i32.const $push5=, 2
- i32.add $2=, $1, $pop5
- i32.load16_u $4=, 0($2)
- i32.shr_u $push6=, $4, $3
- i32.shl $push7=, $4, $3
- i32.or $push8=, $pop6, $pop7
- i32.store16 $discard=, 0($2), $pop8
- i32.const $push9=, 4
- i32.add $2=, $1, $pop9
- i32.load16_u $4=, 0($2)
- i32.shr_u $push10=, $4, $3
- i32.shl $push11=, $4, $3
- i32.or $push12=, $pop10, $pop11
- i32.store16 $discard=, 0($2), $pop12
- i32.const $push13=, 6
- i32.add $2=, $1, $pop13
- i32.load16_u $4=, 0($2)
- i32.shr_u $push14=, $4, $3
- i32.shl $push15=, $4, $3
+ i32.load16_u $push2=, 0($1)
+ tee_local $push34=, $2=, $pop2
+ i32.const $push3=, 8
+ i32.shr_u $push4=, $pop34, $pop3
+ i32.const $push33=, 8
+ i32.shl $push5=, $2, $pop33
+ i32.or $push6=, $pop4, $pop5
+ i32.store16 $discard=, 0($1), $pop6
+ i32.const $push7=, 2
+ i32.add $2=, $1, $pop7
+ i32.load16_u $push8=, 0($2)
+ tee_local $push32=, $3=, $pop8
+ i32.const $push31=, 8
+ i32.shr_u $push9=, $pop32, $pop31
+ i32.const $push30=, 8
+ i32.shl $push10=, $3, $pop30
+ i32.or $push11=, $pop9, $pop10
+ i32.store16 $discard=, 0($2), $pop11
+ i32.const $push12=, 4
+ i32.add $2=, $1, $pop12
+ i32.load16_u $push13=, 0($2)
+ tee_local $push29=, $3=, $pop13
+ i32.const $push28=, 8
+ i32.shr_u $push14=, $pop29, $pop28
+ i32.const $push27=, 8
+ i32.shl $push15=, $3, $pop27
i32.or $push16=, $pop14, $pop15
i32.store16 $discard=, 0($2), $pop16
- i32.const $push17=, -1
- i32.add $0=, $0, $pop17
- i32.add $1=, $1, $3
+ i32.const $push17=, 6
+ i32.add $2=, $1, $pop17
+ i32.load16_u $push18=, 0($2)
+ tee_local $push26=, $3=, $pop18
+ i32.const $push25=, 8
+ i32.shr_u $push19=, $pop26, $pop25
+ i32.const $push24=, 8
+ i32.shl $push20=, $3, $pop24
+ i32.or $push21=, $pop19, $pop20
+ i32.store16 $discard=, 0($2), $pop21
+ i32.const $push22=, -1
+ i32.add $0=, $0, $pop22
+ i32.const $push23=, 8
+ i32.add $1=, $1, $pop23
br_if $0, 0 # 0: up to label1
.LBB0_2: # %for.end
end_loop # label2:
@@ -73,8 +85,8 @@ main: # @main
i32.const $push1=, 1
i32.const $3=, 8
i32.add $3=, $4, $3
- block
call foo@FUNCTION, $pop1, $3
+ block
i64.load $push2=, 8($4)
i64.const $push3=, 506097522914230528
i64.ne $push4=, $pop2, $pop3
diff --git a/test/torture-s/pr52979-1.c.s b/test/torture-s/pr52979-1.c.s
index a87b96a6d..87b1eecb4 100644
--- a/test/torture-s/pr52979-1.c.s
+++ b/test/torture-s/pr52979-1.c.s
@@ -16,74 +16,48 @@ foo: # @foo
.globl bar
.type bar,@function
bar: # @bar
- .local i64, i32, i64, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 16
- i32.sub $15=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $15=, 0($9), $15
- i32.const $6=, 4
- i32.const $push0=, a
- i32.add $1=, $pop0, $6
- i32.const $3=, 0
- i64.const $2=, 32
- i64.load32_u $push3=, a($3)
- i64.load8_u $push1=, 0($1)
- i64.shl $push2=, $pop1, $2
- i64.or $0=, $pop3, $pop2
- i32.const $11=, 8
- i32.add $11=, $15, $11
- i32.add $5=, $11, $6
- i32.store8 $push8=, 0($5), $3
- i32.store $6=, 8($15), $pop8
- i32.load8_u $5=, 0($5)
+ i32.const $push1=, 0
+ i64.load8_u $0=, a+4($pop1):p2align=2
+ i32.const $push25=, 0
+ i64.load32_u $1=, a($pop25):p2align=3
+ i32.const $push24=, 0
+ i32.const $push23=, 0
+ i32.store8 $push9=, b+4($pop24), $pop23
+ tee_local $push22=, $3=, $pop9
+ i32.store $push10=, b($pop22):p2align=0, $3
+ tee_local $push21=, $3=, $pop10
+ i32.store $push11=, e($pop21), $3
+ tee_local $push20=, $2=, $pop11
+ i32.load $3=, d($pop20)
+ i32.const $push19=, 0
+ i64.const $push2=, 32
+ i64.shl $push3=, $0, $pop2
+ i64.or $push0=, $1, $pop3
+ tee_local $push18=, $1=, $pop0
i64.const $push4=, 964220157951
- i64.and $4=, $0, $pop4
- i64.shr_u $push7=, $4, $2
- i64.store8 $discard=, 0($1), $pop7
- i32.store8 $discard=, b+4($6), $5
- i32.const $push12=, 2
- i32.const $12=, 8
- i32.add $12=, $15, $12
- i32.or $push13=, $12, $pop12
- i32.load8_u $1=, 0($pop13)
- i32.const $push14=, 1
- i32.const $13=, 8
- i32.add $13=, $15, $13
- i32.or $push15=, $13, $pop14
- i32.load8_u $5=, 0($pop15)
- i32.load8_u $7=, 8($15)
- i32.const $push9=, 3
- i32.const $14=, 8
- i32.add $14=, $15, $14
- i32.or $push10=, $14, $pop9
- i32.load8_u $push11=, 0($pop10)
- i32.store8 $discard=, b+3($6), $pop11
- i32.store8 $discard=, b+2($6), $1
- i32.store8 $discard=, b+1($6), $5
- i32.store8 $discard=, b($6), $7
- i32.store $discard=, e($6), $6
- i32.load $1=, d($6)
+ i64.and $push5=, $pop18, $pop4
+ tee_local $push17=, $0=, $pop5
+ i64.const $push16=, 32
+ i64.shr_u $push8=, $pop17, $pop16
+ i64.store8 $discard=, a+4($pop19):p2align=2, $pop8
+ i32.const $push15=, 0
+ i64.const $push6=, 2147483648
+ i64.or $push7=, $0, $pop6
+ i64.store32 $discard=, a($pop15):p2align=3, $pop7
block
- i64.const $push5=, 2147483648
- i64.or $push6=, $4, $pop5
- i64.store32 $discard=, a($3), $pop6
- i32.const $push18=, 0
- i32.eq $push19=, $1, $pop18
- br_if $pop19, 0 # 0: down to label0
+ i32.const $push27=, 0
+ i32.eq $push28=, $3, $pop27
+ br_if $pop28, 0 # 0: down to label0
# BB#1: # %if.then
- i64.const $2=, 33
- i64.shl $push16=, $0, $2
- i64.shr_s $push17=, $pop16, $2
- i64.store32 $discard=, c($6), $pop17
+ i64.const $push12=, 33
+ i64.shl $push13=, $1, $pop12
+ i64.const $push26=, 33
+ i64.shr_s $push14=, $pop13, $pop26
+ i64.store32 $discard=, c($2), $pop14
.LBB1_2: # %if.end
end_block # label0:
- i32.const $10=, 16
- i32.add $15=, $15, $10
- i32.const $10=, __stack_pointer
- i32.store $15=, 0($10), $15
return
.endfunc
.Lfunc_end1:
@@ -94,84 +68,52 @@ bar: # @bar
.globl baz
.type baz,@function
baz: # @baz
- .local i64, i32, i64, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 16
- i32.sub $15=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $15=, 0($9), $15
- i32.const $7=, 4
- i32.const $push0=, a
- i32.add $1=, $pop0, $7
- i32.const $3=, 0
- i64.const $2=, 32
- i64.load32_u $push3=, a($3)
- i64.load8_u $push1=, 0($1)
- i64.shl $push2=, $pop1, $2
- i64.or $0=, $pop3, $pop2
- i32.const $11=, 8
- i32.add $11=, $15, $11
- i32.add $5=, $11, $7
- i32.store8 $push8=, 0($5), $3
- i32.store $7=, 8($15), $pop8
- i32.load8_u $5=, 0($5)
+ i32.const $push1=, 0
+ i64.load8_u $0=, a+4($pop1):p2align=2
+ i32.const $push26=, 0
+ i64.load32_u $1=, a($pop26):p2align=3
+ i32.const $push25=, 0
+ i32.const $push24=, 0
+ i32.store8 $push9=, b+4($pop25), $pop24
+ tee_local $push23=, $3=, $pop9
+ i32.store $push10=, b($pop23):p2align=0, $3
+ tee_local $push22=, $3=, $pop10
+ i32.store $push11=, e($pop22), $3
+ tee_local $push21=, $3=, $pop11
+ i32.load $2=, d($pop21)
+ i32.const $push20=, 0
+ i64.const $push2=, 32
+ i64.shl $push3=, $0, $pop2
+ i64.or $push0=, $1, $pop3
+ tee_local $push19=, $1=, $pop0
i64.const $push4=, 964220157951
- i64.and $4=, $0, $pop4
- i64.shr_u $push7=, $4, $2
- i64.store8 $discard=, 0($1), $pop7
- i32.store8 $discard=, b+4($7), $5
- i32.const $push12=, 2
- i32.const $12=, 8
- i32.add $12=, $15, $12
- i32.or $push13=, $12, $pop12
- i32.load8_u $1=, 0($pop13)
- i32.const $push14=, 1
- i32.const $13=, 8
- i32.add $13=, $15, $13
- i32.or $push15=, $13, $pop14
- i32.load8_u $5=, 0($pop15)
- i32.load8_u $6=, 8($15)
- i32.const $push9=, 3
- i32.const $14=, 8
- i32.add $14=, $15, $14
- i32.or $push10=, $14, $pop9
- i32.load8_u $push11=, 0($pop10)
- i32.store8 $discard=, b+3($7), $pop11
- i32.store8 $discard=, b+2($7), $1
- i32.store8 $discard=, b+1($7), $5
- i32.store8 $discard=, b($7), $6
- i32.store $discard=, e($7), $7
- i32.load $1=, d($7)
+ i64.and $push5=, $pop19, $pop4
+ tee_local $push18=, $0=, $pop5
+ i64.const $push17=, 32
+ i64.shr_u $push8=, $pop18, $pop17
+ i64.store8 $discard=, a+4($pop20):p2align=2, $pop8
+ i32.const $push16=, 0
+ i64.const $push6=, 2147483648
+ i64.or $push7=, $0, $pop6
+ i64.store32 $discard=, a($pop16):p2align=3, $pop7
block
- i64.const $push5=, 2147483648
- i64.or $push6=, $4, $pop5
- i64.store32 $discard=, a($3), $pop6
- i32.const $push20=, 0
- i32.eq $push21=, $1, $pop20
- br_if $pop21, 0 # 0: down to label1
+ i32.const $push28=, 0
+ i32.eq $push29=, $2, $pop28
+ br_if $pop29, 0 # 0: down to label1
# BB#1: # %if.then.i
- i64.const $2=, 33
- i64.shl $push16=, $0, $2
- i64.shr_s $push17=, $pop16, $2
- i64.store32 $discard=, c($7), $pop17
+ i64.const $push12=, 33
+ i64.shl $push13=, $1, $pop12
+ i64.const $push27=, 33
+ i64.shr_s $push14=, $pop13, $pop27
+ i64.store32 $discard=, c($3), $pop14
.LBB2_2: # %bar.exit
end_block # label1:
- i32.load8_u $push18=, b+4($7)
- i32.store8 $discard=, a+4($7), $pop18
- i32.load8_u $3=, b+2($7)
- i32.load8_u $1=, b+1($7)
- i32.load8_u $5=, b($7)
- i32.load8_u $push19=, b+3($7)
- i32.store8 $discard=, a+3($7), $pop19
- i32.store8 $discard=, a+2($7), $3
- i32.store8 $discard=, a+1($7), $1
- i32.store8 $discard=, a($7), $5
- i32.const $10=, 16
- i32.add $15=, $15, $10
- i32.const $10=, __stack_pointer
- i32.store $15=, 0($10), $15
+ i32.load $2=, b($3):p2align=0
+ i32.load8_u $push15=, b+4($3)
+ i32.store8 $discard=, a+4($3):p2align=2, $pop15
+ i32.store $discard=, a($3):p2align=3, $2
return
.endfunc
.Lfunc_end2:
@@ -183,93 +125,63 @@ baz: # @baz
.type main,@function
main: # @main
.result i32
- .local i64, i32, i64, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 16
- i32.sub $15=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $15=, 0($9), $15
- i32.const $7=, 4
- i32.const $push0=, a
- i32.add $1=, $pop0, $7
- i32.const $3=, 0
- i64.const $2=, 32
- i64.load32_u $push3=, a($3)
- i64.load8_u $push1=, 0($1)
- i64.shl $push2=, $pop1, $2
- i64.or $0=, $pop3, $pop2
- i32.const $11=, 8
- i32.add $11=, $15, $11
- i32.add $5=, $11, $7
- i32.store8 $push8=, 0($5), $3
- i32.store $7=, 8($15), $pop8
- i32.load8_u $5=, 0($5)
+ i32.const $push1=, 0
+ i64.load8_u $0=, a+4($pop1):p2align=2
+ i32.const $push32=, 0
+ i64.load32_u $1=, a($pop32):p2align=3
+ i32.const $push31=, 0
+ i32.const $push30=, 0
+ i32.store8 $push9=, b+4($pop31), $pop30
+ tee_local $push29=, $3=, $pop9
+ i32.store $push10=, b($pop29):p2align=0, $3
+ tee_local $push28=, $3=, $pop10
+ i32.store $push11=, e($pop28), $3
+ tee_local $push27=, $3=, $pop11
+ i32.load $2=, d($pop27)
+ i32.const $push26=, 0
+ i64.const $push2=, 32
+ i64.shl $push3=, $0, $pop2
+ i64.or $push0=, $1, $pop3
+ tee_local $push25=, $1=, $pop0
i64.const $push4=, 964220157951
- i64.and $4=, $0, $pop4
- i64.shr_u $push7=, $4, $2
- i64.store8 $discard=, 0($1), $pop7
- i32.store8 $discard=, b+4($7), $5
- i32.const $push12=, 2
- i32.const $12=, 8
- i32.add $12=, $15, $12
- i32.or $push13=, $12, $pop12
- i32.load8_u $1=, 0($pop13)
- i32.const $push14=, 1
- i32.const $13=, 8
- i32.add $13=, $15, $13
- i32.or $push15=, $13, $pop14
- i32.load8_u $5=, 0($pop15)
- i32.load8_u $6=, 8($15)
- i32.const $push9=, 3
- i32.const $14=, 8
- i32.add $14=, $15, $14
- i32.or $push10=, $14, $pop9
- i32.load8_u $push11=, 0($pop10)
- i32.store8 $discard=, b+3($7), $pop11
- i32.store8 $discard=, b+2($7), $1
- i32.store8 $discard=, b+1($7), $5
- i32.store8 $discard=, b($7), $6
- i32.store $discard=, e($7), $7
- i32.load $1=, d($7)
+ i64.and $push5=, $pop25, $pop4
+ tee_local $push24=, $0=, $pop5
+ i64.const $push23=, 32
+ i64.shr_u $push8=, $pop24, $pop23
+ i64.store8 $discard=, a+4($pop26):p2align=2, $pop8
+ i32.const $push22=, 0
+ i64.const $push6=, 2147483648
+ i64.or $push7=, $0, $pop6
+ i64.store32 $discard=, a($pop22):p2align=3, $pop7
block
- i64.const $push5=, 2147483648
- i64.or $push6=, $4, $pop5
- i64.store32 $discard=, a($3), $pop6
- i32.const $push24=, 0
- i32.eq $push25=, $1, $pop24
- br_if $pop25, 0 # 0: down to label2
+ i32.const $push35=, 0
+ i32.eq $push36=, $2, $pop35
+ br_if $pop36, 0 # 0: down to label2
# BB#1: # %if.then.i.i
- i64.const $2=, 33
- i64.shl $push16=, $0, $2
- i64.shr_s $push17=, $pop16, $2
- i64.store32 $discard=, c($7), $pop17
+ i64.const $push12=, 33
+ i64.shl $push13=, $1, $pop12
+ i64.const $push33=, 33
+ i64.shr_s $push14=, $pop13, $pop33
+ i64.store32 $discard=, c($3), $pop14
.LBB3_2: # %baz.exit
end_block # label2:
- i32.load8_u $push18=, b+4($7)
- i32.store8 $discard=, a+4($7), $pop18
- i32.load8_u $3=, b+2($7)
- i32.load8_u $1=, b+1($7)
- i32.load8_u $5=, b($7)
- i32.load8_u $push19=, b+3($7)
- i32.store8 $discard=, a+3($7), $pop19
- i32.store8 $discard=, a+2($7), $3
- i32.store8 $discard=, a+1($7), $1
- i32.store8 $discard=, a($7), $5
- i64.const $2=, 33
+ i32.load $2=, b($3):p2align=0
+ i32.load8_u $push15=, b+4($3)
+ i32.store8 $discard=, a+4($3):p2align=2, $pop15
+ i32.store $discard=, a($3):p2align=3, $2
block
- i64.load32_u $push20=, a($7)
- i64.shl $push21=, $pop20, $2
- i64.shr_s $push22=, $pop21, $2
- i32.wrap/i64 $push23=, $pop22
- br_if $pop23, 0 # 0: down to label3
+ i64.load32_u $push16=, a($3):p2align=3
+ i64.const $push17=, 33
+ i64.shl $push18=, $pop16, $pop17
+ i64.const $push34=, 33
+ i64.shr_s $push19=, $pop18, $pop34
+ i32.wrap/i64 $push20=, $pop19
+ br_if $pop20, 0 # 0: down to label3
# BB#3: # %if.end
- i32.const $10=, 16
- i32.add $15=, $15, $10
- i32.const $10=, __stack_pointer
- i32.store $15=, 0($10), $15
- return $7
+ i32.const $push21=, 0
+ return $pop21
.LBB3_4: # %if.then
end_block # label3:
call abort@FUNCTION
@@ -282,7 +194,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 3
+ .p2align 3
a:
.int8 1 # 0x1
.int8 0 # 0x0
@@ -295,7 +207,7 @@ a:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
@@ -304,7 +216,7 @@ e:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -313,7 +225,7 @@ d:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
diff --git a/test/torture-s/pr52979-2.c.s b/test/torture-s/pr52979-2.c.s
index 982268a98..ed6213bc8 100644
--- a/test/torture-s/pr52979-2.c.s
+++ b/test/torture-s/pr52979-2.c.s
@@ -16,74 +16,48 @@ foo: # @foo
.globl bar
.type bar,@function
bar: # @bar
- .local i64, i32, i64, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 16
- i32.sub $15=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $15=, 0($9), $15
- i32.const $6=, 4
- i32.const $push0=, a
- i32.add $1=, $pop0, $6
- i32.const $3=, 0
- i64.const $2=, 32
- i64.load32_u $push3=, a($3)
- i64.load8_u $push1=, 0($1)
- i64.shl $push2=, $pop1, $2
- i64.or $0=, $pop3, $pop2
- i32.const $11=, 8
- i32.add $11=, $15, $11
- i32.add $5=, $11, $6
- i32.store8 $push8=, 0($5), $3
- i32.store $6=, 8($15), $pop8
- i32.load8_u $5=, 0($5)
+ i32.const $push1=, 0
+ i64.load8_u $0=, a+4($pop1):p2align=2
+ i32.const $push25=, 0
+ i64.load32_u $1=, a($pop25):p2align=3
+ i32.const $push24=, 0
+ i32.const $push23=, 0
+ i32.store8 $push9=, b+4($pop24), $pop23
+ tee_local $push22=, $3=, $pop9
+ i32.store $push10=, b($pop22):p2align=0, $3
+ tee_local $push21=, $3=, $pop10
+ i32.store $push11=, e($pop21), $3
+ tee_local $push20=, $2=, $pop11
+ i32.load $3=, d($pop20)
+ i32.const $push19=, 0
+ i64.const $push2=, 32
+ i64.shl $push3=, $0, $pop2
+ i64.or $push0=, $1, $pop3
+ tee_local $push18=, $1=, $pop0
i64.const $push4=, 964220157951
- i64.and $4=, $0, $pop4
- i64.shr_u $push7=, $4, $2
- i64.store8 $discard=, 0($1), $pop7
- i32.store8 $discard=, b+4($6), $5
- i32.const $push12=, 2
- i32.const $12=, 8
- i32.add $12=, $15, $12
- i32.or $push13=, $12, $pop12
- i32.load8_u $1=, 0($pop13)
- i32.const $push14=, 1
- i32.const $13=, 8
- i32.add $13=, $15, $13
- i32.or $push15=, $13, $pop14
- i32.load8_u $5=, 0($pop15)
- i32.load8_u $7=, 8($15)
- i32.const $push9=, 3
- i32.const $14=, 8
- i32.add $14=, $15, $14
- i32.or $push10=, $14, $pop9
- i32.load8_u $push11=, 0($pop10)
- i32.store8 $discard=, b+3($6), $pop11
- i32.store8 $discard=, b+2($6), $1
- i32.store8 $discard=, b+1($6), $5
- i32.store8 $discard=, b($6), $7
- i32.store $discard=, e($6), $6
- i32.load $1=, d($6)
+ i64.and $push5=, $pop18, $pop4
+ tee_local $push17=, $0=, $pop5
+ i64.const $push16=, 32
+ i64.shr_u $push8=, $pop17, $pop16
+ i64.store8 $discard=, a+4($pop19):p2align=2, $pop8
+ i32.const $push15=, 0
+ i64.const $push6=, 2147483648
+ i64.or $push7=, $0, $pop6
+ i64.store32 $discard=, a($pop15):p2align=3, $pop7
block
- i64.const $push5=, 2147483648
- i64.or $push6=, $4, $pop5
- i64.store32 $discard=, a($3), $pop6
- i32.const $push18=, 0
- i32.eq $push19=, $1, $pop18
- br_if $pop19, 0 # 0: down to label0
+ i32.const $push27=, 0
+ i32.eq $push28=, $3, $pop27
+ br_if $pop28, 0 # 0: down to label0
# BB#1: # %if.then
- i64.const $2=, 33
- i64.shl $push16=, $0, $2
- i64.shr_s $push17=, $pop16, $2
- i64.store32 $discard=, c($6), $pop17
+ i64.const $push12=, 33
+ i64.shl $push13=, $1, $pop12
+ i64.const $push26=, 33
+ i64.shr_s $push14=, $pop13, $pop26
+ i64.store32 $discard=, c($2), $pop14
.LBB1_2: # %if.end
end_block # label0:
- i32.const $10=, 16
- i32.add $15=, $15, $10
- i32.const $10=, __stack_pointer
- i32.store $15=, 0($10), $15
return
.endfunc
.Lfunc_end1:
@@ -94,84 +68,52 @@ bar: # @bar
.globl baz
.type baz,@function
baz: # @baz
- .local i64, i32, i64, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 16
- i32.sub $15=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $15=, 0($9), $15
- i32.const $7=, 4
- i32.const $push0=, a
- i32.add $1=, $pop0, $7
- i32.const $3=, 0
- i64.const $2=, 32
- i64.load32_u $push3=, a($3)
- i64.load8_u $push1=, 0($1)
- i64.shl $push2=, $pop1, $2
- i64.or $0=, $pop3, $pop2
- i32.const $11=, 8
- i32.add $11=, $15, $11
- i32.add $5=, $11, $7
- i32.store8 $push8=, 0($5), $3
- i32.store $7=, 8($15), $pop8
- i32.load8_u $5=, 0($5)
+ i32.const $push1=, 0
+ i64.load8_u $0=, a+4($pop1):p2align=2
+ i32.const $push26=, 0
+ i64.load32_u $1=, a($pop26):p2align=3
+ i32.const $push25=, 0
+ i32.const $push24=, 0
+ i32.store8 $push9=, b+4($pop25), $pop24
+ tee_local $push23=, $3=, $pop9
+ i32.store $push10=, b($pop23):p2align=0, $3
+ tee_local $push22=, $3=, $pop10
+ i32.store $push11=, e($pop22), $3
+ tee_local $push21=, $3=, $pop11
+ i32.load $2=, d($pop21)
+ i32.const $push20=, 0
+ i64.const $push2=, 32
+ i64.shl $push3=, $0, $pop2
+ i64.or $push0=, $1, $pop3
+ tee_local $push19=, $1=, $pop0
i64.const $push4=, 964220157951
- i64.and $4=, $0, $pop4
- i64.shr_u $push7=, $4, $2
- i64.store8 $discard=, 0($1), $pop7
- i32.store8 $discard=, b+4($7), $5
- i32.const $push12=, 2
- i32.const $12=, 8
- i32.add $12=, $15, $12
- i32.or $push13=, $12, $pop12
- i32.load8_u $1=, 0($pop13)
- i32.const $push14=, 1
- i32.const $13=, 8
- i32.add $13=, $15, $13
- i32.or $push15=, $13, $pop14
- i32.load8_u $5=, 0($pop15)
- i32.load8_u $6=, 8($15)
- i32.const $push9=, 3
- i32.const $14=, 8
- i32.add $14=, $15, $14
- i32.or $push10=, $14, $pop9
- i32.load8_u $push11=, 0($pop10)
- i32.store8 $discard=, b+3($7), $pop11
- i32.store8 $discard=, b+2($7), $1
- i32.store8 $discard=, b+1($7), $5
- i32.store8 $discard=, b($7), $6
- i32.store $discard=, e($7), $7
- i32.load $1=, d($7)
+ i64.and $push5=, $pop19, $pop4
+ tee_local $push18=, $0=, $pop5
+ i64.const $push17=, 32
+ i64.shr_u $push8=, $pop18, $pop17
+ i64.store8 $discard=, a+4($pop20):p2align=2, $pop8
+ i32.const $push16=, 0
+ i64.const $push6=, 2147483648
+ i64.or $push7=, $0, $pop6
+ i64.store32 $discard=, a($pop16):p2align=3, $pop7
block
- i64.const $push5=, 2147483648
- i64.or $push6=, $4, $pop5
- i64.store32 $discard=, a($3), $pop6
- i32.const $push20=, 0
- i32.eq $push21=, $1, $pop20
- br_if $pop21, 0 # 0: down to label1
+ i32.const $push28=, 0
+ i32.eq $push29=, $2, $pop28
+ br_if $pop29, 0 # 0: down to label1
# BB#1: # %if.then.i
- i64.const $2=, 33
- i64.shl $push16=, $0, $2
- i64.shr_s $push17=, $pop16, $2
- i64.store32 $discard=, c($7), $pop17
+ i64.const $push12=, 33
+ i64.shl $push13=, $1, $pop12
+ i64.const $push27=, 33
+ i64.shr_s $push14=, $pop13, $pop27
+ i64.store32 $discard=, c($3), $pop14
.LBB2_2: # %bar.exit
end_block # label1:
- i32.load8_u $push18=, b+4($7)
- i32.store8 $discard=, a+4($7), $pop18
- i32.load8_u $3=, b+2($7)
- i32.load8_u $1=, b+1($7)
- i32.load8_u $5=, b($7)
- i32.load8_u $push19=, b+3($7)
- i32.store8 $discard=, a+3($7), $pop19
- i32.store8 $discard=, a+2($7), $3
- i32.store8 $discard=, a+1($7), $1
- i32.store8 $discard=, a($7), $5
- i32.const $10=, 16
- i32.add $15=, $15, $10
- i32.const $10=, __stack_pointer
- i32.store $15=, 0($10), $15
+ i32.load $2=, b($3):p2align=0
+ i32.load8_u $push15=, b+4($3)
+ i32.store8 $discard=, a+4($3):p2align=2, $pop15
+ i32.store $discard=, a($3):p2align=3, $2
return
.endfunc
.Lfunc_end2:
@@ -183,93 +125,63 @@ baz: # @baz
.type main,@function
main: # @main
.result i32
- .local i64, i32, i64, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 16
- i32.sub $15=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $15=, 0($9), $15
- i32.const $7=, 4
- i32.const $push0=, a
- i32.add $1=, $pop0, $7
- i32.const $3=, 0
- i64.const $2=, 32
- i64.load32_u $push3=, a($3)
- i64.load8_u $push1=, 0($1)
- i64.shl $push2=, $pop1, $2
- i64.or $0=, $pop3, $pop2
- i32.const $11=, 8
- i32.add $11=, $15, $11
- i32.add $5=, $11, $7
- i32.store8 $push8=, 0($5), $3
- i32.store $7=, 8($15), $pop8
- i32.load8_u $5=, 0($5)
+ i32.const $push1=, 0
+ i64.load8_u $0=, a+4($pop1):p2align=2
+ i32.const $push32=, 0
+ i64.load32_u $1=, a($pop32):p2align=3
+ i32.const $push31=, 0
+ i32.const $push30=, 0
+ i32.store8 $push9=, b+4($pop31), $pop30
+ tee_local $push29=, $3=, $pop9
+ i32.store $push10=, b($pop29):p2align=0, $3
+ tee_local $push28=, $3=, $pop10
+ i32.store $push11=, e($pop28), $3
+ tee_local $push27=, $3=, $pop11
+ i32.load $2=, d($pop27)
+ i32.const $push26=, 0
+ i64.const $push2=, 32
+ i64.shl $push3=, $0, $pop2
+ i64.or $push0=, $1, $pop3
+ tee_local $push25=, $1=, $pop0
i64.const $push4=, 964220157951
- i64.and $4=, $0, $pop4
- i64.shr_u $push7=, $4, $2
- i64.store8 $discard=, 0($1), $pop7
- i32.store8 $discard=, b+4($7), $5
- i32.const $push12=, 2
- i32.const $12=, 8
- i32.add $12=, $15, $12
- i32.or $push13=, $12, $pop12
- i32.load8_u $1=, 0($pop13)
- i32.const $push14=, 1
- i32.const $13=, 8
- i32.add $13=, $15, $13
- i32.or $push15=, $13, $pop14
- i32.load8_u $5=, 0($pop15)
- i32.load8_u $6=, 8($15)
- i32.const $push9=, 3
- i32.const $14=, 8
- i32.add $14=, $15, $14
- i32.or $push10=, $14, $pop9
- i32.load8_u $push11=, 0($pop10)
- i32.store8 $discard=, b+3($7), $pop11
- i32.store8 $discard=, b+2($7), $1
- i32.store8 $discard=, b+1($7), $5
- i32.store8 $discard=, b($7), $6
- i32.store $discard=, e($7), $7
- i32.load $1=, d($7)
+ i64.and $push5=, $pop25, $pop4
+ tee_local $push24=, $0=, $pop5
+ i64.const $push23=, 32
+ i64.shr_u $push8=, $pop24, $pop23
+ i64.store8 $discard=, a+4($pop26):p2align=2, $pop8
+ i32.const $push22=, 0
+ i64.const $push6=, 2147483648
+ i64.or $push7=, $0, $pop6
+ i64.store32 $discard=, a($pop22):p2align=3, $pop7
block
- i64.const $push5=, 2147483648
- i64.or $push6=, $4, $pop5
- i64.store32 $discard=, a($3), $pop6
- i32.const $push24=, 0
- i32.eq $push25=, $1, $pop24
- br_if $pop25, 0 # 0: down to label2
+ i32.const $push35=, 0
+ i32.eq $push36=, $2, $pop35
+ br_if $pop36, 0 # 0: down to label2
# BB#1: # %if.then.i.i
- i64.const $2=, 33
- i64.shl $push16=, $0, $2
- i64.shr_s $push17=, $pop16, $2
- i64.store32 $discard=, c($7), $pop17
+ i64.const $push12=, 33
+ i64.shl $push13=, $1, $pop12
+ i64.const $push33=, 33
+ i64.shr_s $push14=, $pop13, $pop33
+ i64.store32 $discard=, c($3), $pop14
.LBB3_2: # %baz.exit
end_block # label2:
- i32.load8_u $push18=, b+4($7)
- i32.store8 $discard=, a+4($7), $pop18
- i32.load8_u $3=, b+2($7)
- i32.load8_u $1=, b+1($7)
- i32.load8_u $5=, b($7)
- i32.load8_u $push19=, b+3($7)
- i32.store8 $discard=, a+3($7), $pop19
- i32.store8 $discard=, a+2($7), $3
- i32.store8 $discard=, a+1($7), $1
- i32.store8 $discard=, a($7), $5
- i64.const $2=, 33
+ i32.load $2=, b($3):p2align=0
+ i32.load8_u $push15=, b+4($3)
+ i32.store8 $discard=, a+4($3):p2align=2, $pop15
+ i32.store $discard=, a($3):p2align=3, $2
block
- i64.load32_u $push20=, a($7)
- i64.shl $push21=, $pop20, $2
- i64.shr_s $push22=, $pop21, $2
- i32.wrap/i64 $push23=, $pop22
- br_if $pop23, 0 # 0: down to label3
+ i64.load32_u $push16=, a($3):p2align=3
+ i64.const $push17=, 33
+ i64.shl $push18=, $pop16, $pop17
+ i64.const $push34=, 33
+ i64.shr_s $push19=, $pop18, $pop34
+ i32.wrap/i64 $push20=, $pop19
+ br_if $pop20, 0 # 0: down to label3
# BB#3: # %if.end
- i32.const $10=, 16
- i32.add $15=, $15, $10
- i32.const $10=, __stack_pointer
- i32.store $15=, 0($10), $15
- return $7
+ i32.const $push21=, 0
+ return $pop21
.LBB3_4: # %if.then
end_block # label3:
call abort@FUNCTION
@@ -282,7 +194,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 3
+ .p2align 3
a:
.int8 1 # 0x1
.int8 0 # 0x0
@@ -295,7 +207,7 @@ a:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
@@ -304,7 +216,7 @@ e:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -313,7 +225,7 @@ d:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
diff --git a/test/torture-s/pr53084.c.s b/test/torture-s/pr53084.c.s
index 0488fdd43..507a4e96e 100644
--- a/test/torture-s/pr53084.c.s
+++ b/test/torture-s/pr53084.c.s
@@ -6,16 +6,16 @@
.type bar,@function
bar: # @bar
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 111
block
i32.load8_u $push0=, 0($0)
- i32.ne $push1=, $pop0, $1
+ i32.const $push5=, 111
+ i32.ne $push1=, $pop0, $pop5
br_if $pop1, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
i32.load8_u $push2=, 1($0)
- i32.ne $push3=, $pop2, $1
+ i32.const $push6=, 111
+ i32.ne $push3=, $pop2, $pop6
br_if $pop3, 0 # 0: down to label0
# BB#2: # %lor.lhs.false6
i32.load8_u $push4=, 2($0)
diff --git a/test/torture-s/pr53160.c.s b/test/torture-s/pr53160.c.s
index 95ded25a5..2d4f09f6d 100644
--- a/test/torture-s/pr53160.c.s
+++ b/test/torture-s/pr53160.c.s
@@ -5,10 +5,10 @@
.globl foo
.type foo,@function
foo: # @foo
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.store $discard=, e($0), $0
+ i32.const $push0=, 0
+ i32.const $push1=, 0
+ i32.store $discard=, e($pop0), $pop1
return
.endfunc
.Lfunc_end0:
@@ -22,29 +22,34 @@ main: # @main
.result i32
.local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, g($0)
- i32.const $push6=, 0
- i32.eq $push7=, $pop0, $pop6
- br_if $pop7, 0 # 0: down to label0
+ i32.const $push8=, 0
+ i32.load $push0=, g($pop8)
+ i32.const $push13=, 0
+ i32.eq $push14=, $pop0, $pop13
+ br_if $pop14, 0 # 0: down to label0
# BB#1: # %if.then
- i32.load $discard=, b($0)
+ i32.const $push9=, 0
+ i32.load $discard=, b($pop9)
.LBB1_2: # %if.end
end_block # label0:
- i32.store $discard=, e($0), $0
- i32.load8_s $1=, f($0)
- i32.load $2=, c($0)
+ i32.const $push12=, 0
+ i32.const $push11=, 0
+ i32.store $push1=, e($pop12), $pop11
+ tee_local $push10=, $2=, $pop1
+ i32.load8_s $0=, f($pop10)
+ i32.load $1=, c($2)
+ i32.const $push3=, -1
+ i32.store $discard=, d($2), $pop3
block
- i32.const $push2=, -1
- i32.store $discard=, d($0), $pop2
- i32.store16 $push1=, i($0), $1
- i32.select $push3=, $2, $pop1, $0
- i32.store $push4=, h($0), $pop3
- i32.store $push5=, a($0), $pop4
- br_if $pop5, 0 # 0: down to label1
+ i32.store16 $push2=, i($2), $0
+ i32.select $push4=, $1, $pop2, $2
+ i32.store $push5=, h($2), $pop4
+ i32.store $push6=, a($2), $pop5
+ br_if $pop6, 0 # 0: down to label1
# BB#3: # %if.end16
- return $0
+ i32.const $push7=, 0
+ return $pop7
.LBB1_4: # %if.then15
end_block # label1:
call abort@FUNCTION
@@ -57,7 +62,7 @@ main: # @main
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 2
+ .p2align 2
c:
.int32 1 # 0x1
.size c, 4
@@ -66,7 +71,7 @@ c:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
@@ -75,7 +80,7 @@ e:
.type g,@object
.section .bss.g,"aw",@nobits
.globl g
- .align 2
+ .p2align 2
g:
.int32 0 # 0x0
.size g, 4
@@ -84,7 +89,7 @@ g:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -93,7 +98,7 @@ b:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -110,7 +115,7 @@ f:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 1
+ .p2align 1
i:
.int16 0 # 0x0
.size i, 2
@@ -119,7 +124,7 @@ i:
.type h,@object
.section .bss.h,"aw",@nobits
.globl h
- .align 2
+ .p2align 2
h:
.int32 0 # 0x0
.size h, 4
@@ -128,7 +133,7 @@ h:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
diff --git a/test/torture-s/pr53465.c.s b/test/torture-s/pr53465.c.s
index c109812f7..4e64a816e 100644
--- a/test/torture-s/pr53465.c.s
+++ b/test/torture-s/pr53465.c.s
@@ -10,24 +10,25 @@ foo: # @foo
# BB#0: # %entry
i32.const $3=, 0
# implicit-def: %vreg19
- copy_local $5=, $3
+ i32.const $5=, 0
block
- i32.le_s $push0=, $1, $3
+ i32.const $push4=, 0
+ i32.le_s $push0=, $1, $pop4
br_if $pop0, 0 # 0: down to label0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
copy_local $2=, $4
i32.load $4=, 0($0)
- i32.const $push4=, 0
- i32.eq $push5=, $4, $pop4
- br_if $pop5, 1 # 1: down to label2
+ i32.const $push6=, 0
+ i32.eq $push7=, $4, $pop6
+ br_if $pop7, 1 # 1: down to label2
# BB#2: # %if.end
# in Loop: Header=BB0_1 Depth=1
block
- i32.const $push6=, 0
- i32.eq $push7=, $5, $pop6
- br_if $pop7, 0 # 0: down to label3
+ i32.const $push8=, 0
+ i32.eq $push9=, $5, $pop8
+ br_if $pop9, 0 # 0: down to label3
# BB#3: # %if.end
# in Loop: Header=BB0_1 Depth=1
i32.gt_s $push1=, $4, $2
@@ -41,7 +42,8 @@ foo: # @foo
i32.const $push2=, 4
i32.add $0=, $0, $pop2
i32.const $5=, 1
- i32.add $3=, $3, $5
+ i32.const $push5=, 1
+ i32.add $3=, $3, $pop5
i32.lt_s $push3=, $3, $1
br_if $pop3, 0 # 0: up to label1
.LBB0_6: # %for.end
diff --git a/test/torture-s/pr53688.c.s b/test/torture-s/pr53688.c.s
index 5eaa93f3e..91103769d 100644
--- a/test/torture-s/pr53688.c.s
+++ b/test/torture-s/pr53688.c.s
@@ -5,42 +5,18 @@
.globl init
.type init,@function
init: # @init
- .local i32, i64, i64
# BB#0: # %entry
- i32.const $push1=, p
- i32.const $push0=, .L.str
- i32.const $push2=, 9
- call memcpy@FUNCTION, $pop1, $pop0, $pop2
- i32.const $0=, p+9
- i32.const $push3=, 7
- i32.add $push4=, $0, $pop3
- i64.const $push5=, 85
- i64.store8 $discard=, 0($pop4), $pop5
- i32.const $push6=, 6
- i32.add $push7=, $0, $pop6
- i64.const $push8=, 80
- i64.store8 $1=, 0($pop7), $pop8
- i32.const $push9=, 5
- i32.add $push10=, $0, $pop9
- i64.const $push11=, 67
- i64.store8 $2=, 0($pop10), $pop11
- i32.const $push12=, 4
- i32.add $push13=, $0, $pop12
- i64.const $push14=, 32
- i64.store8 $discard=, 0($pop13), $pop14
- i32.const $push15=, 3
- i32.add $push16=, $0, $pop15
- i64.store8 $discard=, 0($pop16), $2
- i32.const $push17=, 2
- i32.add $push18=, $0, $pop17
- i64.const $push19=, 69
- i64.store8 $discard=, 0($pop18), $pop19
- i32.const $push20=, 1
- i32.add $push21=, $0, $pop20
- i64.store8 $discard=, 0($pop21), $1
- i32.const $push22=, 0
- i64.const $push23=, 83
- i64.store8 $discard=, p+9($pop22), $pop23
+ i32.const $push0=, 0
+ i32.const $push7=, 0
+ i32.load8_u $push1=, .L.str+8($pop7)
+ i32.store8 $discard=, p+8($pop0), $pop1
+ i32.const $push6=, 0
+ i32.const $push5=, 0
+ i64.load $push2=, .L.str($pop5):p2align=0
+ i64.store $discard=, p($pop6):p2align=0, $pop2
+ i32.const $push4=, 0
+ i64.const $push3=, 6147487297207357523
+ i64.store $discard=, p+9($pop4):p2align=0, $pop3
return
.endfunc
.Lfunc_end0:
@@ -52,69 +28,40 @@ init: # @init
.type main,@function
main: # @main
.result i32
- .local i32, i32, i64, i64, i32, i64, i64, i32, i64, i32, i64, i32
+ .local i64, i32
# BB#0: # %entry
call init@FUNCTION
- i32.const $1=, 9
- i32.const $push1=, headline
- i32.const $push0=, p
- call memcpy@FUNCTION, $pop1, $pop0, $1
- i32.const $0=, 32
- i32.const $push2=, headline+9
- call memset@FUNCTION, $pop2, $0, $1
- i32.const $1=, p+9
- i32.const $push3=, 3
- i32.add $push4=, $1, $pop3
- i64.load8_u $2=, 0($pop4)
- i32.const $4=, 2
- i32.add $push6=, $1, $4
- i64.load8_u $5=, 0($pop6)
- i32.const $push8=, 5
- i32.add $push9=, $1, $pop8
- i64.load8_u $6=, 0($pop9)
- i32.const $7=, 4
- i32.add $push11=, $1, $7
- i64.load8_u $8=, 0($pop11)
- i32.const $9=, 6
- i64.const $3=, 8
- i32.const $11=, headline+10
- i32.add $push24=, $11, $9
- i32.const $push13=, 7
- i32.add $push14=, $1, $pop13
- i64.load8_u $push15=, 0($pop14)
- i64.shl $push16=, $pop15, $3
- i32.add $push17=, $1, $9
- i64.load8_u $push18=, 0($pop17)
- i64.or $push19=, $pop16, $pop18
- i64.store16 $discard=, 0($pop24), $pop19
- i32.const $push20=, 1
- i32.add $push21=, $1, $pop20
- i64.load8_u $10=, 0($pop21)
- i32.add $push25=, $11, $7
- i64.shl $push10=, $6, $3
- i64.or $push12=, $pop10, $8
- i64.store16 $discard=, 0($pop25), $pop12
- i32.const $1=, 0
- i64.load8_u $6=, p+9($1)
+ i32.const $push17=, 0
+ i64.load $0=, p($pop17):p2align=0
+ i32.const $push16=, 0
+ i32.const $push15=, 0
+ i32.load8_u $push0=, p+8($pop15)
+ i32.store8 $discard=, headline+8($pop16):p2align=3, $pop0
+ i32.const $push14=, 0
+ i64.store $discard=, headline($pop14):p2align=4, $0
+ i32.const $push13=, 0
+ i32.const $push1=, 32
+ i32.store8 $1=, headline+17($pop13), $pop1
+ i32.const $push12=, 0
+ i64.load $0=, p+9($pop12):p2align=0
+ i32.const $push11=, 0
+ i64.const $push2=, 2314885530818453536
+ i64.store $discard=, headline+9($pop11):p2align=0, $pop2
+ i32.const $push10=, 0
+ i64.store $discard=, headline+10($pop10):p2align=1, $0
+ i32.const $push4=, headline+18
+ i32.const $push3=, 238
+ i32.call $discard=, memset@FUNCTION, $pop4, $1, $pop3
block
- i32.add $push26=, $11, $4
- i64.shl $push5=, $2, $3
- i64.or $push7=, $pop5, $5
- i64.store16 $discard=, 0($pop26), $pop7
- i32.const $push29=, headline+18
- i32.const $push28=, 238
- call memset@FUNCTION, $pop29, $0, $pop28
- i64.shl $push22=, $10, $3
- i64.or $push23=, $pop22, $6
- i64.store16 $push27=, headline+10($1), $pop23
- i32.wrap/i64 $push30=, $pop27
- i32.const $push31=, 255
- i32.and $push32=, $pop30, $pop31
- i32.const $push33=, 83
- i32.ne $push34=, $pop32, $pop33
- br_if $pop34, 0 # 0: down to label0
+ i32.wrap/i64 $push5=, $0
+ i32.const $push6=, 255
+ i32.and $push7=, $pop5, $pop6
+ i32.const $push8=, 83
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#1: # %if.end
- return $1
+ i32.const $push18=, 0
+ return $pop18
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -141,7 +88,7 @@ p:
.type headline,@object
.section .bss.headline,"aw",@nobits
.globl headline
- .align 4
+ .p2align 4
headline:
.skip 256
.size headline, 256
diff --git a/test/torture-s/pr54471.c.s b/test/torture-s/pr54471.c.s
index 245cce02f..62eaa6992 100644
--- a/test/torture-s/pr54471.c.s
+++ b/test/torture-s/pr54471.c.s
@@ -6,59 +6,59 @@
.type foo,@function
foo: # @foo
.param i32, i64, i64, i32
- .local i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 32
+ i32.sub $11=, $6, $7
i32.const $7=, __stack_pointer
- i32.load $7=, 0($7)
- i32.const $8=, 32
- i32.sub $10=, $7, $8
- i32.const $8=, __stack_pointer
- i32.store $10=, 0($8), $10
- i64.const $6=, 0
- i64.const $5=, 1
+ i32.store $11=, 0($7), $11
+ i64.const $5=, 0
+ i64.const $4=, 1
block
- i32.const $push7=, 0
- i32.eq $push8=, $3, $pop7
- br_if $pop8, 0 # 0: down to label0
+ i32.const $push14=, 0
+ i32.eq $push15=, $3, $pop14
+ br_if $pop15, 0 # 0: down to label0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $10=, 0
- i32.add $10=, $10, $10
- call __multi3@FUNCTION, $10, $1, $2, $5, $6
- i32.const $4=, 8
- i32.const $11=, 0
- i32.add $11=, $10, $11
- i32.add $push0=, $11, $4
- i64.load $6=, 0($pop0)
- i64.load $5=, 0($10)
- i32.const $12=, 16
- i32.add $12=, $10, $12
- call __multi3@FUNCTION, $12, $1, $2, $1, $2
- i32.const $13=, 16
- i32.add $13=, $10, $13
- i32.add $push1=, $13, $4
- i64.load $2=, 0($pop1)
- i64.load $1=, 16($10)
- i32.const $push2=, -1
- i32.add $3=, $3, $pop2
+ call __multi3@FUNCTION, $11, $1, $2, $4, $5
+ i32.const $push0=, 8
+ i32.add $push1=, $11, $pop0
+ i64.load $5=, 0($pop1)
+ i64.load $4=, 0($11)
+ i32.const $9=, 16
+ i32.add $9=, $11, $9
+ call __multi3@FUNCTION, $9, $1, $2, $1, $2
+ i32.const $push9=, 8
+ i32.const $10=, 16
+ i32.add $10=, $11, $10
+ i32.add $push2=, $10, $pop9
+ i64.load $2=, 0($pop2)
+ i64.load $1=, 16($11)
+ i32.const $push3=, -1
+ i32.add $3=, $3, $pop3
br_if $3, 0 # 0: up to label1
# BB#2: # %for.end
end_loop # label2:
- i64.const $2=, 14348907
- i64.const $1=, 0
- i64.xor $push3=, $5, $2
- i64.or $push4=, $pop3, $6
- i64.ne $push5=, $pop4, $1
- br_if $pop5, 0 # 0: down to label0
+ i64.const $push11=, 14348907
+ i64.xor $push4=, $4, $pop11
+ i64.or $push5=, $pop4, $5
+ i64.const $push10=, 0
+ i64.ne $push6=, $pop5, $pop10
+ br_if $pop6, 0 # 0: down to label0
# BB#3: # %if.end
- i64.store $discard=, 0($0), $2
- i32.add $push6=, $0, $4
- i64.store $discard=, 0($pop6), $1
- i32.const $9=, 32
- i32.add $10=, $10, $9
- i32.const $9=, __stack_pointer
- i32.store $10=, 0($9), $10
+ i64.const $push13=, 14348907
+ i64.store $discard=, 0($0), $pop13
+ i32.const $push7=, 8
+ i32.add $push8=, $0, $pop7
+ i64.const $push12=, 0
+ i64.store $discard=, 0($pop8), $pop12
+ i32.const $8=, 32
+ i32.add $11=, $11, $8
+ i32.const $8=, __stack_pointer
+ i32.store $11=, 0($8), $11
return
.LBB0_4: # %if.then
end_block # label0:
@@ -74,25 +74,23 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
i32.const $0=, __stack_pointer
i32.load $0=, 0($0)
i32.const $1=, 16
- i32.sub $4=, $0, $1
+ i32.sub $3=, $0, $1
i32.const $1=, __stack_pointer
- i32.store $4=, 0($1), $4
+ i32.store $3=, 0($1), $3
i64.const $push2=, 3
i64.const $push1=, 0
i32.const $push0=, 4
- i32.const $3=, 0
- i32.add $3=, $4, $3
call foo@FUNCTION, $3, $pop2, $pop1, $pop0
i32.const $push3=, 0
i32.const $2=, 16
- i32.add $4=, $4, $2
+ i32.add $3=, $3, $2
i32.const $2=, __stack_pointer
- i32.store $4=, 0($2), $4
+ i32.store $3=, 0($2), $3
return $pop3
.endfunc
.Lfunc_end1:
diff --git a/test/torture-s/pr54937.c.s b/test/torture-s/pr54937.c.s
index b6ff6ff3b..d386fbe60 100644
--- a/test/torture-s/pr54937.c.s
+++ b/test/torture-s/pr54937.c.s
@@ -7,9 +7,9 @@
t: # @t
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, 0
+ i32.const $1=, 0
block
i32.const $push0=, 1
i32.lt_s $push1=, $0, $pop0
@@ -19,29 +19,28 @@ t: # @t
loop # label1:
block
i32.const $push8=, 0
- i32.eq $push9=, $2, $pop8
+ i32.eq $push9=, $1, $pop8
br_if $pop9, 0 # 0: down to label3
# BB#2: # %if.then
# in Loop: Header=BB0_1 Depth=1
- i32.const $1=, 0
- i32.load $push2=, terminate_me($1)
- call_indirect $pop2, $1
+ i32.const $push2=, 0
+ i32.load $push3=, terminate_me($pop2)
+ i32.const $push7=, 0
+ call_indirect $pop3, $pop7
.LBB0_3: # %if.end
# in Loop: Header=BB0_1 Depth=1
end_block # label3:
- i32.const $push3=, a
- i32.add $push4=, $pop3, $2
- i32.const $push5=, 0
- i32.store $discard=, 0($pop4), $pop5
- i32.const $push6=, 4
- i32.add $2=, $2, $pop6
- i32.const $push7=, -1
- i32.add $0=, $0, $pop7
+ i32.const $push4=, 0
+ i32.store $discard=, a($1), $pop4
+ i32.const $push5=, 4
+ i32.add $1=, $1, $pop5
+ i32.const $push6=, -1
+ i32.add $0=, $0, $pop6
br_if $0, 0 # 0: up to label1
.LBB0_4: # %for.end
end_loop # label2:
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end0:
.size t, .Lfunc_end0-t
@@ -68,7 +67,7 @@ main: # @main
.type terminate_me,@object
.section .bss.terminate_me,"aw",@nobits
.globl terminate_me
- .align 2
+ .p2align 2
terminate_me:
.int32 0
.size terminate_me, 4
@@ -77,7 +76,7 @@ terminate_me:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 4
.size a, 4
diff --git a/test/torture-s/pr54985.c.s b/test/torture-s/pr54985.c.s
index 12367e974..83a3d46ba 100644
--- a/test/torture-s/pr54985.c.s
+++ b/test/torture-s/pr54985.c.s
@@ -7,39 +7,41 @@
foo: # @foo
.param i32, i32
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- copy_local $2=, $3
+ i32.const $4=, 0
block
- i32.const $push1=, 0
- i32.eq $push2=, $1, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push5=, 0
+ i32.eq $push6=, $1, $pop5
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %while.body.preheader
- i32.load $6=, 0($0)
- i32.const $4=, 4
- i32.add $0=, $0, $4
+ i32.load $3=, 0($0)
+ i32.const $push1=, 4
+ i32.add $0=, $0, $pop1
.LBB0_2: # %while.cond
# =>This Inner Loop Header: Depth=1
loop # label1:
- i32.const $push0=, -1
- i32.add $1=, $1, $pop0
- copy_local $2=, $3
- i32.const $push3=, 0
- i32.eq $push4=, $1, $pop3
- br_if $pop4, 1 # 1: down to label2
+ i32.const $push2=, -1
+ i32.add $1=, $1, $pop2
+ i32.const $4=, 0
+ i32.const $push7=, 0
+ i32.eq $push8=, $1, $pop7
+ br_if $pop8, 1 # 1: down to label2
# BB#3: # %while.cond.while.body_crit_edge
# in Loop: Header=BB0_2 Depth=1
- i32.load $2=, 0($0)
- i32.add $0=, $0, $4
- i32.lt_s $5=, $2, $6
- copy_local $6=, $2
- i32.const $2=, 1
- br_if $5, 0 # 0: up to label1
+ i32.const $push4=, 4
+ i32.add $4=, $0, $pop4
+ i32.load $push0=, 0($0)
+ tee_local $push3=, $5=, $pop0
+ i32.lt_s $2=, $pop3, $3
+ copy_local $0=, $4
+ copy_local $3=, $5
+ i32.const $4=, 1
+ br_if $2, 0 # 0: up to label1
.LBB0_4: # %cleanup
end_loop # label2:
end_block # label0:
- return $2
+ return $4
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
diff --git a/test/torture-s/pr55750.c.s b/test/torture-s/pr55750.c.s
index 212741ebf..3b3b7ab80 100644
--- a/test/torture-s/pr55750.c.s
+++ b/test/torture-s/pr55750.c.s
@@ -6,15 +6,13 @@
.type foo,@function
foo: # @foo
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 2
- i32.const $push1=, arr
- i32.shl $push0=, $0, $1
- i32.add $0=, $pop1, $pop0
- i32.load8_u $push2=, 0($0)
- i32.add $push3=, $pop2, $1
- i32.store8 $discard=, 0($0), $pop3
+ i32.const $push0=, 2
+ i32.shl $0=, $0, $pop0
+ i32.load8_u $push1=, arr($0):p2align=2
+ i32.const $push3=, 2
+ i32.add $push2=, $pop1, $pop3
+ i32.store8 $discard=, arr($0):p2align=2, $pop2
return
.endfunc
.Lfunc_end0:
@@ -26,28 +24,32 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push13=, 0
i32.const $push1=, 127
- i32.store8 $discard=, arr($0), $pop1
+ i32.store8 $discard=, arr($pop13):p2align=2, $pop1
+ i32.const $push12=, 0
i32.const $push2=, 254
- i32.store8 $discard=, arr+4($0), $pop2
- call foo@FUNCTION, $0
- block
+ i32.store8 $discard=, arr+4($pop12):p2align=2, $pop2
+ i32.const $push11=, 0
+ call foo@FUNCTION, $pop11
i32.const $push3=, 1
call foo@FUNCTION, $pop3
- i32.load8_u $push4=, arr($0)
+ block
+ i32.const $push10=, 0
+ i32.load8_u $push4=, arr($pop10):p2align=2
i32.const $push5=, 129
i32.ne $push6=, $pop4, $pop5
br_if $pop6, 0 # 0: down to label0
# BB#1: # %entry
- i32.load8_u $push0=, arr+4($0)
+ i32.const $push14=, 0
+ i32.load8_u $push0=, arr+4($pop14):p2align=2
i32.const $push7=, 255
i32.and $push8=, $pop0, $pop7
br_if $pop8, 0 # 0: down to label0
# BB#2: # %if.end
- return $0
+ i32.const $push9=, 0
+ return $pop9
.LBB1_3: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -60,7 +62,7 @@ main: # @main
.type arr,@object
.section .bss.arr,"aw",@nobits
.globl arr
- .align 2
+ .p2align 2
arr:
.skip 8
.size arr, 8
diff --git a/test/torture-s/pr55875.c.s b/test/torture-s/pr55875.c.s
index bf0f96f82..9e082a415 100644
--- a/test/torture-s/pr55875.c.s
+++ b/test/torture-s/pr55875.c.s
@@ -44,11 +44,11 @@ main: # @main
.LBB1_1: # %for.cond
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.const $push0=, 255
- i32.and $push1=, $0, $pop0
- i32.call $discard=, t@FUNCTION, $pop1
- i32.const $push2=, 1
- i32.add $0=, $0, $pop2
+ i32.const $push2=, 255
+ i32.and $push0=, $0, $pop2
+ i32.call $discard=, t@FUNCTION, $pop0
+ i32.const $push1=, 1
+ i32.add $0=, $0, $pop1
br 0 # 0: up to label2
.LBB1_2:
end_loop # label3:
@@ -60,7 +60,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 1004
.size a, 1004
diff --git a/test/torture-s/pr56205.c.s b/test/torture-s/pr56205.c.s
new file mode 100644
index 000000000..e40af72f2
--- /dev/null
+++ b/test/torture-s/pr56205.c.s
@@ -0,0 +1,381 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr56205.c"
+ .section .text.f4,"ax",@progbits
+ .hidden f4
+ .globl f4
+ .type f4,@function
+f4: # @f4
+ .param i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 16
+ i32.sub $16=, $13, $14
+ copy_local $17=, $16
+ i32.const $14=, __stack_pointer
+ i32.store $16=, 0($14), $16
+ i32.store $discard=, 12($16), $17
+ block
+ br_if $0, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $push18=, 0
+ i32.load8_u $push1=, c($pop18):p2align=4
+ i32.const $push2=, 255
+ i32.and $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
+# BB#2: # %if.then
+ i32.const $push4=, 0
+ i32.const $push19=, 0
+ i32.load $push5=, b($pop19)
+ i32.const $push6=, 1
+ i32.add $push7=, $pop5, $pop6
+ i32.store $discard=, b($pop4), $pop7
+.LBB0_3: # %if.end
+ end_block # label0:
+ i32.const $push22=, .L.str.3
+ i32.const $push8=, .L.str.1
+ i32.select $0=, $0, $pop22, $pop8
+ i32.load $2=, 12($16)
+ i32.const $push21=, 0
+ i32.const $push20=, 0
+ i32.load $push9=, a($pop20)
+ i32.const $push10=, 1
+ i32.add $push0=, $pop9, $pop10
+ i32.store $3=, a($pop21), $pop0
+ block
+ block
+ i32.const $push25=, 0
+ i32.eq $push26=, $1, $pop25
+ br_if $pop26, 0 # 0: down to label2
+# BB#4: # %land.rhs.i
+ i32.load8_u $4=, 0($1)
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 12
+ i32.sub $16=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $16=, 0($6), $16
+ i32.store $discard=, 0($16), $0
+ i32.const $push13=, 8
+ i32.add $0=, $16, $pop13
+ i32.const $push11=, .L.str.4
+ i32.const $push23=, .L.str.3
+ i32.select $push12=, $4, $pop11, $pop23
+ i32.store $discard=, 0($0), $pop12
+ i32.const $push14=, 4
+ i32.add $0=, $16, $pop14
+ i32.store $discard=, 0($0), $3
+ call f1@FUNCTION, $1
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 12
+ i32.add $16=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $16=, 0($8), $16
+ i32.load8_u $push15=, 0($1)
+ i32.const $push27=, 0
+ i32.eq $push28=, $pop15, $pop27
+ br_if $pop28, 1 # 1: down to label1
+# BB#5: # %if.then.i
+ call f2@FUNCTION, $1, $2
+ br 1 # 1: down to label1
+.LBB0_6: # %if.end.critedge.i
+ end_block # label2:
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 12
+ i32.sub $16=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $16=, 0($10), $16
+ i32.store $discard=, 0($16), $0
+ i32.const $push16=, 8
+ i32.add $1=, $16, $pop16
+ i32.const $push24=, .L.str.3
+ i32.store $discard=, 0($1), $pop24
+ i32.const $push17=, 4
+ i32.add $1=, $16, $pop17
+ i32.store $discard=, 0($1), $3
+ call f1@FUNCTION, $1
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 12
+ i32.add $16=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $16=, 0($12), $16
+.LBB0_7: # %f3.exit
+ end_block # label1:
+ i32.const $15=, 16
+ i32.add $16=, $17, $15
+ i32.const $15=, __stack_pointer
+ i32.store $16=, 0($15), $16
+ return
+ .endfunc
+.Lfunc_end0:
+ .size f4, .Lfunc_end0-f4
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 32
+ i32.sub $8=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $8=, 0($6), $8
+ #APP
+ #NO_APP
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 24
+ i32.sub $8=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $8=, 0($2), $8
+ i32.const $push1=, .L.str.1
+ i32.store $discard=, 0($8), $pop1
+ i32.const $push2=, 16
+ i32.add $0=, $8, $pop2
+ i32.const $push3=, 26
+ i32.store $discard=, 0($0), $pop3
+ i32.const $push4=, 8
+ i32.add $0=, $8, $pop4
+ i64.const $push5=, 4622945017495814144
+ i64.store $discard=, 0($0), $pop5
+ i32.const $push13=, 0
+ i32.const $push6=, .L.str
+ call f4@FUNCTION, $pop13, $pop6
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 24
+ i32.add $8=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $8=, 0($4), $8
+ block
+ i32.const $push12=, 0
+ i32.load $push7=, a($pop12)
+ i32.const $push11=, 1
+ i32.ne $push8=, $pop7, $pop11
+ br_if $pop8, 0 # 0: down to label3
+# BB#1: # %entry
+ i32.const $push15=, 0
+ i32.load $push0=, b($pop15)
+ i32.const $push14=, 1
+ i32.ne $push9=, $pop0, $pop14
+ br_if $pop9, 0 # 0: down to label3
+# BB#2: # %if.end
+ i32.const $push10=, 0
+ i32.const $7=, 32
+ i32.add $8=, $8, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ return $pop10
+.LBB1_3: # %if.then
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .section .text.f1,"ax",@progbits
+ .type f1,@function
+f1: # @f1
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ #APP
+ #NO_APP
+ i32.store $push0=, 12($5), $6
+ i32.const $push27=, 3
+ i32.add $push1=, $pop0, $pop27
+ i32.const $push26=, -4
+ i32.and $push2=, $pop1, $pop26
+ tee_local $push25=, $1=, $pop2
+ i32.const $push24=, 4
+ i32.add $push3=, $pop25, $pop24
+ i32.store $discard=, 12($5), $pop3
+ block
+ i32.load $push4=, 0($1)
+ i32.const $push5=, .L.str.1
+ i32.call $push6=, strcmp@FUNCTION, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label4
+# BB#1: # %lor.lhs.false
+ i32.load $push7=, 12($5)
+ i32.const $push31=, 3
+ i32.add $push8=, $pop7, $pop31
+ i32.const $push30=, -4
+ i32.and $push9=, $pop8, $pop30
+ tee_local $push29=, $1=, $pop9
+ i32.const $push28=, 4
+ i32.add $push10=, $pop29, $pop28
+ i32.store $discard=, 12($5), $pop10
+ i32.load $push11=, 0($1)
+ i32.const $push12=, 1
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label4
+# BB#2: # %lor.lhs.false5
+ i32.load $push14=, 12($5)
+ i32.const $push15=, 3
+ i32.add $push16=, $pop14, $pop15
+ i32.const $push17=, -4
+ i32.and $push18=, $pop16, $pop17
+ tee_local $push32=, $1=, $pop18
+ i32.const $push19=, 4
+ i32.add $push20=, $pop32, $pop19
+ i32.store $discard=, 12($5), $pop20
+ i32.load $push21=, 0($1)
+ i32.const $push22=, .L.str.4
+ i32.call $push23=, strcmp@FUNCTION, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label4
+# BB#3: # %if.end9
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB2_4: # %if.then8
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size f1, .Lfunc_end2-f1
+
+ .section .text.f2,"ax",@progbits
+ .type f2,@function
+f2: # @f2
+ .param i32, i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $discard=, 12($5), $1
+ #APP
+ #NO_APP
+ block
+ i32.const $push0=, .L.str
+ i32.call $push1=, strcmp@FUNCTION, $0, $pop0
+ br_if $pop1, 0 # 0: down to label5
+# BB#1: # %lor.lhs.false
+ i32.load $push2=, 12($5)
+ i32.const $push3=, 3
+ i32.add $push4=, $pop2, $pop3
+ i32.const $push5=, -4
+ i32.and $push6=, $pop4, $pop5
+ tee_local $push32=, $0=, $pop6
+ i32.const $push7=, 4
+ i32.add $push8=, $pop32, $pop7
+ i32.store $discard=, 12($5), $pop8
+ i32.load $push9=, 0($0)
+ i32.const $push10=, .L.str.1
+ i32.call $push11=, strcmp@FUNCTION, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label5
+# BB#2: # %lor.lhs.false3
+ i32.load $push12=, 12($5)
+ i32.const $push13=, 7
+ i32.add $push14=, $pop12, $pop13
+ i32.const $push15=, -8
+ i32.and $push16=, $pop14, $pop15
+ tee_local $push33=, $0=, $pop16
+ i32.const $push17=, 8
+ i32.add $push18=, $pop33, $pop17
+ i32.store $discard=, 12($5), $pop18
+ f64.load $push19=, 0($0)
+ f64.const $push20=, 0x1.8p3
+ f64.ne $push21=, $pop19, $pop20
+ br_if $pop21, 0 # 0: down to label5
+# BB#3: # %lor.lhs.false5
+ i32.load $push22=, 12($5)
+ i32.const $push23=, 3
+ i32.add $push24=, $pop22, $pop23
+ i32.const $push25=, -4
+ i32.and $push26=, $pop24, $pop25
+ tee_local $push34=, $0=, $pop26
+ i32.const $push27=, 4
+ i32.add $push28=, $pop34, $pop27
+ i32.store $discard=, 12($5), $pop28
+ i32.load $push29=, 0($0)
+ i32.const $push30=, 26
+ i32.ne $push31=, $pop29, $pop30
+ br_if $pop31, 0 # 0: down to label5
+# BB#4: # %if.end
+ i32.const $4=, 16
+ i32.add $5=, $5, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB3_5: # %if.then
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size f2, .Lfunc_end3-f2
+
+ .hidden c # @c
+ .type c,@object
+ .section .bss.c,"aw",@nobits
+ .globl c
+ .p2align 4
+c:
+ .skip 128
+ .size c, 128
+
+ .hidden b # @b
+ .type b,@object
+ .section .bss.b,"aw",@nobits
+ .globl b
+ .p2align 2
+b:
+ .int32 0 # 0x0
+ .size b, 4
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "baz"
+ .size .L.str, 4
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "foo"
+ .size .L.str.1, 4
+
+ .hidden a # @a
+ .type a,@object
+ .section .bss.a,"aw",@nobits
+ .globl a
+ .p2align 2
+a:
+ .int32 0 # 0x0
+ .size a, 4
+
+ .type .L.str.3,@object # @.str.3
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str.3:
+ .skip 1
+ .size .L.str.3, 1
+
+ .type .L.str.4,@object # @.str.4
+.L.str.4:
+ .asciz "bar"
+ .size .L.str.4, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr56799.c.s b/test/torture-s/pr56799.c.s
index f8ef39934..eb81d45cf 100644
--- a/test/torture-s/pr56799.c.s
+++ b/test/torture-s/pr56799.c.s
@@ -6,39 +6,36 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
- i32.const $3=, 16
- i32.sub $6=, $2, $3
- i32.const $3=, __stack_pointer
- i32.store $6=, 0($3), $6
- i32.const $push2=, 65536
- i32.store $discard=, 8($6), $pop2
- i32.const $push3=, 4
- i32.const $4=, 8
- i32.add $4=, $6, $4
- i32.or $push4=, $4, $pop3
- i32.const $push5=, 1
- i32.store $0=, 0($pop4), $pop5
- i32.const $5=, 8
- i32.add $5=, $6, $5
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $3=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $3=, 0($1), $3
+ i64.const $push2=, 4295032832
+ i64.store $discard=, 8($3), $pop2
+ i32.const $2=, 8
+ i32.add $2=, $3, $2
block
- i32.call $push6=, foo@FUNCTION, $5
- i32.const $push7=, 2
- i32.ne $push8=, $pop6, $pop7
- br_if $pop8, 0 # 0: down to label0
+ i32.call $push3=, foo@FUNCTION, $2
+ i32.const $push4=, 2
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %entry
- i32.const $1=, 0
- i32.load $push0=, lo($1)
+ i32.const $push9=, 0
+ i32.load $push0=, lo($pop9)
br_if $pop0, 0 # 0: down to label0
# BB#2: # %entry
- i32.load $push1=, hi($1)
- i32.ne $push9=, $pop1, $0
- br_if $pop9, 0 # 0: down to label0
+ i32.const $push10=, 0
+ i32.load $push1=, hi($pop10)
+ i32.const $push6=, 1
+ i32.ne $push7=, $pop1, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#3: # %if.then
- call exit@FUNCTION, $1
+ i32.const $push8=, 0
+ call exit@FUNCTION, $pop8
unreachable
.LBB0_4: # %if.end
end_block # label0:
@@ -55,41 +52,43 @@ main: # @main
foo: # @foo
.param i32
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.load $1=, 0($0)
- i32.const $2=, 65535
- i32.const $3=, 0
+ i32.const $1=, 0
block
- i32.and $push0=, $1, $2
- i32.const $push7=, 0
- i32.eq $push8=, $pop0, $pop7
- br_if $pop8, 0 # 0: down to label1
+ i32.load $push0=, 0($0)
+ tee_local $push9=, $2=, $pop0
+ i32.const $push8=, 65535
+ i32.and $push1=, $pop9, $pop8
+ i32.const $push11=, 0
+ i32.eq $push12=, $pop1, $pop11
+ br_if $pop12, 0 # 0: down to label1
# BB#1: # %if.then
- i32.const $push1=, 0
- i32.const $push2=, 1
- i32.store $discard=, lo($pop1), $pop2
- i32.load $3=, 4($0)
+ i32.const $push2=, 0
+ i32.const $push3=, 1
+ i32.store $discard=, lo($pop2), $pop3
+ i32.load $1=, 4($0)
.LBB1_2: # %if.end
end_block # label1:
block
block
- i32.le_u $push3=, $1, $2
- br_if $pop3, 0 # 0: down to label3
+ i32.const $push10=, 65535
+ i32.le_u $push4=, $2, $pop10
+ br_if $pop4, 0 # 0: down to label3
# BB#3: # %if.then7
- i32.const $push4=, 0
- i32.const $push5=, 1
- i32.store $discard=, hi($pop4), $pop5
+ i32.const $push5=, 0
+ i32.const $push6=, 1
+ i32.store $discard=, hi($pop5), $pop6
i32.load $0=, 4($0)
- i32.add $3=, $0, $3
+ i32.add $1=, $0, $1
br 1 # 1: down to label2
.LBB1_4: # %if.end.if.end10_crit_edge
end_block # label3:
i32.load $0=, 4($0)
.LBB1_5: # %if.end10
end_block # label2:
- i32.add $push6=, $0, $3
- return $pop6
+ i32.add $push7=, $0, $1
+ return $pop7
.endfunc
.Lfunc_end1:
.size foo, .Lfunc_end1-foo
@@ -98,7 +97,7 @@ foo: # @foo
.type hi,@object
.section .bss.hi,"aw",@nobits
.globl hi
- .align 2
+ .p2align 2
hi:
.int32 0 # 0x0
.size hi, 4
@@ -107,7 +106,7 @@ hi:
.type lo,@object
.section .bss.lo,"aw",@nobits
.globl lo
- .align 2
+ .p2align 2
lo:
.int32 0 # 0x0
.size lo, 4
diff --git a/test/torture-s/pr56837.c.s b/test/torture-s/pr56837.c.s
index 9990d71d5..6e31d2981 100644
--- a/test/torture-s/pr56837.c.s
+++ b/test/torture-s/pr56837.c.s
@@ -5,21 +5,17 @@
.globl foo
.type foo,@function
foo: # @foo
- .local i64, i32
+ .local i32
# BB#0: # %entry
- i64.const $0=, 4294967295
- i32.const $1=, -8192
+ i32.const $0=, -8192
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.const $push0=, a
- i32.add $push1=, $pop0, $1
- i32.const $push2=, 8192
- i32.add $push3=, $pop1, $pop2
- i64.store $discard=, 0($pop3), $0
- i32.const $push4=, 8
- i32.add $1=, $1, $pop4
- br_if $1, 0 # 0: up to label0
+ i64.const $push1=, 4294967295
+ i64.store $discard=, a+8192($0), $pop1
+ i32.const $push0=, 8
+ i32.add $0=, $0, $pop0
+ br_if $0, 0 # 0: up to label0
# BB#2: # %for.end
end_loop # label1:
return
@@ -42,29 +38,29 @@ main: # @main
# =>This Inner Loop Header: Depth=1
block
loop # label3:
- i32.load $push1=, 0($0)
- i32.const $push4=, -1
- i32.ne $push5=, $pop1, $pop4
- br_if $pop5, 2 # 2: down to label2
+ i32.load $push1=, 0($0):p2align=3
+ i32.const $push9=, -1
+ i32.ne $push3=, $pop1, $pop9
+ br_if $pop3, 2 # 2: down to label2
# BB#2: # %for.body
# in Loop: Header=BB1_1 Depth=1
- i32.const $push2=, 4
- i32.add $push3=, $0, $pop2
- i32.load $push0=, 0($pop3)
+ i32.const $push10=, 4
+ i32.add $push2=, $0, $pop10
+ i32.load $push0=, 0($pop2)
br_if $pop0, 2 # 2: down to label2
# BB#3: # %for.cond
# in Loop: Header=BB1_1 Depth=1
- i32.const $push6=, 1
- i32.add $1=, $1, $pop6
+ i32.const $push8=, 1
+ i32.add $1=, $1, $pop8
i32.const $push7=, 8
i32.add $0=, $0, $pop7
- i32.const $push8=, 1023
- i32.le_s $push9=, $1, $pop8
- br_if $pop9, 0 # 0: up to label3
+ i32.const $push6=, 1023
+ i32.le_s $push4=, $1, $pop6
+ br_if $pop4, 0 # 0: up to label3
# BB#4: # %for.end
end_loop # label4:
- i32.const $push10=, 0
- return $pop10
+ i32.const $push5=, 0
+ return $pop5
.LBB1_5: # %if.then
end_block # label2:
call abort@FUNCTION
@@ -77,7 +73,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 8192
.size a, 8192
diff --git a/test/torture-s/pr56866.c.s b/test/torture-s/pr56866.c.s
new file mode 100644
index 000000000..e062be108
--- /dev/null
+++ b/test/torture-s/pr56866.c.s
@@ -0,0 +1,260 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr56866.c"
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 7712
+ i32.sub $35=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $35=, 0($5), $35
+ i32.const $2=, 2048
+ i32.const $0=, 0
+ i32.const $7=, 5664
+ i32.add $7=, $35, $7
+ i32.call $discard=, memset@FUNCTION, $7, $0, $2
+ i32.const $2=, 1024
+ i32.const $8=, 2592
+ i32.add $8=, $35, $8
+ i32.call $discard=, memset@FUNCTION, $8, $0, $2
+ i32.const $2=, 512
+ i32.const $9=, 1056
+ i32.add $9=, $35, $9
+ i32.call $discard=, memset@FUNCTION, $9, $0, $2
+ i32.const $2=, 256
+ i32.const $10=, 288
+ i32.add $10=, $35, $10
+ i32.call $discard=, memset@FUNCTION, $10, $0, $2
+ i32.const $2=, 19088743
+ i32.store $discard=, 2592($35):p2align=4, $2
+ i32.const $2=, 17767
+ i32.store16 $discard=, 1056($35):p2align=4, $2
+ i32.const $2=, 115
+ i32.store8 $discard=, 288($35):p2align=4, $2
+ i64.const $3=, 81985529216486895
+ i64.store $discard=, 5664($35):p2align=4, $3
+ i32.const $11=, 5664
+ i32.add $11=, $35, $11
+ i32.store $discard=, 28($35), $11
+ i32.const $12=, 2592
+ i32.add $12=, $35, $12
+ i32.store $discard=, 24($35), $12
+ i32.const $13=, 1056
+ i32.add $13=, $35, $13
+ i32.store $discard=, 20($35), $13
+ i32.const $14=, 288
+ i32.add $14=, $35, $14
+ i32.store $discard=, 16($35), $14
+ i32.const $15=, 28
+ i32.add $15=, $35, $15
+ i32.const $16=, 24
+ i32.add $16=, $35, $16
+ i32.const $17=, 20
+ i32.add $17=, $35, $17
+ i32.const $18=, 16
+ i32.add $18=, $35, $18
+ #APP
+ #NO_APP
+ i32.const $2=, 0
+.LBB0_1: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label0:
+ i32.const $19=, 3616
+ i32.add $19=, $35, $19
+ i32.add $push5=, $19, $2
+ i32.const $20=, 5664
+ i32.add $20=, $35, $20
+ i32.add $push0=, $20, $2
+ i64.load $push1=, 0($pop0)
+ tee_local $push73=, $3=, $pop1
+ i64.const $push72=, 8
+ i64.shr_u $push2=, $pop73, $pop72
+ i64.const $push71=, 56
+ i64.shl $push3=, $3, $pop71
+ i64.or $push4=, $pop2, $pop3
+ i64.store $discard=, 0($pop5), $pop4
+ i32.const $push70=, 8
+ i32.add $2=, $2, $pop70
+ i32.const $push69=, 2048
+ i32.ne $push6=, $2, $pop69
+ br_if $pop6, 0 # 0: up to label0
+.LBB0_2: # %for.body16
+ # =>This Inner Loop Header: Depth=1
+ end_loop # label1:
+ loop # label2:
+ i32.const $21=, 1568
+ i32.add $21=, $35, $21
+ i32.add $push14=, $21, $0
+ i32.const $22=, 2592
+ i32.add $22=, $35, $22
+ i32.add $push7=, $22, $0
+ i32.load $push8=, 0($pop7)
+ tee_local $push74=, $2=, $pop8
+ i32.const $push9=, 8
+ i32.shr_u $push10=, $pop74, $pop9
+ i32.const $push11=, 24
+ i32.shl $push12=, $2, $pop11
+ i32.or $push13=, $pop10, $pop12
+ i32.store $discard=, 0($pop14), $pop13
+ i32.const $push15=, 4
+ i32.add $0=, $0, $pop15
+ i32.const $2=, 0
+ i32.const $1=, 0
+ i32.const $push16=, 1024
+ i32.ne $push17=, $0, $pop16
+ br_if $pop17, 0 # 0: up to label2
+.LBB0_3: # %for.body28
+ # =>This Inner Loop Header: Depth=1
+ end_loop # label3:
+ loop # label4:
+ i32.const $23=, 544
+ i32.add $23=, $35, $23
+ i32.add $push25=, $23, $1
+ i32.const $24=, 1056
+ i32.add $24=, $35, $24
+ i32.add $push18=, $24, $1
+ i32.load16_u $push19=, 0($pop18)
+ tee_local $push75=, $0=, $pop19
+ i32.const $push20=, 9
+ i32.shr_u $push21=, $pop75, $pop20
+ i32.const $push22=, 7
+ i32.shl $push23=, $0, $pop22
+ i32.or $push24=, $pop21, $pop23
+ i32.store16 $discard=, 0($pop25), $pop24
+ i32.const $push26=, 2
+ i32.add $1=, $1, $pop26
+ i32.const $push27=, 512
+ i32.ne $push28=, $1, $pop27
+ br_if $pop28, 0 # 0: up to label4
+.LBB0_4: # %for.body43
+ # =>This Inner Loop Header: Depth=1
+ end_loop # label5:
+ loop # label6:
+ i32.const $25=, 32
+ i32.add $25=, $35, $25
+ i32.add $push36=, $25, $2
+ i32.const $26=, 288
+ i32.add $26=, $35, $26
+ i32.add $push29=, $26, $2
+ i32.load8_u $push30=, 0($pop29)
+ tee_local $push76=, $1=, $pop30
+ i32.const $push31=, 5
+ i32.shr_u $push32=, $pop76, $pop31
+ i32.const $push33=, 3
+ i32.shl $push34=, $1, $pop33
+ i32.or $push35=, $pop32, $pop34
+ i32.store8 $discard=, 0($pop36), $pop35
+ i32.const $push37=, 1
+ i32.add $2=, $2, $pop37
+ i32.const $push38=, 256
+ i32.ne $push39=, $2, $pop38
+ br_if $pop39, 0 # 0: up to label6
+# BB#5: # %for.end55
+ end_loop # label7:
+ i32.const $27=, 3616
+ i32.add $27=, $35, $27
+ i32.store $discard=, 12($35), $27
+ i32.const $28=, 1568
+ i32.add $28=, $35, $28
+ i32.store $discard=, 8($35), $28
+ i32.const $29=, 544
+ i32.add $29=, $35, $29
+ i32.store $discard=, 4($35), $29
+ i32.const $30=, 32
+ i32.add $30=, $35, $30
+ i32.store $discard=, 0($35), $30
+ i32.const $31=, 12
+ i32.add $31=, $35, $31
+ i32.const $32=, 8
+ i32.add $32=, $35, $32
+ i32.const $33=, 4
+ i32.add $33=, $35, $33
+ #APP
+ #NO_APP
+ block
+ i64.load $push40=, 3616($35):p2align=4
+ i64.const $push41=, -1224658842671273011
+ i64.ne $push42=, $pop40, $pop41
+ br_if $pop42, 0 # 0: down to label8
+# BB#6: # %lor.lhs.false
+ i32.const $push43=, 8
+ i32.const $34=, 3616
+ i32.add $34=, $35, $34
+ i32.or $push44=, $34, $pop43
+ i64.load $push45=, 0($pop44)
+ i64.const $push46=, 0
+ i64.ne $push47=, $pop45, $pop46
+ br_if $pop47, 0 # 0: down to label8
+# BB#7: # %if.end
+ block
+ i64.load $push48=, 1568($35):p2align=4
+ tee_local $push77=, $3=, $pop48
+ i32.wrap/i64 $push49=, $pop77
+ i32.const $push50=, 1728127813
+ i32.ne $push51=, $pop49, $pop50
+ br_if $pop51, 0 # 0: down to label9
+# BB#8: # %if.end
+ i64.const $push52=, 4294967296
+ i64.ge_u $push53=, $3, $pop52
+ br_if $pop53, 0 # 0: down to label9
+# BB#9: # %if.end71
+ block
+ i32.load $push54=, 544($35):p2align=4
+ tee_local $push78=, $2=, $pop54
+ i32.const $push55=, 65535
+ i32.and $push56=, $pop78, $pop55
+ i32.const $push57=, 45986
+ i32.ne $push58=, $pop56, $pop57
+ br_if $pop58, 0 # 0: down to label10
+# BB#10: # %if.end71
+ i32.const $push59=, 65536
+ i32.ge_u $push60=, $2, $pop59
+ br_if $pop60, 0 # 0: down to label10
+# BB#11: # %if.end81
+ block
+ i32.load16_u $push61=, 32($35):p2align=4
+ tee_local $push79=, $2=, $pop61
+ i32.const $push62=, 255
+ i32.and $push63=, $pop79, $pop62
+ i32.const $push64=, 155
+ i32.ne $push65=, $pop63, $pop64
+ br_if $pop65, 0 # 0: down to label11
+# BB#12: # %if.end81
+ i32.const $push66=, 256
+ i32.ge_u $push67=, $2, $pop66
+ br_if $pop67, 0 # 0: down to label11
+# BB#13: # %if.end91
+ i32.const $push68=, 0
+ i32.const $6=, 7712
+ i32.add $35=, $35, $6
+ i32.const $6=, __stack_pointer
+ i32.store $35=, 0($6), $35
+ return $pop68
+.LBB0_14: # %if.then90
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+.LBB0_15: # %if.then80
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB0_16: # %if.then70
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB0_17: # %if.then
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr56899.c.s b/test/torture-s/pr56899.c.s
index 61bcabadf..4c6ba9568 100644
--- a/test/torture-s/pr56899.c.s
+++ b/test/torture-s/pr56899.c.s
@@ -98,16 +98,17 @@ f4: # @f4
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 10
- call f1@FUNCTION, $0
- i32.const $1=, -10
- call f2@FUNCTION, $1
- call f3@FUNCTION, $0
- call f4@FUNCTION, $1
- i32.const $push0=, 0
- return $pop0
+ i32.const $push0=, 10
+ call f1@FUNCTION, $pop0
+ i32.const $push1=, -10
+ call f2@FUNCTION, $pop1
+ i32.const $push4=, 10
+ call f3@FUNCTION, $pop4
+ i32.const $push3=, -10
+ call f4@FUNCTION, $pop3
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end4:
.size main, .Lfunc_end4-main
diff --git a/test/torture-s/pr56962.c.s b/test/torture-s/pr56962.c.s
index 7b1634d8a..4ed60ea57 100644
--- a/test/torture-s/pr56962.c.s
+++ b/test/torture-s/pr56962.c.s
@@ -27,40 +27,50 @@ bar: # @bar
.type foo,@function
foo: # @foo
.param i32, i32, i32
- .local i32, i32, i32, i32, i32, i64, i64
+ .local i64, i64, i32, i32
# BB#0: # %entry
- i32.const $3=, 2
- i32.const $4=, 3
- i32.mul $5=, $1, $4
- i32.const $6=, 5
- i32.mul $7=, $2, $6
- i32.add $push5=, $7, $5
- i32.shl $push6=, $pop5, $4
- i32.add $push7=, $0, $pop6
- i64.load $8=, 0($pop7)
- i32.shl $push8=, $1, $3
- i32.add $push9=, $7, $pop8
- i32.shl $push10=, $pop9, $4
- i32.add $push11=, $0, $pop10
- i64.load $9=, 0($pop11)
- i32.shl $push12=, $1, $6
- i32.add $push13=, $0, $pop12
- i32.shl $push0=, $2, $3
- i32.add $push1=, $pop0, $5
- i32.shl $push2=, $pop1, $4
- i32.add $push3=, $0, $pop2
- i64.load $push4=, 0($pop3)
- i64.store $discard=, 0($pop13), $pop4
- i32.add $push14=, $7, $1
- i32.shl $push15=, $pop14, $4
+ i32.const $push8=, 5
+ i32.mul $push9=, $2, $pop8
+ tee_local $push36=, $6=, $pop9
+ i32.const $push2=, 3
+ i32.mul $push3=, $1, $pop2
+ tee_local $push35=, $5=, $pop3
+ i32.add $push10=, $pop36, $pop35
+ i32.const $push34=, 3
+ i32.shl $push11=, $pop10, $pop34
+ i32.add $push12=, $0, $pop11
+ i64.load $3=, 0($pop12)
+ i32.const $push0=, 2
+ i32.shl $push13=, $1, $pop0
+ i32.add $push14=, $6, $pop13
+ i32.const $push33=, 3
+ i32.shl $push15=, $pop14, $pop33
i32.add $push16=, $0, $pop15
- call bar@FUNCTION, $pop16
- i32.mul $push18=, $1, $6
- i32.add $push19=, $7, $pop18
- i32.shl $push20=, $pop19, $4
+ i64.load $4=, 0($pop16)
+ i32.const $push32=, 5
+ i32.shl $push17=, $1, $pop32
+ i32.add $push18=, $0, $pop17
+ i32.const $push31=, 2
+ i32.shl $push1=, $2, $pop31
+ i32.add $push4=, $pop1, $5
+ i32.const $push30=, 3
+ i32.shl $push5=, $pop4, $pop30
+ i32.add $push6=, $0, $pop5
+ i64.load $push7=, 0($pop6)
+ i64.store $discard=, 0($pop18), $pop7
+ i32.add $push19=, $6, $1
+ i32.const $push29=, 3
+ i32.shl $push20=, $pop19, $pop29
i32.add $push21=, $0, $pop20
- i64.add $push17=, $9, $8
- i64.store $discard=, 0($pop21), $pop17
+ call bar@FUNCTION, $pop21
+ i32.const $push28=, 5
+ i32.mul $push23=, $1, $pop28
+ i32.add $push24=, $6, $pop23
+ i32.const $push27=, 3
+ i32.shl $push25=, $pop24, $pop27
+ i32.add $push26=, $0, $pop25
+ i64.add $push22=, $4, $3
+ i64.store $discard=, 0($pop26), $pop22
return
.endfunc
.Lfunc_end1:
@@ -87,7 +97,7 @@ main: # @main
.type v,@object
.section .bss.v,"aw",@nobits
.globl v
- .align 4
+ .p2align 4
v:
.skip 1152
.size v, 1152
diff --git a/test/torture-s/pr56982.c.s b/test/torture-s/pr56982.c.s
index a9e3b1b07..689cec3d6 100644
--- a/test/torture-s/pr56982.c.s
+++ b/test/torture-s/pr56982.c.s
@@ -20,7 +20,7 @@ baz: # @baz
f: # @f
.param i32
.result i32
- .local i32
+ .local i32, i32
# BB#0: # %entry
block
i32.load $push0=, 0($0)
@@ -33,19 +33,20 @@ f: # @f
.LBB1_2: # %if.end
end_block # label0:
i32.const $1=, env
+ i32.call $2=, _setjmp@FUNCTION, $1
#APP
#NO_APP
block
- i32.call $push2=, _setjmp@FUNCTION, $1
- br_if $pop2, 0 # 0: down to label1
+ br_if $2, 0 # 0: down to label1
# BB#3: # %if.end6
- i32.const $push4=, 42
- call longjmp@FUNCTION, $1, $pop4
+ i32.const $push4=, env
+ i32.const $push3=, 42
+ call longjmp@FUNCTION, $pop4, $pop3
unreachable
.LBB1_4: # %if.then2
end_block # label1:
- i32.const $push3=, 0
- call exit@FUNCTION, $pop3
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end1:
@@ -63,19 +64,19 @@ main: # @main
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
i32.const $3=, 16
- i32.sub $4=, $2, $3
+ i32.sub $6=, $2, $3
i32.const $3=, __stack_pointer
- i32.store $4=, 0($3), $4
+ i32.store $6=, 0($3), $6
i32.const $push0=, 0
- i32.store $discard=, 12($4), $pop0
+ i32.store $discard=, 12($6), $pop0
i32.const $5=, 12
- i32.add $5=, $4, $5
+ i32.add $5=, $6, $5
i32.call $discard=, f@FUNCTION, $5
i32.const $push1=, 1
i32.const $4=, 16
- i32.add $4=, $4, $4
+ i32.add $6=, $6, $4
i32.const $4=, __stack_pointer
- i32.store $4=, 0($4), $4
+ i32.store $6=, 0($4), $6
return $pop1
.endfunc
.Lfunc_end2:
diff --git a/test/torture-s/pr57130.c.s b/test/torture-s/pr57130.c.s
new file mode 100644
index 000000000..6b33de4e4
--- /dev/null
+++ b/test/torture-s/pr57130.c.s
@@ -0,0 +1,133 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr57130.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.load $push1=, foo.cnt($pop11)
+ tee_local $push10=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.add $push3=, $pop10, $pop2
+ i32.store $discard=, foo.cnt($pop0), $pop3
+ block
+ i32.const $push4=, 4
+ i32.shl $push5=, $1, $pop4
+ i32.const $push6=, s
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, 16
+ i32.call $push9=, memcmp@FUNCTION, $0, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#1: # %if.end
+ return
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 48
+ i32.sub $10=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $10=, 0($4), $10
+ i32.const $push2=, 8
+ i32.const $6=, 32
+ i32.add $6=, $10, $6
+ i32.add $push3=, $6, $pop2
+ tee_local $push24=, $2=, $pop3
+ i32.const $push0=, 0
+ i32.load $push1=, .Lmain.r+8($pop0)
+ i32.store $discard=, 0($pop24):p2align=3, $pop1
+ i32.const $push23=, 0
+ i64.load $push4=, .Lmain.r($pop23):p2align=2
+ i64.store $discard=, 32($10), $pop4
+ i32.const $push22=, 8
+ i32.const $7=, 16
+ i32.add $7=, $10, $7
+ i32.add $push7=, $7, $pop22
+ i32.const $push21=, 0
+ i64.load $push8=, .Lmain.r+8($pop21):p2align=2
+ i64.store $discard=, 0($pop7):p2align=2, $pop8
+ i32.const $push20=, 0
+ i64.load $push9=, .Lmain.r($pop20):p2align=2
+ i64.store $discard=, 16($10):p2align=2, $pop9
+ i32.const $8=, 16
+ i32.add $8=, $10, $8
+ call foo@FUNCTION, $8
+ i32.const $push5=, 4
+ i32.const $9=, 32
+ i32.add $9=, $10, $9
+ i32.or $push6=, $9, $pop5
+ i32.const $push10=, 2
+ i32.store $1=, 0($pop6), $pop10
+ i32.const $push11=, -1
+ i32.store $discard=, 0($2):p2align=3, $pop11
+ i32.const $push19=, 0
+ i32.store $0=, 32($10):p2align=3, $pop19
+ i32.const $push13=, 12
+ i32.add $push14=, $10, $pop13
+ i32.store $push12=, 44($10), $1
+ i32.store $discard=, 0($pop14), $pop12
+ i32.const $push18=, 8
+ i32.add $push15=, $10, $pop18
+ i32.load $push16=, 0($2):p2align=3
+ i32.store $discard=, 0($pop15), $pop16
+ i64.load $push17=, 32($10)
+ i64.store $discard=, 0($10):p2align=2, $pop17
+ call foo@FUNCTION, $10
+ i32.const $5=, 48
+ i32.add $10=, $10, $5
+ i32.const $5=, __stack_pointer
+ i32.store $10=, 0($5), $10
+ return $0
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden s # @s
+ .type s,@object
+ .section .data.s,"aw",@progbits
+ .globl s
+ .p2align 4
+s:
+ .int32 6 # 0x6
+ .int32 8 # 0x8
+ .int32 4294967288 # 0xfffffff8
+ .int32 4294967291 # 0xfffffffb
+ .int32 0 # 0x0
+ .int32 2 # 0x2
+ .int32 4294967295 # 0xffffffff
+ .int32 2 # 0x2
+ .size s, 32
+
+ .type foo.cnt,@object # @foo.cnt
+ .lcomm foo.cnt,4,2
+ .type .Lmain.r,@object # @main.r
+ .section .rodata.cst16,"aM",@progbits,16
+ .p2align 2
+.Lmain.r:
+ .int32 6 # 0x6
+ .int32 8 # 0x8
+ .int32 4294967288 # 0xfffffff8
+ .int32 4294967291 # 0xfffffffb
+ .size .Lmain.r, 16
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr57131.c.s b/test/torture-s/pr57131.c.s
index 29f5199ee..fbb36cc49 100644
--- a/test/torture-s/pr57131.c.s
+++ b/test/torture-s/pr57131.c.s
@@ -6,45 +6,45 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i64, i64, i64, i64, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $7=, __stack_pointer
- i32.load $7=, 0($7)
- i32.const $8=, 48
- i32.sub $10=, $7, $8
- i32.const $8=, __stack_pointer
- i32.store $10=, 0($8), $10
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 48
+ i32.sub $4=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
i32.const $push0=, 0
- i32.store $0=, 44($10), $pop0
+ i32.store $0=, 44($4), $pop0
i64.const $push1=, 0
- i64.store $discard=, 32($10), $pop1
- i32.store $1=, 28($10), $0
+ i64.store $discard=, 32($4), $pop1
+ i32.store $discard=, 28($4), $0
i32.const $push2=, 1
- i32.store $push3=, 24($10), $pop2
- i32.store $discard=, 20($10), $pop3
- i64.const $push4=, 1
- i64.store $2=, 8($10), $pop4
- i64.load32_s $3=, 44($10)
- i64.load $4=, 32($10)
- i64.load32_u $5=, 28($10)
- i32.load $0=, 24($10)
- i32.load $6=, 20($10)
+ i32.store $push3=, 24($4), $pop2
+ i32.store $discard=, 20($4), $pop3
block
- i64.load $push10=, 8($10)
- i64.shl $push5=, $4, $5
- i64.mul $push6=, $pop5, $3
- i32.mul $push7=, $6, $0
- i64.extend_s/i32 $push8=, $pop7
- i64.div_s $push9=, $pop6, $pop8
- i64.add $push11=, $pop10, $pop9
- i64.ne $push12=, $pop11, $2
- br_if $pop12, 0 # 0: down to label0
+ i64.const $push4=, 1
+ i64.store $push5=, 8($4), $pop4
+ i64.load32_s $push6=, 44($4)
+ i64.load $push7=, 32($4)
+ i64.load32_u $push8=, 28($4)
+ i64.shl $push9=, $pop7, $pop8
+ i64.mul $push10=, $pop6, $pop9
+ i32.load $push11=, 24($4)
+ i32.load $push12=, 20($4)
+ i32.mul $push13=, $pop11, $pop12
+ i64.extend_s/i32 $push14=, $pop13
+ i64.div_s $push15=, $pop10, $pop14
+ i64.load $push16=, 8($4)
+ i64.add $push17=, $pop15, $pop16
+ i64.ne $push18=, $pop5, $pop17
+ br_if $pop18, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $9=, 48
- i32.add $10=, $10, $9
- i32.const $9=, __stack_pointer
- i32.store $10=, 0($9), $10
- return $1
+ i32.const $3=, 48
+ i32.add $4=, $4, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return $0
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/pr57281.c.s b/test/torture-s/pr57281.c.s
index ae9a69c7b..53db424fa 100644
--- a/test/torture-s/pr57281.c.s
+++ b/test/torture-s/pr57281.c.s
@@ -7,15 +7,18 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, b($1)
- i32.load $push1=, g($1)
- i64.extend_s/i32 $push0=, $2
- i64.store $discard=, 0($pop1), $pop0
- i32.select $push2=, $0, $1, $2
- return $pop2
+ i32.const $push0=, 0
+ i32.load $push3=, g($pop0)
+ i32.const $push7=, 0
+ i32.load $push1=, b($pop7)
+ tee_local $push6=, $1=, $pop1
+ i64.extend_s/i32 $push2=, $pop6
+ i64.store $discard=, 0($pop3), $pop2
+ i32.const $push5=, 0
+ i32.select $push4=, $0, $pop5, $1
+ return $pop4
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -26,38 +29,47 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.const $4=, -20
block
- i32.load $push0=, b($3)
- i32.eq $push1=, $pop0, $4
+ i32.const $push11=, 0
+ i32.load $push0=, b($pop11)
+ i32.const $push10=, -20
+ i32.eq $push1=, $pop0, $pop10
br_if $pop1, 0 # 0: down to label0
# BB#1: # %for.body.lr.ph
- i32.load $0=, a($3)
- i32.load $1=, e($3)
- i32.load $2=, g($3)
+ i32.const $push14=, 0
+ i32.load $0=, a($pop14)
+ i32.const $push13=, 0
+ i32.load $1=, e($pop13)
+ i32.const $push12=, 0
+ i32.load $2=, g($pop12)
.LBB1_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
- i64.load $discard=, f($3)
- i32.store $5=, 0($1), $3
- i32.load $6=, b($5)
- i64.extend_s/i32 $push2=, $6
- i64.store $discard=, 0($2), $pop2
- i32.select $push3=, $0, $5, $6
- i32.store $discard=, 0($1), $pop3
- i32.load $push4=, b($5)
- i32.const $push5=, -1
- i32.add $push6=, $pop4, $pop5
- i32.store $push7=, b($5), $pop6
- i32.ne $push8=, $pop7, $4
- br_if $pop8, 0 # 0: up to label1
+ i32.const $push20=, 0
+ i64.load $discard=, f($pop20)
+ i32.const $push19=, 0
+ i32.store $push2=, 0($1), $pop19
+ tee_local $push18=, $4=, $pop2
+ i32.load $push3=, b($pop18)
+ tee_local $push17=, $3=, $pop3
+ i64.extend_s/i32 $push4=, $pop17
+ i64.store $discard=, 0($2), $pop4
+ i32.select $push5=, $0, $4, $3
+ i32.store $discard=, 0($1), $pop5
+ i32.load $push6=, b($4)
+ i32.const $push16=, -1
+ i32.add $push7=, $pop6, $pop16
+ i32.store $push8=, b($4), $pop7
+ i32.const $push15=, -20
+ i32.ne $push9=, $pop8, $pop15
+ br_if $pop9, 0 # 0: up to label1
.LBB1_3: # %for.end
end_loop # label2:
end_block # label0:
- return $3
+ i32.const $push21=, 0
+ return $pop21
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -66,7 +78,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
@@ -75,7 +87,7 @@ a:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -84,7 +96,7 @@ d:
.type e,@object
.section .data.e,"aw",@progbits
.globl e
- .align 2
+ .p2align 2
e:
.int32 d
.size e, 4
@@ -93,7 +105,7 @@ e:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 3
+ .p2align 3
c:
.int64 0 # 0x0
.size c, 8
@@ -102,7 +114,7 @@ c:
.type g,@object
.section .data.g,"aw",@progbits
.globl g
- .align 2
+ .p2align 2
g:
.int32 c
.size g, 4
@@ -111,7 +123,7 @@ g:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -120,7 +132,7 @@ b:
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 3
+ .p2align 3
f:
.int64 0 # 0x0
.size f, 8
diff --git a/test/torture-s/pr57321.c.s b/test/torture-s/pr57321.c.s
index c686ff9e7..c3697145f 100644
--- a/test/torture-s/pr57321.c.s
+++ b/test/torture-s/pr57321.c.s
@@ -6,19 +6,20 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, a($0)
+ i32.const $push3=, 0
+ i32.load $push0=, a($pop3)
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.then.i
- i32.load $push1=, b($0)
+ i32.const $push4=, 0
+ i32.load $push1=, b($pop4)
i32.const $push2=, 1
i32.store $discard=, 0($pop1), $pop2
.LBB0_2: # %foo.exit
end_block # label0:
- return $0
+ i32.const $push5=, 0
+ return $pop5
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -27,7 +28,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
@@ -36,7 +37,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0
.size b, 4
@@ -45,7 +46,7 @@ b:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0
.size c, 4
diff --git a/test/torture-s/pr57344-1.c.s b/test/torture-s/pr57344-1.c.s
index 0fe91d6b9..8c8ee3dc4 100644
--- a/test/torture-s/pr57344-1.c.s
+++ b/test/torture-s/pr57344-1.c.s
@@ -29,53 +29,63 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $2=, i($0)
- block
+ i32.const $push25=, 0
+ i32.load $0=, i($pop25)
+ i32.const $push24=, 0
i64.const $push0=, 8583460864
- i64.store $discard=, s+8($0), $pop0
- i32.gt_s $push1=, $2, $0
+ i64.store $discard=, s+8($pop24), $pop0
+ block
+ i32.const $push23=, 0
+ i32.gt_s $push1=, $0, $pop23
br_if $pop1, 0 # 0: down to label1
# BB#1: # %for.body.preheader
i32.const $push2=, -3161
call foo@FUNCTION, $pop2
- i32.load $2=, i($0)
- i32.const $1=, 1
- i32.add $push3=, $2, $1
- i32.store $discard=, i($0), $pop3
- i32.const $push4=, -1
- i32.gt_s $push5=, $2, $pop4
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push29=, 0
+ i32.const $push28=, 0
+ i32.load $push3=, i($pop28)
+ tee_local $push27=, $0=, $pop3
+ i32.const $push26=, 1
+ i32.add $push4=, $pop27, $pop26
+ i32.store $discard=, i($pop29), $pop4
+ i32.const $push5=, -1
+ i32.gt_s $push6=, $0, $pop5
+ br_if $pop6, 0 # 0: down to label1
.LBB1_2: # %for.body.for.body_crit_edge
# =>This Inner Loop Header: Depth=1
loop # label2:
- i64.load32_u $push12=, s+8($0)
- i32.const $push7=, s+8
- i32.const $push6=, 4
- i32.add $push8=, $pop7, $pop6
- i64.load8_u $push9=, 0($pop8)
- i64.const $push10=, 32
- i64.shl $push11=, $pop9, $pop10
- i64.or $push13=, $pop12, $pop11
- i64.const $push14=, 31
- i64.shl $push15=, $pop13, $pop14
- i64.const $push16=, 24
- i64.shr_s $push17=, $pop15, $pop16
- i64.const $push18=, 18
- i64.shr_u $push19=, $pop17, $pop18
- i32.wrap/i64 $push20=, $pop19
- call foo@FUNCTION, $pop20
- i32.load $2=, i($0)
- i32.add $push21=, $2, $1
- i32.store $discard=, i($0), $pop21
- i32.lt_s $push22=, $2, $0
+ i32.const $push7=, 0
+ i64.load32_u $push11=, s+8($pop7):p2align=3
+ i32.const $push35=, 0
+ i64.load8_u $push8=, s+12($pop35):p2align=2
+ i64.const $push9=, 32
+ i64.shl $push10=, $pop8, $pop9
+ i64.or $push12=, $pop11, $pop10
+ i64.const $push13=, 31
+ i64.shl $push14=, $pop12, $pop13
+ i64.const $push15=, 24
+ i64.shr_s $push16=, $pop14, $pop15
+ i64.const $push17=, 18
+ i64.shr_u $push18=, $pop16, $pop17
+ i32.wrap/i64 $push19=, $pop18
+ call foo@FUNCTION, $pop19
+ i32.const $push34=, 0
+ i32.const $push33=, 0
+ i32.load $push20=, i($pop33)
+ tee_local $push32=, $0=, $pop20
+ i32.const $push31=, 1
+ i32.add $push21=, $pop32, $pop31
+ i32.store $discard=, i($pop34), $pop21
+ i32.const $push30=, 0
+ i32.lt_s $push22=, $0, $pop30
br_if $pop22, 0 # 0: up to label2
.LBB1_3: # %for.end
end_loop # label3:
end_block # label1:
- return $0
+ i32.const $push36=, 0
+ return $pop36
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -84,7 +94,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 4
+ .p2align 4
s:
.skip 16
.size s, 16
@@ -93,7 +103,7 @@ s:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/pr57344-2.c.s b/test/torture-s/pr57344-2.c.s
index 3f8fae645..280d149d0 100644
--- a/test/torture-s/pr57344-2.c.s
+++ b/test/torture-s/pr57344-2.c.s
@@ -29,57 +29,66 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $2=, i($0)
- block
+ i32.const $push27=, 0
+ i32.load $0=, i($pop27)
+ i32.const $push26=, 0
i64.const $push0=, 562525691183104
- i64.store $discard=, s+8($0), $pop0
- i32.gt_s $push1=, $2, $0
+ i64.store $discard=, s+8($pop26), $pop0
+ block
+ i32.const $push25=, 0
+ i32.gt_s $push1=, $0, $pop25
br_if $pop1, 0 # 0: down to label1
# BB#1: # %for.body.preheader
i32.const $push2=, -3161
call foo@FUNCTION, $pop2
- i32.load $2=, i($0)
- i32.const $1=, 1
- i32.add $push3=, $2, $1
- i32.store $discard=, i($0), $pop3
- i32.const $push4=, -1
- i32.gt_s $push5=, $2, $pop4
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push31=, 0
+ i32.const $push30=, 0
+ i32.load $push3=, i($pop30)
+ tee_local $push29=, $0=, $pop3
+ i32.const $push28=, 1
+ i32.add $push4=, $pop29, $pop28
+ i32.store $discard=, i($pop31), $pop4
+ i32.const $push5=, -1
+ i32.gt_s $push6=, $0, $pop5
+ br_if $pop6, 0 # 0: down to label1
.LBB1_2: # %for.body.for.body_crit_edge
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.const $2=, s+8
- i64.load32_u $push17=, s+8($0)
- i32.const $push11=, 4
- i32.add $push12=, $2, $pop11
- i64.load16_u $push13=, 0($pop12)
- i32.const $push6=, 6
- i32.add $push7=, $2, $pop6
- i64.load8_u $push8=, 0($pop7)
+ i32.const $push7=, 0
+ i64.load32_u $push15=, s+8($pop7):p2align=3
+ i32.const $push38=, 0
+ i64.load16_u $push11=, s+12($pop38):p2align=2
+ i32.const $push37=, 0
+ i64.load8_u $push8=, s+14($pop37):p2align=1
i64.const $push9=, 16
i64.shl $push10=, $pop8, $pop9
- i64.or $push14=, $pop13, $pop10
- i64.const $push15=, 32
- i64.shl $push16=, $pop14, $pop15
- i64.or $push18=, $pop17, $pop16
- i64.const $push19=, 15
- i64.shl $push20=, $pop18, $pop19
- i64.const $push21=, 42
- i64.shr_s $push22=, $pop20, $pop21
- i32.wrap/i64 $push23=, $pop22
- call foo@FUNCTION, $pop23
- i32.load $2=, i($0)
- i32.add $push24=, $2, $1
- i32.store $discard=, i($0), $pop24
- i32.lt_s $push25=, $2, $0
- br_if $pop25, 0 # 0: up to label2
+ i64.or $push12=, $pop11, $pop10
+ i64.const $push13=, 32
+ i64.shl $push14=, $pop12, $pop13
+ i64.or $push16=, $pop15, $pop14
+ i64.const $push17=, 15
+ i64.shl $push18=, $pop16, $pop17
+ i64.const $push19=, 42
+ i64.shr_s $push20=, $pop18, $pop19
+ i32.wrap/i64 $push21=, $pop20
+ call foo@FUNCTION, $pop21
+ i32.const $push36=, 0
+ i32.const $push35=, 0
+ i32.load $push22=, i($pop35)
+ tee_local $push34=, $0=, $pop22
+ i32.const $push33=, 1
+ i32.add $push23=, $pop34, $pop33
+ i32.store $discard=, i($pop36), $pop23
+ i32.const $push32=, 0
+ i32.lt_s $push24=, $0, $pop32
+ br_if $pop24, 0 # 0: up to label2
.LBB1_3: # %for.end
end_loop # label3:
end_block # label1:
- return $0
+ i32.const $push39=, 0
+ return $pop39
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -88,7 +97,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 4
+ .p2align 4
s:
.skip 16
.size s, 16
@@ -97,7 +106,7 @@ s:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/pr57344-3.c.s b/test/torture-s/pr57344-3.c.s
index 7c6711e30..835a81395 100644
--- a/test/torture-s/pr57344-3.c.s
+++ b/test/torture-s/pr57344-3.c.s
@@ -29,56 +29,75 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i64, i64, i64, i32
+ .local i32, i64
# BB#0: # %entry
- i32.const $push2=, s+16
- i32.const $push0=, .Lmain.t
- i32.const $push1=, 16
- call memcpy@FUNCTION, $pop2, $pop0, $pop1
- i32.const $0=, 0
+ i32.const $push33=, 0
+ i32.load $0=, i($pop33)
+ i32.const $push32=, 0
+ i32.const $push31=, 0
+ i64.load $push0=, .Lmain.t+8($pop31):p2align=0
+ i64.store $discard=, s+24($pop32), $pop0
+ i32.const $push30=, 0
+ i32.const $push29=, 0
+ i64.load $push1=, .Lmain.t($pop29):p2align=0
+ i64.store $discard=, s+16($pop30):p2align=4, $pop1
block
- i32.load $push3=, i($0)
- i32.gt_s $push4=, $pop3, $0
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push28=, 0
+ i32.gt_s $push2=, $0, $pop28
+ br_if $pop2, 0 # 0: down to label1
# BB#1: # %for.body.preheader
- i64.const $push5=, -3161
- call foo@FUNCTION, $pop5
- i32.load $5=, i($0)
- i32.const $1=, 1
- i32.add $push6=, $5, $1
- i32.store $discard=, i($0), $pop6
- i32.const $push7=, -1
- i32.gt_s $push8=, $5, $pop7
- br_if $pop8, 0 # 0: down to label1
+ i64.const $push3=, -3161
+ call foo@FUNCTION, $pop3
+ i32.const $push37=, 0
+ i32.const $push36=, 0
+ i32.load $push4=, i($pop36)
+ tee_local $push35=, $0=, $pop4
+ i32.const $push34=, 1
+ i32.add $push5=, $pop35, $pop34
+ i32.store $discard=, i($pop37), $pop5
+ i32.const $push6=, -1
+ i32.gt_s $push7=, $0, $pop6
+ br_if $pop7, 0 # 0: down to label1
.LBB1_2: # %for.body.for.body_crit_edge
# =>This Inner Loop Header: Depth=1
loop # label2:
- i64.load $2=, s+16($0)
- i64.const $3=, 7
- i64.const $4=, 56
- i64.shl $push16=, $2, $3
- i64.const $push19=, 50
- i64.shr_u $push20=, $pop16, $pop19
- i64.load8_u $push9=, s+24($0)
- i64.shl $push12=, $pop9, $3
- i64.const $push10=, 57
- i64.shr_u $push11=, $2, $pop10
- i64.or $push13=, $pop12, $pop11
- i64.shl $push14=, $pop13, $4
- i64.shr_s $push15=, $pop14, $4
- i64.const $push17=, 14
- i64.shl $push18=, $pop15, $pop17
- i64.or $push21=, $pop20, $pop18
- call foo@FUNCTION, $pop21
- i32.load $5=, i($0)
- i32.add $push22=, $5, $1
- i32.store $discard=, i($0), $pop22
- i32.lt_s $push23=, $5, $0
- br_if $pop23, 0 # 0: up to label2
+ i32.const $push8=, 0
+ i64.load $push10=, s+16($pop8):p2align=4
+ tee_local $push46=, $1=, $pop10
+ i64.const $push13=, 7
+ i64.shl $push19=, $pop46, $pop13
+ i64.const $push22=, 50
+ i64.shr_u $push23=, $pop19, $pop22
+ i32.const $push45=, 0
+ i64.load8_u $push9=, s+24($pop45):p2align=3
+ i64.const $push44=, 7
+ i64.shl $push14=, $pop9, $pop44
+ i64.const $push11=, 57
+ i64.shr_u $push12=, $1, $pop11
+ i64.or $push15=, $pop14, $pop12
+ i64.const $push16=, 56
+ i64.shl $push17=, $pop15, $pop16
+ i64.const $push43=, 56
+ i64.shr_s $push18=, $pop17, $pop43
+ i64.const $push20=, 14
+ i64.shl $push21=, $pop18, $pop20
+ i64.or $push24=, $pop23, $pop21
+ call foo@FUNCTION, $pop24
+ i32.const $push42=, 0
+ i32.const $push41=, 0
+ i32.load $push25=, i($pop41)
+ tee_local $push40=, $0=, $pop25
+ i32.const $push39=, 1
+ i32.add $push26=, $pop40, $pop39
+ i32.store $discard=, i($pop42), $pop26
+ i32.const $push38=, 0
+ i32.lt_s $push27=, $0, $pop38
+ br_if $pop27, 0 # 0: up to label2
.LBB1_3: # %for.end
end_loop # label3:
end_block # label1:
- return $0
+ i32.const $push47=, 0
+ return $pop47
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -103,7 +122,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 4
+ .p2align 4
s:
.skip 32
.size s, 32
@@ -112,7 +131,7 @@ s:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/pr57344-4.c.s b/test/torture-s/pr57344-4.c.s
index 45c3a7125..6edb3fdc3 100644
--- a/test/torture-s/pr57344-4.c.s
+++ b/test/torture-s/pr57344-4.c.s
@@ -29,64 +29,77 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $push2=, s+16
- i32.const $push0=, .Lmain.t
- i32.const $push1=, 16
- call memcpy@FUNCTION, $pop2, $pop0, $pop1
- i32.const $0=, 0
+ i32.const $push36=, 0
+ i32.load $0=, i($pop36)
+ i32.const $push35=, 0
+ i32.const $push34=, 0
+ i64.load $push0=, .Lmain.t+8($pop34):p2align=0
+ i64.store $discard=, s+24($pop35), $pop0
+ i32.const $push33=, 0
+ i32.const $push32=, 0
+ i64.load $push1=, .Lmain.t($pop32):p2align=0
+ i64.store $discard=, s+16($pop33):p2align=4, $pop1
block
- i32.load $push3=, i($0)
- i32.gt_s $push4=, $pop3, $0
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push31=, 0
+ i32.gt_s $push2=, $0, $pop31
+ br_if $pop2, 0 # 0: down to label1
# BB#1: # %for.body.preheader
- i64.const $push5=, -1220975898975746
- call foo@FUNCTION, $pop5
- i32.load $2=, i($0)
- i32.const $1=, 1
- i32.add $push6=, $2, $1
- i32.store $discard=, i($0), $pop6
- i32.const $push7=, -1
- i32.gt_s $push8=, $2, $pop7
- br_if $pop8, 0 # 0: down to label1
+ i64.const $push3=, -1220975898975746
+ call foo@FUNCTION, $pop3
+ i32.const $push40=, 0
+ i32.const $push39=, 0
+ i32.load $push4=, i($pop39)
+ tee_local $push38=, $0=, $pop4
+ i32.const $push37=, 1
+ i32.add $push5=, $pop38, $pop37
+ i32.store $discard=, i($pop40), $pop5
+ i32.const $push6=, -1
+ i32.gt_s $push7=, $0, $pop6
+ br_if $pop7, 0 # 0: down to label1
.LBB1_2: # %for.body.for.body_crit_edge
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.const $2=, s+24
- i64.load32_u $push20=, s+24($0)
- i32.const $push14=, 4
- i32.add $push15=, $2, $pop14
- i64.load16_u $push16=, 0($pop15)
- i32.const $push9=, 6
- i32.add $push10=, $2, $pop9
- i64.load8_u $push11=, 0($pop10)
- i64.const $push12=, 16
- i64.shl $push13=, $pop11, $pop12
- i64.or $push17=, $pop16, $pop13
- i64.const $push18=, 32
- i64.shl $push19=, $pop17, $pop18
- i64.or $push21=, $pop20, $pop19
- i64.const $push23=, 7
- i64.shl $push24=, $pop21, $pop23
- i64.load $push22=, s+16($0)
- i64.const $push25=, 57
- i64.shr_u $push26=, $pop22, $pop25
- i64.or $push27=, $pop24, $pop26
- i64.const $push28=, 8
- i64.shl $push29=, $pop27, $pop28
- i64.const $push30=, 10
- i64.shr_s $push31=, $pop29, $pop30
- call foo@FUNCTION, $pop31
- i32.load $2=, i($0)
- i32.add $push32=, $2, $1
- i32.store $discard=, i($0), $pop32
- i32.lt_s $push33=, $2, $0
- br_if $pop33, 0 # 0: up to label2
+ i32.const $push8=, 0
+ i64.load32_u $push16=, s+24($pop8):p2align=3
+ i32.const $push48=, 0
+ i64.load16_u $push12=, s+28($pop48):p2align=2
+ i32.const $push47=, 0
+ i64.load8_u $push9=, s+30($pop47):p2align=1
+ i64.const $push10=, 16
+ i64.shl $push11=, $pop9, $pop10
+ i64.or $push13=, $pop12, $pop11
+ i64.const $push14=, 32
+ i64.shl $push15=, $pop13, $pop14
+ i64.or $push17=, $pop16, $pop15
+ i64.const $push21=, 7
+ i64.shl $push22=, $pop17, $pop21
+ i32.const $push46=, 0
+ i64.load $push18=, s+16($pop46):p2align=4
+ i64.const $push19=, 57
+ i64.shr_u $push20=, $pop18, $pop19
+ i64.or $push23=, $pop22, $pop20
+ i64.const $push24=, 8
+ i64.shl $push25=, $pop23, $pop24
+ i64.const $push26=, 10
+ i64.shr_s $push27=, $pop25, $pop26
+ call foo@FUNCTION, $pop27
+ i32.const $push45=, 0
+ i32.const $push44=, 0
+ i32.load $push28=, i($pop44)
+ tee_local $push43=, $0=, $pop28
+ i32.const $push42=, 1
+ i32.add $push29=, $pop43, $pop42
+ i32.store $discard=, i($pop45), $pop29
+ i32.const $push41=, 0
+ i32.lt_s $push30=, $0, $pop41
+ br_if $pop30, 0 # 0: up to label2
.LBB1_3: # %for.end
end_loop # label3:
end_block # label1:
- return $0
+ i32.const $push49=, 0
+ return $pop49
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -116,7 +129,7 @@ main: # @main
.type s,@object
.section .bss.s,"aw",@nobits
.globl s
- .align 4
+ .p2align 4
s:
.skip 32
.size s, 32
@@ -125,7 +138,7 @@ s:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/pr57568.c.s b/test/torture-s/pr57568.c.s
index 1bfed396e..ca16d5b64 100644
--- a/test/torture-s/pr57568.c.s
+++ b/test/torture-s/pr57568.c.s
@@ -6,29 +6,32 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, b($0)
- i32.const $push3=, 0
- i32.eq $push4=, $pop0, $pop3
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push4=, 0
+ i32.load $push0=, b($pop4)
+ i32.const $push8=, 0
+ i32.eq $push9=, $pop0, $pop8
+ br_if $pop9, 0 # 0: down to label0
# BB#1: # %land.lhs.true
- i32.load $1=, c($0)
- i32.load $2=, 0($1)
- i32.const $push1=, 1
- i32.shl $push2=, $2, $pop1
- i32.store $discard=, 0($1), $pop2
- i32.const $push5=, 0
- i32.eq $push6=, $2, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push6=, 0
+ i32.load $0=, c($pop6)
+ i32.load $push1=, 0($0)
+ tee_local $push5=, $1=, $pop1
+ i32.const $push2=, 1
+ i32.shl $push3=, $pop5, $pop2
+ i32.store $discard=, 0($0), $pop3
+ i32.const $push10=, 0
+ i32.eq $push11=, $1, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#2: # %if.then
call abort@FUNCTION
unreachable
.LBB0_3: # %if.end
end_block # label0:
- return $0
+ i32.const $push7=, 0
+ return $pop7
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -37,7 +40,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 216
.size a, 216
@@ -46,7 +49,7 @@ a:
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 1 # 0x1
.size b, 4
@@ -55,7 +58,7 @@ b:
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 2
+ .p2align 2
c:
.int32 a+128
.size c, 4
diff --git a/test/torture-s/pr57829.c.s b/test/torture-s/pr57829.c.s
index e43f7e2b9..a8ea323a1 100644
--- a/test/torture-s/pr57829.c.s
+++ b/test/torture-s/pr57829.c.s
@@ -65,32 +65,34 @@ f3: # @f3
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 1
- i32.call $1=, f1@FUNCTION, $0
- i32.const $2=, 2
block
- i32.ne $push0=, $1, $2
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push14=, 1
+ i32.call $push0=, f1@FUNCTION, $pop14
+ i32.const $push13=, 2
+ i32.ne $push1=, $pop0, $pop13
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i32.call $push1=, f2@FUNCTION, $0
- i32.ne $push2=, $pop1, $2
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push16=, 1
+ i32.call $push2=, f2@FUNCTION, $pop16
+ i32.const $push15=, 2
+ i32.ne $push3=, $pop2, $pop15
+ br_if $pop3, 0 # 0: down to label0
# BB#2: # %lor.lhs.false3
- i32.const $push3=, 63
- i32.call $push4=, f3@FUNCTION, $pop3
- i32.const $push5=, 6
- i32.ne $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push4=, 63
+ i32.call $push5=, f3@FUNCTION, $pop4
+ i32.const $push6=, 6
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#3: # %lor.lhs.false6
- i32.call $push7=, f3@FUNCTION, $0
- i32.const $push8=, 4
- i32.ne $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label0
+ i32.const $push8=, 1
+ i32.call $push9=, f3@FUNCTION, $pop8
+ i32.const $push10=, 4
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#4: # %if.end
- i32.const $push10=, 0
- return $pop10
+ i32.const $push12=, 0
+ return $pop12
.LBB3_5: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/pr57860.c.s b/test/torture-s/pr57860.c.s
index 8e29564c9..f772c60b8 100644
--- a/test/torture-s/pr57860.c.s
+++ b/test/torture-s/pr57860.c.s
@@ -7,51 +7,59 @@
foo: # @foo
.param i32
.result i32
- .local i64, i32, i32, i32, i32
+ .local i64, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, 0
- i32.load $2=, b($5)
- i32.load $3=, h($5)
- i32.load $4=, f($5)
i64.extend_s/i32 $1=, $0
+ i32.const $push14=, 0
+ i32.load $2=, b($pop14)
+ i32.const $push13=, 0
+ i32.load $3=, h($pop13)
+ i32.const $push12=, 0
+ i32.load $4=, f($pop12)
.LBB0_1: # %for.cond1thread-pre-split
# =>This Inner Loop Header: Depth=1
loop # label0:
block
- i32.load $push0=, c($5)
i32.const $push15=, 0
- i32.eq $push16=, $pop0, $pop15
- br_if $pop16, 0 # 0: down to label2
+ i32.load $push1=, c($pop15)
+ i32.const $push25=, 0
+ i32.eq $push26=, $pop1, $pop25
+ br_if $pop26, 0 # 0: down to label2
# BB#2: # %for.inc.preheader
# in Loop: Header=BB0_1 Depth=1
- i32.store $discard=, c($5), $5
+ i32.const $push17=, 0
+ i32.const $push16=, 0
+ i32.store $discard=, c($pop17), $pop16
.LBB0_3: # %for.end
# in Loop: Header=BB0_1 Depth=1
end_block # label2:
i64.load32_s $push4=, 0($2)
- i64.load32_s $push1=, a($5)
- i64.const $push2=, 8589934591
- i64.xor $push3=, $pop1, $pop2
+ i32.const $push22=, 0
+ i64.load32_s $push2=, a($pop22)
+ i64.const $push21=, 8589934591
+ i64.xor $push3=, $pop2, $pop21
i64.and $push5=, $pop4, $pop3
i64.gt_s $push6=, $1, $pop5
i32.store $push7=, 0($3), $pop6
i32.store $discard=, 0($4), $pop7
- i32.load $0=, g($5)
- i32.const $push10=, k
- i32.const $push8=, 2
- i32.shl $push9=, $0, $pop8
- i32.add $push11=, $pop10, $pop9
- i32.load $push12=, 0($pop11)
- br_if $pop12, 1 # 1: down to label1
+ i32.const $push20=, 0
+ i32.load $push0=, g($pop20)
+ tee_local $push19=, $0=, $pop0
+ i32.const $push18=, 2
+ i32.shl $push8=, $pop19, $pop18
+ i32.load $push9=, k($pop8)
+ br_if $pop9, 1 # 1: down to label1
# BB#4: # %for.inc6
# in Loop: Header=BB0_1 Depth=1
- i32.const $push13=, 1
- i32.add $push14=, $0, $pop13
- i32.store $discard=, g($5), $pop14
+ i32.const $push24=, 0
+ i32.const $push23=, 1
+ i32.add $push11=, $0, $pop23
+ i32.store $discard=, g($pop24), $pop11
br 0 # 0: up to label0
.LBB0_5: # %if.then
end_loop # label1:
- return $5
+ i32.const $push10=, 0
+ return $pop10
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -62,57 +70,66 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i64
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $4=, 0
- i32.load $0=, b($4)
- i32.load $1=, h($4)
- i32.load $2=, f($4)
- i64.const $5=, 8589934591
+ i32.const $push16=, 0
+ i32.load $0=, b($pop16)
+ i32.const $push15=, 0
+ i32.load $1=, h($pop15)
+ i32.const $push14=, 0
+ i32.load $2=, f($pop14)
.LBB1_1: # %for.cond1thread-pre-split.i
# =>This Inner Loop Header: Depth=1
loop # label3:
block
- i32.load $push0=, c($4)
- i32.const $push18=, 0
- i32.eq $push19=, $pop0, $pop18
- br_if $pop19, 0 # 0: down to label5
+ i32.const $push17=, 0
+ i32.load $push1=, c($pop17)
+ i32.const $push30=, 0
+ i32.eq $push31=, $pop1, $pop30
+ br_if $pop31, 0 # 0: down to label5
# BB#2: # %for.inc.preheader.i
# in Loop: Header=BB1_1 Depth=1
- i32.store $discard=, c($4), $4
+ i32.const $push19=, 0
+ i32.const $push18=, 0
+ i32.store $discard=, c($pop19), $pop18
.LBB1_3: # %for.end.i
# in Loop: Header=BB1_1 Depth=1
end_block # label5:
- i64.load32_s $push3=, 0($0)
- i64.load32_s $push1=, a($4)
- i64.xor $push2=, $pop1, $5
- i64.and $push4=, $pop3, $pop2
- i64.const $push5=, 1
- i64.lt_s $push6=, $pop4, $pop5
+ i64.load32_s $push4=, 0($0)
+ i32.const $push25=, 0
+ i64.load32_s $push2=, a($pop25)
+ i64.const $push24=, 8589934591
+ i64.xor $push3=, $pop2, $pop24
+ i64.and $push5=, $pop4, $pop3
+ i64.const $push23=, 1
+ i64.lt_s $push6=, $pop5, $pop23
i32.store $push7=, 0($1), $pop6
i32.store $discard=, 0($2), $pop7
- i32.load $3=, g($4)
- i32.const $push10=, k
- i32.const $push8=, 2
- i32.shl $push9=, $3, $pop8
- i32.add $push11=, $pop10, $pop9
- i32.load $push12=, 0($pop11)
- br_if $pop12, 1 # 1: down to label4
+ i32.const $push22=, 0
+ i32.load $push0=, g($pop22)
+ tee_local $push21=, $3=, $pop0
+ i32.const $push20=, 2
+ i32.shl $push8=, $pop21, $pop20
+ i32.load $push9=, k($pop8)
+ br_if $pop9, 1 # 1: down to label4
# BB#4: # %for.inc6.i
# in Loop: Header=BB1_1 Depth=1
- i32.const $push16=, 1
- i32.add $push17=, $3, $pop16
- i32.store $discard=, g($4), $pop17
+ i32.const $push27=, 0
+ i32.const $push26=, 1
+ i32.add $push13=, $3, $pop26
+ i32.store $discard=, g($pop27), $pop13
br 0 # 0: up to label3
.LBB1_5: # %foo.exit
end_loop # label4:
block
- i32.load $push13=, d($4)
- i32.const $push14=, 1
- i32.ne $push15=, $pop13, $pop14
- br_if $pop15, 0 # 0: down to label6
+ i32.const $push28=, 0
+ i32.load $push10=, d($pop28)
+ i32.const $push11=, 1
+ i32.ne $push12=, $pop10, $pop11
+ br_if $pop12, 0 # 0: down to label6
# BB#6: # %if.end
- return $4
+ i32.const $push29=, 0
+ return $pop29
.LBB1_7: # %if.then
end_block # label6:
call abort@FUNCTION
@@ -125,7 +142,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -134,7 +151,7 @@ a:
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 a
.size b, 4
@@ -143,7 +160,7 @@ b:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
@@ -152,7 +169,7 @@ e:
.type f,@object
.section .data.f,"aw",@progbits
.globl f
- .align 2
+ .p2align 2
f:
.int32 e
.size f, 4
@@ -161,7 +178,7 @@ f:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -170,7 +187,7 @@ d:
.type h,@object
.section .data.h,"aw",@progbits
.globl h
- .align 2
+ .p2align 2
h:
.int32 d
.size h, 4
@@ -179,7 +196,7 @@ h:
.type k,@object
.section .data.k,"aw",@progbits
.globl k
- .align 2
+ .p2align 2
k:
.int32 1 # 0x1
.size k, 4
@@ -188,7 +205,7 @@ k:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -197,7 +214,7 @@ c:
.type g,@object
.section .bss.g,"aw",@nobits
.globl g
- .align 2
+ .p2align 2
g:
.int32 0 # 0x0
.size g, 4
diff --git a/test/torture-s/pr57861.c.s b/test/torture-s/pr57861.c.s
index 796f0872a..82d172629 100644
--- a/test/torture-s/pr57861.c.s
+++ b/test/torture-s/pr57861.c.s
@@ -8,42 +8,48 @@ main: # @main
.result i32
.local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $0=, a($1)
- i32.store $discard=, c($1), $1
- i32.const $2=, 24
- copy_local $4=, $0
+ i32.const $push1=, 0
+ i32.load16_u $0=, a($pop1)
+ copy_local $2=, $0
block
- i32.load $push3=, e($1)
- i32.shl $push1=, $0, $2
- i32.shr_s $push2=, $pop1, $2
- i32.ge_u $push4=, $pop3, $pop2
- br_if $pop4, 0 # 0: down to label0
+ i32.const $push23=, 0
+ i32.const $push22=, 0
+ i32.store $push2=, c($pop23), $pop22
+ tee_local $push21=, $3=, $pop2
+ i32.load $push6=, e($pop21)
+ i32.const $push3=, 24
+ i32.shl $push4=, $0, $pop3
+ i32.const $push20=, 24
+ i32.shr_s $push5=, $pop4, $pop20
+ i32.ge_u $push7=, $pop6, $pop5
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.then.i.1
- i32.load $push5=, d($1)
- i32.ne $push6=, $pop5, $1
- i32.load $push7=, h($1)
- i32.ne $push8=, $pop7, $1
- i32.and $push0=, $pop6, $pop8
- i32.store16 $4=, a($1), $pop0
- i32.store16 $discard=, f($1), $1
+ i32.load $push8=, d($3)
+ i32.ne $push9=, $pop8, $3
+ i32.load $push10=, h($3)
+ i32.ne $push11=, $pop10, $3
+ i32.and $push0=, $pop9, $pop11
+ i32.store16 $2=, a($3), $pop0
+ i32.store16 $discard=, f($3), $3
.LBB0_2: # %for.inc.i.1
end_block # label0:
- i32.store $2=, j($1), $1
- i32.load $3=, g($2)
- i32.const $push9=, 255
- i32.and $push10=, $0, $pop9
- i32.ne $push11=, $pop10, $1
- i32.store $discard=, i($2), $pop11
- i32.const $push12=, 2
- i32.store $discard=, c($2), $pop12
- i32.store $1=, 0($3), $2
+ i32.store $push15=, j($3), $3
+ tee_local $push24=, $4=, $pop15
+ i32.load $1=, g($pop24)
+ i32.const $push12=, 255
+ i32.and $push13=, $0, $pop12
+ i32.ne $push14=, $pop13, $3
+ i32.store $discard=, i($4), $pop14
+ i32.const $push16=, 2
+ i32.store $discard=, c($4), $pop16
+ i32.store $discard=, 0($1), $4
block
- i32.const $push13=, 65535
- i32.and $push14=, $4, $pop13
- br_if $pop14, 0 # 0: down to label1
+ i32.const $push17=, 65535
+ i32.and $push18=, $2, $pop17
+ br_if $pop18, 0 # 0: down to label1
# BB#3: # %if.end
- return $1
+ i32.const $push19=, 0
+ return $pop19
.LBB0_4: # %if.then
end_block # label1:
call abort@FUNCTION
@@ -56,7 +62,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 1
+ .p2align 1
a:
.int16 1 # 0x1
.size a, 2
@@ -65,7 +71,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -74,7 +80,7 @@ b:
.type g,@object
.section .data.g,"aw",@progbits
.globl g
- .align 2
+ .p2align 2
g:
.int32 b
.size g, 4
@@ -83,7 +89,7 @@ g:
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 1
+ .p2align 1
f:
.int16 0 # 0x0
.size f, 2
@@ -92,7 +98,7 @@ f:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -101,7 +107,7 @@ c:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -110,7 +116,7 @@ d:
.type h,@object
.section .bss.h,"aw",@nobits
.globl h
- .align 2
+ .p2align 2
h:
.int32 0 # 0x0
.size h, 4
@@ -119,7 +125,7 @@ h:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -128,7 +134,7 @@ i:
.type j,@object
.section .bss.j,"aw",@nobits
.globl j
- .align 2
+ .p2align 2
j:
.int32 0 # 0x0
.size j, 4
@@ -137,7 +143,7 @@ j:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
diff --git a/test/torture-s/pr57875.c.s b/test/torture-s/pr57875.c.s
index d045abda0..1e4cefa19 100644
--- a/test/torture-s/pr57875.c.s
+++ b/test/torture-s/pr57875.c.s
@@ -6,16 +6,20 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.load $5=, i($3)
block
- i32.gt_s $push0=, $5, $3
+ i32.const $push16=, 0
+ i32.load $push13=, i($pop16)
+ tee_local $push15=, $4=, $pop13
+ i32.const $push14=, 0
+ i32.gt_s $push0=, $pop15, $pop14
br_if $pop0, 0 # 0: down to label0
# BB#1: # %for.body.lr.ph
- i32.load $0=, d($3)
- i32.load $1=, c($3)
+ i32.const $push18=, 0
+ i32.load $0=, d($pop18)
+ i32.const $push17=, 0
+ i32.load $1=, c($pop17)
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
@@ -25,50 +29,57 @@ main: # @main
# in Loop: Header=BB0_2 Depth=1
block
block
- i32.const $push14=, 0
- i32.eq $push15=, $1, $pop14
- br_if $pop15, 0 # 0: down to label5
+ i32.const $push27=, 0
+ i32.eq $push28=, $1, $pop27
+ br_if $pop28, 0 # 0: down to label5
# BB#4: # %if.then.if.end_crit_edge
# in Loop: Header=BB0_2 Depth=1
- i32.load $2=, f($3)
+ i32.const $push19=, 0
+ i32.load $2=, f($pop19)
br 1 # 1: down to label4
.LBB0_5: # %if.then2
# in Loop: Header=BB0_2 Depth=1
end_block # label5:
+ i32.const $push20=, 0
i32.const $push1=, 2
- i32.store $2=, f($3), $pop1
+ i32.store $2=, f($pop20), $pop1
.LBB0_6: # %if.end
# in Loop: Header=BB0_2 Depth=1
end_block # label4:
- i32.load8_u $push2=, e($3)
+ i32.const $push22=, 0
+ i32.const $push21=, 0
+ i32.load8_u $push2=, e($pop21)
i32.and $push3=, $pop2, $2
- i32.store8 $discard=, e($3), $pop3
+ i32.store8 $discard=, e($pop22), $pop3
.LBB0_7: # %for.inc
# in Loop: Header=BB0_2 Depth=1
end_block # label3:
- i32.const $push4=, 1
- i32.add $2=, $5, $pop4
- i32.lt_s $4=, $5, $3
- copy_local $5=, $2
- br_if $4, 0 # 0: up to label1
+ i32.const $push24=, 1
+ i32.add $2=, $4, $pop24
+ i32.const $push23=, 0
+ i32.lt_s $3=, $4, $pop23
+ copy_local $4=, $2
+ br_if $3, 0 # 0: up to label1
# BB#8: # %for.cond.for.end_crit_edge
end_loop # label2:
- i32.store $discard=, i($3), $2
+ i32.const $push4=, 0
+ i32.store $discard=, i($pop4), $2
.LBB0_9: # %for.end
end_block # label0:
block
- i32.const $push10=, a
- i32.load8_u $push5=, e($3)
+ i32.const $push26=, 0
+ i32.const $push25=, 0
+ i32.load8_u $push5=, e($pop25)
i32.const $push6=, 1
i32.shl $push7=, $pop5, $pop6
i32.const $push8=, 4
i32.and $push9=, $pop7, $pop8
- i32.add $push11=, $pop10, $pop9
- i32.load $push12=, 0($pop11)
- i32.store $push13=, b($3), $pop12
- br_if $pop13, 0 # 0: down to label6
+ i32.load $push10=, a($pop9)
+ i32.store $push11=, b($pop26), $pop10
+ br_if $pop11, 0 # 0: down to label6
# BB#10: # %if.end10
- return $3
+ i32.const $push12=, 0
+ return $pop12
.LBB0_11: # %if.then9
end_block # label6:
call abort@FUNCTION
@@ -81,7 +92,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -90,7 +101,7 @@ i:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -99,7 +110,7 @@ d:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -108,7 +119,7 @@ c:
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 2
+ .p2align 2
f:
.int32 0 # 0x0
.size f, 4
@@ -125,7 +136,7 @@ e:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.skip 4
.size a, 4
@@ -134,7 +145,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/pr57876.c.s b/test/torture-s/pr57876.c.s
new file mode 100644
index 000000000..16e94d035
--- /dev/null
+++ b/test/torture-s/pr57876.c.s
@@ -0,0 +1,246 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr57876.c"
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %for.body4.1
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 16
+ i32.sub $17=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $17=, 0($14), $17
+ i32.const $push0=, 0
+ i32.load $0=, d($pop0)
+ i32.const $push95=, 0
+ i32.const $push94=, 0
+ i32.store $1=, f($pop95), $pop94
+ i32.load $push1=, a($1)
+ tee_local $push93=, $12=, $pop1
+ i32.load $push2=, 0($0)
+ i32.store $push3=, j($1), $pop2
+ i32.mul $push4=, $pop93, $pop3
+ i32.const $push5=, -1
+ i32.add $push6=, $pop4, $pop5
+ i32.store $discard=, h($1), $pop6
+ i32.const $push7=, 1
+ i32.store $2=, f($1), $pop7
+ i32.load $push8=, 0($0)
+ i32.store $push9=, j($1), $pop8
+ i32.mul $push10=, $12, $pop9
+ i32.const $push92=, -1
+ i32.add $push11=, $pop10, $pop92
+ i32.store $discard=, h($1), $pop11
+ i32.const $push12=, 2
+ i32.store $3=, f($1), $pop12
+ i32.load $push13=, 0($0)
+ i32.store $push14=, j($1), $pop13
+ i32.mul $push15=, $12, $pop14
+ i32.const $push91=, -1
+ i32.add $push16=, $pop15, $pop91
+ i32.store $discard=, h($1), $pop16
+ i32.const $push17=, 3
+ i32.store $4=, f($1), $pop17
+ i32.load $push18=, 0($0)
+ i32.store $push19=, j($1), $pop18
+ i32.mul $push20=, $12, $pop19
+ i32.const $push90=, -1
+ i32.add $push21=, $pop20, $pop90
+ i32.store $discard=, h($1), $pop21
+ i32.const $push22=, 4
+ i32.store $5=, f($1), $pop22
+ i32.load $push23=, 0($0)
+ i32.store $push24=, j($1), $pop23
+ i32.mul $push25=, $12, $pop24
+ i32.const $push89=, -1
+ i32.add $push26=, $pop25, $pop89
+ i32.store $discard=, h($1), $pop26
+ i32.const $push27=, 5
+ i32.store $6=, f($1), $pop27
+ i32.load $push28=, 0($0)
+ i32.store $push29=, j($1), $pop28
+ i32.mul $push30=, $12, $pop29
+ i32.const $push88=, -1
+ i32.add $push31=, $pop30, $pop88
+ i32.store $discard=, h($1), $pop31
+ i32.const $push32=, 6
+ i32.store $7=, f($1), $pop32
+ i32.load $push33=, 0($0)
+ i32.store $push34=, j($1), $pop33
+ i32.mul $push35=, $12, $pop34
+ i32.const $push87=, -1
+ i32.add $push36=, $pop35, $pop87
+ i32.store $discard=, h($1), $pop36
+ i32.const $push37=, 7
+ i32.store $8=, f($1), $pop37
+ i32.load $push38=, 0($0)
+ i32.store $push39=, j($1), $pop38
+ i32.mul $push40=, $12, $pop39
+ i32.const $push86=, -1
+ i32.add $push41=, $pop40, $pop86
+ i32.store $discard=, h($1), $pop41
+ i32.const $push42=, 8
+ i32.store $9=, f($1), $pop42
+ i32.store $11=, f($1), $1
+ i32.load $push43=, 0($0)
+ i32.store $push44=, j($11), $pop43
+ i32.mul $push45=, $12, $pop44
+ i32.const $push85=, -1
+ i32.add $push46=, $pop45, $pop85
+ i32.store $discard=, h($11), $pop46
+ i32.store $discard=, f($11), $2
+ i32.load $push47=, 0($0)
+ i32.store $push48=, j($11), $pop47
+ i32.mul $push49=, $12, $pop48
+ i32.const $push84=, -1
+ i32.add $push50=, $pop49, $pop84
+ i32.store $discard=, h($11), $pop50
+ i32.store $discard=, f($11), $3
+ i32.load $push51=, 0($0)
+ i32.store $push52=, j($11), $pop51
+ i32.mul $push53=, $12, $pop52
+ i32.const $push83=, -1
+ i32.add $push54=, $pop53, $pop83
+ i32.store $discard=, h($11), $pop54
+ i32.store $discard=, f($11), $4
+ i32.load $push55=, 0($0)
+ i32.store $push56=, j($11), $pop55
+ i32.mul $push57=, $12, $pop56
+ i32.const $push82=, -1
+ i32.add $push58=, $pop57, $pop82
+ i32.store $discard=, h($11), $pop58
+ i32.store $discard=, f($11), $5
+ i32.load $push59=, 0($0)
+ i32.store $push60=, j($11), $pop59
+ i32.mul $push61=, $12, $pop60
+ i32.const $push81=, -1
+ i32.add $push62=, $pop61, $pop81
+ i32.store $discard=, h($11), $pop62
+ i32.store $discard=, f($11), $6
+ i32.load $push63=, 0($0)
+ i32.store $push64=, j($11), $pop63
+ i32.mul $push65=, $12, $pop64
+ i32.const $push80=, -1
+ i32.add $push66=, $pop65, $pop80
+ i32.store $discard=, h($11), $pop66
+ i32.store $discard=, f($11), $7
+ i32.load $push67=, 0($0)
+ i32.store $push68=, j($11), $pop67
+ i32.mul $push69=, $12, $pop68
+ i32.const $push79=, -1
+ i32.add $push70=, $pop69, $pop79
+ i32.store $discard=, h($11), $pop70
+ i32.store $discard=, f($11), $8
+ i64.load32_s $10=, b($1)
+ i32.load $push71=, 0($0)
+ i32.store $1=, j($11), $pop71
+ i32.store $discard=, f($11), $9
+ i32.mul $push72=, $12, $1
+ i32.const $push78=, -1
+ i32.add $push73=, $pop72, $pop78
+ i32.store $push74=, h($11), $pop73
+ i32.eq $push75=, $11, $pop74
+ i64.extend_u/i32 $push76=, $pop75
+ i64.lt_s $push77=, $pop76, $10
+ i32.store $1=, e($11), $pop77
+ i32.const $16=, 12
+ i32.add $16=, $17, $16
+ i32.store $discard=, g($11), $16
+ block
+ i32.const $push96=, 0
+ i32.eq $push97=, $1, $pop96
+ br_if $pop97, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $15=, 16
+ i32.add $17=, $17, $15
+ i32.const $15=, __stack_pointer
+ i32.store $17=, 0($15), $17
+ return $11
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+
+ .hidden b # @b
+ .type b,@object
+ .section .data.b,"aw",@progbits
+ .globl b
+ .p2align 2
+b:
+ .int32 1 # 0x1
+ .size b, 4
+
+ .hidden c # @c
+ .type c,@object
+ .section .bss.c,"aw",@nobits
+ .globl c
+ .p2align 2
+c:
+ .int32 0 # 0x0
+ .size c, 4
+
+ .hidden d # @d
+ .type d,@object
+ .section .data.d,"aw",@progbits
+ .globl d
+ .p2align 2
+d:
+ .int32 c
+ .size d, 4
+
+ .hidden f # @f
+ .type f,@object
+ .section .bss.f,"aw",@nobits
+ .globl f
+ .p2align 2
+f:
+ .int32 0 # 0x0
+ .size f, 4
+
+ .type e,@object # @e
+ .lcomm e,4,2
+ .hidden j # @j
+ .type j,@object
+ .section .bss.j,"aw",@nobits
+ .globl j
+ .p2align 2
+j:
+ .int32 0 # 0x0
+ .size j, 4
+
+ .hidden a # @a
+ .type a,@object
+ .section .bss.a,"aw",@nobits
+ .globl a
+ .p2align 2
+a:
+ .int32 0 # 0x0
+ .size a, 4
+
+ .hidden h # @h
+ .type h,@object
+ .section .bss.h,"aw",@nobits
+ .globl h
+ .p2align 2
+h:
+ .int32 0 # 0x0
+ .size h, 4
+
+ .hidden g # @g
+ .type g,@object
+ .section .bss.g,"aw",@nobits
+ .globl g
+ .p2align 2
+g:
+ .int32 0
+ .size g, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr57877.c.s b/test/torture-s/pr57877.c.s
index 0f632dc88..2c75cfdfa 100644
--- a/test/torture-s/pr57877.c.s
+++ b/test/torture-s/pr57877.c.s
@@ -6,53 +6,67 @@
.type main,@function
main: # @main
.result i32
- .local i64, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.load $7=, g($3)
- i32.const $4=, 1
block
block
- i32.lt_s $push2=, $7, $4
- br_if $pop2, 0 # 0: down to label1
+ i32.const $push17=, 0
+ i32.load $push0=, g($pop17)
+ tee_local $push16=, $4=, $pop0
+ i32.const $push15=, 1
+ i32.lt_s $push3=, $pop16, $pop15
+ br_if $pop3, 0 # 0: down to label1
# BB#1: # %entry.foo.exit_crit_edge
- i32.load $6=, e($3)
+ i32.const $push18=, 0
+ i32.load $5=, e($pop18)
br 1 # 1: down to label0
.LBB0_2: # %for.body.lr.ph.i
end_block # label1:
- i64.load32_s $0=, f($3)
- i32.load $1=, c($3)
- i32.load $2=, a($3)
- i32.const $push3=, -1
- i32.add $7=, $7, $pop3
+ i32.const $push21=, 0
+ i64.load32_s $0=, f($pop21)
+ i32.const $push20=, 0
+ i32.load $1=, c($pop20)
+ i32.const $push19=, 0
+ i32.load $2=, a($pop19)
+ i32.const $push4=, -1
+ i32.add $4=, $4, $pop4
.LBB0_3: # %for.body.i
# =>This Inner Loop Header: Depth=1
loop # label2:
- i32.load $push0=, 0($1)
- i32.store $5=, h($3), $pop0
- i32.const $6=, 16
- i32.const $push8=, 2
- i32.add $push9=, $7, $pop8
- i32.store $discard=, g($3), $pop9
- i32.shl $push4=, $5, $6
- i32.shr_s $push5=, $pop4, $6
- i32.eq $push6=, $pop5, $2
- i64.extend_u/i32 $push7=, $pop6
- i64.lt_u $push1=, $pop7, $0
- i32.store $6=, e($3), $pop1
- i32.add $7=, $7, $4
- i32.lt_s $push10=, $7, $3
+ i32.const $push29=, 0
+ i32.load $push1=, 0($1)
+ i32.store $3=, h($pop29), $pop1
+ i32.const $push28=, 0
+ i32.const $push27=, 2
+ i32.add $push9=, $4, $pop27
+ i32.store $discard=, g($pop28), $pop9
+ i32.const $push26=, 0
+ i32.const $push25=, 16
+ i32.shl $push5=, $3, $pop25
+ i32.const $push24=, 16
+ i32.shr_s $push6=, $pop5, $pop24
+ i32.eq $push7=, $pop6, $2
+ i64.extend_u/i32 $push8=, $pop7
+ i64.lt_u $push2=, $pop8, $0
+ i32.store $5=, e($pop26), $pop2
+ i32.const $push23=, 1
+ i32.add $4=, $4, $pop23
+ i32.const $push22=, 0
+ i32.lt_s $push10=, $4, $pop22
br_if $pop10, 0 # 0: up to label2
# BB#4: # %for.cond.for.end_crit_edge.i
end_loop # label3:
- i32.store16 $discard=, d($3), $5
+ i32.const $push11=, 0
+ i32.store16 $discard=, d($pop11), $3
.LBB0_5: # %foo.exit
end_block # label0:
block
- i32.ne $push11=, $6, $4
- br_if $pop11, 0 # 0: down to label4
+ i32.const $push12=, 1
+ i32.ne $push13=, $5, $pop12
+ br_if $pop13, 0 # 0: down to label4
# BB#6: # %if.end
- return $3
+ i32.const $push14=, 0
+ return $pop14
.LBB0_7: # %if.then
end_block # label4:
call abort@FUNCTION
@@ -65,7 +79,7 @@ main: # @main
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -74,7 +88,7 @@ b:
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 2
+ .p2align 2
c:
.int32 b
.size c, 4
@@ -83,7 +97,7 @@ c:
.type f,@object
.section .data.f,"aw",@progbits
.globl f
- .align 2
+ .p2align 2
f:
.int32 6 # 0x6
.size f, 4
@@ -92,7 +106,7 @@ f:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -101,7 +115,7 @@ a:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
@@ -110,7 +124,7 @@ e:
.type g,@object
.section .bss.g,"aw",@nobits
.globl g
- .align 2
+ .p2align 2
g:
.int32 0 # 0x0
.size g, 4
@@ -119,7 +133,7 @@ g:
.type h,@object
.section .bss.h,"aw",@nobits
.globl h
- .align 2
+ .p2align 2
h:
.int32 0 # 0x0
.size h, 4
@@ -128,7 +142,7 @@ h:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 1
+ .p2align 1
d:
.int16 0 # 0x0
.size d, 2
diff --git a/test/torture-s/pr58209.c.s b/test/torture-s/pr58209.c.s
index a733f0829..da5193a07 100644
--- a/test/torture-s/pr58209.c.s
+++ b/test/torture-s/pr58209.c.s
@@ -60,48 +60,50 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $3=, 0
- i32.const $2=, buf-4
+ i32.const $1=, 0
+ i32.const $0=, buf-4
.LBB2_1: # %for.body
# =>This Inner Loop Header: Depth=1
block
loop # label3:
- i32.call $0=, foo@FUNCTION, $3
- i32.const $1=, 4
- i32.add $2=, $2, $1
- i32.ne $push1=, $2, $0
+ i32.const $push10=, 4
+ i32.add $0=, $0, $pop10
+ i32.call $push0=, foo@FUNCTION, $1
+ tee_local $push9=, $3=, $pop0
+ i32.ne $push1=, $0, $pop9
br_if $pop1, 2 # 2: down to label2
# BB#2: # %lor.lhs.false
# in Loop: Header=BB2_1 Depth=1
- i32.const $4=, buf
+ i32.const $2=, buf
block
- i32.const $push9=, 0
- i32.eq $push10=, $3, $pop9
- br_if $pop10, 0 # 0: down to label5
+ i32.const $push13=, 0
+ i32.eq $push14=, $1, $pop13
+ br_if $pop14, 0 # 0: down to label5
# BB#3: # %if.end.i
# in Loop: Header=BB2_1 Depth=1
- i32.const $push2=, -1
- i32.add $push3=, $3, $pop2
- i32.call $push4=, foo@FUNCTION, $pop3
- i32.add $4=, $pop4, $1
+ i32.const $push12=, -1
+ i32.add $push2=, $1, $pop12
+ i32.call $push3=, foo@FUNCTION, $pop2
+ i32.const $push11=, 4
+ i32.add $2=, $pop3, $pop11
.LBB2_4: # %bar.exit
# in Loop: Header=BB2_1 Depth=1
end_block # label5:
- i32.ne $push5=, $4, $0
- br_if $pop5, 2 # 2: down to label2
+ i32.ne $push4=, $2, $3
+ br_if $pop4, 2 # 2: down to label2
# BB#5: # %for.cond
# in Loop: Header=BB2_1 Depth=1
- i32.const $push0=, 1
- i32.add $3=, $3, $pop0
- i32.const $push6=, 26
- i32.le_s $push7=, $3, $pop6
- br_if $pop7, 0 # 0: up to label3
+ i32.const $push8=, 1
+ i32.add $1=, $1, $pop8
+ i32.const $push7=, 26
+ i32.le_s $push5=, $1, $pop7
+ br_if $pop5, 0 # 0: up to label3
# BB#6: # %for.end
end_loop # label4:
- i32.const $push8=, 0
- return $pop8
+ i32.const $push6=, 0
+ return $pop6
.LBB2_7: # %if.then
end_block # label2:
call abort@FUNCTION
@@ -114,7 +116,7 @@ main: # @main
.type buf,@object
.section .bss.buf,"aw",@nobits
.globl buf
- .align 4
+ .p2align 4
buf:
.skip 4096
.size buf, 4096
diff --git a/test/torture-s/pr58277-1.c.s b/test/torture-s/pr58277-1.c.s
new file mode 100644
index 000000000..b75d07a2e
--- /dev/null
+++ b/test/torture-s/pr58277-1.c.s
@@ -0,0 +1,460 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr58277-1.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store8 $push1=, u($pop0), $pop2
+ return $pop1
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.baz,"ax",@progbits
+ .hidden baz
+ .globl baz
+ .type baz,@function
+baz: # @baz
+# BB#0: # %entry
+ #APP
+ #NO_APP
+ return
+ .endfunc
+.Lfunc_end1:
+ .size baz, .Lfunc_end1-baz
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 32
+ i32.sub $10=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $10=, 0($8), $10
+ i32.const $push4=, 0
+ i32.const $push114=, 0
+ i32.const $push3=, 1
+ i32.store $push5=, a($pop114), $pop3
+ i32.store $0=, n($pop4), $pop5
+ i32.const $push113=, 0
+ i32.const $push112=, 0
+ i32.store8 $1=, u($pop113), $pop112
+ copy_local $4=, $0
+.LBB2_1: # %for.body
+ # =>This Loop Header: Depth=1
+ # Child Loop BB2_4 Depth 2
+ # Child Loop BB2_5 Depth 3
+ loop # label0:
+ block
+ block
+ i32.store $push6=, g($1), $1
+ tee_local $push115=, $2=, $pop6
+ i32.load $push7=, l($pop115)
+ i32.const $push157=, 0
+ i32.eq $push158=, $pop7, $pop157
+ br_if $pop158, 0 # 0: down to label3
+# BB#2: # %for.end
+ # in Loop: Header=BB2_1 Depth=1
+ i32.load $push8=, j($2)
+ i32.store $push9=, 0($pop8), $2
+ tee_local $push126=, $5=, $pop9
+ i32.store $push10=, d($pop126), $5
+ tee_local $push125=, $5=, $pop10
+ i32.load $push13=, i($pop125)
+ i32.load $push11=, j($5)
+ i32.load $push12=, 0($pop11)
+ i32.store $discard=, 0($pop13), $pop12
+ i32.load $push14=, i($5)
+ i32.store $push15=, 0($pop14), $5
+ tee_local $push124=, $5=, $pop15
+ i32.load $push16=, i($pop124)
+ i32.store $push17=, 0($pop16), $5
+ i32.load $push18=, i($pop17)
+ i32.store $discard=, 0($pop18), $10
+ br 1 # 1: down to label2
+.LBB2_3: # %for.cond.preheader.i
+ # in Loop: Header=BB2_1 Depth=1
+ end_block # label3:
+ block
+ i32.load $push19=, i($2)
+ i32.store $push20=, 0($pop19), $2
+ tee_local $push118=, $4=, $pop20
+ i32.load $push21=, e($pop118)
+ i32.store $push22=, 0($pop21), $4
+ tee_local $push117=, $4=, $pop22
+ i32.store $push23=, o($pop117), $4
+ tee_local $push116=, $3=, $pop23
+ i32.load $push24=, p($pop116)
+ br_if $pop24, 0 # 0: down to label4
+.LBB2_4: # %for.cond3.preheader.i
+ # Parent Loop BB2_1 Depth=1
+ # => This Loop Header: Depth=2
+ # Child Loop BB2_5 Depth 3
+ loop # label5:
+ block
+ i32.load $push0=, i($3)
+ tee_local $push121=, $6=, $pop0
+ i32.load $push1=, 0($pop121)
+ tee_local $push120=, $5=, $pop1
+ i32.store $push25=, 0($pop120), $3
+ tee_local $push119=, $4=, $pop25
+ i32.load $push26=, j($pop119)
+ i32.load $push27=, 0($pop26)
+ i32.load $push28=, 0($pop27)
+ br_if $pop28, 0 # 0: down to label7
+.LBB2_5: # %if.end110.i
+ # Parent Loop BB2_1 Depth=1
+ # Parent Loop BB2_4 Depth=2
+ # => This Inner Loop Header: Depth=3
+ loop # label8:
+ i32.load $push29=, k($4)
+ i32.add $push30=, $pop29, $0
+ i32.store $discard=, k($4), $pop30
+ i32.store $push31=, 0($5), $4
+ i32.load $push32=, j($pop31)
+ i32.load $push33=, 0($pop32)
+ i32.load $push34=, 0($pop33)
+ i32.const $push159=, 0
+ i32.eq $push160=, $pop34, $pop159
+ br_if $pop160, 0 # 0: up to label8
+.LBB2_6: # %for.end.i
+ # in Loop: Header=BB2_4 Depth=2
+ end_loop # label9:
+ end_block # label7:
+ i32.load $push35=, j($4)
+ i32.load $push36=, 0($pop35)
+ i32.store $discard=, 0($6), $pop36
+ i32.load $push39=, i($4)
+ i32.load $push37=, j($4)
+ i32.load $push38=, 0($pop37)
+ i32.store $discard=, 0($pop39), $pop38
+ i32.load $push42=, i($4)
+ i32.load $push40=, j($4)
+ i32.load $push41=, 0($pop40)
+ i32.store $discard=, 0($pop42), $pop41
+ i32.load $push45=, i($4)
+ i32.load $push43=, j($4)
+ i32.load $push44=, 0($pop43)
+ i32.store $discard=, 0($pop45), $pop44
+ i32.load $push48=, i($4)
+ i32.load $push46=, j($4)
+ i32.load $push47=, 0($pop46)
+ i32.store $discard=, 0($pop48), $pop47
+ i32.load $push51=, i($4)
+ i32.load $push49=, j($4)
+ i32.load $push50=, 0($pop49)
+ i32.store $discard=, 0($pop51), $pop50
+ i32.load $5=, i($4)
+ i32.load $push52=, h($4)
+ i32.add $push53=, $pop52, $0
+ i32.store $discard=, h($4), $pop53
+ i32.store $push54=, 0($5), $4
+ tee_local $push123=, $4=, $pop54
+ i32.load $push55=, e($pop123)
+ i32.store $push56=, 0($pop55), $4
+ tee_local $push122=, $4=, $pop56
+ i32.store $push57=, o($pop122), $4
+ i32.load $push58=, p($pop57)
+ i32.const $push161=, 0
+ i32.eq $push162=, $pop58, $pop161
+ br_if $pop162, 0 # 0: up to label5
+.LBB2_7: # %foo.exit.thread
+ # in Loop: Header=BB2_1 Depth=1
+ end_loop # label6:
+ end_block # label4:
+ i32.store $push59=, f($3), $3
+ i32.load $4=, n($pop59)
+.LBB2_8: # %for.inc7
+ # in Loop: Header=BB2_1 Depth=1
+ end_block # label2:
+ i32.const $push127=, -1
+ i32.add $push2=, $4, $pop127
+ i32.store $4=, n($2), $pop2
+ br_if $4, 0 # 0: up to label0
+# BB#9: # %for.end8
+ end_loop # label1:
+ block
+ i32.const $push60=, 0
+ i32.const $push130=, 0
+ i32.store8 $push61=, u($pop60), $pop130
+ tee_local $push129=, $3=, $pop61
+ i32.load $push111=, b($pop129)
+ tee_local $push128=, $5=, $pop111
+ i32.const $push163=, 0
+ i32.eq $push164=, $pop128, $pop163
+ br_if $pop164, 0 # 0: down to label10
+# BB#10: # %for.cond12.preheader.lr.ph
+ i32.load $0=, c($3)
+.LBB2_11: # %for.cond12.preheader
+ # =>This Loop Header: Depth=1
+ # Child Loop BB2_12 Depth 2
+ loop # label11:
+ i32.const $4=, 10
+.LBB2_12: # %for.body15
+ # Parent Loop BB2_11 Depth=1
+ # => This Inner Loop Header: Depth=2
+ loop # label13:
+ i32.const $push139=, 2
+ i32.shl $push62=, $0, $pop139
+ i32.load $push63=, a($pop62)
+ i32.const $push138=, 2
+ i32.shl $push64=, $pop63, $pop138
+ i32.load $push65=, a($pop64)
+ i32.const $push137=, 2
+ i32.shl $push66=, $pop65, $pop137
+ i32.load $push67=, a($pop66)
+ i32.const $push136=, 2
+ i32.shl $push68=, $pop67, $pop136
+ i32.load $push69=, a($pop68)
+ i32.const $push135=, 2
+ i32.shl $push70=, $pop69, $pop135
+ i32.load $push71=, a($pop70)
+ i32.const $push134=, 2
+ i32.shl $push72=, $pop71, $pop134
+ i32.load $push73=, a($pop72)
+ i32.const $push133=, 2
+ i32.shl $push74=, $pop73, $pop133
+ i32.load $push75=, a($pop74)
+ i32.const $push132=, 2
+ i32.shl $push76=, $pop75, $pop132
+ i32.load $0=, a($pop76)
+ i32.const $push131=, -1
+ i32.add $4=, $4, $pop131
+ br_if $4, 0 # 0: up to label13
+# BB#13: # %for.inc27
+ # in Loop: Header=BB2_11 Depth=1
+ end_loop # label14:
+ i32.const $push140=, 1
+ i32.add $5=, $5, $pop140
+ br_if $5, 0 # 0: up to label11
+# BB#14: # %for.cond9.for.end29_crit_edge
+ end_loop # label12:
+ i32.const $push77=, 0
+ i32.store $discard=, c($pop77), $0
+ i32.const $push142=, 0
+ i32.const $push141=, 0
+ i32.store $discard=, b($pop142), $pop141
+.LBB2_15: # %for.end29
+ end_block # label10:
+ call baz@FUNCTION
+ block
+ i32.load8_s $push78=, u($3)
+ i32.const $push79=, 2
+ i32.shl $push80=, $pop78, $pop79
+ i32.load $push81=, a($pop80)
+ i32.const $push156=, 2
+ i32.shl $push82=, $pop81, $pop156
+ i32.load $push83=, a($pop82)
+ i32.const $push155=, 2
+ i32.shl $push84=, $pop83, $pop155
+ i32.load $push85=, a($pop84)
+ i32.const $push154=, 2
+ i32.shl $push86=, $pop85, $pop154
+ i32.load $push87=, a($pop86)
+ i32.const $push153=, 2
+ i32.shl $push88=, $pop87, $pop153
+ i32.load $push89=, a($pop88)
+ i32.const $push152=, 2
+ i32.shl $push90=, $pop89, $pop152
+ i32.load $push91=, a($pop90)
+ i32.const $push151=, 2
+ i32.shl $push92=, $pop91, $pop151
+ i32.load $push93=, a($pop92)
+ i32.const $push150=, 2
+ i32.shl $push94=, $pop93, $pop150
+ i32.load $push95=, a($pop94)
+ i32.const $push149=, 2
+ i32.shl $push96=, $pop95, $pop149
+ i32.load $push97=, a($pop96)
+ i32.const $push148=, 2
+ i32.shl $push98=, $pop97, $pop148
+ i32.load $push99=, a($pop98)
+ i32.const $push147=, 2
+ i32.shl $push100=, $pop99, $pop147
+ i32.load $push101=, a($pop100)
+ i32.const $push146=, 2
+ i32.shl $push102=, $pop101, $pop146
+ i32.load $push103=, a($pop102)
+ i32.const $push145=, 2
+ i32.shl $push104=, $pop103, $pop145
+ i32.load $push105=, a($pop104)
+ i32.const $push144=, 2
+ i32.shl $push106=, $pop105, $pop144
+ i32.load $push107=, a($pop106)
+ i32.const $push143=, 2
+ i32.shl $push108=, $pop107, $pop143
+ i32.load $push109=, a($pop108)
+ i32.const $push165=, 0
+ i32.eq $push166=, $pop109, $pop165
+ br_if $pop166, 0 # 0: down to label15
+# BB#16: # %if.end47
+ i32.const $push110=, 0
+ i32.const $9=, 32
+ i32.add $10=, $10, $9
+ i32.const $9=, __stack_pointer
+ i32.store $10=, 0($9), $10
+ return $pop110
+.LBB2_17: # %if.then46
+ end_block # label15:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden e # @e
+ .type e,@object
+ .section .bss.e,"aw",@nobits
+ .globl e
+ .p2align 2
+e:
+ .int32 0
+ .size e, 4
+
+ .hidden i # @i
+ .type i,@object
+ .section .data.i,"aw",@progbits
+ .globl i
+ .p2align 2
+i:
+ .int32 e
+ .size i, 4
+
+ .hidden l # @l
+ .type l,@object
+ .section .data.l,"aw",@progbits
+ .globl l
+ .p2align 2
+l:
+ .int32 1 # 0x1
+ .size l, 4
+
+ .hidden u # @u
+ .type u,@object
+ .section .bss.u,"aw",@nobits
+ .globl u
+u:
+ .int8 0 # 0x0
+ .size u, 1
+
+ .hidden m # @m
+ .type m,@object
+ .section .rodata.m,"a",@progbits
+ .globl m
+ .p2align 2
+m:
+ .int32 0 # 0x0
+ .size m, 4
+
+ .type a,@object # @a
+ .lcomm a,8,2
+ .hidden d # @d
+ .type d,@object
+ .section .bss.d,"aw",@nobits
+ .globl d
+ .p2align 2
+d:
+ .int32 0 # 0x0
+ .size d, 4
+
+ .hidden n # @n
+ .type n,@object
+ .section .bss.n,"aw",@nobits
+ .globl n
+ .p2align 2
+n:
+ .int32 0 # 0x0
+ .size n, 4
+
+ .type j,@object # @j
+ .section .data.j,"aw",@progbits
+ .p2align 2
+j:
+ .int32 e
+ .size j, 4
+
+ .hidden b # @b
+ .type b,@object
+ .section .bss.b,"aw",@nobits
+ .globl b
+ .p2align 2
+b:
+ .int32 0 # 0x0
+ .size b, 4
+
+ .hidden c # @c
+ .type c,@object
+ .section .bss.c,"aw",@nobits
+ .globl c
+ .p2align 2
+c:
+ .int32 0 # 0x0
+ .size c, 4
+
+ .hidden f # @f
+ .type f,@object
+ .section .bss.f,"aw",@nobits
+ .globl f
+ .p2align 2
+f:
+ .int32 0 # 0x0
+ .size f, 4
+
+ .hidden g # @g
+ .type g,@object
+ .section .bss.g,"aw",@nobits
+ .globl g
+ .p2align 2
+g:
+ .int32 0 # 0x0
+ .size g, 4
+
+ .hidden h # @h
+ .type h,@object
+ .section .bss.h,"aw",@nobits
+ .globl h
+ .p2align 2
+h:
+ .int32 0 # 0x0
+ .size h, 4
+
+ .hidden k # @k
+ .type k,@object
+ .section .bss.k,"aw",@nobits
+ .globl k
+ .p2align 2
+k:
+ .int32 0 # 0x0
+ .size k, 4
+
+ .hidden o # @o
+ .type o,@object
+ .section .bss.o,"aw",@nobits
+ .globl o
+ .p2align 2
+o:
+ .int32 0 # 0x0
+ .size o, 4
+
+ .hidden p # @p
+ .type p,@object
+ .section .bss.p,"aw",@nobits
+ .globl p
+ .p2align 2
+p:
+ .int32 0 # 0x0
+ .size p, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr58277-2.c.s b/test/torture-s/pr58277-2.c.s
index 43f615ec5..204c0782f 100644
--- a/test/torture-s/pr58277-2.c.s
+++ b/test/torture-s/pr58277-2.c.s
@@ -8,29 +8,34 @@ main: # @main
.result i32
.local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.store8 $discard=, n($0), $0
block
block
- i32.load $push0=, g($0)
- i32.const $push6=, 0
- i32.eq $push7=, $pop0, $pop6
- br_if $pop7, 0 # 0: down to label1
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.store8 $push1=, n($pop0), $pop11
+ tee_local $push10=, $0=, $pop1
+ i32.load $push2=, g($pop10)
+ i32.const $push14=, 0
+ i32.eq $push15=, $pop2, $pop14
+ br_if $pop15, 0 # 0: down to label1
# BB#1: # %fn2.exit.thread.i
i32.load $discard=, d($0)
br 1 # 1: down to label0
.LBB0_2: # %if.end.loopexit.i
end_block # label1:
- i32.load $push1=, h($0)
- i32.store $push2=, 0($pop1), $0
- i32.const $push3=, 1
- i32.store8 $discard=, n($pop2), $pop3
+ i32.load $push3=, h($0)
+ i32.store $push4=, 0($pop3), $0
+ i32.const $push5=, 1
+ i32.store8 $discard=, n($pop4), $pop5
.LBB0_3: # %if.end
end_block # label0:
- i32.load $push4=, s($0)
- i32.store $discard=, 0($pop4), $0
- i32.store8 $push5=, n($0), $0
- return $pop5
+ i32.const $push6=, 0
+ i32.load $push7=, s($pop6)
+ i32.const $push13=, 0
+ i32.store $push8=, 0($pop7), $pop13
+ tee_local $push12=, $0=, $pop8
+ i32.store8 $push9=, n($pop12), $0
+ return $pop9
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -47,7 +52,7 @@ n:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -56,7 +61,7 @@ d:
.type r,@object
.section .bss.r,"aw",@nobits
.globl r
- .align 2
+ .p2align 2
r:
.int32 0
.size r, 4
@@ -65,7 +70,7 @@ r:
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 2
+ .p2align 2
f:
.int32 0 # 0x0
.size f, 4
@@ -74,7 +79,7 @@ f:
.type g,@object
.section .bss.g,"aw",@nobits
.globl g
- .align 2
+ .p2align 2
g:
.int32 0 # 0x0
.size g, 4
@@ -83,7 +88,7 @@ g:
.type o,@object
.section .bss.o,"aw",@nobits
.globl o
- .align 2
+ .p2align 2
o:
.int32 0 # 0x0
.size o, 4
@@ -92,21 +97,21 @@ o:
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
- .align 2
+ .p2align 2
x:
.int32 0 # 0x0
.size x, 4
.type h,@object # @h
.section .data.h,"aw",@progbits
- .align 2
+ .p2align 2
h:
.int32 f
.size h, 4
.type s,@object # @s
.section .data.s,"aw",@progbits
- .align 2
+ .p2align 2
s:
.int32 r
.size s, 4
diff --git a/test/torture-s/pr58364.c.s b/test/torture-s/pr58364.c.s
index 922189d52..8f8b1f6e2 100644
--- a/test/torture-s/pr58364.c.s
+++ b/test/torture-s/pr58364.c.s
@@ -25,15 +25,18 @@ main: # @main
.result i32
.local i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, a($0)
- i32.load $2=, c($0)
- i32.store $discard=, b($0), $0
+ i32.const $push0=, 0
+ i32.load $0=, a($pop0)
+ i32.const $push4=, 0
+ i32.load $1=, c($pop4)
+ i32.const $push3=, 0
+ i32.const $push2=, 0
+ i32.store $2=, b($pop3), $pop2
block
- i32.le_s $push0=, $1, $2
- br_if $pop0, 0 # 0: down to label0
+ i32.le_s $push1=, $0, $1
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ return $2
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -46,7 +49,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
@@ -55,7 +58,7 @@ a:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -64,7 +67,7 @@ c:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/pr58365.c.s b/test/torture-s/pr58365.c.s
index 29cfd576e..e579dd105 100644
--- a/test/torture-s/pr58365.c.s
+++ b/test/torture-s/pr58365.c.s
@@ -8,7 +8,7 @@ foo: # @foo
.result i32
# BB#0: # %entry
i32.const $push0=, 0
- i32.load8_s $push1=, i($pop0)
+ i32.load8_s $push1=, i($pop0):p2align=2
return $pop1
.endfunc
.Lfunc_end0:
@@ -20,102 +20,102 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $5=, __stack_pointer
- i32.load $5=, 0($5)
- i32.const $6=, 32
- i32.sub $16=, $5, $6
- i32.const $6=, __stack_pointer
- i32.store $16=, 0($6), $16
- i32.const $0=, 0
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 32
+ i32.sub $13=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $13=, 0($3), $13
block
block
- i32.load8_u $push0=, i($0)
- i32.const $push36=, 0
- i32.eq $push37=, $pop0, $pop36
- br_if $pop37, 0 # 0: down to label1
+ i32.const $push27=, 0
+ i32.load8_u $push0=, i($pop27):p2align=2
+ i32.const $push40=, 0
+ i32.eq $push41=, $pop0, $pop40
+ br_if $pop41, 0 # 0: down to label1
# BB#1: # %if.then.i
i32.const $push2=, 16
- i32.const $14=, 8
- i32.add $14=, $16, $14
- i32.add $push3=, $14, $pop2
- i32.load $push1=, f+16($0)
- i32.store $discard=, 0($pop3), $pop1
- i32.const $4=, 4
- i32.const $push12=, f
- i32.add $push13=, $pop12, $4
- i64.load32_u $2=, 0($pop13)
- i64.const $1=, 32
- i64.load32_u $3=, f($0)
- i32.const $push10=, 8
- i32.const $15=, 8
- i32.add $15=, $16, $15
- i32.add $push11=, $15, $pop10
- i32.const $push4=, f+8
- i32.add $push5=, $pop4, $4
- i64.load32_u $push6=, 0($pop5)
- i64.shl $push7=, $pop6, $1
- i64.load32_u $push8=, f+8($0)
- i64.or $push9=, $pop7, $pop8
- i64.store $discard=, 0($pop11), $pop9
- i64.shl $push14=, $2, $1
- i64.or $push15=, $pop14, $3
- i64.store $discard=, 8($16), $pop15
+ i32.const $11=, 8
+ i32.add $11=, $13, $11
+ i32.add $push3=, $11, $pop2
+ i32.const $push30=, 0
+ i32.load $push1=, f+16($pop30)
+ i32.store $discard=, 0($pop3):p2align=3, $pop1
+ i32.const $push29=, 0
+ i64.load $0=, f($pop29):p2align=2
+ i32.const $push5=, 8
+ i32.const $12=, 8
+ i32.add $12=, $13, $12
+ i32.add $push6=, $12, $pop5
+ i32.const $push28=, 0
+ i64.load $push4=, f+8($pop28):p2align=2
+ i64.store $discard=, 0($pop6), $pop4
+ i64.store $discard=, 8($13), $0
br 1 # 1: down to label0
.LBB1_2: # %if.end.i
end_block # label1:
- i32.const $push16=, 16
- i32.const $8=, 8
- i32.add $8=, $16, $8
- i32.add $push17=, $8, $pop16
- i32.store $discard=, 0($pop17), $0
- i32.const $push18=, 8
- i32.const $9=, 8
- i32.add $9=, $16, $9
- i32.add $push19=, $9, $pop18
- i64.const $push20=, 0
- i64.store $push21=, 0($pop19), $pop20
- i64.store $discard=, 8($16), $pop21
+ i32.const $push7=, 16
+ i32.const $5=, 8
+ i32.add $5=, $13, $5
+ i32.add $push8=, $5, $pop7
+ i32.const $push31=, 0
+ i32.store $discard=, 0($pop8):p2align=3, $pop31
+ i32.const $push9=, 8
+ i32.const $6=, 8
+ i32.add $6=, $13, $6
+ i32.add $push10=, $6, $pop9
+ i64.const $push11=, 0
+ i64.store $push12=, 0($pop10), $pop11
+ i64.store $discard=, 8($13), $pop12
.LBB1_3: # %bar.exit
end_block # label0:
- i32.load $push22=, 8($16)
- i32.store $discard=, h($0), $pop22
- i32.const $push23=, 16
+ i32.const $push38=, 0
+ i32.load $push13=, 8($13):p2align=3
+ i32.store $discard=, h($pop38), $pop13
+ i32.const $push37=, 0
+ i32.const $push14=, 16
+ i32.const $7=, 8
+ i32.add $7=, $13, $7
+ i32.add $push15=, $7, $pop14
+ i32.load $push16=, 0($pop15):p2align=3
+ i32.store $discard=, h+16($pop37), $pop16
+ i32.const $push36=, 0
+ i32.const $push17=, 12
+ i32.const $8=, 8
+ i32.add $8=, $13, $8
+ i32.add $push18=, $8, $pop17
+ i32.load $push19=, 0($pop18)
+ i32.store $discard=, h+12($pop36), $pop19
+ i32.const $push35=, 0
+ i32.const $push20=, 8
+ i32.const $9=, 8
+ i32.add $9=, $13, $9
+ i32.add $push21=, $9, $pop20
+ i32.load $push22=, 0($pop21):p2align=3
+ i32.store $discard=, h+8($pop35), $pop22
+ i32.const $push34=, 0
+ i32.const $push23=, 4
i32.const $10=, 8
- i32.add $10=, $16, $10
- i32.add $push24=, $10, $pop23
+ i32.add $10=, $13, $10
+ i32.or $push24=, $10, $pop23
i32.load $push25=, 0($pop24)
- i32.store $discard=, h+16($0), $pop25
- i32.const $push26=, 12
- i32.const $11=, 8
- i32.add $11=, $16, $11
- i32.add $push27=, $11, $pop26
- i32.load $push28=, 0($pop27)
- i32.store $discard=, h+12($0), $pop28
- i32.const $push29=, 8
- i32.const $12=, 8
- i32.add $12=, $16, $12
- i32.add $push30=, $12, $pop29
- i32.load $push31=, 0($pop30)
- i32.store $discard=, h+8($0), $pop31
- i32.const $push32=, 4
- i32.const $13=, 8
- i32.add $13=, $16, $13
- i32.or $push33=, $13, $pop32
- i32.load $push34=, 0($pop33)
- i32.store $discard=, h+4($0), $pop34
- i32.load $4=, h+4($0)
+ i32.store $discard=, h+4($pop34), $pop25
+ i32.const $push33=, 0
+ i32.load $1=, h+4($pop33)
+ i32.const $push32=, 0
+ i32.const $push26=, 1
+ i32.store $discard=, f+4($pop32), $pop26
block
- i32.const $push35=, 1
- i32.store $discard=, f+4($0), $pop35
- br_if $4, 0 # 0: down to label2
+ br_if $1, 0 # 0: down to label2
# BB#4: # %if.end
- i32.const $7=, 32
- i32.add $16=, $16, $7
- i32.const $7=, __stack_pointer
- i32.store $16=, 0($7), $16
- return $0
+ i32.const $push39=, 0
+ i32.const $4=, 32
+ i32.add $13=, $13, $4
+ i32.const $4=, __stack_pointer
+ i32.store $13=, 0($4), $13
+ return $pop39
.LBB1_5: # %if.then
end_block # label2:
call abort@FUNCTION
@@ -128,7 +128,7 @@ main: # @main
.type i,@object
.section .data.i,"aw",@progbits
.globl i
- .align 2
+ .p2align 2
i:
.int32 1 # 0x1
.size i, 4
@@ -139,17 +139,10 @@ i:
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 2
+ .p2align 2
f:
.skip 20
.size f, 20
- .type g,@object # @g
- .section .rodata.g,"a",@progbits
- .align 2
-g:
- .skip 20
- .size g, 20
-
.ident "clang version 3.9.0 "
diff --git a/test/torture-s/pr58385.c.s b/test/torture-s/pr58385.c.s
index aff7fa14e..8a3382ec5 100644
--- a/test/torture-s/pr58385.c.s
+++ b/test/torture-s/pr58385.c.s
@@ -6,11 +6,11 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.store $push0=, b($0), $0
- return $pop0
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store $push1=, b($pop0), $pop2
+ return $pop1
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -21,11 +21,11 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.store $push0=, b($0), $0
- return $pop0
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store $push1=, b($pop0), $pop2
+ return $pop1
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -34,7 +34,7 @@ main: # @main
.type b,@object
.section .data.b,"aw",@progbits
.globl b
- .align 2
+ .p2align 2
b:
.int32 1 # 0x1
.size b, 4
@@ -43,7 +43,7 @@ b:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
diff --git a/test/torture-s/pr58387.c.s b/test/torture-s/pr58387.c.s
index 54c2bae78..1fe0cd44a 100644
--- a/test/torture-s/pr58387.c.s
+++ b/test/torture-s/pr58387.c.s
@@ -6,15 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, a($0)
- i32.ge_s $push1=, $pop0, $0
+ i32.const $push3=, 0
+ i32.load $push0=, a($pop3)
+ i32.const $push2=, 0
+ i32.ge_s $push1=, $pop0, $pop2
br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -27,7 +28,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 4294967295 # 0xffffffff
.size a, 4
diff --git a/test/torture-s/pr58419.c.s b/test/torture-s/pr58419.c.s
index a6a728f9f..6c0a28d23 100644
--- a/test/torture-s/pr58419.c.s
+++ b/test/torture-s/pr58419.c.s
@@ -7,13 +7,13 @@
foo: # @foo
.param i32, i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 24
i32.sub $push0=, $0, $1
- i32.shl $push1=, $pop0, $2
- i32.shr_s $push2=, $pop1, $2
- return $pop2
+ i32.const $push1=, 24
+ i32.shl $push2=, $pop0, $pop1
+ i32.const $push4=, 24
+ i32.shr_s $push3=, $pop2, $pop4
+ return $pop3
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -24,14 +24,16 @@ foo: # @foo
.type bar,@function
bar: # @bar
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, p($0)
+ i32.const $push1=, 0
+ i32.load $0=, p($pop1)
+ i32.const $push4=, 0
i32.const $push0=, 1
- i32.store16 $discard=, c($0), $pop0
- i32.store $push1=, 0($1), $0
- return $pop1
+ i32.store16 $discard=, c($pop4), $pop0
+ i32.const $push3=, 0
+ i32.store $push2=, 0($0), $pop3
+ return $pop2
.endfunc
.Lfunc_end1:
.size bar, .Lfunc_end1-bar
@@ -42,181 +44,260 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $0=, p($1)
- i32.load16_u $5=, c($1)
- i32.const $push0=, 234
- i32.store8 $discard=, b($1), $pop0
- i32.const $2=, 65535
- i32.const $6=, 1
- i32.const $3=, 255
- copy_local $4=, $6
+ i32.const $push88=, 0
+ i32.load $0=, p($pop88)
+ i32.const $push87=, 0
+ i32.load16_u $2=, c($pop87)
+ i32.const $push86=, 0
+ i32.const $push1=, 234
+ i32.store8 $discard=, b($pop86), $pop1
+ i32.const $3=, 1
+ i32.const $1=, 1
block
- i32.load $push1=, k($1)
- i32.ne $push4=, $pop1, $1
- i32.and $push2=, $5, $2
- i32.ne $push3=, $pop2, $1
- i32.and $push5=, $pop4, $pop3
- i32.load $push6=, i($1)
- i32.lt_s $push7=, $pop6, $6
- i32.sub $push8=, $pop5, $pop7
- i32.and $push9=, $pop8, $3
- br_if $pop9, 0 # 0: down to label0
+ i32.const $push95=, 0
+ i32.load $push2=, k($pop95)
+ i32.const $push94=, 0
+ i32.ne $push5=, $pop2, $pop94
+ i32.const $push93=, 65535
+ i32.and $push3=, $2, $pop93
+ i32.const $push92=, 0
+ i32.ne $push4=, $pop3, $pop92
+ i32.and $push6=, $pop5, $pop4
+ i32.const $push91=, 0
+ i32.load $push7=, i($pop91)
+ i32.const $push90=, 1
+ i32.lt_s $push8=, $pop7, $pop90
+ i32.sub $push9=, $pop6, $pop8
+ i32.const $push89=, 255
+ i32.and $push10=, $pop9, $pop89
+ br_if $pop10, 0 # 0: down to label0
# BB#1: # %lor.rhs
- i32.const $4=, 0
- i32.const $push10=, 1
- i32.store16 $5=, c($4), $pop10
- i32.store $discard=, 0($0), $4
+ i32.const $push12=, 0
+ i32.const $push11=, 1
+ i32.store16 $2=, c($pop12), $pop11
+ i32.const $push96=, 0
+ i32.store $1=, 0($0), $pop96
.LBB2_2: # %lor.end
end_block # label0:
- i32.store $discard=, g($1), $4
- copy_local $4=, $6
+ i32.const $push104=, 0
+ i32.store $discard=, g($pop104), $1
block
- i32.load $push11=, k($1)
- i32.ne $push14=, $pop11, $1
- i32.and $push12=, $5, $2
- i32.ne $push13=, $pop12, $1
- i32.and $push15=, $pop14, $pop13
- i32.load $push16=, i($1)
- i32.lt_s $push17=, $pop16, $6
- i32.sub $push18=, $pop15, $pop17
- i32.and $push19=, $pop18, $3
- br_if $pop19, 0 # 0: down to label1
+ i32.const $push103=, 0
+ i32.load $push13=, k($pop103)
+ i32.const $push102=, 0
+ i32.ne $push16=, $pop13, $pop102
+ i32.const $push101=, 65535
+ i32.and $push14=, $2, $pop101
+ i32.const $push100=, 0
+ i32.ne $push15=, $pop14, $pop100
+ i32.and $push17=, $pop16, $pop15
+ i32.const $push99=, 0
+ i32.load $push18=, i($pop99)
+ i32.const $push98=, 1
+ i32.lt_s $push19=, $pop18, $pop98
+ i32.sub $push20=, $pop17, $pop19
+ i32.const $push97=, 255
+ i32.and $push21=, $pop20, $pop97
+ br_if $pop21, 0 # 0: down to label1
# BB#3: # %lor.rhs.1
- i32.const $4=, 0
- i32.const $push20=, 1
- i32.store16 $5=, c($4), $pop20
- i32.store $discard=, 0($0), $4
+ i32.const $push106=, 0
+ i32.const $push22=, 1
+ i32.store16 $2=, c($pop106), $pop22
+ i32.const $push105=, 0
+ i32.store $3=, 0($0), $pop105
.LBB2_4: # %lor.end.1
end_block # label1:
- i32.store $discard=, g($1), $4
- copy_local $4=, $6
+ i32.const $push114=, 0
+ i32.store $discard=, g($pop114), $3
+ i32.const $3=, 1
+ i32.const $1=, 1
block
- i32.load $push21=, k($1)
- i32.ne $push24=, $pop21, $1
- i32.and $push22=, $5, $2
- i32.ne $push23=, $pop22, $1
- i32.and $push25=, $pop24, $pop23
- i32.load $push26=, i($1)
- i32.lt_s $push27=, $pop26, $6
- i32.sub $push28=, $pop25, $pop27
- i32.and $push29=, $pop28, $3
- br_if $pop29, 0 # 0: down to label2
+ i32.const $push113=, 0
+ i32.load $push23=, k($pop113)
+ i32.const $push112=, 0
+ i32.ne $push26=, $pop23, $pop112
+ i32.const $push111=, 65535
+ i32.and $push24=, $2, $pop111
+ i32.const $push110=, 0
+ i32.ne $push25=, $pop24, $pop110
+ i32.and $push27=, $pop26, $pop25
+ i32.const $push109=, 0
+ i32.load $push28=, i($pop109)
+ i32.const $push108=, 1
+ i32.lt_s $push29=, $pop28, $pop108
+ i32.sub $push30=, $pop27, $pop29
+ i32.const $push107=, 255
+ i32.and $push31=, $pop30, $pop107
+ br_if $pop31, 0 # 0: down to label2
# BB#5: # %lor.rhs.2
- i32.const $4=, 0
- i32.const $push30=, 1
- i32.store16 $5=, c($4), $pop30
- i32.store $discard=, 0($0), $4
+ i32.const $push33=, 0
+ i32.const $push32=, 1
+ i32.store16 $2=, c($pop33), $pop32
+ i32.const $push115=, 0
+ i32.store $1=, 0($0), $pop115
.LBB2_6: # %lor.end.2
end_block # label2:
- i32.store $discard=, g($1), $4
- copy_local $4=, $6
+ i32.const $push123=, 0
+ i32.store $discard=, g($pop123), $1
block
- i32.load $push31=, k($1)
- i32.ne $push34=, $pop31, $1
- i32.and $push32=, $5, $2
- i32.ne $push33=, $pop32, $1
- i32.and $push35=, $pop34, $pop33
- i32.load $push36=, i($1)
- i32.lt_s $push37=, $pop36, $6
- i32.sub $push38=, $pop35, $pop37
- i32.and $push39=, $pop38, $3
- br_if $pop39, 0 # 0: down to label3
+ i32.const $push122=, 0
+ i32.load $push34=, k($pop122)
+ i32.const $push121=, 0
+ i32.ne $push37=, $pop34, $pop121
+ i32.const $push120=, 65535
+ i32.and $push35=, $2, $pop120
+ i32.const $push119=, 0
+ i32.ne $push36=, $pop35, $pop119
+ i32.and $push38=, $pop37, $pop36
+ i32.const $push118=, 0
+ i32.load $push39=, i($pop118)
+ i32.const $push117=, 1
+ i32.lt_s $push40=, $pop39, $pop117
+ i32.sub $push41=, $pop38, $pop40
+ i32.const $push116=, 255
+ i32.and $push42=, $pop41, $pop116
+ br_if $pop42, 0 # 0: down to label3
# BB#7: # %lor.rhs.3
- i32.const $4=, 0
- i32.const $push40=, 1
- i32.store16 $5=, c($4), $pop40
- i32.store $discard=, 0($0), $4
+ i32.const $push125=, 0
+ i32.const $push43=, 1
+ i32.store16 $2=, c($pop125), $pop43
+ i32.const $push124=, 0
+ i32.store $3=, 0($0), $pop124
.LBB2_8: # %lor.end.3
end_block # label3:
- i32.store $discard=, g($1), $4
- copy_local $4=, $6
+ i32.const $push133=, 0
+ i32.store $discard=, g($pop133), $3
+ i32.const $3=, 1
+ i32.const $1=, 1
block
- i32.load $push41=, k($1)
- i32.ne $push44=, $pop41, $1
- i32.and $push42=, $5, $2
- i32.ne $push43=, $pop42, $1
- i32.and $push45=, $pop44, $pop43
- i32.load $push46=, i($1)
- i32.lt_s $push47=, $pop46, $6
- i32.sub $push48=, $pop45, $pop47
- i32.and $push49=, $pop48, $3
- br_if $pop49, 0 # 0: down to label4
+ i32.const $push132=, 0
+ i32.load $push44=, k($pop132)
+ i32.const $push131=, 0
+ i32.ne $push47=, $pop44, $pop131
+ i32.const $push130=, 65535
+ i32.and $push45=, $2, $pop130
+ i32.const $push129=, 0
+ i32.ne $push46=, $pop45, $pop129
+ i32.and $push48=, $pop47, $pop46
+ i32.const $push128=, 0
+ i32.load $push49=, i($pop128)
+ i32.const $push127=, 1
+ i32.lt_s $push50=, $pop49, $pop127
+ i32.sub $push51=, $pop48, $pop50
+ i32.const $push126=, 255
+ i32.and $push52=, $pop51, $pop126
+ br_if $pop52, 0 # 0: down to label4
# BB#9: # %lor.rhs.4
- i32.const $4=, 0
- i32.const $push50=, 1
- i32.store16 $5=, c($4), $pop50
- i32.store $discard=, 0($0), $4
+ i32.const $push54=, 0
+ i32.const $push53=, 1
+ i32.store16 $2=, c($pop54), $pop53
+ i32.const $push134=, 0
+ i32.store $1=, 0($0), $pop134
.LBB2_10: # %lor.end.4
end_block # label4:
- i32.store $discard=, g($1), $4
- copy_local $4=, $6
+ i32.const $push142=, 0
+ i32.store $discard=, g($pop142), $1
block
- i32.load $push51=, k($1)
- i32.ne $push54=, $pop51, $1
- i32.and $push52=, $5, $2
- i32.ne $push53=, $pop52, $1
- i32.and $push55=, $pop54, $pop53
- i32.load $push56=, i($1)
- i32.lt_s $push57=, $pop56, $6
- i32.sub $push58=, $pop55, $pop57
- i32.and $push59=, $pop58, $3
- br_if $pop59, 0 # 0: down to label5
+ i32.const $push141=, 0
+ i32.load $push55=, k($pop141)
+ i32.const $push140=, 0
+ i32.ne $push58=, $pop55, $pop140
+ i32.const $push139=, 65535
+ i32.and $push56=, $2, $pop139
+ i32.const $push138=, 0
+ i32.ne $push57=, $pop56, $pop138
+ i32.and $push59=, $pop58, $pop57
+ i32.const $push137=, 0
+ i32.load $push60=, i($pop137)
+ i32.const $push136=, 1
+ i32.lt_s $push61=, $pop60, $pop136
+ i32.sub $push62=, $pop59, $pop61
+ i32.const $push135=, 255
+ i32.and $push63=, $pop62, $pop135
+ br_if $pop63, 0 # 0: down to label5
# BB#11: # %lor.rhs.5
- i32.const $4=, 0
- i32.const $push60=, 1
- i32.store16 $5=, c($4), $pop60
- i32.store $discard=, 0($0), $4
+ i32.const $push144=, 0
+ i32.const $push64=, 1
+ i32.store16 $2=, c($pop144), $pop64
+ i32.const $push143=, 0
+ i32.store $3=, 0($0), $pop143
.LBB2_12: # %lor.end.5
end_block # label5:
- i32.store $discard=, g($1), $4
- copy_local $4=, $6
+ i32.const $push152=, 0
+ i32.store $discard=, g($pop152), $3
+ i32.const $3=, 1
+ i32.const $1=, 1
block
- i32.load $push61=, k($1)
- i32.ne $push64=, $pop61, $1
- i32.and $push62=, $5, $2
- i32.ne $push63=, $pop62, $1
- i32.and $push65=, $pop64, $pop63
- i32.load $push66=, i($1)
- i32.lt_s $push67=, $pop66, $6
- i32.sub $push68=, $pop65, $pop67
- i32.and $push69=, $pop68, $3
- br_if $pop69, 0 # 0: down to label6
+ i32.const $push151=, 0
+ i32.load $push65=, k($pop151)
+ i32.const $push150=, 0
+ i32.ne $push68=, $pop65, $pop150
+ i32.const $push149=, 65535
+ i32.and $push66=, $2, $pop149
+ i32.const $push148=, 0
+ i32.ne $push67=, $pop66, $pop148
+ i32.and $push69=, $pop68, $pop67
+ i32.const $push147=, 0
+ i32.load $push70=, i($pop147)
+ i32.const $push146=, 1
+ i32.lt_s $push71=, $pop70, $pop146
+ i32.sub $push72=, $pop69, $pop71
+ i32.const $push145=, 255
+ i32.and $push73=, $pop72, $pop145
+ br_if $pop73, 0 # 0: down to label6
# BB#13: # %lor.rhs.6
- i32.const $4=, 0
- i32.const $push70=, 1
- i32.store16 $5=, c($4), $pop70
- i32.store $discard=, 0($0), $4
+ i32.const $push75=, 0
+ i32.const $push74=, 1
+ i32.store16 $2=, c($pop75), $pop74
+ i32.const $push153=, 0
+ i32.store $1=, 0($0), $pop153
.LBB2_14: # %lor.end.6
end_block # label6:
- i32.store $discard=, g($1), $4
- i32.load $push71=, k($1)
- i32.ne $push74=, $pop71, $1
- i32.and $push72=, $5, $2
- i32.ne $push73=, $pop72, $1
- i32.and $5=, $pop74, $pop73
- i32.load $2=, a($1)
+ i32.const $push163=, 0
+ i32.store $discard=, g($pop163), $1
+ i32.const $push162=, 0
+ i32.load $1=, a($pop162)
block
- i32.load $push75=, i($1)
- i32.lt_s $push76=, $pop75, $6
- i32.sub $push77=, $5, $pop76
- i32.and $push78=, $pop77, $3
- br_if $pop78, 0 # 0: down to label7
+ i32.const $push161=, 0
+ i32.load $push76=, k($pop161)
+ i32.const $push160=, 0
+ i32.ne $push79=, $pop76, $pop160
+ i32.const $push159=, 65535
+ i32.and $push77=, $2, $pop159
+ i32.const $push158=, 0
+ i32.ne $push78=, $pop77, $pop158
+ i32.and $push0=, $pop79, $pop78
+ tee_local $push157=, $2=, $pop0
+ i32.const $push156=, 0
+ i32.load $push80=, i($pop156)
+ i32.const $push155=, 1
+ i32.lt_s $push81=, $pop80, $pop155
+ i32.sub $push82=, $pop157, $pop81
+ i32.const $push154=, 255
+ i32.and $push83=, $pop82, $pop154
+ br_if $pop83, 0 # 0: down to label7
# BB#15: # %lor.rhs.7
- i32.const $push79=, 1
- i32.store16 $discard=, c($1), $pop79
- i32.store $6=, 0($0), $1
+ i32.const $push165=, 0
+ i32.const $push84=, 1
+ i32.store16 $discard=, c($pop165), $pop84
+ i32.const $push164=, 0
+ i32.store $3=, 0($0), $pop164
.LBB2_16: # %lor.end.7
end_block # label7:
- i32.store $discard=, g($1), $6
- i32.store16 $discard=, h($1), $2
- i32.store8 $discard=, e($1), $5
- i32.const $push80=, 226
- i32.store8 $discard=, b($1), $pop80
+ i32.const $push170=, 0
+ i32.store $discard=, g($pop170), $3
+ i32.const $push169=, 0
+ i32.store16 $discard=, h($pop169), $1
+ i32.const $push168=, 0
+ i32.store8 $discard=, e($pop168), $2
+ i32.const $push167=, 0
+ i32.const $push85=, 226
+ i32.store8 $discard=, b($pop167), $pop85
i32.call $discard=, getpid@FUNCTION
- return $1
+ i32.const $push166=, 0
+ return $pop166
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -225,7 +306,7 @@ main: # @main
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 1
+ .p2align 1
c:
.int16 0 # 0x0
.size c, 2
@@ -234,7 +315,7 @@ c:
.type p,@object
.section .bss.p,"aw",@nobits
.globl p
- .align 2
+ .p2align 2
p:
.int32 0
.size p, 4
@@ -251,7 +332,7 @@ b:
.type h,@object
.section .bss.h,"aw",@nobits
.globl h
- .align 1
+ .p2align 1
h:
.int16 0 # 0x0
.size h, 2
@@ -268,7 +349,7 @@ e:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -277,7 +358,7 @@ a:
.type k,@object
.section .bss.k,"aw",@nobits
.globl k
- .align 2
+ .p2align 2
k:
.int32 0 # 0x0
.size k, 4
@@ -286,7 +367,7 @@ k:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -295,7 +376,7 @@ i:
.type g,@object
.section .bss.g,"aw",@nobits
.globl g
- .align 2
+ .p2align 2
g:
.int32 0 # 0x0
.size g, 4
diff --git a/test/torture-s/pr58431.c.s b/test/torture-s/pr58431.c.s
index 56c4048b6..6b8d97451 100644
--- a/test/torture-s/pr58431.c.s
+++ b/test/torture-s/pr58431.c.s
@@ -6,67 +6,88 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %for.body
- i32.const $3=, 0
- i32.const $5=, 1
- i32.load16_u $push0=, i($3)
- i32.xor $push1=, $pop0, $5
- i32.store16 $2=, i($3), $pop1
- i32.store $discard=, b($3), $3
- i32.load $0=, k($3)
- i32.load8_s $1=, a($3)
- i32.const $4=, 24
+ i32.const $3=, 1
+ i32.const $push0=, 0
+ i32.const $push19=, 0
+ i32.load16_u $push1=, i($pop19)
+ i32.const $push18=, 1
+ i32.xor $push2=, $pop1, $pop18
+ i32.store16 $2=, i($pop0), $pop2
+ i32.const $push17=, 0
+ i32.const $push16=, 0
+ i32.store $push3=, b($pop17), $pop16
+ tee_local $push15=, $4=, $pop3
+ i32.load $0=, k($pop15)
+ i32.load8_s $1=, a($4)
+ i32.const $push4=, 24
+ i32.shl $push5=, $2, $pop4
+ i32.const $push14=, 24
+ i32.shr_s $2=, $pop5, $pop14
block
- i32.shl $push2=, $2, $4
- i32.shr_s $4=, $pop2, $4
- i32.load $push3=, j($3)
- br_if $pop3, 0 # 0: down to label0
+ i32.load $push6=, j($4)
+ br_if $pop6, 0 # 0: down to label0
# BB#1: # %lor.rhs
- i32.load $push4=, c($3)
- i32.ne $5=, $pop4, $3
+ i32.load $push7=, c($4)
+ i32.ne $3=, $pop7, $4
.LBB0_2: # %lor.end
end_block # label0:
block
block
block
- i32.ne $push5=, $1, $4
- br_if $pop5, 0 # 0: down to label3
+ i32.ne $push8=, $1, $2
+ br_if $pop8, 0 # 0: down to label3
# BB#3: # %if.else
- i32.load $4=, e($3)
+ i32.const $push24=, 0
+ i32.load $4=, e($pop24)
+ i32.const $push23=, 0
+ i32.const $push12=, 1
+ i32.store8 $2=, h($pop23), $pop12
block
- i32.const $push9=, 1
- i32.store8 $2=, h($3), $pop9
- i32.const $push11=, 0
- i32.eq $push12=, $4, $pop11
- br_if $pop12, 0 # 0: down to label4
+ i32.const $push35=, 0
+ i32.eq $push36=, $4, $pop35
+ br_if $pop36, 0 # 0: down to label4
# BB#4: # %for.inc17.preheader
- i32.store $discard=, e($3), $3
+ i32.const $push29=, 0
+ i32.const $push28=, 0
+ i32.store $discard=, e($pop29), $pop28
br 2 # 2: down to label2
.LBB0_5: # %for.end22.thread
end_block # label4:
- i32.store $discard=, g($3), $0
- i32.store $discard=, j($3), $5
- i32.store $discard=, b($3), $2
+ i32.const $push27=, 0
+ i32.store $discard=, g($pop27), $0
+ i32.const $push26=, 0
+ i32.store $discard=, j($pop26), $3
+ i32.const $push25=, 0
+ i32.store $discard=, b($pop25), $2
br 2 # 2: down to label1
.LBB0_6: # %for.cond10thread-pre-split
end_block # label3:
- i32.load $push6=, d($3)
- i32.gt_s $push7=, $pop6, $3
- br_if $pop7, 0 # 0: down to label2
+ i32.const $push21=, 0
+ i32.load $push9=, d($pop21)
+ i32.const $push20=, 0
+ i32.gt_s $push10=, $pop9, $pop20
+ br_if $pop10, 0 # 0: down to label2
# BB#7: # %for.inc.preheader
- i32.const $push8=, 1
- i32.store $discard=, d($3), $pop8
+ i32.const $push22=, 0
+ i32.const $push11=, 1
+ i32.store $discard=, d($pop22), $pop11
.LBB0_8: # %for.end22
end_block # label2:
- i32.store $discard=, g($3), $0
- i32.load8_u $4=, h($3)
- i32.store $discard=, j($3), $5
- i32.const $push10=, 1
- i32.store $discard=, b($3), $pop10
+ i32.const $push33=, 0
+ i32.store $discard=, g($pop33), $0
+ i32.const $push32=, 0
+ i32.load8_u $4=, h($pop32)
+ i32.const $push31=, 0
+ i32.store $discard=, j($pop31), $3
+ i32.const $push30=, 0
+ i32.const $push13=, 1
+ i32.store $discard=, b($pop30), $pop13
br_if $4, 0 # 0: down to label1
# BB#9: # %if.end27
- return $3
+ i32.const $push34=, 0
+ return $pop34
.LBB0_10: # %if.then26
end_block # label1:
call abort@FUNCTION
@@ -79,7 +100,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 1
+ .p2align 1
i:
.int16 0 # 0x0
.size i, 2
@@ -88,7 +109,7 @@ i:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -97,7 +118,7 @@ b:
.type k,@object
.section .bss.k,"aw",@nobits
.globl k
- .align 2
+ .p2align 2
k:
.int32 0 # 0x0
.size k, 4
@@ -106,7 +127,7 @@ k:
.type g,@object
.section .bss.g,"aw",@nobits
.globl g
- .align 2
+ .p2align 2
g:
.int32 0 # 0x0
.size g, 4
@@ -115,7 +136,7 @@ g:
.type j,@object
.section .bss.j,"aw",@nobits
.globl j
- .align 2
+ .p2align 2
j:
.int32 0 # 0x0
.size j, 4
@@ -124,7 +145,7 @@ j:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -141,7 +162,7 @@ a:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -158,7 +179,7 @@ h:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
diff --git a/test/torture-s/pr58564.c.s b/test/torture-s/pr58564.c.s
index 05498af1d..d2f1f1306 100644
--- a/test/torture-s/pr58564.c.s
+++ b/test/torture-s/pr58564.c.s
@@ -6,11 +6,11 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.store $push0=, b($0), $0
- return $pop0
+ i32.const $push0=, 0
+ i32.const $push2=, 0
+ i32.store $push1=, b($pop0), $pop2
+ return $pop1
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -19,7 +19,7 @@ main: # @main
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0
.size c, 4
@@ -28,7 +28,7 @@ c:
.type d,@object
.section .data.d,"aw",@progbits
.globl d
- .align 2
+ .p2align 2
d:
.int32 c
.size d, 4
@@ -37,7 +37,7 @@ d:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -46,7 +46,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/pr58570.c.s b/test/torture-s/pr58570.c.s
index 409f61de1..25002a559 100644
--- a/test/torture-s/pr58570.c.s
+++ b/test/torture-s/pr58570.c.s
@@ -6,55 +6,54 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i64
+ .local i64, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, e($0)
- i32.const $push29=, 0
- i32.eq $push30=, $pop0, $pop29
- br_if $pop30, 0 # 0: down to label0
+ i32.const $push26=, 0
+ i32.load $push0=, e($pop26)
+ i32.const $push32=, 0
+ i32.eq $push33=, $pop0, $pop32
+ br_if $pop33, 0 # 0: down to label0
# BB#1: # %if.then
- i32.const $push4=, d
- i32.load $push1=, i($0)
+ i32.const $push29=, 0
+ i32.load $push1=, i($pop29)
i32.const $push2=, 6
i32.mul $push3=, $pop1, $pop2
- i32.add $1=, $pop4, $pop3
- i32.const $push5=, 4
- i32.add $2=, $1, $pop5
- i64.load16_u $3=, 0($2)
- i32.const $push6=, 2
- i32.add $push7=, $1, $pop6
- i64.const $push8=, 0
- i64.store16 $discard=, 0($pop7), $pop8
- i64.const $push9=, 32769
- i64.store16 $discard=, 0($1), $pop9
- i64.const $push10=, 61440
- i64.and $push11=, $3, $pop10
- i64.store16 $discard=, 0($2), $pop11
+ tee_local $push28=, $2=, $pop3
+ i32.const $push4=, d
+ i32.add $push5=, $pop28, $pop4
+ i32.const $push6=, 4
+ i32.add $push7=, $pop5, $pop6
+ tee_local $push27=, $1=, $pop7
+ i64.load16_u $0=, 0($pop27)
+ i64.const $push8=, 32769
+ i64.store32 $discard=, d($2):p2align=1, $pop8
+ i64.const $push9=, 61440
+ i64.and $push10=, $0, $pop9
+ i64.store16 $discard=, 0($1), $pop10
.LBB0_2: # %if.end
end_block # label0:
block
- i64.load32_u $push18=, d($0)
- i32.const $push12=, d
- i32.const $push13=, 4
- i32.add $push14=, $pop12, $pop13
- i64.load16_u $push15=, 0($pop14)
- i64.const $push16=, 32
+ i32.const $push31=, 0
+ i64.load32_u $push14=, d($pop31):p2align=4
+ i32.const $push30=, 0
+ i64.load16_u $push11=, d+4($pop30):p2align=2
+ i64.const $push12=, 32
+ i64.shl $push13=, $pop11, $pop12
+ i64.or $push15=, $pop14, $pop13
+ i64.const $push16=, 20
i64.shl $push17=, $pop15, $pop16
- i64.or $push19=, $pop18, $pop17
- i64.const $push20=, 20
- i64.shl $push21=, $pop19, $pop20
- i64.const $push22=, 16
- i64.shr_s $push23=, $pop21, $pop22
- i64.const $push24=, 19
- i64.shr_u $push25=, $pop23, $pop24
- i32.wrap/i64 $push26=, $pop25
- i32.const $push27=, 1
- i32.ne $push28=, $pop26, $pop27
- br_if $pop28, 0 # 0: down to label1
+ i64.const $push18=, 16
+ i64.shr_s $push19=, $pop17, $pop18
+ i64.const $push20=, 19
+ i64.shr_u $push21=, $pop19, $pop20
+ i32.wrap/i64 $push22=, $pop21
+ i32.const $push23=, 1
+ i32.ne $push24=, $pop22, $pop23
+ br_if $pop24, 0 # 0: down to label1
# BB#3: # %if.end7
- return $0
+ i32.const $push25=, 0
+ return $pop25
.LBB0_4: # %if.then6
end_block # label1:
call abort@FUNCTION
@@ -67,7 +66,7 @@ main: # @main
.type e,@object
.section .data.e,"aw",@progbits
.globl e
- .align 2
+ .p2align 2
e:
.int32 1 # 0x1
.size e, 4
@@ -76,7 +75,7 @@ e:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/pr58574.c.s b/test/torture-s/pr58574.c.s
index 6618900cc..bdd84debd 100644
--- a/test/torture-s/pr58574.c.s
+++ b/test/torture-s/pr58574.c.s
@@ -7,14 +7,15 @@
foo: # @foo
.param f64
.result f64
- .local i32, f64
+ .local f64, i32
# BB#0: # %entry
- i32.trunc_s/f64 $1=, $0
- f64.const $2=, 0x1p0
+ f64.const $1=, 0x1p0
block
- i32.const $push0=, 93
- i32.gt_u $push1=, $1, $pop0
- br_if $pop1, 0 # 0: down to label0
+ i32.trunc_s/f64 $push0=, $0
+ tee_local $push1283=, $2=, $pop0
+ i32.const $push1=, 93
+ i32.gt_u $push2=, $pop1283, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %entry
block
block
@@ -80,7 +81,7 @@ foo: # @foo
block
block
block
- tableswitch $1, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 64, 64, 64, 27, 64, 64, 64, 64, 64, 64, 64, 64, 64, 28, 64, 64, 64, 64, 64, 64, 64, 64, 64, 29, 64, 64, 64, 64, 64, 64, 64, 64, 64, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 # 0: down to label64
+ tableswitch $2, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 64, 64, 64, 27, 64, 64, 64, 64, 64, 64, 64, 64, 64, 28, 64, 64, 64, 64, 64, 64, 64, 64, 64, 29, 64, 64, 64, 64, 64, 64, 64, 64, 64, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 # 0: down to label64
# 1: down to label63
# 2: down to label62
# 3: down to label61
@@ -147,1606 +148,1606 @@ foo: # @foo
# 63: down to label1
.LBB0_2: # %sw.bb
end_block # label64:
- f64.add $push1262=, $0, $0
- f64.const $push1263=, -0x1p0
- f64.add $0=, $pop1262, $pop1263
- f64.const $push1264=, 0x1.cac6baec528a3p-50
- f64.mul $push1265=, $0, $pop1264
- f64.const $push1266=, 0x1.9f49c634d36c8p-42
- f64.add $push1267=, $pop1265, $pop1266
- f64.mul $push1268=, $0, $pop1267
- f64.const $push1269=, 0x1.675d48090d1d6p-34
- f64.add $push1270=, $pop1268, $pop1269
- f64.mul $push1271=, $0, $pop1270
- f64.const $push1272=, 0x1.2afb34142b11cp-26
- f64.add $push1273=, $pop1271, $pop1272
- f64.mul $push1274=, $0, $pop1273
- f64.const $push1275=, 0x1.e037b539626b4p-19
- f64.add $push1276=, $pop1274, $pop1275
- f64.mul $push1277=, $0, $pop1276
- f64.const $push1278=, 0x1.7578a807708cbp-11
- f64.add $push1279=, $pop1277, $pop1278
- f64.mul $push1280=, $0, $pop1279
- f64.const $push1281=, 0x1.739ad75c47d48p-11
- f64.add $2=, $pop1280, $pop1281
+ f64.add $push1263=, $0, $0
+ f64.const $push1264=, -0x1p0
+ f64.add $0=, $pop1263, $pop1264
+ f64.const $push1265=, 0x1.cac6baec528a3p-50
+ f64.mul $push1266=, $0, $pop1265
+ f64.const $push1267=, 0x1.9f49c634d36c8p-42
+ f64.add $push1268=, $pop1266, $pop1267
+ f64.mul $push1269=, $0, $pop1268
+ f64.const $push1270=, 0x1.675d48090d1d6p-34
+ f64.add $push1271=, $pop1269, $pop1270
+ f64.mul $push1272=, $0, $pop1271
+ f64.const $push1273=, 0x1.2afb34142b11cp-26
+ f64.add $push1274=, $pop1272, $pop1273
+ f64.mul $push1275=, $0, $pop1274
+ f64.const $push1276=, 0x1.e037b539626b4p-19
+ f64.add $push1277=, $pop1275, $pop1276
+ f64.mul $push1278=, $0, $pop1277
+ f64.const $push1279=, 0x1.7578a807708cbp-11
+ f64.add $push1280=, $pop1278, $pop1279
+ f64.mul $push1281=, $0, $pop1280
+ f64.const $push1282=, 0x1.739ad75c47d48p-11
+ f64.add $1=, $pop1281, $pop1282
br 63 # 63: down to label0
.LBB0_3: # %sw.bb12
end_block # label63:
- f64.add $push1242=, $0, $0
- f64.const $push1243=, -0x1.8p1
- f64.add $0=, $pop1242, $pop1243
- f64.const $push1244=, 0x1.e62fdf221a945p-50
- f64.mul $push1245=, $0, $pop1244
- f64.const $push1246=, 0x1.b56f4407b2b3fp-42
- f64.add $push1247=, $pop1245, $pop1246
- f64.mul $push1248=, $0, $pop1247
- f64.const $push1249=, 0x1.7803f03d4db15p-34
- f64.add $push1250=, $pop1248, $pop1249
- f64.mul $push1251=, $0, $pop1250
- f64.const $push1252=, 0x1.3675193770057p-26
- f64.add $push1253=, $pop1251, $pop1252
- f64.mul $push1254=, $0, $pop1253
- f64.const $push1255=, 0x1.ee7f95858f80dp-19
- f64.add $push1256=, $pop1254, $pop1255
- f64.mul $push1257=, $0, $pop1256
- f64.const $push1258=, 0x1.7d157f6e1f426p-11
- f64.add $push1259=, $pop1257, $pop1258
- f64.mul $push1260=, $0, $pop1259
- f64.const $push1261=, 0x1.1987908299a2dp-9
- f64.add $2=, $pop1260, $pop1261
+ f64.add $push1243=, $0, $0
+ f64.const $push1244=, -0x1.8p1
+ f64.add $0=, $pop1243, $pop1244
+ f64.const $push1245=, 0x1.e62fdf221a945p-50
+ f64.mul $push1246=, $0, $pop1245
+ f64.const $push1247=, 0x1.b56f4407b2b3fp-42
+ f64.add $push1248=, $pop1246, $pop1247
+ f64.mul $push1249=, $0, $pop1248
+ f64.const $push1250=, 0x1.7803f03d4db15p-34
+ f64.add $push1251=, $pop1249, $pop1250
+ f64.mul $push1252=, $0, $pop1251
+ f64.const $push1253=, 0x1.3675193770057p-26
+ f64.add $push1254=, $pop1252, $pop1253
+ f64.mul $push1255=, $0, $pop1254
+ f64.const $push1256=, 0x1.ee7f95858f80dp-19
+ f64.add $push1257=, $pop1255, $pop1256
+ f64.mul $push1258=, $0, $pop1257
+ f64.const $push1259=, 0x1.7d157f6e1f426p-11
+ f64.add $push1260=, $pop1258, $pop1259
+ f64.mul $push1261=, $0, $pop1260
+ f64.const $push1262=, 0x1.1987908299a2dp-9
+ f64.add $1=, $pop1261, $pop1262
br 62 # 62: down to label0
.LBB0_4: # %sw.bb27
end_block # label62:
- f64.add $push1222=, $0, $0
- f64.const $push1223=, -0x1.4p2
- f64.add $0=, $pop1222, $pop1223
- f64.const $push1224=, 0x1.01900ac1a16a7p-49
- f64.mul $push1225=, $0, $pop1224
- f64.const $push1226=, 0x1.cce31abf0cfe7p-42
- f64.add $push1227=, $pop1225, $pop1226
- f64.mul $push1228=, $0, $pop1227
- f64.const $push1229=, 0x1.898e06fac46dfp-34
- f64.add $push1230=, $pop1228, $pop1229
- f64.mul $push1231=, $0, $pop1230
- f64.const $push1232=, 0x1.427bbb26be687p-26
- f64.add $push1233=, $pop1231, $pop1232
- f64.mul $push1234=, $0, $pop1233
- f64.const $push1235=, 0x1.fd5455ccf9081p-19
- f64.add $push1236=, $pop1234, $pop1235
- f64.mul $push1237=, $0, $pop1236
- f64.const $push1238=, 0x1.84ed651dbbfdap-11
- f64.add $push1239=, $pop1237, $pop1238
- f64.mul $push1240=, $0, $pop1239
- f64.const $push1241=, 0x1.da059a73b42ccp-9
- f64.add $2=, $pop1240, $pop1241
+ f64.add $push1223=, $0, $0
+ f64.const $push1224=, -0x1.4p2
+ f64.add $0=, $pop1223, $pop1224
+ f64.const $push1225=, 0x1.01900ac1a16a7p-49
+ f64.mul $push1226=, $0, $pop1225
+ f64.const $push1227=, 0x1.cce31abf0cfe7p-42
+ f64.add $push1228=, $pop1226, $pop1227
+ f64.mul $push1229=, $0, $pop1228
+ f64.const $push1230=, 0x1.898e06fac46dfp-34
+ f64.add $push1231=, $pop1229, $pop1230
+ f64.mul $push1232=, $0, $pop1231
+ f64.const $push1233=, 0x1.427bbb26be687p-26
+ f64.add $push1234=, $pop1232, $pop1233
+ f64.mul $push1235=, $0, $pop1234
+ f64.const $push1236=, 0x1.fd5455ccf9081p-19
+ f64.add $push1237=, $pop1235, $pop1236
+ f64.mul $push1238=, $0, $pop1237
+ f64.const $push1239=, 0x1.84ed651dbbfdap-11
+ f64.add $push1240=, $pop1238, $pop1239
+ f64.mul $push1241=, $0, $pop1240
+ f64.const $push1242=, 0x1.da059a73b42ccp-9
+ f64.add $1=, $pop1241, $pop1242
br 61 # 61: down to label0
.LBB0_5: # %sw.bb42
end_block # label61:
- f64.add $push1202=, $0, $0
- f64.const $push1203=, -0x1.cp2
- f64.add $0=, $pop1202, $pop1203
- f64.const $push1204=, 0x1.10f093c3894a7p-49
- f64.mul $push1205=, $0, $pop1204
- f64.const $push1206=, 0x1.e5bf3b2ed15bap-42
- f64.add $push1207=, $pop1205, $pop1206
- f64.mul $push1208=, $0, $pop1207
- f64.const $push1209=, 0x1.9c0a2f40226f1p-34
- f64.add $push1210=, $pop1208, $pop1209
- f64.mul $push1211=, $0, $pop1210
- f64.const $push1212=, 0x1.4f137fc876864p-26
- f64.add $push1213=, $pop1211, $pop1212
- f64.mul $push1214=, $0, $pop1213
- f64.const $push1215=, 0x1.065e6aa3cabb7p-18
- f64.add $push1216=, $pop1214, $pop1215
- f64.mul $push1217=, $0, $pop1216
- f64.const $push1218=, 0x1.8d00591646be5p-11
- f64.add $push1219=, $pop1217, $pop1218
- f64.mul $push1220=, $0, $pop1219
- f64.const $push1221=, 0x1.4f3e2bb4b9b09p-8
- f64.add $2=, $pop1220, $pop1221
+ f64.add $push1203=, $0, $0
+ f64.const $push1204=, -0x1.cp2
+ f64.add $0=, $pop1203, $pop1204
+ f64.const $push1205=, 0x1.10f093c3894a7p-49
+ f64.mul $push1206=, $0, $pop1205
+ f64.const $push1207=, 0x1.e5bf3b2ed15bap-42
+ f64.add $push1208=, $pop1206, $pop1207
+ f64.mul $push1209=, $0, $pop1208
+ f64.const $push1210=, 0x1.9c0a2f40226f1p-34
+ f64.add $push1211=, $pop1209, $pop1210
+ f64.mul $push1212=, $0, $pop1211
+ f64.const $push1213=, 0x1.4f137fc876864p-26
+ f64.add $push1214=, $pop1212, $pop1213
+ f64.mul $push1215=, $0, $pop1214
+ f64.const $push1216=, 0x1.065e6aa3cabb7p-18
+ f64.add $push1217=, $pop1215, $pop1216
+ f64.mul $push1218=, $0, $pop1217
+ f64.const $push1219=, 0x1.8d00591646be5p-11
+ f64.add $push1220=, $pop1218, $pop1219
+ f64.mul $push1221=, $0, $pop1220
+ f64.const $push1222=, 0x1.4f3e2bb4b9b09p-8
+ f64.add $1=, $pop1221, $pop1222
br 60 # 60: down to label0
.LBB0_6: # %sw.bb57
end_block # label60:
- f64.add $push1182=, $0, $0
- f64.const $push1183=, -0x1.2p3
- f64.add $0=, $pop1182, $pop1183
- f64.const $push1184=, 0x1.21535de6eaaa3p-49
- f64.mul $push1185=, $0, $pop1184
- f64.const $push1186=, 0x1.000d5a2623093p-41
- f64.add $push1187=, $pop1185, $pop1186
- f64.mul $push1188=, $0, $pop1187
- f64.const $push1189=, 0x1.af85ebd11ee25p-34
- f64.add $push1190=, $pop1188, $pop1189
- f64.mul $push1191=, $0, $pop1190
- f64.const $push1192=, 0x1.5c40cd02f8aa5p-26
- f64.add $push1193=, $pop1191, $pop1192
- f64.mul $push1194=, $0, $pop1193
- f64.const $push1195=, 0x1.0e5ff996ada1ap-18
- f64.add $push1196=, $pop1194, $pop1195
- f64.mul $push1197=, $0, $pop1196
- f64.const $push1198=, 0x1.9553b9bb7810bp-11
- f64.add $push1199=, $pop1197, $pop1198
- f64.mul $push1200=, $0, $pop1199
- f64.const $push1201=, 0x1.b3885828b601bp-8
- f64.add $2=, $pop1200, $pop1201
+ f64.add $push1183=, $0, $0
+ f64.const $push1184=, -0x1.2p3
+ f64.add $0=, $pop1183, $pop1184
+ f64.const $push1185=, 0x1.21535de6eaaa3p-49
+ f64.mul $push1186=, $0, $pop1185
+ f64.const $push1187=, 0x1.000d5a2623093p-41
+ f64.add $push1188=, $pop1186, $pop1187
+ f64.mul $push1189=, $0, $pop1188
+ f64.const $push1190=, 0x1.af85ebd11ee25p-34
+ f64.add $push1191=, $pop1189, $pop1190
+ f64.mul $push1192=, $0, $pop1191
+ f64.const $push1193=, 0x1.5c40cd02f8aa5p-26
+ f64.add $push1194=, $pop1192, $pop1193
+ f64.mul $push1195=, $0, $pop1194
+ f64.const $push1196=, 0x1.0e5ff996ada1ap-18
+ f64.add $push1197=, $pop1195, $pop1196
+ f64.mul $push1198=, $0, $pop1197
+ f64.const $push1199=, 0x1.9553b9bb7810bp-11
+ f64.add $push1200=, $pop1198, $pop1199
+ f64.mul $push1201=, $0, $pop1200
+ f64.const $push1202=, 0x1.b3885828b601bp-8
+ f64.add $1=, $pop1201, $pop1202
br 59 # 59: down to label0
.LBB0_7: # %sw.bb72
end_block # label59:
- f64.add $push1162=, $0, $0
- f64.const $push1163=, -0x1.6p3
- f64.add $0=, $pop1162, $pop1163
- f64.const $push1164=, 0x1.32bfca1e19775p-49
- f64.mul $push1165=, $0, $pop1164
- f64.const $push1166=, 0x1.0e04d99704505p-41
- f64.add $push1167=, $pop1165, $pop1166
- f64.mul $push1168=, $0, $pop1167
- f64.const $push1169=, 0x1.c407fe0f955e6p-34
- f64.add $push1170=, $pop1168, $pop1169
- f64.mul $push1171=, $0, $pop1170
- f64.const $push1172=, 0x1.6a0c6ea3056bap-26
- f64.add $push1173=, $pop1171, $pop1172
- f64.mul $push1174=, $0, $pop1173
- f64.const $push1175=, 0x1.16b2475b20719p-18
- f64.add $push1176=, $pop1174, $pop1175
- f64.mul $push1177=, $0, $pop1176
- f64.const $push1178=, 0x1.9de7870d4ff4bp-11
- f64.add $push1179=, $pop1177, $pop1178
- f64.mul $push1180=, $0, $pop1179
- f64.const $push1181=, 0x1.0cf75f478e341p-7
- f64.add $2=, $pop1180, $pop1181
+ f64.add $push1163=, $0, $0
+ f64.const $push1164=, -0x1.6p3
+ f64.add $0=, $pop1163, $pop1164
+ f64.const $push1165=, 0x1.32bfca1e19775p-49
+ f64.mul $push1166=, $0, $pop1165
+ f64.const $push1167=, 0x1.0e04d99704505p-41
+ f64.add $push1168=, $pop1166, $pop1167
+ f64.mul $push1169=, $0, $pop1168
+ f64.const $push1170=, 0x1.c407fe0f955e6p-34
+ f64.add $push1171=, $pop1169, $pop1170
+ f64.mul $push1172=, $0, $pop1171
+ f64.const $push1173=, 0x1.6a0c6ea3056bap-26
+ f64.add $push1174=, $pop1172, $pop1173
+ f64.mul $push1175=, $0, $pop1174
+ f64.const $push1176=, 0x1.16b2475b20719p-18
+ f64.add $push1177=, $pop1175, $pop1176
+ f64.mul $push1178=, $0, $pop1177
+ f64.const $push1179=, 0x1.9de7870d4ff4bp-11
+ f64.add $push1180=, $pop1178, $pop1179
+ f64.mul $push1181=, $0, $pop1180
+ f64.const $push1182=, 0x1.0cf75f478e341p-7
+ f64.add $1=, $pop1181, $pop1182
br 58 # 58: down to label0
.LBB0_8: # %sw.bb87
end_block # label58:
- f64.add $push1142=, $0, $0
- f64.const $push1143=, -0x1.ap3
- f64.add $0=, $pop1142, $pop1143
- f64.const $push1144=, 0x1.454fabb93b71cp-49
- f64.mul $push1145=, $0, $pop1144
- f64.const $push1146=, 0x1.1cd31454040b1p-41
- f64.add $push1147=, $pop1145, $pop1146
- f64.mul $push1148=, $0, $pop1147
- f64.const $push1149=, 0x1.d9b6add0b78edp-34
- f64.add $push1150=, $pop1148, $pop1149
- f64.mul $push1151=, $0, $pop1150
- f64.const $push1152=, 0x1.7883965bbdac9p-26
- f64.add $push1153=, $pop1151, $pop1152
- f64.mul $push1154=, $0, $pop1153
- f64.const $push1155=, 0x1.1f5a7b5b1c03bp-18
- f64.add $push1156=, $pop1154, $pop1155
- f64.mul $push1157=, $0, $pop1156
- f64.const $push1158=, 0x1.a6bfc7d698d37p-11
- f64.add $push1159=, $pop1157, $pop1158
- f64.mul $push1160=, $0, $pop1159
- f64.const $push1161=, 0x1.414112efc6ccep-7
- f64.add $2=, $pop1160, $pop1161
+ f64.add $push1143=, $0, $0
+ f64.const $push1144=, -0x1.ap3
+ f64.add $0=, $pop1143, $pop1144
+ f64.const $push1145=, 0x1.454fabb93b71cp-49
+ f64.mul $push1146=, $0, $pop1145
+ f64.const $push1147=, 0x1.1cd31454040b1p-41
+ f64.add $push1148=, $pop1146, $pop1147
+ f64.mul $push1149=, $0, $pop1148
+ f64.const $push1150=, 0x1.d9b6add0b78edp-34
+ f64.add $push1151=, $pop1149, $pop1150
+ f64.mul $push1152=, $0, $pop1151
+ f64.const $push1153=, 0x1.7883965bbdac9p-26
+ f64.add $push1154=, $pop1152, $pop1153
+ f64.mul $push1155=, $0, $pop1154
+ f64.const $push1156=, 0x1.1f5a7b5b1c03bp-18
+ f64.add $push1157=, $pop1155, $pop1156
+ f64.mul $push1158=, $0, $pop1157
+ f64.const $push1159=, 0x1.a6bfc7d698d37p-11
+ f64.add $push1160=, $pop1158, $pop1159
+ f64.mul $push1161=, $0, $pop1160
+ f64.const $push1162=, 0x1.414112efc6ccep-7
+ f64.add $1=, $pop1161, $pop1162
br 57 # 57: down to label0
.LBB0_9: # %sw.bb102
end_block # label57:
- f64.add $push1122=, $0, $0
- f64.const $push1123=, -0x1.ep3
- f64.add $0=, $pop1122, $pop1123
- f64.const $push1124=, 0x1.5911c49cf8751p-49
- f64.mul $push1125=, $0, $pop1124
- f64.const $push1126=, 0x1.2c89559516ee9p-41
- f64.add $push1127=, $pop1125, $pop1126
- f64.mul $push1128=, $0, $pop1127
- f64.const $push1129=, 0x1.f0955bc5733f2p-34
- f64.add $push1130=, $pop1128, $pop1129
- f64.mul $push1131=, $0, $pop1130
- f64.const $push1132=, 0x1.87aaaa1381b8bp-26
- f64.add $push1133=, $pop1131, $pop1132
- f64.mul $push1134=, $0, $pop1133
- f64.const $push1135=, 0x1.285a4d649df58p-18
- f64.add $push1136=, $pop1134, $pop1135
- f64.mul $push1137=, $0, $pop1136
- f64.const $push1138=, 0x1.afddd3b040dp-11
- f64.add $push1139=, $pop1137, $pop1138
- f64.mul $push1140=, $0, $pop1139
- f64.const $push1141=, 0x1.76a2f48c2e771p-7
- f64.add $2=, $pop1140, $pop1141
+ f64.add $push1123=, $0, $0
+ f64.const $push1124=, -0x1.ep3
+ f64.add $0=, $pop1123, $pop1124
+ f64.const $push1125=, 0x1.5911c49cf8751p-49
+ f64.mul $push1126=, $0, $pop1125
+ f64.const $push1127=, 0x1.2c89559516ee9p-41
+ f64.add $push1128=, $pop1126, $pop1127
+ f64.mul $push1129=, $0, $pop1128
+ f64.const $push1130=, 0x1.f0955bc5733f2p-34
+ f64.add $push1131=, $pop1129, $pop1130
+ f64.mul $push1132=, $0, $pop1131
+ f64.const $push1133=, 0x1.87aaaa1381b8bp-26
+ f64.add $push1134=, $pop1132, $pop1133
+ f64.mul $push1135=, $0, $pop1134
+ f64.const $push1136=, 0x1.285a4d649df58p-18
+ f64.add $push1137=, $pop1135, $pop1136
+ f64.mul $push1138=, $0, $pop1137
+ f64.const $push1139=, 0x1.afddd3b040dp-11
+ f64.add $push1140=, $pop1138, $pop1139
+ f64.mul $push1141=, $0, $pop1140
+ f64.const $push1142=, 0x1.76a2f48c2e771p-7
+ f64.add $1=, $pop1141, $pop1142
br 56 # 56: down to label0
.LBB0_10: # %sw.bb117
end_block # label56:
- f64.add $push1102=, $0, $0
- f64.const $push1103=, -0x1.1p4
- f64.add $0=, $pop1102, $pop1103
- f64.const $push1104=, 0x1.6e18872722536p-49
- f64.mul $push1105=, $0, $pop1104
- f64.const $push1106=, 0x1.3d3324d4e01e3p-41
- f64.add $push1107=, $pop1105, $pop1106
- f64.mul $push1108=, $0, $pop1107
- f64.const $push1109=, 0x1.0457a51dc5dfep-33
- f64.add $push1110=, $pop1108, $pop1109
- f64.mul $push1111=, $0, $pop1110
- f64.const $push1112=, 0x1.978edb7d72726p-26
- f64.add $push1113=, $pop1111, $pop1112
- f64.mul $push1114=, $0, $pop1113
- f64.const $push1115=, 0x1.31b6e4e19f1f7p-18
- f64.add $push1116=, $pop1114, $pop1115
- f64.mul $push1117=, $0, $pop1116
- f64.const $push1118=, 0x1.b94708fe00767p-11
- f64.add $push1119=, $pop1117, $pop1118
- f64.mul $push1120=, $0, $pop1119
- f64.const $push1121=, 0x1.ad3a604e1e71p-7
- f64.add $2=, $pop1120, $pop1121
+ f64.add $push1103=, $0, $0
+ f64.const $push1104=, -0x1.1p4
+ f64.add $0=, $pop1103, $pop1104
+ f64.const $push1105=, 0x1.6e18872722536p-49
+ f64.mul $push1106=, $0, $pop1105
+ f64.const $push1107=, 0x1.3d3324d4e01e3p-41
+ f64.add $push1108=, $pop1106, $pop1107
+ f64.mul $push1109=, $0, $pop1108
+ f64.const $push1110=, 0x1.0457a51dc5dfep-33
+ f64.add $push1111=, $pop1109, $pop1110
+ f64.mul $push1112=, $0, $pop1111
+ f64.const $push1113=, 0x1.978edb7d72726p-26
+ f64.add $push1114=, $pop1112, $pop1113
+ f64.mul $push1115=, $0, $pop1114
+ f64.const $push1116=, 0x1.31b6e4e19f1f7p-18
+ f64.add $push1117=, $pop1115, $pop1116
+ f64.mul $push1118=, $0, $pop1117
+ f64.const $push1119=, 0x1.b94708fe00767p-11
+ f64.add $push1120=, $pop1118, $pop1119
+ f64.mul $push1121=, $0, $pop1120
+ f64.const $push1122=, 0x1.ad3a604e1e71p-7
+ f64.add $1=, $pop1121, $pop1122
br 55 # 55: down to label0
.LBB0_11: # %sw.bb132
end_block # label55:
- f64.add $push1082=, $0, $0
- f64.const $push1083=, -0x1.3p4
- f64.add $0=, $pop1082, $pop1083
- f64.const $push1084=, 0x1.847dc6a7decccp-49
- f64.mul $push1085=, $0, $pop1084
- f64.const $push1086=, 0x1.4ee05c5bffeaap-41
- f64.add $push1087=, $pop1085, $pop1086
- f64.mul $push1088=, $0, $pop1087
- f64.const $push1089=, 0x1.1113200e25815p-33
- f64.add $push1090=, $pop1088, $pop1089
- f64.mul $push1091=, $0, $pop1090
- f64.const $push1092=, 0x1.a83d5c4cb0bc1p-26
- f64.add $push1093=, $pop1091, $pop1092
- f64.mul $push1094=, $0, $pop1093
- f64.const $push1095=, 0x1.3b77210a15f77p-18
- f64.add $push1096=, $pop1094, $pop1095
- f64.mul $push1097=, $0, $pop1096
- f64.const $push1098=, 0x1.c2fb67bfd7c6dp-11
- f64.add $push1099=, $pop1097, $pop1098
- f64.mul $push1100=, $0, $pop1099
- f64.const $push1101=, 0x1.e4f765fd8adacp-7
- f64.add $2=, $pop1100, $pop1101
+ f64.add $push1083=, $0, $0
+ f64.const $push1084=, -0x1.3p4
+ f64.add $0=, $pop1083, $pop1084
+ f64.const $push1085=, 0x1.847dc6a7decccp-49
+ f64.mul $push1086=, $0, $pop1085
+ f64.const $push1087=, 0x1.4ee05c5bffeaap-41
+ f64.add $push1088=, $pop1086, $pop1087
+ f64.mul $push1089=, $0, $pop1088
+ f64.const $push1090=, 0x1.1113200e25815p-33
+ f64.add $push1091=, $pop1089, $pop1090
+ f64.mul $push1092=, $0, $pop1091
+ f64.const $push1093=, 0x1.a83d5c4cb0bc1p-26
+ f64.add $push1094=, $pop1092, $pop1093
+ f64.mul $push1095=, $0, $pop1094
+ f64.const $push1096=, 0x1.3b77210a15f77p-18
+ f64.add $push1097=, $pop1095, $pop1096
+ f64.mul $push1098=, $0, $pop1097
+ f64.const $push1099=, 0x1.c2fb67bfd7c6dp-11
+ f64.add $push1100=, $pop1098, $pop1099
+ f64.mul $push1101=, $0, $pop1100
+ f64.const $push1102=, 0x1.e4f765fd8adacp-7
+ f64.add $1=, $pop1101, $pop1102
br 54 # 54: down to label0
.LBB0_12: # %sw.bb147
end_block # label54:
- f64.add $push1062=, $0, $0
- f64.const $push1063=, -0x1.5p4
- f64.add $0=, $pop1062, $pop1063
- f64.const $push1064=, 0x1.9c57a5f629aa4p-49
- f64.mul $push1065=, $0, $pop1064
- f64.const $push1066=, 0x1.61a5294113d1fp-41
- f64.add $push1067=, $pop1065, $pop1066
- f64.mul $push1068=, $0, $pop1067
- f64.const $push1069=, 0x1.1e8861019bd46p-33
- f64.add $push1070=, $pop1068, $pop1069
- f64.mul $push1071=, $0, $pop1070
- f64.const $push1072=, 0x1.b9b62c813c95dp-26
- f64.add $push1073=, $pop1071, $pop1072
- f64.mul $push1074=, $0, $pop1073
- f64.const $push1075=, 0x1.459cb9ac001bp-18
- f64.add $push1076=, $pop1074, $pop1075
- f64.mul $push1077=, $0, $pop1076
- f64.const $push1078=, 0x1.ccfef6c0912a3p-11
- f64.add $push1079=, $pop1077, $pop1078
- f64.mul $push1080=, $0, $pop1079
- f64.const $push1081=, 0x1.0efdc9c4da9p-6
- f64.add $2=, $pop1080, $pop1081
+ f64.add $push1063=, $0, $0
+ f64.const $push1064=, -0x1.5p4
+ f64.add $0=, $pop1063, $pop1064
+ f64.const $push1065=, 0x1.9c57a5f629aa4p-49
+ f64.mul $push1066=, $0, $pop1065
+ f64.const $push1067=, 0x1.61a5294113d1fp-41
+ f64.add $push1068=, $pop1066, $pop1067
+ f64.mul $push1069=, $0, $pop1068
+ f64.const $push1070=, 0x1.1e8861019bd46p-33
+ f64.add $push1071=, $pop1069, $pop1070
+ f64.mul $push1072=, $0, $pop1071
+ f64.const $push1073=, 0x1.b9b62c813c95dp-26
+ f64.add $push1074=, $pop1072, $pop1073
+ f64.mul $push1075=, $0, $pop1074
+ f64.const $push1076=, 0x1.459cb9ac001bp-18
+ f64.add $push1077=, $pop1075, $pop1076
+ f64.mul $push1078=, $0, $pop1077
+ f64.const $push1079=, 0x1.ccfef6c0912a3p-11
+ f64.add $push1080=, $pop1078, $pop1079
+ f64.mul $push1081=, $0, $pop1080
+ f64.const $push1082=, 0x1.0efdc9c4da9p-6
+ f64.add $1=, $pop1081, $pop1082
br 53 # 53: down to label0
.LBB0_13: # %sw.bb162
end_block # label53:
- f64.add $push1042=, $0, $0
- f64.const $push1043=, -0x1.7p4
- f64.add $0=, $pop1042, $pop1043
- f64.const $push1044=, 0x1.b5bff86228abep-49
- f64.mul $push1045=, $0, $pop1044
- f64.const $push1046=, 0x1.758ff4dd67c05p-41
- f64.add $push1047=, $pop1045, $pop1046
- f64.mul $push1048=, $0, $pop1047
- f64.const $push1049=, 0x1.2cb767f828d91p-33
- f64.add $push1050=, $pop1048, $pop1049
- f64.mul $push1051=, $0, $pop1050
- f64.const $push1052=, 0x1.cc0f499af778fp-26
- f64.add $push1053=, $pop1051, $pop1052
- f64.mul $push1054=, $0, $pop1053
- f64.const $push1055=, 0x1.502cd63156628p-18
- f64.add $push1056=, $pop1054, $pop1055
- f64.mul $push1057=, $0, $pop1056
- f64.const $push1058=, 0x1.d755bccaf709bp-11
- f64.add $push1059=, $pop1057, $pop1058
- f64.mul $push1060=, $0, $pop1059
- f64.const $push1061=, 0x1.2c1f42bb6673p-6
- f64.add $2=, $pop1060, $pop1061
+ f64.add $push1043=, $0, $0
+ f64.const $push1044=, -0x1.7p4
+ f64.add $0=, $pop1043, $pop1044
+ f64.const $push1045=, 0x1.b5bff86228abep-49
+ f64.mul $push1046=, $0, $pop1045
+ f64.const $push1047=, 0x1.758ff4dd67c05p-41
+ f64.add $push1048=, $pop1046, $pop1047
+ f64.mul $push1049=, $0, $pop1048
+ f64.const $push1050=, 0x1.2cb767f828d91p-33
+ f64.add $push1051=, $pop1049, $pop1050
+ f64.mul $push1052=, $0, $pop1051
+ f64.const $push1053=, 0x1.cc0f499af778fp-26
+ f64.add $push1054=, $pop1052, $pop1053
+ f64.mul $push1055=, $0, $pop1054
+ f64.const $push1056=, 0x1.502cd63156628p-18
+ f64.add $push1057=, $pop1055, $pop1056
+ f64.mul $push1058=, $0, $pop1057
+ f64.const $push1059=, 0x1.d755bccaf709bp-11
+ f64.add $push1060=, $pop1058, $pop1059
+ f64.mul $push1061=, $0, $pop1060
+ f64.const $push1062=, 0x1.2c1f42bb6673p-6
+ f64.add $1=, $pop1061, $pop1062
br 52 # 52: down to label0
.LBB0_14: # %sw.bb177
end_block # label52:
- f64.add $push1022=, $0, $0
- f64.const $push1023=, -0x1.9p4
- f64.add $0=, $pop1022, $pop1023
- f64.const $push1024=, 0x1.d0cce0c2d79abp-49
- f64.mul $push1025=, $0, $pop1024
- f64.const $push1026=, 0x1.8ab4ec479933cp-41
- f64.add $push1027=, $pop1025, $pop1026
- f64.mul $push1028=, $0, $pop1027
- f64.const $push1029=, 0x1.3bb6b98d5330ap-33
- f64.add $push1030=, $pop1028, $pop1029
- f64.mul $push1031=, $0, $pop1030
- f64.const $push1032=, 0x1.df517f66a1fc6p-26
- f64.add $push1033=, $pop1031, $pop1032
- f64.mul $push1034=, $0, $pop1033
- f64.const $push1035=, 0x1.5b2e55d20f44p-18
- f64.add $push1036=, $pop1034, $pop1035
- f64.mul $push1037=, $0, $pop1036
- f64.const $push1038=, 0x1.e2026910e5ab7p-11
- f64.add $push1039=, $pop1037, $pop1038
- f64.mul $push1040=, $0, $pop1039
- f64.const $push1041=, 0x1.49e8815e39714p-6
- f64.add $2=, $pop1040, $pop1041
+ f64.add $push1023=, $0, $0
+ f64.const $push1024=, -0x1.9p4
+ f64.add $0=, $pop1023, $pop1024
+ f64.const $push1025=, 0x1.d0cce0c2d79abp-49
+ f64.mul $push1026=, $0, $pop1025
+ f64.const $push1027=, 0x1.8ab4ec479933cp-41
+ f64.add $push1028=, $pop1026, $pop1027
+ f64.mul $push1029=, $0, $pop1028
+ f64.const $push1030=, 0x1.3bb6b98d5330ap-33
+ f64.add $push1031=, $pop1029, $pop1030
+ f64.mul $push1032=, $0, $pop1031
+ f64.const $push1033=, 0x1.df517f66a1fc6p-26
+ f64.add $push1034=, $pop1032, $pop1033
+ f64.mul $push1035=, $0, $pop1034
+ f64.const $push1036=, 0x1.5b2e55d20f44p-18
+ f64.add $push1037=, $pop1035, $pop1036
+ f64.mul $push1038=, $0, $pop1037
+ f64.const $push1039=, 0x1.e2026910e5ab7p-11
+ f64.add $push1040=, $pop1038, $pop1039
+ f64.mul $push1041=, $0, $pop1040
+ f64.const $push1042=, 0x1.49e8815e39714p-6
+ f64.add $1=, $pop1041, $pop1042
br 51 # 51: down to label0
.LBB0_15: # %sw.bb192
end_block # label51:
- f64.add $push1002=, $0, $0
- f64.const $push1003=, -0x1.bp4
- f64.add $0=, $pop1002, $pop1003
- f64.const $push1004=, 0x1.ed9be2e1862d9p-49
- f64.mul $push1005=, $0, $pop1004
- f64.const $push1006=, 0x1.a129ad859a0ebp-41
- f64.add $push1007=, $pop1005, $pop1006
- f64.mul $push1008=, $0, $pop1007
- f64.const $push1009=, 0x1.4b91980ede2b9p-33
- f64.add $push1010=, $pop1008, $pop1009
- f64.mul $push1011=, $0, $pop1010
- f64.const $push1012=, 0x1.f38e657dbd4e3p-26
- f64.add $push1013=, $pop1011, $pop1012
- f64.mul $push1014=, $0, $pop1013
- f64.const $push1015=, 0x1.66a65ff82397dp-18
- f64.add $push1016=, $pop1014, $pop1015
- f64.mul $push1017=, $0, $pop1016
- f64.const $push1018=, 0x1.ed0a59f6159b7p-11
- f64.add $push1019=, $pop1017, $pop1018
- f64.mul $push1020=, $0, $pop1019
- f64.const $push1021=, 0x1.6861e92923e5cp-6
- f64.add $2=, $pop1020, $pop1021
+ f64.add $push1003=, $0, $0
+ f64.const $push1004=, -0x1.bp4
+ f64.add $0=, $pop1003, $pop1004
+ f64.const $push1005=, 0x1.ed9be2e1862d9p-49
+ f64.mul $push1006=, $0, $pop1005
+ f64.const $push1007=, 0x1.a129ad859a0ebp-41
+ f64.add $push1008=, $pop1006, $pop1007
+ f64.mul $push1009=, $0, $pop1008
+ f64.const $push1010=, 0x1.4b91980ede2b9p-33
+ f64.add $push1011=, $pop1009, $pop1010
+ f64.mul $push1012=, $0, $pop1011
+ f64.const $push1013=, 0x1.f38e657dbd4e3p-26
+ f64.add $push1014=, $pop1012, $pop1013
+ f64.mul $push1015=, $0, $pop1014
+ f64.const $push1016=, 0x1.66a65ff82397dp-18
+ f64.add $push1017=, $pop1015, $pop1016
+ f64.mul $push1018=, $0, $pop1017
+ f64.const $push1019=, 0x1.ed0a59f6159b7p-11
+ f64.add $push1020=, $pop1018, $pop1019
+ f64.mul $push1021=, $0, $pop1020
+ f64.const $push1022=, 0x1.6861e92923e5cp-6
+ f64.add $1=, $pop1021, $pop1022
br 50 # 50: down to label0
.LBB0_16: # %sw.bb207
end_block # label50:
- f64.add $push982=, $0, $0
- f64.const $push983=, -0x1.dp4
- f64.add $0=, $pop982, $pop983
- f64.const $push984=, 0x1.0627198057091p-48
- f64.mul $push985=, $0, $pop984
- f64.const $push986=, 0x1.b903d69d5c337p-41
- f64.add $push987=, $pop985, $pop986
- f64.mul $push988=, $0, $pop987
- f64.const $push989=, 0x1.5c5345ca8d1a8p-33
- f64.add $push990=, $pop988, $pop989
- f64.mul $push991=, $0, $pop990
- f64.const $push992=, 0x1.046530e354dcep-25
- f64.add $push993=, $pop991, $pop992
- f64.mul $push994=, $0, $pop993
- f64.const $push995=, 0x1.729bd3db89d4p-18
- f64.add $push996=, $pop994, $pop995
- f64.mul $push997=, $0, $pop996
- f64.const $push998=, 0x1.f86ee71374fcdp-11
- f64.add $push999=, $pop997, $pop998
- f64.mul $push1000=, $0, $pop999
- f64.const $push1001=, 0x1.878b7a1c25d07p-6
- f64.add $2=, $pop1000, $pop1001
+ f64.add $push983=, $0, $0
+ f64.const $push984=, -0x1.dp4
+ f64.add $0=, $pop983, $pop984
+ f64.const $push985=, 0x1.0627198057091p-48
+ f64.mul $push986=, $0, $pop985
+ f64.const $push987=, 0x1.b903d69d5c337p-41
+ f64.add $push988=, $pop986, $pop987
+ f64.mul $push989=, $0, $pop988
+ f64.const $push990=, 0x1.5c5345ca8d1a8p-33
+ f64.add $push991=, $pop989, $pop990
+ f64.mul $push992=, $0, $pop991
+ f64.const $push993=, 0x1.046530e354dcep-25
+ f64.add $push994=, $pop992, $pop993
+ f64.mul $push995=, $0, $pop994
+ f64.const $push996=, 0x1.729bd3db89d4p-18
+ f64.add $push997=, $pop995, $pop996
+ f64.mul $push998=, $0, $pop997
+ f64.const $push999=, 0x1.f86ee71374fcdp-11
+ f64.add $push1000=, $pop998, $pop999
+ f64.mul $push1001=, $0, $pop1000
+ f64.const $push1002=, 0x1.878b7a1c25d07p-6
+ f64.add $1=, $pop1001, $pop1002
br 49 # 49: down to label0
.LBB0_17: # %sw.bb222
end_block # label49:
- f64.add $push962=, $0, $0
- f64.const $push963=, -0x1.fp4
- f64.add $0=, $pop962, $pop963
- f64.const $push964=, 0x1.167ed2383a844p-48
- f64.mul $push965=, $0, $pop964
- f64.const $push966=, 0x1.d2590594d1848p-41
- f64.add $push967=, $pop965, $pop966
- f64.mul $push968=, $0, $pop967
- f64.const $push969=, 0x1.6e0ca63504f66p-33
- f64.add $push970=, $pop968, $pop969
- f64.mul $push971=, $0, $pop970
- f64.const $push972=, 0x1.0f8db8e0a45c3p-25
- f64.add $push973=, $pop971, $pop972
- f64.mul $push974=, $0, $pop973
- f64.const $push975=, 0x1.7f1221183d337p-18
- f64.add $push976=, $pop974, $pop975
- f64.mul $push977=, $0, $pop976
- f64.const $push978=, 0x1.021ab7665e2dep-10
- f64.add $push979=, $pop977, $pop978
- f64.mul $push980=, $0, $pop979
- f64.const $push981=, 0x1.a771c970f7b9ep-6
- f64.add $2=, $pop980, $pop981
+ f64.add $push963=, $0, $0
+ f64.const $push964=, -0x1.fp4
+ f64.add $0=, $pop963, $pop964
+ f64.const $push965=, 0x1.167ed2383a844p-48
+ f64.mul $push966=, $0, $pop965
+ f64.const $push967=, 0x1.d2590594d1848p-41
+ f64.add $push968=, $pop966, $pop967
+ f64.mul $push969=, $0, $pop968
+ f64.const $push970=, 0x1.6e0ca63504f66p-33
+ f64.add $push971=, $pop969, $pop970
+ f64.mul $push972=, $0, $pop971
+ f64.const $push973=, 0x1.0f8db8e0a45c3p-25
+ f64.add $push974=, $pop972, $pop973
+ f64.mul $push975=, $0, $pop974
+ f64.const $push976=, 0x1.7f1221183d337p-18
+ f64.add $push977=, $pop975, $pop976
+ f64.mul $push978=, $0, $pop977
+ f64.const $push979=, 0x1.021ab7665e2dep-10
+ f64.add $push980=, $pop978, $pop979
+ f64.mul $push981=, $0, $pop980
+ f64.const $push982=, 0x1.a771c970f7b9ep-6
+ f64.add $1=, $pop981, $pop982
br 48 # 48: down to label0
.LBB0_18: # %sw.bb237
end_block # label48:
- f64.add $push942=, $0, $0
- f64.const $push943=, -0x1.08p5
- f64.add $0=, $pop942, $pop943
- f64.const $push944=, 0x1.27e96632d455fp-48
- f64.mul $push945=, $0, $pop944
- f64.const $push946=, 0x1.ed449c2f3d75fp-41
- f64.add $push947=, $pop945, $pop946
- f64.mul $push948=, $0, $pop947
- f64.const $push949=, 0x1.80c8fb9c090fap-33
- f64.add $push950=, $pop948, $pop949
- f64.mul $push951=, $0, $pop950
- f64.const $push952=, 0x1.1b4996838dbc1p-25
- f64.add $push953=, $pop951, $pop952
- f64.mul $push954=, $0, $pop953
- f64.const $push955=, 0x1.8c1396822f672p-18
- f64.add $push956=, $pop954, $pop955
- f64.mul $push957=, $0, $pop956
- f64.const $push958=, 0x1.08305029e3ff2p-10
- f64.add $push959=, $pop957, $pop958
- f64.mul $push960=, $0, $pop959
- f64.const $push961=, 0x1.c814d72799a2p-6
- f64.add $2=, $pop960, $pop961
+ f64.add $push943=, $0, $0
+ f64.const $push944=, -0x1.08p5
+ f64.add $0=, $pop943, $pop944
+ f64.const $push945=, 0x1.27e96632d455fp-48
+ f64.mul $push946=, $0, $pop945
+ f64.const $push947=, 0x1.ed449c2f3d75fp-41
+ f64.add $push948=, $pop946, $pop947
+ f64.mul $push949=, $0, $pop948
+ f64.const $push950=, 0x1.80c8fb9c090fap-33
+ f64.add $push951=, $pop949, $pop950
+ f64.mul $push952=, $0, $pop951
+ f64.const $push953=, 0x1.1b4996838dbc1p-25
+ f64.add $push954=, $pop952, $pop953
+ f64.mul $push955=, $0, $pop954
+ f64.const $push956=, 0x1.8c1396822f672p-18
+ f64.add $push957=, $pop955, $pop956
+ f64.mul $push958=, $0, $pop957
+ f64.const $push959=, 0x1.08305029e3ff2p-10
+ f64.add $push960=, $pop958, $pop959
+ f64.mul $push961=, $0, $pop960
+ f64.const $push962=, 0x1.c814d72799a2p-6
+ f64.add $1=, $pop961, $pop962
br 47 # 47: down to label0
.LBB0_19: # %sw.bb252
end_block # label47:
- f64.add $push922=, $0, $0
- f64.const $push923=, -0x1.18p5
- f64.add $0=, $pop922, $pop923
- f64.const $push924=, 0x1.3a73bf18375e2p-48
- f64.mul $push925=, $0, $pop924
- f64.const $push926=, 0x1.04ef8d289d598p-40
- f64.add $push927=, $pop925, $pop926
- f64.mul $push928=, $0, $pop927
- f64.const $push929=, 0x1.949929743e5f4p-33
- f64.add $push930=, $pop928, $pop929
- f64.mul $push931=, $0, $pop930
- f64.const $push932=, 0x1.279d2fb27147fp-25
- f64.add $push933=, $pop931, $pop932
- f64.mul $push934=, $0, $pop933
- f64.const $push935=, 0x1.99a3a3b55ba9ep-18
- f64.add $push936=, $pop934, $pop935
- f64.mul $push937=, $0, $pop936
- f64.const $push938=, 0x1.0e7aed0628383p-10
- f64.add $push939=, $pop937, $pop938
- f64.mul $push940=, $0, $pop939
- f64.const $push941=, 0x1.e9813879c4114p-6
- f64.add $2=, $pop940, $pop941
+ f64.add $push923=, $0, $0
+ f64.const $push924=, -0x1.18p5
+ f64.add $0=, $pop923, $pop924
+ f64.const $push925=, 0x1.3a73bf18375e2p-48
+ f64.mul $push926=, $0, $pop925
+ f64.const $push927=, 0x1.04ef8d289d598p-40
+ f64.add $push928=, $pop926, $pop927
+ f64.mul $push929=, $0, $pop928
+ f64.const $push930=, 0x1.949929743e5f4p-33
+ f64.add $push931=, $pop929, $pop930
+ f64.mul $push932=, $0, $pop931
+ f64.const $push933=, 0x1.279d2fb27147fp-25
+ f64.add $push934=, $pop932, $pop933
+ f64.mul $push935=, $0, $pop934
+ f64.const $push936=, 0x1.99a3a3b55ba9ep-18
+ f64.add $push937=, $pop935, $pop936
+ f64.mul $push938=, $0, $pop937
+ f64.const $push939=, 0x1.0e7aed0628383p-10
+ f64.add $push940=, $pop938, $pop939
+ f64.mul $push941=, $0, $pop940
+ f64.const $push942=, 0x1.e9813879c4114p-6
+ f64.add $1=, $pop941, $pop942
br 46 # 46: down to label0
.LBB0_20: # %sw.bb267
end_block # label46:
- f64.add $push902=, $0, $0
- f64.const $push903=, -0x1.28p5
- f64.add $0=, $pop902, $pop903
- f64.const $push904=, 0x1.4e35d7fbf4617p-48
- f64.mul $push905=, $0, $pop904
- f64.const $push906=, 0x1.1421f0df0657fp-40
- f64.add $push907=, $pop905, $pop906
- f64.mul $push908=, $0, $pop907
- f64.const $push909=, 0x1.a993b4592b866p-33
- f64.add $push910=, $pop908, $pop909
- f64.mul $push911=, $0, $pop910
- f64.const $push912=, 0x1.3495b6206fe24p-25
- f64.add $push913=, $pop911, $pop912
- f64.mul $push914=, $0, $pop913
- f64.const $push915=, 0x1.a7cc9785b3accp-18
- f64.add $push916=, $pop914, $pop915
- f64.mul $push917=, $0, $pop916
- f64.const $push918=, 0x1.14fb39c7a1eaap-10
- f64.add $push919=, $pop917, $pop918
- f64.mul $push920=, $0, $pop919
- f64.const $push921=, 0x1.05db76b3bb83dp-5
- f64.add $2=, $pop920, $pop921
+ f64.add $push903=, $0, $0
+ f64.const $push904=, -0x1.28p5
+ f64.add $0=, $pop903, $pop904
+ f64.const $push905=, 0x1.4e35d7fbf4617p-48
+ f64.mul $push906=, $0, $pop905
+ f64.const $push907=, 0x1.1421f0df0657fp-40
+ f64.add $push908=, $pop906, $pop907
+ f64.mul $push909=, $0, $pop908
+ f64.const $push910=, 0x1.a993b4592b866p-33
+ f64.add $push911=, $pop909, $pop910
+ f64.mul $push912=, $0, $pop911
+ f64.const $push913=, 0x1.3495b6206fe24p-25
+ f64.add $push914=, $pop912, $pop913
+ f64.mul $push915=, $0, $pop914
+ f64.const $push916=, 0x1.a7cc9785b3accp-18
+ f64.add $push917=, $pop915, $pop916
+ f64.mul $push918=, $0, $pop917
+ f64.const $push919=, 0x1.14fb39c7a1eaap-10
+ f64.add $push920=, $pop918, $pop919
+ f64.mul $push921=, $0, $pop920
+ f64.const $push922=, 0x1.05db76b3bb83dp-5
+ f64.add $1=, $pop921, $pop922
br 45 # 45: down to label0
.LBB0_21: # %sw.bb282
end_block # label45:
- f64.add $push882=, $0, $0
- f64.const $push883=, -0x1.38p5
- f64.add $0=, $pop882, $pop883
- f64.const $push884=, 0x1.633e72c2b33b3p-48
- f64.mul $push885=, $0, $pop884
- f64.const $push886=, 0x1.24489b0bcfd4cp-40
- f64.add $push887=, $pop885, $pop886
- f64.mul $push888=, $0, $pop887
- f64.const $push889=, 0x1.bfc3de9893d59p-33
- f64.add $push890=, $pop888, $pop889
- f64.mul $push891=, $0, $pop890
- f64.const $push892=, 0x1.4239c2a719fc4p-25
- f64.add $push893=, $pop891, $pop892
- f64.mul $push894=, $0, $pop893
- f64.const $push895=, 0x1.b695512b2de5ap-18
- f64.add $push896=, $pop894, $pop895
- f64.mul $push897=, $0, $pop896
- f64.const $push898=, 0x1.1bb7ec6af7c5ap-10
- f64.add $push899=, $pop897, $pop898
- f64.mul $push900=, $0, $pop899
- f64.const $push901=, 0x1.176145953586dp-5
- f64.add $2=, $pop900, $pop901
+ f64.add $push883=, $0, $0
+ f64.const $push884=, -0x1.38p5
+ f64.add $0=, $pop883, $pop884
+ f64.const $push885=, 0x1.633e72c2b33b3p-48
+ f64.mul $push886=, $0, $pop885
+ f64.const $push887=, 0x1.24489b0bcfd4cp-40
+ f64.add $push888=, $pop886, $pop887
+ f64.mul $push889=, $0, $pop888
+ f64.const $push890=, 0x1.bfc3de9893d59p-33
+ f64.add $push891=, $pop889, $pop890
+ f64.mul $push892=, $0, $pop891
+ f64.const $push893=, 0x1.4239c2a719fc4p-25
+ f64.add $push894=, $pop892, $pop893
+ f64.mul $push895=, $0, $pop894
+ f64.const $push896=, 0x1.b695512b2de5ap-18
+ f64.add $push897=, $pop895, $pop896
+ f64.mul $push898=, $0, $pop897
+ f64.const $push899=, 0x1.1bb7ec6af7c5ap-10
+ f64.add $push900=, $pop898, $pop899
+ f64.mul $push901=, $0, $pop900
+ f64.const $push902=, 0x1.176145953586dp-5
+ f64.add $1=, $pop901, $pop902
br 44 # 44: down to label0
.LBB0_22: # %sw.bb297
end_block # label44:
- f64.add $push862=, $0, $0
- f64.const $push863=, -0x1.48p5
- f64.add $0=, $pop862, $pop863
- f64.const $push864=, 0x1.79a58a8004affp-48
- f64.mul $push865=, $0, $pop864
- f64.const $push866=, 0x1.35741e6f4452cp-40
- f64.add $push867=, $pop865, $pop866
- f64.mul $push868=, $0, $pop867
- f64.const $push869=, 0x1.d745cdf4df966p-33
- f64.add $push870=, $pop868, $pop869
- f64.mul $push871=, $0, $pop870
- f64.const $push872=, 0x1.509686f990786p-25
- f64.add $push873=, $pop871, $pop872
- f64.mul $push874=, $0, $pop873
- f64.const $push875=, 0x1.c604afddc0ca6p-18
- f64.add $push876=, $pop874, $pop875
- f64.mul $push877=, $0, $pop876
- f64.const $push878=, 0x1.22b104f029c92p-10
- f64.add $push879=, $pop877, $pop878
- f64.mul $push880=, $0, $pop879
- f64.const $push881=, 0x1.295421c044285p-5
- f64.add $2=, $pop880, $pop881
+ f64.add $push863=, $0, $0
+ f64.const $push864=, -0x1.48p5
+ f64.add $0=, $pop863, $pop864
+ f64.const $push865=, 0x1.79a58a8004affp-48
+ f64.mul $push866=, $0, $pop865
+ f64.const $push867=, 0x1.35741e6f4452cp-40
+ f64.add $push868=, $pop866, $pop867
+ f64.mul $push869=, $0, $pop868
+ f64.const $push870=, 0x1.d745cdf4df966p-33
+ f64.add $push871=, $pop869, $pop870
+ f64.mul $push872=, $0, $pop871
+ f64.const $push873=, 0x1.509686f990786p-25
+ f64.add $push874=, $pop872, $pop873
+ f64.mul $push875=, $0, $pop874
+ f64.const $push876=, 0x1.c604afddc0ca6p-18
+ f64.add $push877=, $pop875, $pop876
+ f64.mul $push878=, $0, $pop877
+ f64.const $push879=, 0x1.22b104f029c92p-10
+ f64.add $push880=, $pop878, $pop879
+ f64.mul $push881=, $0, $pop880
+ f64.const $push882=, 0x1.295421c044285p-5
+ f64.add $1=, $pop881, $pop882
br 43 # 43: down to label0
.LBB0_23: # %sw.bb312
end_block # label43:
- f64.add $push842=, $0, $0
- f64.const $push843=, -0x1.58p5
- f64.add $0=, $pop842, $pop843
- f64.const $push844=, 0x1.91831a4779845p-48
- f64.mul $push845=, $0, $pop844
- f64.const $push846=, 0x1.47b173735b59fp-40
- f64.add $push847=, $pop845, $pop846
- f64.mul $push848=, $0, $pop847
- f64.const $push849=, 0x1.f02a65e2b3c19p-33
- f64.add $push850=, $pop848, $pop849
- f64.mul $push851=, $0, $pop850
- f64.const $push852=, 0x1.5fb29bf163c7cp-25
- f64.add $push853=, $pop851, $pop852
- f64.mul $push854=, $0, $pop853
- f64.const $push855=, 0x1.d626ba3f5ba98p-18
- f64.add $push856=, $pop854, $pop855
- f64.mul $push857=, $0, $pop856
- f64.const $push858=, 0x1.29e6835737f54p-10
- f64.add $push859=, $pop857, $pop858
- f64.mul $push860=, $0, $pop859
- f64.const $push861=, 0x1.3bb83cf2cf95dp-5
- f64.add $2=, $pop860, $pop861
+ f64.add $push843=, $0, $0
+ f64.const $push844=, -0x1.58p5
+ f64.add $0=, $pop843, $pop844
+ f64.const $push845=, 0x1.91831a4779845p-48
+ f64.mul $push846=, $0, $pop845
+ f64.const $push847=, 0x1.47b173735b59fp-40
+ f64.add $push848=, $pop846, $pop847
+ f64.mul $push849=, $0, $pop848
+ f64.const $push850=, 0x1.f02a65e2b3c19p-33
+ f64.add $push851=, $pop849, $pop850
+ f64.mul $push852=, $0, $pop851
+ f64.const $push853=, 0x1.5fb29bf163c7cp-25
+ f64.add $push854=, $pop852, $pop853
+ f64.mul $push855=, $0, $pop854
+ f64.const $push856=, 0x1.d626ba3f5ba98p-18
+ f64.add $push857=, $pop855, $pop856
+ f64.mul $push858=, $0, $pop857
+ f64.const $push859=, 0x1.29e6835737f54p-10
+ f64.add $push860=, $pop858, $pop859
+ f64.mul $push861=, $0, $pop860
+ f64.const $push862=, 0x1.3bb83cf2cf95dp-5
+ f64.add $1=, $pop861, $pop862
br 42 # 42: down to label0
.LBB0_24: # %sw.bb327
end_block # label42:
- f64.add $push822=, $0, $0
- f64.const $push823=, -0x1.68p5
- f64.add $0=, $pop822, $pop823
- f64.const $push824=, 0x1.aae99476e38a8p-48
- f64.mul $push825=, $0, $pop824
- f64.const $push826=, 0x1.5b1d6ccaacc2cp-40
- f64.add $push827=, $pop825, $pop826
- f64.mul $push828=, $0, $pop827
- f64.const $push829=, 0x1.054144eb5aa81p-32
- f64.add $push830=, $pop828, $pop829
- f64.mul $push831=, $0, $pop830
- f64.const $push832=, 0x1.6f9d6634e4f2bp-25
- f64.add $push833=, $pop831, $pop832
- f64.mul $push834=, $0, $pop833
- f64.const $push835=, 0x1.e70097b9f75b6p-18
- f64.add $push836=, $pop834, $pop835
- f64.mul $push837=, $0, $pop836
- f64.const $push838=, 0x1.3165d3996fa83p-10
- f64.add $push839=, $pop837, $pop838
- f64.mul $push840=, $0, $pop839
- f64.const $push841=, 0x1.4e93e1c9b413ap-5
- f64.add $2=, $pop840, $pop841
+ f64.add $push823=, $0, $0
+ f64.const $push824=, -0x1.68p5
+ f64.add $0=, $pop823, $pop824
+ f64.const $push825=, 0x1.aae99476e38a8p-48
+ f64.mul $push826=, $0, $pop825
+ f64.const $push827=, 0x1.5b1d6ccaacc2cp-40
+ f64.add $push828=, $pop826, $pop827
+ f64.mul $push829=, $0, $pop828
+ f64.const $push830=, 0x1.054144eb5aa81p-32
+ f64.add $push831=, $pop829, $pop830
+ f64.mul $push832=, $0, $pop831
+ f64.const $push833=, 0x1.6f9d6634e4f2bp-25
+ f64.add $push834=, $pop832, $pop833
+ f64.mul $push835=, $0, $pop834
+ f64.const $push836=, 0x1.e70097b9f75b6p-18
+ f64.add $push837=, $pop835, $pop836
+ f64.mul $push838=, $0, $pop837
+ f64.const $push839=, 0x1.3165d3996fa83p-10
+ f64.add $push840=, $pop838, $pop839
+ f64.mul $push841=, $0, $pop840
+ f64.const $push842=, 0x1.4e93e1c9b413ap-5
+ f64.add $1=, $pop841, $pop842
br 41 # 41: down to label0
.LBB0_25: # %sw.bb342
end_block # label41:
- f64.add $push802=, $0, $0
- f64.const $push803=, -0x1.78p5
- f64.add $0=, $pop802, $pop803
- f64.const $push804=, 0x1.c5f67cd792795p-48
- f64.mul $push805=, $0, $pop804
- f64.const $push806=, 0x1.6fbf3f21de835p-40
- f64.add $push807=, $pop805, $pop806
- f64.mul $push808=, $0, $pop807
- f64.const $push809=, 0x1.13352fc9a645bp-32
- f64.add $push810=, $pop808, $pop809
- f64.mul $push811=, $0, $pop810
- f64.const $push812=, 0x1.805fb190d49p-25
- f64.add $push813=, $pop811, $pop812
- f64.mul $push814=, $0, $pop813
- f64.const $push815=, 0x1.f8a006bd80cbep-18
- f64.add $push816=, $pop814, $pop815
- f64.mul $push817=, $0, $pop816
- f64.const $push818=, 0x1.392189bd8383bp-10
- f64.add $push819=, $pop817, $pop818
- f64.mul $push820=, $0, $pop819
- f64.const $push821=, 0x1.61e71044f1a1ap-5
- f64.add $2=, $pop820, $pop821
+ f64.add $push803=, $0, $0
+ f64.const $push804=, -0x1.78p5
+ f64.add $0=, $pop803, $pop804
+ f64.const $push805=, 0x1.c5f67cd792795p-48
+ f64.mul $push806=, $0, $pop805
+ f64.const $push807=, 0x1.6fbf3f21de835p-40
+ f64.add $push808=, $pop806, $pop807
+ f64.mul $push809=, $0, $pop808
+ f64.const $push810=, 0x1.13352fc9a645bp-32
+ f64.add $push811=, $pop809, $pop810
+ f64.mul $push812=, $0, $pop811
+ f64.const $push813=, 0x1.805fb190d49p-25
+ f64.add $push814=, $pop812, $pop813
+ f64.mul $push815=, $0, $pop814
+ f64.const $push816=, 0x1.f8a006bd80cbep-18
+ f64.add $push817=, $pop815, $pop816
+ f64.mul $push818=, $0, $pop817
+ f64.const $push819=, 0x1.392189bd8383bp-10
+ f64.add $push820=, $pop818, $pop819
+ f64.mul $push821=, $0, $pop820
+ f64.const $push822=, 0x1.61e71044f1a1ap-5
+ f64.add $1=, $pop821, $pop822
br 40 # 40: down to label0
.LBB0_26: # %sw.bb357
end_block # label40:
- f64.add $push782=, $0, $0
- f64.const $push783=, -0x1.88p5
- f64.add $0=, $pop782, $pop783
- f64.const $push784=, 0x1.e2c1ce7d17156p-48
- f64.mul $push785=, $0, $pop784
- f64.const $push786=, 0x1.85b3bd2b88744p-40
- f64.add $push787=, $pop785, $pop786
- f64.mul $push788=, $0, $pop787
- f64.const $push789=, 0x1.21ff066d70de7p-32
- f64.add $push790=, $pop788, $pop789
- f64.mul $push791=, $0, $pop790
- f64.const $push792=, 0x1.9208e2ab83a8p-25
- f64.add $push793=, $pop791, $pop792
- f64.mul $push794=, $0, $pop793
- f64.const $push795=, 0x1.0586cf27f6074p-17
- f64.add $push796=, $pop794, $pop795
- f64.mul $push797=, $0, $pop796
- f64.const $push798=, 0x1.412711bcc0e61p-10
- f64.add $push799=, $pop797, $pop798
- f64.mul $push800=, $0, $pop799
- f64.const $push801=, 0x1.75ba2be0589adp-5
- f64.add $2=, $pop800, $pop801
+ f64.add $push783=, $0, $0
+ f64.const $push784=, -0x1.88p5
+ f64.add $0=, $pop783, $pop784
+ f64.const $push785=, 0x1.e2c1ce7d17156p-48
+ f64.mul $push786=, $0, $pop785
+ f64.const $push787=, 0x1.85b3bd2b88744p-40
+ f64.add $push788=, $pop786, $pop787
+ f64.mul $push789=, $0, $pop788
+ f64.const $push790=, 0x1.21ff066d70de7p-32
+ f64.add $push791=, $pop789, $pop790
+ f64.mul $push792=, $0, $pop791
+ f64.const $push793=, 0x1.9208e2ab83a8p-25
+ f64.add $push794=, $pop792, $pop793
+ f64.mul $push795=, $0, $pop794
+ f64.const $push796=, 0x1.0586cf27f6074p-17
+ f64.add $push797=, $pop795, $pop796
+ f64.mul $push798=, $0, $pop797
+ f64.const $push799=, 0x1.412711bcc0e61p-10
+ f64.add $push800=, $pop798, $pop799
+ f64.mul $push801=, $0, $pop800
+ f64.const $push802=, 0x1.75ba2be0589adp-5
+ f64.add $1=, $pop801, $pop802
br 39 # 39: down to label0
.LBB0_27: # %sw.bb372
end_block # label39:
- f64.add $push762=, $0, $0
- f64.const $push763=, -0x1.98p5
- f64.add $0=, $pop762, $pop763
- f64.const $push764=, 0x1.00b39a7a160dp-47
- f64.mul $push765=, $0, $pop764
- f64.const $push766=, 0x1.9d095040f681cp-40
- f64.add $push767=, $pop765, $pop766
- f64.mul $push768=, $0, $pop767
- f64.const $push769=, 0x1.31acdbb7ee971p-32
- f64.add $push770=, $pop768, $pop769
- f64.mul $push771=, $0, $pop770
- f64.const $push772=, 0x1.a4a3f844e2f75p-25
- f64.add $push773=, $pop771, $pop772
- f64.mul $push774=, $0, $pop773
- f64.const $push775=, 0x1.0f2ab2899438cp-17
- f64.add $push776=, $pop774, $pop775
- f64.mul $push777=, $0, $pop776
- f64.const $push778=, 0x1.497d2193ce7e8p-10
- f64.add $push779=, $pop777, $pop778
- f64.mul $push780=, $0, $pop779
- f64.const $push781=, 0x1.8a0f4d7add15fp-5
- f64.add $2=, $pop780, $pop781
+ f64.add $push763=, $0, $0
+ f64.const $push764=, -0x1.98p5
+ f64.add $0=, $pop763, $pop764
+ f64.const $push765=, 0x1.00b39a7a160dp-47
+ f64.mul $push766=, $0, $pop765
+ f64.const $push767=, 0x1.9d095040f681cp-40
+ f64.add $push768=, $pop766, $pop767
+ f64.mul $push769=, $0, $pop768
+ f64.const $push770=, 0x1.31acdbb7ee971p-32
+ f64.add $push771=, $pop769, $pop770
+ f64.mul $push772=, $0, $pop771
+ f64.const $push773=, 0x1.a4a3f844e2f75p-25
+ f64.add $push774=, $pop772, $pop773
+ f64.mul $push775=, $0, $pop774
+ f64.const $push776=, 0x1.0f2ab2899438cp-17
+ f64.add $push777=, $pop775, $pop776
+ f64.mul $push778=, $0, $pop777
+ f64.const $push779=, 0x1.497d2193ce7e8p-10
+ f64.add $push780=, $pop778, $pop779
+ f64.mul $push781=, $0, $pop780
+ f64.const $push782=, 0x1.8a0f4d7add15fp-5
+ f64.add $1=, $pop781, $pop782
br 38 # 38: down to label0
.LBB0_28: # %sw.bb387
end_block # label38:
- f64.add $push742=, $0, $0
- f64.const $push743=, -0x1.d8p5
- f64.add $0=, $pop742, $pop743
- f64.const $push744=, 0x1.4870426dcdb0ep-47
- f64.mul $push745=, $0, $pop744
- f64.const $push746=, 0x1.05189fcd8287bp-39
- f64.add $push747=, $pop745, $pop746
- f64.mul $push748=, $0, $pop747
- f64.const $push749=, 0x1.7a62cc6986c28p-32
- f64.add $push750=, $pop748, $pop749
- f64.mul $push751=, $0, $pop750
- f64.const $push752=, 0x1.f9cae3284854ep-25
- f64.add $push753=, $pop751, $pop752
- f64.mul $push754=, $0, $pop753
- f64.const $push755=, 0x1.3a73b6897e136p-17
- f64.add $push756=, $pop754, $pop755
- f64.mul $push757=, $0, $pop756
- f64.const $push758=, 0x1.6e01655acdabfp-10
- f64.add $push759=, $pop757, $pop758
- f64.mul $push760=, $0, $pop759
- f64.const $push761=, 0x1.e0e30446b69dbp-5
- f64.add $2=, $pop760, $pop761
+ f64.add $push743=, $0, $0
+ f64.const $push744=, -0x1.d8p5
+ f64.add $0=, $pop743, $pop744
+ f64.const $push745=, 0x1.4870426dcdb0ep-47
+ f64.mul $push746=, $0, $pop745
+ f64.const $push747=, 0x1.05189fcd8287bp-39
+ f64.add $push748=, $pop746, $pop747
+ f64.mul $push749=, $0, $pop748
+ f64.const $push750=, 0x1.7a62cc6986c28p-32
+ f64.add $push751=, $pop749, $pop750
+ f64.mul $push752=, $0, $pop751
+ f64.const $push753=, 0x1.f9cae3284854ep-25
+ f64.add $push754=, $pop752, $pop753
+ f64.mul $push755=, $0, $pop754
+ f64.const $push756=, 0x1.3a73b6897e136p-17
+ f64.add $push757=, $pop755, $pop756
+ f64.mul $push758=, $0, $pop757
+ f64.const $push759=, 0x1.6e01655acdabfp-10
+ f64.add $push760=, $pop758, $pop759
+ f64.mul $push761=, $0, $pop760
+ f64.const $push762=, 0x1.e0e30446b69dbp-5
+ f64.add $1=, $pop761, $pop762
br 37 # 37: down to label0
.LBB0_29: # %sw.bb402
end_block # label37:
- f64.add $push722=, $0, $0
- f64.const $push723=, -0x1.3cp6
- f64.add $0=, $pop722, $pop723
- f64.const $push724=, 0x1.2ee9801a347abp-46
- f64.mul $push725=, $0, $pop724
- f64.const $push726=, 0x1.d9aa84ed5f7f8p-39
- f64.add $push727=, $pop725, $pop726
- f64.mul $push728=, $0, $pop727
- f64.const $push729=, 0x1.487d76cb7622ap-31
- f64.add $push730=, $pop728, $pop729
- f64.mul $push731=, $0, $pop730
- f64.const $push732=, 0x1.9a613c8cbadfcp-24
- f64.add $push733=, $pop731, $pop732
- f64.mul $push734=, $0, $pop733
- f64.const $push735=, 0x1.d281dc526a9fdp-17
- f64.add $push736=, $pop734, $pop735
- f64.mul $push737=, $0, $pop736
- f64.const $push738=, 0x1.e61ead6a30f64p-10
- f64.add $push739=, $pop737, $pop738
- f64.mul $push740=, $0, $pop739
- f64.const $push741=, 0x1.745bf26f1dc51p-4
- f64.add $2=, $pop740, $pop741
+ f64.add $push723=, $0, $0
+ f64.const $push724=, -0x1.3cp6
+ f64.add $0=, $pop723, $pop724
+ f64.const $push725=, 0x1.2ee9801a347abp-46
+ f64.mul $push726=, $0, $pop725
+ f64.const $push727=, 0x1.d9aa84ed5f7f8p-39
+ f64.add $push728=, $pop726, $pop727
+ f64.mul $push729=, $0, $pop728
+ f64.const $push730=, 0x1.487d76cb7622ap-31
+ f64.add $push731=, $pop729, $pop730
+ f64.mul $push732=, $0, $pop731
+ f64.const $push733=, 0x1.9a613c8cbadfcp-24
+ f64.add $push734=, $pop732, $pop733
+ f64.mul $push735=, $0, $pop734
+ f64.const $push736=, 0x1.d281dc526a9fdp-17
+ f64.add $push737=, $pop735, $pop736
+ f64.mul $push738=, $0, $pop737
+ f64.const $push739=, 0x1.e61ead6a30f64p-10
+ f64.add $push740=, $pop738, $pop739
+ f64.mul $push741=, $0, $pop740
+ f64.const $push742=, 0x1.745bf26f1dc51p-4
+ f64.add $1=, $pop741, $pop742
br 36 # 36: down to label0
.LBB0_30: # %sw.bb417
end_block # label36:
- f64.add $push702=, $0, $0
- f64.const $push703=, -0x1.8cp6
- f64.add $0=, $pop702, $pop703
- f64.const $push704=, 0x1.11ed4c2f43d7ep-45
- f64.mul $push705=, $0, $pop704
- f64.const $push706=, 0x1.af109a3630d2ep-38
- f64.add $push707=, $pop705, $pop706
- f64.mul $push708=, $0, $pop707
- f64.const $push709=, 0x1.22f550d281614p-30
- f64.add $push710=, $pop708, $pop709
- f64.mul $push711=, $0, $pop710
- f64.const $push712=, 0x1.5782f0a3274a4p-23
- f64.add $push713=, $pop711, $pop712
- f64.mul $push714=, $0, $pop713
- f64.const $push715=, 0x1.66c7e028f516cp-16
- f64.add $push716=, $pop714, $pop715
- f64.mul $push717=, $0, $pop716
- f64.const $push718=, 0x1.4de48f6131734p-9
- f64.add $push719=, $pop717, $pop718
- f64.mul $push720=, $0, $pop719
- f64.const $push721=, 0x1.1350092ccf6bep-3
- f64.add $2=, $pop720, $pop721
+ f64.add $push703=, $0, $0
+ f64.const $push704=, -0x1.8cp6
+ f64.add $0=, $pop703, $pop704
+ f64.const $push705=, 0x1.11ed4c2f43d7ep-45
+ f64.mul $push706=, $0, $pop705
+ f64.const $push707=, 0x1.af109a3630d2ep-38
+ f64.add $push708=, $pop706, $pop707
+ f64.mul $push709=, $0, $pop708
+ f64.const $push710=, 0x1.22f550d281614p-30
+ f64.add $push711=, $pop709, $pop710
+ f64.mul $push712=, $0, $pop711
+ f64.const $push713=, 0x1.5782f0a3274a4p-23
+ f64.add $push714=, $pop712, $pop713
+ f64.mul $push715=, $0, $pop714
+ f64.const $push716=, 0x1.66c7e028f516cp-16
+ f64.add $push717=, $pop715, $pop716
+ f64.mul $push718=, $0, $pop717
+ f64.const $push719=, 0x1.4de48f6131734p-9
+ f64.add $push720=, $pop718, $pop719
+ f64.mul $push721=, $0, $pop720
+ f64.const $push722=, 0x1.1350092ccf6bep-3
+ f64.add $1=, $pop721, $pop722
br 35 # 35: down to label0
.LBB0_31: # %sw.bb432
end_block # label35:
- f64.add $push682=, $0, $0
- f64.const $push683=, -0x1.dcp6
- f64.add $0=, $pop682, $pop683
- f64.const $push684=, 0x1.dcc29389c0b3bp-45
- f64.mul $push685=, $0, $pop684
- f64.const $push686=, 0x1.83c457cdf69a8p-37
- f64.add $push687=, $pop685, $pop686
- f64.mul $push688=, $0, $pop687
- f64.const $push689=, 0x1.043a1711a52c6p-29
- f64.add $push690=, $pop688, $pop689
- f64.mul $push691=, $0, $pop690
- f64.const $push692=, 0x1.270db3366ba97p-22
- f64.add $push693=, $pop691, $pop692
- f64.mul $push694=, $0, $pop693
- f64.const $push695=, 0x1.1e049a3af6987p-15
- f64.add $push696=, $pop694, $pop695
- f64.mul $push697=, $0, $pop696
- f64.const $push698=, 0x1.dc57844b53bb7p-9
- f64.add $push699=, $pop697, $pop698
- f64.mul $push700=, $0, $pop699
- f64.const $push701=, 0x1.902de00d1b717p-3
- f64.add $2=, $pop700, $pop701
+ f64.add $push683=, $0, $0
+ f64.const $push684=, -0x1.dcp6
+ f64.add $0=, $pop683, $pop684
+ f64.const $push685=, 0x1.dcc29389c0b3bp-45
+ f64.mul $push686=, $0, $pop685
+ f64.const $push687=, 0x1.83c457cdf69a8p-37
+ f64.add $push688=, $pop686, $pop687
+ f64.mul $push689=, $0, $pop688
+ f64.const $push690=, 0x1.043a1711a52c6p-29
+ f64.add $push691=, $pop689, $pop690
+ f64.mul $push692=, $0, $pop691
+ f64.const $push693=, 0x1.270db3366ba97p-22
+ f64.add $push694=, $pop692, $pop693
+ f64.mul $push695=, $0, $pop694
+ f64.const $push696=, 0x1.1e049a3af6987p-15
+ f64.add $push697=, $pop695, $pop696
+ f64.mul $push698=, $0, $pop697
+ f64.const $push699=, 0x1.dc57844b53bb7p-9
+ f64.add $push700=, $pop698, $pop699
+ f64.mul $push701=, $0, $pop700
+ f64.const $push702=, 0x1.902de00d1b717p-3
+ f64.add $1=, $pop701, $pop702
br 34 # 34: down to label0
.LBB0_32: # %sw.bb447
end_block # label34:
- f64.add $push662=, $0, $0
- f64.const $push663=, -0x1.e4p6
- f64.add $0=, $pop662, $pop663
- f64.const $push664=, 0x1.f682fb42899afp-45
- f64.mul $push665=, $0, $pop664
- f64.const $push666=, 0x1.9ab5097251322p-37
- f64.add $push667=, $pop665, $pop666
- f64.mul $push668=, $0, $pop667
- f64.const $push669=, 0x1.13cfff76e3d9cp-29
- f64.add $push670=, $pop668, $pop669
- f64.mul $push671=, $0, $pop670
- f64.const $push672=, 0x1.37cb0bef2ef1ep-22
- f64.add $push673=, $pop671, $pop672
- f64.mul $push674=, $0, $pop673
- f64.const $push675=, 0x1.2c3c9655b9bd4p-15
- f64.add $push676=, $pop674, $pop675
- f64.mul $push677=, $0, $pop676
- f64.const $push678=, 0x1.eea7122820b08p-9
- f64.add $push679=, $pop677, $pop678
- f64.mul $push680=, $0, $pop679
- f64.const $push681=, 0x1.9f5ad96a6a012p-3
- f64.add $2=, $pop680, $pop681
+ f64.add $push663=, $0, $0
+ f64.const $push664=, -0x1.e4p6
+ f64.add $0=, $pop663, $pop664
+ f64.const $push665=, 0x1.f682fb42899afp-45
+ f64.mul $push666=, $0, $pop665
+ f64.const $push667=, 0x1.9ab5097251322p-37
+ f64.add $push668=, $pop666, $pop667
+ f64.mul $push669=, $0, $pop668
+ f64.const $push670=, 0x1.13cfff76e3d9cp-29
+ f64.add $push671=, $pop669, $pop670
+ f64.mul $push672=, $0, $pop671
+ f64.const $push673=, 0x1.37cb0bef2ef1ep-22
+ f64.add $push674=, $pop672, $pop673
+ f64.mul $push675=, $0, $pop674
+ f64.const $push676=, 0x1.2c3c9655b9bd4p-15
+ f64.add $push677=, $pop675, $pop676
+ f64.mul $push678=, $0, $pop677
+ f64.const $push679=, 0x1.eea7122820b08p-9
+ f64.add $push680=, $pop678, $pop679
+ f64.mul $push681=, $0, $pop680
+ f64.const $push682=, 0x1.9f5ad96a6a012p-3
+ f64.add $1=, $pop681, $pop682
br 33 # 33: down to label0
.LBB0_33: # %sw.bb462
end_block # label33:
- f64.add $push642=, $0, $0
- f64.const $push643=, -0x1.ecp6
- f64.add $0=, $pop642, $pop643
- f64.const $push644=, 0x1.08ad32632c073p-44
- f64.mul $push645=, $0, $pop644
- f64.const $push646=, 0x1.b2e9fd6fd80ddp-37
- f64.add $push647=, $pop645, $pop646
- f64.mul $push648=, $0, $pop647
- f64.const $push649=, 0x1.245528d098f79p-29
- f64.add $push650=, $pop648, $pop649
- f64.mul $push651=, $0, $pop650
- f64.const $push652=, 0x1.498ac7468b8cbp-22
- f64.add $push653=, $pop651, $pop652
- f64.mul $push654=, $0, $pop653
- f64.const $push655=, 0x1.3b42baff5eb43p-15
- f64.add $push656=, $pop654, $pop655
- f64.mul $push657=, $0, $pop656
- f64.const $push658=, 0x1.00f0c0c7dbcc4p-8
- f64.add $push659=, $pop657, $pop658
- f64.mul $push660=, $0, $pop659
- f64.const $push661=, 0x1.af1a9fbe76c8bp-3
- f64.add $2=, $pop660, $pop661
+ f64.add $push643=, $0, $0
+ f64.const $push644=, -0x1.ecp6
+ f64.add $0=, $pop643, $pop644
+ f64.const $push645=, 0x1.08ad32632c073p-44
+ f64.mul $push646=, $0, $pop645
+ f64.const $push647=, 0x1.b2e9fd6fd80ddp-37
+ f64.add $push648=, $pop646, $pop647
+ f64.mul $push649=, $0, $pop648
+ f64.const $push650=, 0x1.245528d098f79p-29
+ f64.add $push651=, $pop649, $pop650
+ f64.mul $push652=, $0, $pop651
+ f64.const $push653=, 0x1.498ac7468b8cbp-22
+ f64.add $push654=, $pop652, $pop653
+ f64.mul $push655=, $0, $pop654
+ f64.const $push656=, 0x1.3b42baff5eb43p-15
+ f64.add $push657=, $pop655, $pop656
+ f64.mul $push658=, $0, $pop657
+ f64.const $push659=, 0x1.00f0c0c7dbcc4p-8
+ f64.add $push660=, $pop658, $pop659
+ f64.mul $push661=, $0, $pop660
+ f64.const $push662=, 0x1.af1a9fbe76c8bp-3
+ f64.add $1=, $pop661, $pop662
br 32 # 32: down to label0
.LBB0_34: # %sw.bb477
end_block # label32:
- f64.add $push622=, $0, $0
- f64.const $push623=, -0x1.f4p6
- f64.add $0=, $pop622, $pop623
- f64.const $push624=, 0x1.16a6b65650415p-44
- f64.mul $push625=, $0, $pop624
- f64.const $push626=, 0x1.cc5a31eebbb9ep-37
- f64.add $push627=, $pop625, $pop626
- f64.mul $push628=, $0, $pop627
- f64.const $push629=, 0x1.35d09c8f5e982p-29
- f64.add $push630=, $pop628, $pop629
- f64.mul $push631=, $0, $pop630
- f64.const $push632=, 0x1.5c5aa3ac6e65cp-22
- f64.add $push633=, $pop631, $pop632
- f64.mul $push634=, $0, $pop633
- f64.const $push635=, 0x1.4b261082509f2p-15
- f64.add $push636=, $pop634, $pop635
- f64.mul $push637=, $0, $pop636
- f64.const $push638=, 0x1.0b0a1f3db2e8fp-8
- f64.add $push639=, $pop637, $pop638
- f64.mul $push640=, $0, $pop639
- f64.const $push641=, 0x1.bf77af640639dp-3
- f64.add $2=, $pop640, $pop641
+ f64.add $push623=, $0, $0
+ f64.const $push624=, -0x1.f4p6
+ f64.add $0=, $pop623, $pop624
+ f64.const $push625=, 0x1.16a6b65650415p-44
+ f64.mul $push626=, $0, $pop625
+ f64.const $push627=, 0x1.cc5a31eebbb9ep-37
+ f64.add $push628=, $pop626, $pop627
+ f64.mul $push629=, $0, $pop628
+ f64.const $push630=, 0x1.35d09c8f5e982p-29
+ f64.add $push631=, $pop629, $pop630
+ f64.mul $push632=, $0, $pop631
+ f64.const $push633=, 0x1.5c5aa3ac6e65cp-22
+ f64.add $push634=, $pop632, $pop633
+ f64.mul $push635=, $0, $pop634
+ f64.const $push636=, 0x1.4b261082509f2p-15
+ f64.add $push637=, $pop635, $pop636
+ f64.mul $push638=, $0, $pop637
+ f64.const $push639=, 0x1.0b0a1f3db2e8fp-8
+ f64.add $push640=, $pop638, $pop639
+ f64.mul $push641=, $0, $pop640
+ f64.const $push642=, 0x1.bf77af640639dp-3
+ f64.add $1=, $pop641, $pop642
br 31 # 31: down to label0
.LBB0_35: # %sw.bb492
end_block # label31:
- f64.add $push602=, $0, $0
- f64.const $push603=, -0x1.fcp6
- f64.add $0=, $pop602, $pop603
- f64.const $push604=, 0x1.252f30a08e99p-44
- f64.mul $push605=, $0, $pop604
- f64.const $push606=, 0x1.e729ae4e3a05p-37
- f64.add $push607=, $pop605, $pop606
- f64.mul $push608=, $0, $pop607
- f64.const $push609=, 0x1.48506d9468e04p-29
- f64.add $push610=, $pop608, $pop609
- f64.mul $push611=, $0, $pop610
- f64.const $push612=, 0x1.704b1f40c0981p-22
- f64.add $push613=, $pop611, $pop612
- f64.mul $push614=, $0, $pop613
- f64.const $push615=, 0x1.5bef2de483919p-15
- f64.add $push616=, $pop614, $pop615
- f64.mul $push617=, $0, $pop616
- f64.const $push618=, 0x1.15a65a723c5d8p-8
- f64.add $push619=, $pop617, $pop618
- f64.mul $push620=, $0, $pop619
- f64.const $push621=, 0x1.d07c84b5dcc64p-3
- f64.add $2=, $pop620, $pop621
+ f64.add $push603=, $0, $0
+ f64.const $push604=, -0x1.fcp6
+ f64.add $0=, $pop603, $pop604
+ f64.const $push605=, 0x1.252f30a08e99p-44
+ f64.mul $push606=, $0, $pop605
+ f64.const $push607=, 0x1.e729ae4e3a05p-37
+ f64.add $push608=, $pop606, $pop607
+ f64.mul $push609=, $0, $pop608
+ f64.const $push610=, 0x1.48506d9468e04p-29
+ f64.add $push611=, $pop609, $pop610
+ f64.mul $push612=, $0, $pop611
+ f64.const $push613=, 0x1.704b1f40c0981p-22
+ f64.add $push614=, $pop612, $pop613
+ f64.mul $push615=, $0, $pop614
+ f64.const $push616=, 0x1.5bef2de483919p-15
+ f64.add $push617=, $pop615, $pop616
+ f64.mul $push618=, $0, $pop617
+ f64.const $push619=, 0x1.15a65a723c5d8p-8
+ f64.add $push620=, $pop618, $pop619
+ f64.mul $push621=, $0, $pop620
+ f64.const $push622=, 0x1.d07c84b5dcc64p-3
+ f64.add $1=, $pop621, $pop622
br 30 # 30: down to label0
.LBB0_36: # %sw.bb507
end_block # label30:
- f64.add $push582=, $0, $0
- f64.const $push583=, -0x1.02p7
- f64.add $0=, $pop582, $pop583
- f64.const $push584=, 0x1.3448ef8da1489p-44
- f64.mul $push585=, $0, $pop584
- f64.const $push586=, 0x1.01ac394729779p-36
- f64.add $push587=, $pop585, $pop586
- f64.mul $push588=, $0, $pop587
- f64.const $push589=, 0x1.5be2aec0ebf4bp-29
- f64.add $push590=, $pop588, $pop589
- f64.mul $push591=, $0, $pop590
- f64.const $push592=, 0x1.856cb8236b3ecp-22
- f64.add $push593=, $pop591, $pop592
- f64.mul $push594=, $0, $pop593
- f64.const $push595=, 0x1.6db166f35cb72p-15
- f64.add $push596=, $pop594, $pop595
- f64.mul $push597=, $0, $pop596
- f64.const $push598=, 0x1.20cc28621ed91p-8
- f64.add $push599=, $pop597, $pop598
- f64.mul $push600=, $0, $pop599
- f64.const $push601=, 0x1.e2339c0ebedfap-3
- f64.add $2=, $pop600, $pop601
+ f64.add $push583=, $0, $0
+ f64.const $push584=, -0x1.02p7
+ f64.add $0=, $pop583, $pop584
+ f64.const $push585=, 0x1.3448ef8da1489p-44
+ f64.mul $push586=, $0, $pop585
+ f64.const $push587=, 0x1.01ac394729779p-36
+ f64.add $push588=, $pop586, $pop587
+ f64.mul $push589=, $0, $pop588
+ f64.const $push590=, 0x1.5be2aec0ebf4bp-29
+ f64.add $push591=, $pop589, $pop590
+ f64.mul $push592=, $0, $pop591
+ f64.const $push593=, 0x1.856cb8236b3ecp-22
+ f64.add $push594=, $pop592, $pop593
+ f64.mul $push595=, $0, $pop594
+ f64.const $push596=, 0x1.6db166f35cb72p-15
+ f64.add $push597=, $pop595, $pop596
+ f64.mul $push598=, $0, $pop597
+ f64.const $push599=, 0x1.20cc28621ed91p-8
+ f64.add $push600=, $pop598, $pop599
+ f64.mul $push601=, $0, $pop600
+ f64.const $push602=, 0x1.e2339c0ebedfap-3
+ f64.add $1=, $pop601, $pop602
br 29 # 29: down to label0
.LBB0_37: # %sw.bb522
end_block # label29:
- f64.add $push562=, $0, $0
- f64.const $push563=, -0x1.06p7
- f64.add $0=, $pop562, $pop563
- f64.const $push564=, 0x1.43f51a43656d1p-44
- f64.mul $push565=, $0, $pop564
- f64.const $push566=, 0x1.107c412f52afep-36
- f64.add $push567=, $pop565, $pop566
- f64.mul $push568=, $0, $pop567
- f64.const $push569=, 0x1.7098f7ae69034p-29
- f64.add $push570=, $pop568, $pop569
- f64.mul $push571=, $0, $pop570
- f64.const $push572=, 0x1.9bcd2cc45b459p-22
- f64.add $push573=, $pop571, $pop572
- f64.mul $push574=, $0, $pop573
- f64.const $push575=, 0x1.807778764d281p-15
- f64.add $push576=, $pop574, $pop575
- f64.mul $push577=, $0, $pop576
- f64.const $push578=, 0x1.2c83ec892ab69p-8
- f64.add $push579=, $pop577, $pop578
- f64.mul $push580=, $0, $pop579
- f64.const $push581=, 0x1.f49cf56eac86p-3
- f64.add $2=, $pop580, $pop581
+ f64.add $push563=, $0, $0
+ f64.const $push564=, -0x1.06p7
+ f64.add $0=, $pop563, $pop564
+ f64.const $push565=, 0x1.43f51a43656d1p-44
+ f64.mul $push566=, $0, $pop565
+ f64.const $push567=, 0x1.107c412f52afep-36
+ f64.add $push568=, $pop566, $pop567
+ f64.mul $push569=, $0, $pop568
+ f64.const $push570=, 0x1.7098f7ae69034p-29
+ f64.add $push571=, $pop569, $pop570
+ f64.mul $push572=, $0, $pop571
+ f64.const $push573=, 0x1.9bcd2cc45b459p-22
+ f64.add $push574=, $pop572, $pop573
+ f64.mul $push575=, $0, $pop574
+ f64.const $push576=, 0x1.807778764d281p-15
+ f64.add $push577=, $pop575, $pop576
+ f64.mul $push578=, $0, $pop577
+ f64.const $push579=, 0x1.2c83ec892ab69p-8
+ f64.add $push580=, $pop578, $pop579
+ f64.mul $push581=, $0, $pop580
+ f64.const $push582=, 0x1.f49cf56eac86p-3
+ f64.add $1=, $pop581, $pop582
br 28 # 28: down to label0
.LBB0_38: # %sw.bb537
end_block # label28:
- f64.add $push542=, $0, $0
- f64.const $push543=, -0x1.0ap7
- f64.add $0=, $pop542, $pop543
- f64.const $push544=, 0x1.5434d7e7b823ap-44
- f64.mul $push545=, $0, $pop544
- f64.const $push546=, 0x1.200df0b7681fp-36
- f64.add $push547=, $pop545, $pop546
- f64.mul $push548=, $0, $pop547
- f64.const $push549=, 0x1.867a51cd7a1e6p-29
- f64.add $push550=, $pop548, $pop549
- f64.mul $push551=, $0, $pop550
- f64.const $push552=, 0x1.b3853a536e553p-22
- f64.add $push553=, $pop551, $pop552
- f64.mul $push554=, $0, $pop553
- f64.const $push555=, 0x1.945290793d0b5p-15
- f64.add $push556=, $pop554, $pop555
- f64.mul $push557=, $0, $pop556
- f64.const $push558=, 0x1.38d60a633051p-8
- f64.add $push559=, $pop557, $pop558
- f64.mul $push560=, $0, $pop559
- f64.const $push561=, 0x1.03e1869835159p-2
- f64.add $2=, $pop560, $pop561
+ f64.add $push543=, $0, $0
+ f64.const $push544=, -0x1.0ap7
+ f64.add $0=, $pop543, $pop544
+ f64.const $push545=, 0x1.5434d7e7b823ap-44
+ f64.mul $push546=, $0, $pop545
+ f64.const $push547=, 0x1.200df0b7681fp-36
+ f64.add $push548=, $pop546, $pop547
+ f64.mul $push549=, $0, $pop548
+ f64.const $push550=, 0x1.867a51cd7a1e6p-29
+ f64.add $push551=, $pop549, $pop550
+ f64.mul $push552=, $0, $pop551
+ f64.const $push553=, 0x1.b3853a536e553p-22
+ f64.add $push554=, $pop552, $pop553
+ f64.mul $push555=, $0, $pop554
+ f64.const $push556=, 0x1.945290793d0b5p-15
+ f64.add $push557=, $pop555, $pop556
+ f64.mul $push558=, $0, $pop557
+ f64.const $push559=, 0x1.38d60a633051p-8
+ f64.add $push560=, $pop558, $pop559
+ f64.mul $push561=, $0, $pop560
+ f64.const $push562=, 0x1.03e1869835159p-2
+ f64.add $1=, $pop561, $pop562
br 27 # 27: down to label0
.LBB0_39: # %sw.bb552
end_block # label27:
- f64.add $push522=, $0, $0
- f64.const $push523=, -0x1.0ep7
- f64.add $0=, $pop522, $pop523
- f64.const $push524=, 0x1.65094fa076898p-44
- f64.mul $push525=, $0, $pop524
- f64.const $push526=, 0x1.3065c8cb517eep-36
- f64.add $push527=, $pop525, $pop526
- f64.mul $push528=, $0, $pop527
- f64.const $push529=, 0x1.9d9f5e283a865p-29
- f64.add $push530=, $pop528, $pop529
- f64.mul $push531=, $0, $pop530
- f64.const $push532=, 0x1.cca55ef08d88ap-22
- f64.add $push533=, $pop531, $pop532
- f64.mul $push534=, $0, $pop533
- f64.const $push535=, 0x1.a951b7469782dp-15
- f64.add $push536=, $pop534, $pop535
- f64.mul $push537=, $0, $pop536
- f64.const $push538=, 0x1.45cc92eb29af2p-8
- f64.add $push539=, $pop537, $pop538
- f64.mul $push540=, $0, $pop539
- f64.const $push541=, 0x1.0ddd6e04c0592p-2
- f64.add $2=, $pop540, $pop541
+ f64.add $push523=, $0, $0
+ f64.const $push524=, -0x1.0ep7
+ f64.add $0=, $pop523, $pop524
+ f64.const $push525=, 0x1.65094fa076898p-44
+ f64.mul $push526=, $0, $pop525
+ f64.const $push527=, 0x1.3065c8cb517eep-36
+ f64.add $push528=, $pop526, $pop527
+ f64.mul $push529=, $0, $pop528
+ f64.const $push530=, 0x1.9d9f5e283a865p-29
+ f64.add $push531=, $pop529, $pop530
+ f64.mul $push532=, $0, $pop531
+ f64.const $push533=, 0x1.cca55ef08d88ap-22
+ f64.add $push534=, $pop532, $pop533
+ f64.mul $push535=, $0, $pop534
+ f64.const $push536=, 0x1.a951b7469782dp-15
+ f64.add $push537=, $pop535, $pop536
+ f64.mul $push538=, $0, $pop537
+ f64.const $push539=, 0x1.45cc92eb29af2p-8
+ f64.add $push540=, $pop538, $pop539
+ f64.mul $push541=, $0, $pop540
+ f64.const $push542=, 0x1.0ddd6e04c0592p-2
+ f64.add $1=, $pop541, $pop542
br 26 # 26: down to label0
.LBB0_40: # %sw.bb567
end_block # label26:
- f64.add $push502=, $0, $0
- f64.const $push503=, -0x1.12p7
- f64.add $0=, $pop502, $pop503
- f64.const $push504=, 0x1.7672816da09eap-44
- f64.mul $push505=, $0, $pop504
- f64.const $push506=, 0x1.41884a56f6894p-36
- f64.add $push507=, $pop505, $pop506
- f64.mul $push508=, $0, $pop507
- f64.const $push509=, 0x1.b612aae79156ap-29
- f64.add $push510=, $pop508, $pop509
- f64.mul $push511=, $0, $pop510
- f64.const $push512=, 0x1.e740d86b9e2a1p-22
- f64.add $push513=, $pop511, $pop512
- f64.mul $push514=, $0, $pop513
- f64.const $push515=, 0x1.bf8840abc1ba5p-15
- f64.add $push516=, $pop514, $pop515
- f64.mul $push517=, $0, $pop516
- f64.const $push518=, 0x1.536e3c1dbd803p-8
- f64.add $push519=, $pop517, $pop518
- f64.mul $push520=, $0, $pop519
- f64.const $push521=, 0x1.184230fcf80dcp-2
- f64.add $2=, $pop520, $pop521
+ f64.add $push503=, $0, $0
+ f64.const $push504=, -0x1.12p7
+ f64.add $0=, $pop503, $pop504
+ f64.const $push505=, 0x1.7672816da09eap-44
+ f64.mul $push506=, $0, $pop505
+ f64.const $push507=, 0x1.41884a56f6894p-36
+ f64.add $push508=, $pop506, $pop507
+ f64.mul $push509=, $0, $pop508
+ f64.const $push510=, 0x1.b612aae79156ap-29
+ f64.add $push511=, $pop509, $pop510
+ f64.mul $push512=, $0, $pop511
+ f64.const $push513=, 0x1.e740d86b9e2a1p-22
+ f64.add $push514=, $pop512, $pop513
+ f64.mul $push515=, $0, $pop514
+ f64.const $push516=, 0x1.bf8840abc1ba5p-15
+ f64.add $push517=, $pop515, $pop516
+ f64.mul $push518=, $0, $pop517
+ f64.const $push519=, 0x1.536e3c1dbd803p-8
+ f64.add $push520=, $pop518, $pop519
+ f64.mul $push521=, $0, $pop520
+ f64.const $push522=, 0x1.184230fcf80dcp-2
+ f64.add $1=, $pop521, $pop522
br 25 # 25: down to label0
.LBB0_41: # %sw.bb582
end_block # label25:
- f64.add $push482=, $0, $0
- f64.const $push483=, -0x1.16p7
- f64.add $0=, $pop482, $pop483
- f64.const $push484=, 0x1.88706d4f3663p-44
- f64.mul $push485=, $0, $pop484
- f64.const $push486=, 0x1.5382f81e0e6bap-36
- f64.add $push487=, $pop485, $pop486
- f64.mul $push488=, $0, $pop487
- f64.const $push489=, 0x1.cfe24aecb2b41p-29
- f64.add $push490=, $pop488, $pop489
- f64.mul $push491=, $0, $pop490
- f64.const $push492=, 0x1.01b6d22240d98p-21
- f64.add $push493=, $pop491, $pop492
- f64.mul $push494=, $0, $pop493
- f64.const $push495=, 0x1.d70534f326d3bp-15
- f64.add $push496=, $pop494, $pop495
- f64.mul $push497=, $0, $pop496
- f64.const $push498=, 0x1.61c871f439226p-8
- f64.add $push499=, $pop497, $pop498
- f64.mul $push500=, $0, $pop499
- f64.const $push501=, 0x1.23150dae3e6c5p-2
- f64.add $2=, $pop500, $pop501
+ f64.add $push483=, $0, $0
+ f64.const $push484=, -0x1.16p7
+ f64.add $0=, $pop483, $pop484
+ f64.const $push485=, 0x1.88706d4f3663p-44
+ f64.mul $push486=, $0, $pop485
+ f64.const $push487=, 0x1.5382f81e0e6bap-36
+ f64.add $push488=, $pop486, $pop487
+ f64.mul $push489=, $0, $pop488
+ f64.const $push490=, 0x1.cfe24aecb2b41p-29
+ f64.add $push491=, $pop489, $pop490
+ f64.mul $push492=, $0, $pop491
+ f64.const $push493=, 0x1.01b6d22240d98p-21
+ f64.add $push494=, $pop492, $pop493
+ f64.mul $push495=, $0, $pop494
+ f64.const $push496=, 0x1.d70534f326d3bp-15
+ f64.add $push497=, $pop495, $pop496
+ f64.mul $push498=, $0, $pop497
+ f64.const $push499=, 0x1.61c871f439226p-8
+ f64.add $push500=, $pop498, $pop499
+ f64.mul $push501=, $0, $pop500
+ f64.const $push502=, 0x1.23150dae3e6c5p-2
+ f64.add $1=, $pop501, $pop502
br 24 # 24: down to label0
.LBB0_42: # %sw.bb597
end_block # label24:
- f64.add $push462=, $0, $0
- f64.const $push463=, -0x1.1ap7
- f64.add $0=, $pop462, $pop463
- f64.const $push464=, 0x1.9b01ec1f5ab98p-44
- f64.mul $push465=, $0, $pop464
- f64.const $push466=, 0x1.6655d22099262p-36
- f64.add $push467=, $pop465, $pop466
- f64.mul $push468=, $0, $pop467
- f64.const $push469=, 0x1.eb235a896cd5bp-29
- f64.add $push470=, $pop468, $pop469
- f64.mul $push471=, $0, $pop470
- f64.const $push472=, 0x1.10a23fd58ae5ep-21
- f64.add $push473=, $pop471, $pop472
- f64.mul $push474=, $0, $pop473
- f64.const $push475=, 0x1.efe0336d26046p-15
- f64.add $push476=, $pop474, $pop475
- f64.mul $push477=, $0, $pop476
- f64.const $push478=, 0x1.70e397ea6cf0cp-8
- f64.add $push479=, $pop477, $pop478
- f64.mul $push480=, $0, $pop479
- f64.const $push481=, 0x1.2e60807357e67p-2
- f64.add $2=, $pop480, $pop481
+ f64.add $push463=, $0, $0
+ f64.const $push464=, -0x1.1ap7
+ f64.add $0=, $pop463, $pop464
+ f64.const $push465=, 0x1.9b01ec1f5ab98p-44
+ f64.mul $push466=, $0, $pop465
+ f64.const $push467=, 0x1.6655d22099262p-36
+ f64.add $push468=, $pop466, $pop467
+ f64.mul $push469=, $0, $pop468
+ f64.const $push470=, 0x1.eb235a896cd5bp-29
+ f64.add $push471=, $pop469, $pop470
+ f64.mul $push472=, $0, $pop471
+ f64.const $push473=, 0x1.10a23fd58ae5ep-21
+ f64.add $push474=, $pop472, $pop473
+ f64.mul $push475=, $0, $pop474
+ f64.const $push476=, 0x1.efe0336d26046p-15
+ f64.add $push477=, $pop475, $pop476
+ f64.mul $push478=, $0, $pop477
+ f64.const $push479=, 0x1.70e397ea6cf0cp-8
+ f64.add $push480=, $pop478, $pop479
+ f64.mul $push481=, $0, $pop480
+ f64.const $push482=, 0x1.2e60807357e67p-2
+ f64.add $1=, $pop481, $pop482
br 23 # 23: down to label0
.LBB0_43: # %sw.bb612
end_block # label23:
- f64.add $push442=, $0, $0
- f64.const $push443=, -0x1.1ep7
- f64.add $0=, $pop442, $pop443
- f64.const $push444=, 0x1.ae26fdde0da22p-44
- f64.mul $push445=, $0, $pop444
- f64.const $push446=, 0x1.7a0e5b224de62p-36
- f64.add $push447=, $pop445, $pop446
- f64.mul $push448=, $0, $pop447
- f64.const $push449=, 0x1.03f1f64f79f02p-28
- f64.add $push450=, $pop448, $pop449
- f64.mul $push451=, $0, $pop450
- f64.const $push452=, 0x1.206db40f9df7p-21
- f64.add $push453=, $pop451, $pop452
- f64.mul $push454=, $0, $pop453
- f64.const $push455=, 0x1.051647f3923c1p-14
- f64.add $push456=, $pop454, $pop455
- f64.mul $push457=, $0, $pop456
- f64.const $push458=, 0x1.80c9befb52f21p-8
- f64.add $push459=, $pop457, $pop458
- f64.mul $push460=, $0, $pop459
- f64.const $push461=, 0x1.3a272862f598ap-2
- f64.add $2=, $pop460, $pop461
+ f64.add $push443=, $0, $0
+ f64.const $push444=, -0x1.1ep7
+ f64.add $0=, $pop443, $pop444
+ f64.const $push445=, 0x1.ae26fdde0da22p-44
+ f64.mul $push446=, $0, $pop445
+ f64.const $push447=, 0x1.7a0e5b224de62p-36
+ f64.add $push448=, $pop446, $pop447
+ f64.mul $push449=, $0, $pop448
+ f64.const $push450=, 0x1.03f1f64f79f02p-28
+ f64.add $push451=, $pop449, $pop450
+ f64.mul $push452=, $0, $pop451
+ f64.const $push453=, 0x1.206db40f9df7p-21
+ f64.add $push454=, $pop452, $pop453
+ f64.mul $push455=, $0, $pop454
+ f64.const $push456=, 0x1.051647f3923c1p-14
+ f64.add $push457=, $pop455, $pop456
+ f64.mul $push458=, $0, $pop457
+ f64.const $push459=, 0x1.80c9befb52f21p-8
+ f64.add $push460=, $pop458, $pop459
+ f64.mul $push461=, $0, $pop460
+ f64.const $push462=, 0x1.3a272862f598ap-2
+ f64.add $1=, $pop461, $pop462
br 22 # 22: down to label0
.LBB0_44: # %sw.bb627
end_block # label22:
- f64.add $push422=, $0, $0
- f64.const $push423=, -0x1.22p7
- f64.add $0=, $pop422, $pop423
- f64.const $push424=, 0x1.c1de7b6571ffbp-44
- f64.mul $push425=, $0, $pop424
- f64.const $push426=, 0x1.8eac93232cabap-36
- f64.add $push427=, $pop425, $pop426
- f64.mul $push428=, $0, $pop427
- f64.const $push429=, 0x1.131e511bb18ap-28
- f64.add $push430=, $pop428, $pop429
- f64.mul $push431=, $0, $pop430
- f64.const $push432=, 0x1.31242d906ac99p-21
- f64.add $push433=, $pop431, $pop432
- f64.mul $push434=, $0, $pop433
- f64.const $push435=, 0x1.12fecf1743ad4p-14
- f64.add $push436=, $pop434, $pop435
- f64.mul $push437=, $0, $pop436
- f64.const $push438=, 0x1.918a009f62307p-8
- f64.add $push439=, $pop437, $pop438
- f64.mul $push440=, $0, $pop439
- f64.const $push441=, 0x1.466e43aa79bbbp-2
- f64.add $2=, $pop440, $pop441
+ f64.add $push423=, $0, $0
+ f64.const $push424=, -0x1.22p7
+ f64.add $0=, $pop423, $pop424
+ f64.const $push425=, 0x1.c1de7b6571ffbp-44
+ f64.mul $push426=, $0, $pop425
+ f64.const $push427=, 0x1.8eac93232cabap-36
+ f64.add $push428=, $pop426, $pop427
+ f64.mul $push429=, $0, $pop428
+ f64.const $push430=, 0x1.131e511bb18ap-28
+ f64.add $push431=, $pop429, $pop430
+ f64.mul $push432=, $0, $pop431
+ f64.const $push433=, 0x1.31242d906ac99p-21
+ f64.add $push434=, $pop432, $pop433
+ f64.mul $push435=, $0, $pop434
+ f64.const $push436=, 0x1.12fecf1743ad4p-14
+ f64.add $push437=, $pop435, $pop436
+ f64.mul $push438=, $0, $pop437
+ f64.const $push439=, 0x1.918a009f62307p-8
+ f64.add $push440=, $pop438, $pop439
+ f64.mul $push441=, $0, $pop440
+ f64.const $push442=, 0x1.466e43aa79bbbp-2
+ f64.add $1=, $pop441, $pop442
br 21 # 21: down to label0
.LBB0_45: # %sw.bb642
end_block # label21:
- f64.add $push402=, $0, $0
- f64.const $push403=, -0x1.26p7
- f64.add $0=, $pop402, $pop403
- f64.const $push404=, 0x1.d62179d259236p-44
- f64.mul $push405=, $0, $pop404
- f64.const $push406=, 0x1.a43dfce6eca43p-36
- f64.add $push407=, $pop405, $pop406
- f64.mul $push408=, $0, $pop407
- f64.const $push409=, 0x1.231c04bdd0c64p-28
- f64.add $push410=, $pop408, $pop409
- f64.mul $push411=, $0, $pop410
- f64.const $push412=, 0x1.42d62a77da788p-21
- f64.add $push413=, $pop411, $pop412
- f64.mul $push414=, $0, $pop413
- f64.const $push415=, 0x1.21b57ec9d6f09p-14
- f64.add $push416=, $pop414, $pop415
- f64.mul $push417=, $0, $pop416
- f64.const $push418=, 0x1.a32e6dd194b2bp-8
- f64.add $push419=, $pop417, $pop418
- f64.mul $push420=, $0, $pop419
- f64.const $push421=, 0x1.53404ea4a8c15p-2
- f64.add $2=, $pop420, $pop421
+ f64.add $push403=, $0, $0
+ f64.const $push404=, -0x1.26p7
+ f64.add $0=, $pop403, $pop404
+ f64.const $push405=, 0x1.d62179d259236p-44
+ f64.mul $push406=, $0, $pop405
+ f64.const $push407=, 0x1.a43dfce6eca43p-36
+ f64.add $push408=, $pop406, $pop407
+ f64.mul $push409=, $0, $pop408
+ f64.const $push410=, 0x1.231c04bdd0c64p-28
+ f64.add $push411=, $pop409, $pop410
+ f64.mul $push412=, $0, $pop411
+ f64.const $push413=, 0x1.42d62a77da788p-21
+ f64.add $push414=, $pop412, $pop413
+ f64.mul $push415=, $0, $pop414
+ f64.const $push416=, 0x1.21b57ec9d6f09p-14
+ f64.add $push417=, $pop415, $pop416
+ f64.mul $push418=, $0, $pop417
+ f64.const $push419=, 0x1.a32e6dd194b2bp-8
+ f64.add $push420=, $pop418, $pop419
+ f64.mul $push421=, $0, $pop420
+ f64.const $push422=, 0x1.53404ea4a8c15p-2
+ f64.add $1=, $pop421, $pop422
br 20 # 20: down to label0
.LBB0_46: # %sw.bb657
end_block # label20:
- f64.add $push382=, $0, $0
- f64.const $push383=, -0x1.2ap7
- f64.add $0=, $pop382, $pop383
- f64.const $push384=, 0x1.eaeff924c30d3p-44
- f64.mul $push385=, $0, $pop384
- f64.const $push386=, 0x1.bac2986d8dcfdp-36
- f64.add $push387=, $pop385, $pop386
- f64.mul $push388=, $0, $pop387
- f64.const $push389=, 0x1.33f59f5ebec07p-28
- f64.add $push390=, $pop388, $pop389
- f64.mul $push391=, $0, $pop390
- f64.const $push392=, 0x1.558d49addfa8fp-21
- f64.add $push393=, $pop391, $pop392
- f64.mul $push394=, $0, $pop393
- f64.const $push395=, 0x1.314626b37ba09p-14
- f64.add $push396=, $pop394, $pop395
- f64.mul $push397=, $0, $pop396
- f64.const $push398=, 0x1.b5c4728b37d7p-8
- f64.add $push399=, $pop397, $pop398
- f64.mul $push400=, $0, $pop399
- f64.const $push401=, 0x1.60a5269595feep-2
- f64.add $2=, $pop400, $pop401
+ f64.add $push383=, $0, $0
+ f64.const $push384=, -0x1.2ap7
+ f64.add $0=, $pop383, $pop384
+ f64.const $push385=, 0x1.eaeff924c30d3p-44
+ f64.mul $push386=, $0, $pop385
+ f64.const $push387=, 0x1.bac2986d8dcfdp-36
+ f64.add $push388=, $pop386, $pop387
+ f64.mul $push389=, $0, $pop388
+ f64.const $push390=, 0x1.33f59f5ebec07p-28
+ f64.add $push391=, $pop389, $pop390
+ f64.mul $push392=, $0, $pop391
+ f64.const $push393=, 0x1.558d49addfa8fp-21
+ f64.add $push394=, $pop392, $pop393
+ f64.mul $push395=, $0, $pop394
+ f64.const $push396=, 0x1.314626b37ba09p-14
+ f64.add $push397=, $pop395, $pop396
+ f64.mul $push398=, $0, $pop397
+ f64.const $push399=, 0x1.b5c4728b37d7p-8
+ f64.add $push400=, $pop398, $pop399
+ f64.mul $push401=, $0, $pop400
+ f64.const $push402=, 0x1.60a5269595feep-2
+ f64.add $1=, $pop401, $pop402
br 19 # 19: down to label0
.LBB0_47: # %sw.bb672
end_block # label19:
- f64.add $push362=, $0, $0
- f64.const $push363=, -0x1.2ep7
- f64.add $0=, $pop362, $pop363
- f64.const $push364=, 0x1.002a2cd8bae1cp-43
- f64.mul $push365=, $0, $pop364
- f64.const $push366=, 0x1.d247e87ac75bfp-36
- f64.add $push367=, $pop365, $pop366
- f64.mul $push368=, $0, $pop367
- f64.const $push369=, 0x1.45b5af2762942p-28
- f64.add $push370=, $pop368, $pop369
- f64.mul $push371=, $0, $pop370
- f64.const $push372=, 0x1.6958a97a655e7p-21
- f64.add $push373=, $pop371, $pop372
- f64.mul $push374=, $0, $pop373
- f64.const $push375=, 0x1.41bebc3dde5cfp-14
- f64.add $push376=, $pop374, $pop375
- f64.mul $push377=, $0, $pop376
- f64.const $push378=, 0x1.c95b2844c2a7bp-8
- f64.add $push379=, $pop377, $pop378
- f64.mul $push380=, $0, $pop379
- f64.const $push381=, 0x1.6e9f6a93f290bp-2
- f64.add $2=, $pop380, $pop381
+ f64.add $push363=, $0, $0
+ f64.const $push364=, -0x1.2ep7
+ f64.add $0=, $pop363, $pop364
+ f64.const $push365=, 0x1.002a2cd8bae1cp-43
+ f64.mul $push366=, $0, $pop365
+ f64.const $push367=, 0x1.d247e87ac75bfp-36
+ f64.add $push368=, $pop366, $pop367
+ f64.mul $push369=, $0, $pop368
+ f64.const $push370=, 0x1.45b5af2762942p-28
+ f64.add $push371=, $pop369, $pop370
+ f64.mul $push372=, $0, $pop371
+ f64.const $push373=, 0x1.6958a97a655e7p-21
+ f64.add $push374=, $pop372, $pop373
+ f64.mul $push375=, $0, $pop374
+ f64.const $push376=, 0x1.41bebc3dde5cfp-14
+ f64.add $push377=, $pop375, $pop376
+ f64.mul $push378=, $0, $pop377
+ f64.const $push379=, 0x1.c95b2844c2a7bp-8
+ f64.add $push380=, $pop378, $pop379
+ f64.mul $push381=, $0, $pop380
+ f64.const $push382=, 0x1.6e9f6a93f290bp-2
+ f64.add $1=, $pop381, $pop382
br 18 # 18: down to label0
.LBB0_48: # %sw.bb687
end_block # label18:
- f64.add $push342=, $0, $0
- f64.const $push343=, -0x1.32p7
- f64.add $0=, $pop342, $pop343
- f64.const $push344=, 0x1.0b1bc641957fap-43
- f64.mul $push345=, $0, $pop344
- f64.const $push346=, 0x1.eacded0e9948ap-36
- f64.add $push347=, $pop345, $pop346
- f64.mul $push348=, $0, $pop347
- f64.const $push349=, 0x1.5866c240a35cdp-28
- f64.add $push350=, $pop348, $pop349
- f64.mul $push351=, $0, $pop350
- f64.const $push352=, 0x1.7e48c7fd54b3fp-21
- f64.add $push353=, $pop351, $pop352
- f64.mul $push354=, $0, $pop353
- f64.const $push355=, 0x1.532b0f112ec05p-14
- f64.add $push356=, $pop354, $pop355
- f64.mul $push357=, $0, $pop356
- f64.const $push358=, 0x1.de01a876ac2ecp-8
- f64.add $push359=, $pop357, $pop358
- f64.mul $push360=, $0, $pop359
- f64.const $push361=, 0x1.7d3c36113404fp-2
- f64.add $2=, $pop360, $pop361
+ f64.add $push343=, $0, $0
+ f64.const $push344=, -0x1.32p7
+ f64.add $0=, $pop343, $pop344
+ f64.const $push345=, 0x1.0b1bc641957fap-43
+ f64.mul $push346=, $0, $pop345
+ f64.const $push347=, 0x1.eacded0e9948ap-36
+ f64.add $push348=, $pop346, $pop347
+ f64.mul $push349=, $0, $pop348
+ f64.const $push350=, 0x1.5866c240a35cdp-28
+ f64.add $push351=, $pop349, $pop350
+ f64.mul $push352=, $0, $pop351
+ f64.const $push353=, 0x1.7e48c7fd54b3fp-21
+ f64.add $push354=, $pop352, $pop353
+ f64.mul $push355=, $0, $pop354
+ f64.const $push356=, 0x1.532b0f112ec05p-14
+ f64.add $push357=, $pop355, $pop356
+ f64.mul $push358=, $0, $pop357
+ f64.const $push359=, 0x1.de01a876ac2ecp-8
+ f64.add $push360=, $pop358, $pop359
+ f64.mul $push361=, $0, $pop360
+ f64.const $push362=, 0x1.7d3c36113404fp-2
+ f64.add $1=, $pop361, $pop362
br 17 # 17: down to label0
.LBB0_49: # %sw.bb702
end_block # label17:
- f64.add $push322=, $0, $0
- f64.const $push323=, -0x1.36p7
- f64.add $0=, $pop322, $pop323
- f64.const $push324=, 0x1.16528c8a42f2p-43
- f64.mul $push325=, $0, $pop324
- f64.const $push326=, 0x1.022ed4006984cp-35
- f64.add $push327=, $pop325, $pop326
- f64.mul $push328=, $0, $pop327
- f64.const $push329=, 0x1.6c11a47741b18p-28
- f64.add $push330=, $pop328, $pop329
- f64.mul $push331=, $0, $pop330
- f64.const $push332=, 0x1.946b63a69a956p-21
- f64.add $push333=, $pop331, $pop332
- f64.mul $push334=, $0, $pop333
- f64.const $push335=, 0x1.659a2777d7ecbp-14
- f64.add $push336=, $pop334, $pop335
- f64.mul $push337=, $0, $pop336
- f64.const $push338=, 0x1.f3c70c996b767p-8
- f64.add $push339=, $pop337, $pop338
- f64.mul $push340=, $0, $pop339
- f64.const $push341=, 0x1.8c8366516db0ep-2
- f64.add $2=, $pop340, $pop341
+ f64.add $push323=, $0, $0
+ f64.const $push324=, -0x1.36p7
+ f64.add $0=, $pop323, $pop324
+ f64.const $push325=, 0x1.16528c8a42f2p-43
+ f64.mul $push326=, $0, $pop325
+ f64.const $push327=, 0x1.022ed4006984cp-35
+ f64.add $push328=, $pop326, $pop327
+ f64.mul $push329=, $0, $pop328
+ f64.const $push330=, 0x1.6c11a47741b18p-28
+ f64.add $push331=, $pop329, $pop330
+ f64.mul $push332=, $0, $pop331
+ f64.const $push333=, 0x1.946b63a69a956p-21
+ f64.add $push334=, $pop332, $pop333
+ f64.mul $push335=, $0, $pop334
+ f64.const $push336=, 0x1.659a2777d7ecbp-14
+ f64.add $push337=, $pop335, $pop336
+ f64.mul $push338=, $0, $pop337
+ f64.const $push339=, 0x1.f3c70c996b767p-8
+ f64.add $push340=, $pop338, $pop339
+ f64.mul $push341=, $0, $pop340
+ f64.const $push342=, 0x1.8c8366516db0ep-2
+ f64.add $1=, $pop341, $pop342
br 16 # 16: down to label0
.LBB0_50: # %sw.bb717
end_block # label16:
- f64.add $push302=, $0, $0
- f64.const $push303=, -0x1.3ap7
- f64.add $0=, $pop302, $pop303
- f64.const $push304=, 0x1.21c2f83820157p-43
- f64.mul $push305=, $0, $pop304
- f64.const $push306=, 0x1.0f800d94a2092p-35
- f64.add $push307=, $pop305, $pop306
- f64.mul $push308=, $0, $pop307
- f64.const $push309=, 0x1.80c0e3f424adbp-28
- f64.add $push310=, $pop308, $pop309
- f64.mul $push311=, $0, $pop310
- f64.const $push312=, 0x1.abd0fa96201dcp-21
- f64.add $push313=, $pop311, $pop312
- f64.mul $push314=, $0, $pop313
- f64.const $push315=, 0x1.791b0dbc4504p-14
- f64.add $push316=, $pop314, $pop315
- f64.mul $push317=, $0, $pop316
- f64.const $push318=, 0x1.055d3712bbc46p-7
- f64.add $push319=, $pop317, $pop318
- f64.mul $push320=, $0, $pop319
- f64.const $push321=, 0x1.9c7cd898b2e9dp-2
- f64.add $2=, $pop320, $pop321
+ f64.add $push303=, $0, $0
+ f64.const $push304=, -0x1.3ap7
+ f64.add $0=, $pop303, $pop304
+ f64.const $push305=, 0x1.21c2f83820157p-43
+ f64.mul $push306=, $0, $pop305
+ f64.const $push307=, 0x1.0f800d94a2092p-35
+ f64.add $push308=, $pop306, $pop307
+ f64.mul $push309=, $0, $pop308
+ f64.const $push310=, 0x1.80c0e3f424adbp-28
+ f64.add $push311=, $pop309, $pop310
+ f64.mul $push312=, $0, $pop311
+ f64.const $push313=, 0x1.abd0fa96201dcp-21
+ f64.add $push314=, $pop312, $pop313
+ f64.mul $push315=, $0, $pop314
+ f64.const $push316=, 0x1.791b0dbc4504p-14
+ f64.add $push317=, $pop315, $pop316
+ f64.mul $push318=, $0, $pop317
+ f64.const $push319=, 0x1.055d3712bbc46p-7
+ f64.add $push320=, $pop318, $pop319
+ f64.mul $push321=, $0, $pop320
+ f64.const $push322=, 0x1.9c7cd898b2e9dp-2
+ f64.add $1=, $pop321, $pop322
br 15 # 15: down to label0
.LBB0_51: # %sw.bb732
end_block # label15:
- f64.add $push282=, $0, $0
- f64.const $push283=, -0x1.3ep7
- f64.add $0=, $pop282, $pop283
- f64.const $push284=, 0x1.2d72cd087e7bbp-43
- f64.mul $push285=, $0, $pop284
- f64.const $push286=, 0x1.1d5aa343f6318p-35
- f64.add $push287=, $pop285, $pop286
- f64.mul $push288=, $0, $pop287
- f64.const $push289=, 0x1.9680d13c59f19p-28
- f64.add $push290=, $pop288, $pop289
- f64.mul $push291=, $0, $pop290
- f64.const $push292=, 0x1.c488ab13d0509p-21
- f64.add $push293=, $pop291, $pop292
- f64.mul $push294=, $0, $pop293
- f64.const $push295=, 0x1.8dbbb74822a5fp-14
- f64.add $push296=, $pop294, $pop295
- f64.mul $push297=, $0, $pop296
- f64.const $push298=, 0x1.1177f7886239bp-7
- f64.add $push299=, $pop297, $pop298
- f64.mul $push300=, $0, $pop299
- f64.const $push301=, 0x1.ad330941c8217p-2
- f64.add $2=, $pop300, $pop301
+ f64.add $push283=, $0, $0
+ f64.const $push284=, -0x1.3ep7
+ f64.add $0=, $pop283, $pop284
+ f64.const $push285=, 0x1.2d72cd087e7bbp-43
+ f64.mul $push286=, $0, $pop285
+ f64.const $push287=, 0x1.1d5aa343f6318p-35
+ f64.add $push288=, $pop286, $pop287
+ f64.mul $push289=, $0, $pop288
+ f64.const $push290=, 0x1.9680d13c59f19p-28
+ f64.add $push291=, $pop289, $pop290
+ f64.mul $push292=, $0, $pop291
+ f64.const $push293=, 0x1.c488ab13d0509p-21
+ f64.add $push294=, $pop292, $pop293
+ f64.mul $push295=, $0, $pop294
+ f64.const $push296=, 0x1.8dbbb74822a5fp-14
+ f64.add $push297=, $pop295, $pop296
+ f64.mul $push298=, $0, $pop297
+ f64.const $push299=, 0x1.1177f7886239bp-7
+ f64.add $push300=, $pop298, $pop299
+ f64.mul $push301=, $0, $pop300
+ f64.const $push302=, 0x1.ad330941c8217p-2
+ f64.add $1=, $pop301, $pop302
br 14 # 14: down to label0
.LBB0_52: # %sw.bb747
end_block # label14:
- f64.add $push262=, $0, $0
- f64.const $push263=, -0x1.42p7
- f64.add $0=, $pop262, $pop263
- f64.const $push264=, 0x1.39620afb5e24cp-43
- f64.mul $push265=, $0, $pop264
- f64.const $push266=, 0x1.2bc315fa4db79p-35
- f64.add $push267=, $pop265, $pop266
- f64.mul $push268=, $0, $pop267
- f64.const $push269=, 0x1.ad5bfa78c898bp-28
- f64.add $push270=, $pop268, $pop269
- f64.mul $push271=, $0, $pop270
- f64.const $push272=, 0x1.dea712c78e8fap-21
- f64.add $push273=, $pop271, $pop272
- f64.mul $push274=, $0, $pop273
- f64.const $push275=, 0x1.a383a840a6635p-14
- f64.add $push276=, $pop274, $pop275
- f64.mul $push277=, $0, $pop276
- f64.const $push278=, 0x1.1e3c2b2979761p-7
- f64.add $push279=, $pop277, $pop278
- f64.mul $push280=, $0, $pop279
- f64.const $push281=, 0x1.beadd590c0adp-2
- f64.add $2=, $pop280, $pop281
+ f64.add $push263=, $0, $0
+ f64.const $push264=, -0x1.42p7
+ f64.add $0=, $pop263, $pop264
+ f64.const $push265=, 0x1.39620afb5e24cp-43
+ f64.mul $push266=, $0, $pop265
+ f64.const $push267=, 0x1.2bc315fa4db79p-35
+ f64.add $push268=, $pop266, $pop267
+ f64.mul $push269=, $0, $pop268
+ f64.const $push270=, 0x1.ad5bfa78c898bp-28
+ f64.add $push271=, $pop269, $pop270
+ f64.mul $push272=, $0, $pop271
+ f64.const $push273=, 0x1.dea712c78e8fap-21
+ f64.add $push274=, $pop272, $pop273
+ f64.mul $push275=, $0, $pop274
+ f64.const $push276=, 0x1.a383a840a6635p-14
+ f64.add $push277=, $pop275, $pop276
+ f64.mul $push278=, $0, $pop277
+ f64.const $push279=, 0x1.1e3c2b2979761p-7
+ f64.add $push280=, $pop278, $pop279
+ f64.mul $push281=, $0, $pop280
+ f64.const $push282=, 0x1.beadd590c0adp-2
+ f64.add $1=, $pop281, $pop282
br 13 # 13: down to label0
.LBB0_53: # %sw.bb762
end_block # label13:
- f64.add $push242=, $0, $0
- f64.const $push243=, -0x1.46p7
- f64.add $0=, $pop242, $pop243
- f64.const $push244=, 0x1.457f66d8ca5b7p-43
- f64.mul $push245=, $0, $pop244
- f64.const $push246=, 0x1.3abde6a390555p-35
- f64.add $push247=, $pop245, $pop246
- f64.mul $push248=, $0, $pop247
- f64.const $push249=, 0x1.c55b2b76313ap-28
- f64.add $push250=, $pop248, $pop249
- f64.mul $push251=, $0, $pop250
- f64.const $push252=, 0x1.fa3b4ff945de5p-21
- f64.add $push253=, $pop251, $pop252
- f64.mul $push254=, $0, $pop253
- f64.const $push255=, 0x1.ba9ff98511a24p-14
- f64.add $push256=, $pop254, $pop255
- f64.mul $push257=, $0, $pop256
- f64.const $push258=, 0x1.2bb4b9b090562p-7
- f64.add $push259=, $pop257, $pop258
- f64.mul $push260=, $0, $pop259
- f64.const $push261=, 0x1.d0fcf80dc3372p-2
- f64.add $2=, $pop260, $pop261
+ f64.add $push243=, $0, $0
+ f64.const $push244=, -0x1.46p7
+ f64.add $0=, $pop243, $pop244
+ f64.const $push245=, 0x1.457f66d8ca5b7p-43
+ f64.mul $push246=, $0, $pop245
+ f64.const $push247=, 0x1.3abde6a390555p-35
+ f64.add $push248=, $pop246, $pop247
+ f64.mul $push249=, $0, $pop248
+ f64.const $push250=, 0x1.c55b2b76313ap-28
+ f64.add $push251=, $pop249, $pop250
+ f64.mul $push252=, $0, $pop251
+ f64.const $push253=, 0x1.fa3b4ff945de5p-21
+ f64.add $push254=, $pop252, $pop253
+ f64.mul $push255=, $0, $pop254
+ f64.const $push256=, 0x1.ba9ff98511a24p-14
+ f64.add $push257=, $pop255, $pop256
+ f64.mul $push258=, $0, $pop257
+ f64.const $push259=, 0x1.2bb4b9b090562p-7
+ f64.add $push260=, $pop258, $pop259
+ f64.mul $push261=, $0, $pop260
+ f64.const $push262=, 0x1.d0fcf80dc3372p-2
+ f64.add $1=, $pop261, $pop262
br 12 # 12: down to label0
.LBB0_54: # %sw.bb777
end_block # label12:
- f64.add $push222=, $0, $0
- f64.const $push223=, -0x1.4ap7
- f64.add $0=, $pop222, $pop223
- f64.const $push224=, 0x1.51d6681b66433p-43
- f64.mul $push225=, $0, $pop224
- f64.const $push226=, 0x1.4a48d4c9ca2dbp-35
- f64.add $push227=, $pop225, $pop226
- f64.mul $push228=, $0, $pop227
- f64.const $push229=, 0x1.de8c7715c7fa3p-28
- f64.add $push230=, $pop228, $pop229
- f64.mul $push231=, $0, $pop230
- f64.const $push232=, 0x1.0bac503c6dc37p-20
- f64.add $push233=, $pop231, $pop232
- f64.mul $push234=, $0, $pop233
- f64.const $push235=, 0x1.d30926f02ed1ap-14
- f64.add $push236=, $pop234, $pop235
- f64.mul $push237=, $0, $pop236
- f64.const $push238=, 0x1.39ea06997734fp-7
- f64.add $push239=, $pop237, $pop238
- f64.mul $push240=, $0, $pop239
- f64.const $push241=, 0x1.e42aed1394318p-2
- f64.add $2=, $pop240, $pop241
+ f64.add $push223=, $0, $0
+ f64.const $push224=, -0x1.4ap7
+ f64.add $0=, $pop223, $pop224
+ f64.const $push225=, 0x1.51d6681b66433p-43
+ f64.mul $push226=, $0, $pop225
+ f64.const $push227=, 0x1.4a48d4c9ca2dbp-35
+ f64.add $push228=, $pop226, $pop227
+ f64.mul $push229=, $0, $pop228
+ f64.const $push230=, 0x1.de8c7715c7fa3p-28
+ f64.add $push231=, $pop229, $pop230
+ f64.mul $push232=, $0, $pop231
+ f64.const $push233=, 0x1.0bac503c6dc37p-20
+ f64.add $push234=, $pop232, $pop233
+ f64.mul $push235=, $0, $pop234
+ f64.const $push236=, 0x1.d30926f02ed1ap-14
+ f64.add $push237=, $pop235, $pop236
+ f64.mul $push238=, $0, $pop237
+ f64.const $push239=, 0x1.39ea06997734fp-7
+ f64.add $push240=, $pop238, $pop239
+ f64.mul $push241=, $0, $pop240
+ f64.const $push242=, 0x1.e42aed1394318p-2
+ f64.add $1=, $pop241, $pop242
br 11 # 11: down to label0
.LBB0_55: # %sw.bb792
end_block # label11:
- f64.add $push202=, $0, $0
- f64.const $push203=, -0x1.4ep7
- f64.add $0=, $pop202, $pop203
- f64.const $push204=, 0x1.5e5b87488eb8ap-43
- f64.mul $push205=, $0, $pop204
- f64.const $push206=, 0x1.5a6aa1ced6d78p-35
- f64.add $push207=, $pop205, $pop206
- f64.mul $push208=, $0, $pop207
- f64.const $push209=, 0x1.f8fa6b8073f4dp-28
- f64.add $push210=, $pop208, $pop209
- f64.mul $push211=, $0, $pop210
- f64.const $push212=, 0x1.1b09d0f71975ap-20
- f64.add $push213=, $pop211, $pop212
- f64.mul $push214=, $0, $pop213
- f64.const $push215=, 0x1.ecd4aa10e0221p-14
- f64.add $push216=, $pop214, $pop215
- f64.mul $push217=, $0, $pop216
- f64.const $push218=, 0x1.48e4755ffe6d6p-7
- f64.add $push219=, $pop217, $pop218
- f64.mul $push220=, $0, $pop219
- f64.const $push221=, 0x1.f83f91e646f15p-2
- f64.add $2=, $pop220, $pop221
+ f64.add $push203=, $0, $0
+ f64.const $push204=, -0x1.4ep7
+ f64.add $0=, $pop203, $pop204
+ f64.const $push205=, 0x1.5e5b87488eb8ap-43
+ f64.mul $push206=, $0, $pop205
+ f64.const $push207=, 0x1.5a6aa1ced6d78p-35
+ f64.add $push208=, $pop206, $pop207
+ f64.mul $push209=, $0, $pop208
+ f64.const $push210=, 0x1.f8fa6b8073f4dp-28
+ f64.add $push211=, $pop209, $pop210
+ f64.mul $push212=, $0, $pop211
+ f64.const $push213=, 0x1.1b09d0f71975ap-20
+ f64.add $push214=, $pop212, $pop213
+ f64.mul $push215=, $0, $pop214
+ f64.const $push216=, 0x1.ecd4aa10e0221p-14
+ f64.add $push217=, $pop215, $pop216
+ f64.mul $push218=, $0, $pop217
+ f64.const $push219=, 0x1.48e4755ffe6d6p-7
+ f64.add $push220=, $pop218, $pop219
+ f64.mul $push221=, $0, $pop220
+ f64.const $push222=, 0x1.f83f91e646f15p-2
+ f64.add $1=, $pop221, $pop222
br 10 # 10: down to label0
.LBB0_56: # %sw.bb807
end_block # label10:
- f64.add $push182=, $0, $0
- f64.const $push183=, -0x1.52p7
- f64.add $0=, $pop182, $pop183
- f64.const $push184=, 0x1.6b0900a2f22ap-43
- f64.mul $push185=, $0, $pop184
- f64.const $push186=, 0x1.6b210d3cc275ep-35
- f64.add $push187=, $pop185, $pop186
- f64.mul $push188=, $0, $pop187
- f64.const $push189=, 0x1.0a58ac9da165p-27
- f64.add $push190=, $pop188, $pop189
- f64.mul $push191=, $0, $pop190
- f64.const $push192=, 0x1.2b3999c8a140ap-20
- f64.add $push193=, $pop191, $pop192
- f64.mul $push194=, $0, $pop193
- f64.const $push195=, 0x1.040bfe3b03e21p-13
- f64.add $push196=, $pop194, $pop195
- f64.mul $push197=, $0, $pop196
- f64.const $push198=, 0x1.58b827fa1a0cfp-7
- f64.add $push199=, $pop197, $pop198
- f64.mul $push200=, $0, $pop199
- f64.const $push201=, 0x1.06a550870110ap-1
- f64.add $2=, $pop200, $pop201
+ f64.add $push183=, $0, $0
+ f64.const $push184=, -0x1.52p7
+ f64.add $0=, $pop183, $pop184
+ f64.const $push185=, 0x1.6b0900a2f22ap-43
+ f64.mul $push186=, $0, $pop185
+ f64.const $push187=, 0x1.6b210d3cc275ep-35
+ f64.add $push188=, $pop186, $pop187
+ f64.mul $push189=, $0, $pop188
+ f64.const $push190=, 0x1.0a58ac9da165p-27
+ f64.add $push191=, $pop189, $pop190
+ f64.mul $push192=, $0, $pop191
+ f64.const $push193=, 0x1.2b3999c8a140ap-20
+ f64.add $push194=, $pop192, $pop193
+ f64.mul $push195=, $0, $pop194
+ f64.const $push196=, 0x1.040bfe3b03e21p-13
+ f64.add $push197=, $pop195, $pop196
+ f64.mul $push198=, $0, $pop197
+ f64.const $push199=, 0x1.58b827fa1a0cfp-7
+ f64.add $push200=, $pop198, $pop199
+ f64.mul $push201=, $0, $pop200
+ f64.const $push202=, 0x1.06a550870110ap-1
+ f64.add $1=, $pop201, $pop202
br 9 # 9: down to label0
.LBB0_57: # %sw.bb822
end_block # label9:
- f64.add $push162=, $0, $0
- f64.const $push163=, -0x1.56p7
- f64.add $0=, $pop162, $pop163
- f64.const $push164=, 0x1.77ded42a90976p-43
- f64.mul $push165=, $0, $pop164
- f64.const $push166=, 0x1.7c72d875689f8p-35
- f64.add $push167=, $pop165, $pop166
- f64.mul $push168=, $0, $pop167
- f64.const $push169=, 0x1.18dde7378dcacp-27
- f64.add $push170=, $pop168, $pop169
- f64.mul $push171=, $0, $pop170
- f64.const $push172=, 0x1.3c530808e4b56p-20
- f64.add $push173=, $pop171, $pop172
- f64.mul $push174=, $0, $pop173
- f64.const $push175=, 0x1.1279aa3afc804p-13
- f64.add $push176=, $pop174, $pop175
- f64.mul $push177=, $0, $pop176
- f64.const $push178=, 0x1.696e58a32f449p-7
- f64.add $push179=, $pop177, $pop178
- f64.mul $push180=, $0, $pop179
- f64.const $push181=, 0x1.11adea897635ep-1
- f64.add $2=, $pop180, $pop181
+ f64.add $push163=, $0, $0
+ f64.const $push164=, -0x1.56p7
+ f64.add $0=, $pop163, $pop164
+ f64.const $push165=, 0x1.77ded42a90976p-43
+ f64.mul $push166=, $0, $pop165
+ f64.const $push167=, 0x1.7c72d875689f8p-35
+ f64.add $push168=, $pop166, $pop167
+ f64.mul $push169=, $0, $pop168
+ f64.const $push170=, 0x1.18dde7378dcacp-27
+ f64.add $push171=, $pop169, $pop170
+ f64.mul $push172=, $0, $pop171
+ f64.const $push173=, 0x1.3c530808e4b56p-20
+ f64.add $push174=, $pop172, $pop173
+ f64.mul $push175=, $0, $pop174
+ f64.const $push176=, 0x1.1279aa3afc804p-13
+ f64.add $push177=, $pop175, $pop176
+ f64.mul $push178=, $0, $pop177
+ f64.const $push179=, 0x1.696e58a32f449p-7
+ f64.add $push180=, $pop178, $pop179
+ f64.mul $push181=, $0, $pop180
+ f64.const $push182=, 0x1.11adea897635ep-1
+ f64.add $1=, $pop181, $pop182
br 8 # 8: down to label0
.LBB0_58: # %sw.bb837
end_block # label8:
- f64.add $push142=, $0, $0
- f64.const $push143=, -0x1.5ap7
- f64.add $0=, $pop142, $pop143
- f64.const $push144=, 0x1.84d73e22186efp-43
- f64.mul $push145=, $0, $pop144
- f64.const $push146=, 0x1.8e600378c9547p-35
- f64.add $push147=, $pop145, $pop146
- f64.mul $push148=, $0, $pop147
- f64.const $push149=, 0x1.28130dd085fb9p-27
- f64.add $push150=, $pop148, $pop149
- f64.mul $push151=, $0, $pop150
- f64.const $push152=, 0x1.4e5cfaefda49ep-20
- f64.add $push153=, $pop151, $pop152
- f64.mul $push154=, $0, $pop153
- f64.const $push155=, 0x1.21b8b76c1277dp-13
- f64.add $push156=, $pop154, $pop155
- f64.mul $push157=, $0, $pop156
- f64.const $push158=, 0x1.7b0f6ad70e6f3p-7
- f64.add $push159=, $pop157, $pop158
- f64.mul $push160=, $0, $pop159
- f64.const $push161=, 0x1.1d3ed527e5215p-1
- f64.add $2=, $pop160, $pop161
+ f64.add $push143=, $0, $0
+ f64.const $push144=, -0x1.5ap7
+ f64.add $0=, $pop143, $pop144
+ f64.const $push145=, 0x1.84d73e22186efp-43
+ f64.mul $push146=, $0, $pop145
+ f64.const $push147=, 0x1.8e600378c9547p-35
+ f64.add $push148=, $pop146, $pop147
+ f64.mul $push149=, $0, $pop148
+ f64.const $push150=, 0x1.28130dd085fb9p-27
+ f64.add $push151=, $pop149, $pop150
+ f64.mul $push152=, $0, $pop151
+ f64.const $push153=, 0x1.4e5cfaefda49ep-20
+ f64.add $push154=, $pop152, $pop153
+ f64.mul $push155=, $0, $pop154
+ f64.const $push156=, 0x1.21b8b76c1277dp-13
+ f64.add $push157=, $pop155, $pop156
+ f64.mul $push158=, $0, $pop157
+ f64.const $push159=, 0x1.7b0f6ad70e6f3p-7
+ f64.add $push160=, $pop158, $pop159
+ f64.mul $push161=, $0, $pop160
+ f64.const $push162=, 0x1.1d3ed527e5215p-1
+ f64.add $1=, $pop161, $pop162
br 7 # 7: down to label0
.LBB0_59: # %sw.bb852
end_block # label7:
- f64.add $push122=, $0, $0
- f64.const $push123=, -0x1.5ep7
- f64.add $0=, $pop122, $pop123
- f64.const $push124=, 0x1.91f23e8989b0cp-43
- f64.mul $push125=, $0, $pop124
- f64.const $push126=, 0x1.a0e88e46e494ap-35
- f64.add $push127=, $pop125, $pop126
- f64.mul $push128=, $0, $pop127
- f64.const $push129=, 0x1.37ff29d92409fp-27
- f64.add $push130=, $pop128, $pop129
- f64.mul $push131=, $0, $pop130
- f64.const $push132=, 0x1.615e51b578741p-20
- f64.add $push133=, $pop131, $pop132
- f64.mul $push134=, $0, $pop133
- f64.const $push135=, 0x1.31d940f96f6d2p-13
- f64.add $push136=, $pop134, $pop135
- f64.mul $push137=, $0, $pop136
- f64.const $push138=, 0x1.8da3c21187e7cp-7
- f64.add $push139=, $pop137, $pop138
- f64.mul $push140=, $0, $pop139
- f64.const $push141=, 0x1.29613d31b9b67p-1
- f64.add $2=, $pop140, $pop141
+ f64.add $push123=, $0, $0
+ f64.const $push124=, -0x1.5ep7
+ f64.add $0=, $pop123, $pop124
+ f64.const $push125=, 0x1.91f23e8989b0cp-43
+ f64.mul $push126=, $0, $pop125
+ f64.const $push127=, 0x1.a0e88e46e494ap-35
+ f64.add $push128=, $pop126, $pop127
+ f64.mul $push129=, $0, $pop128
+ f64.const $push130=, 0x1.37ff29d92409fp-27
+ f64.add $push131=, $pop129, $pop130
+ f64.mul $push132=, $0, $pop131
+ f64.const $push133=, 0x1.615e51b578741p-20
+ f64.add $push134=, $pop132, $pop133
+ f64.mul $push135=, $0, $pop134
+ f64.const $push136=, 0x1.31d940f96f6d2p-13
+ f64.add $push137=, $pop135, $pop136
+ f64.mul $push138=, $0, $pop137
+ f64.const $push139=, 0x1.8da3c21187e7cp-7
+ f64.add $push140=, $pop138, $pop139
+ f64.mul $push141=, $0, $pop140
+ f64.const $push142=, 0x1.29613d31b9b67p-1
+ f64.add $1=, $pop141, $pop142
br 6 # 6: down to label0
.LBB0_60: # %sw.bb867
end_block # label6:
- f64.add $push102=, $0, $0
- f64.const $push103=, -0x1.62p7
- f64.add $0=, $pop102, $pop103
- f64.const $push104=, 0x1.9f1e8a28efa7bp-43
- f64.mul $push105=, $0, $pop104
- f64.const $push106=, 0x1.b40eb955ae3dp-35
- f64.add $push107=, $pop105, $pop106
- f64.mul $push108=, $0, $pop107
- f64.const $push109=, 0x1.48a78265db839p-27
- f64.add $push110=, $pop108, $pop109
- f64.mul $push111=, $0, $pop110
- f64.const $push112=, 0x1.755deb91b5a9ep-20
- f64.add $push113=, $pop111, $pop112
- f64.mul $push114=, $0, $pop113
- f64.const $push115=, 0x1.42e0a546cbec5p-13
- f64.add $push116=, $pop114, $pop115
- f64.mul $push117=, $0, $pop116
- f64.const $push118=, 0x1.a14cec41dd1a2p-7
- f64.add $push119=, $pop117, $pop118
- f64.mul $push120=, $0, $pop119
- f64.const $push121=, 0x1.361cffeb074a7p-1
- f64.add $2=, $pop120, $pop121
+ f64.add $push103=, $0, $0
+ f64.const $push104=, -0x1.62p7
+ f64.add $0=, $pop103, $pop104
+ f64.const $push105=, 0x1.9f1e8a28efa7bp-43
+ f64.mul $push106=, $0, $pop105
+ f64.const $push107=, 0x1.b40eb955ae3dp-35
+ f64.add $push108=, $pop106, $pop107
+ f64.mul $push109=, $0, $pop108
+ f64.const $push110=, 0x1.48a78265db839p-27
+ f64.add $push111=, $pop109, $pop110
+ f64.mul $push112=, $0, $pop111
+ f64.const $push113=, 0x1.755deb91b5a9ep-20
+ f64.add $push114=, $pop112, $pop113
+ f64.mul $push115=, $0, $pop114
+ f64.const $push116=, 0x1.42e0a546cbec5p-13
+ f64.add $push117=, $pop115, $pop116
+ f64.mul $push118=, $0, $pop117
+ f64.const $push119=, 0x1.a14cec41dd1a2p-7
+ f64.add $push120=, $pop118, $pop119
+ f64.mul $push121=, $0, $pop120
+ f64.const $push122=, 0x1.361cffeb074a7p-1
+ f64.add $1=, $pop121, $pop122
br 5 # 5: down to label0
.LBB0_61: # %sw.bb882
end_block # label5:
- f64.add $push82=, $0, $0
- f64.const $push83=, -0x1.66p7
- f64.add $0=, $pop82, $pop83
- f64.const $push84=, 0x1.ac67a87aed773p-43
- f64.mul $push85=, $0, $pop84
- f64.const $push86=, 0x1.c7d4c51b1a2a8p-35
- f64.add $push87=, $pop85, $pop86
- f64.mul $push88=, $0, $pop87
- f64.const $push89=, 0x1.5a123fb933389p-27
- f64.add $push90=, $pop88, $pop89
- f64.mul $push91=, $0, $pop90
- f64.const $push92=, 0x1.8a7745646bc3p-20
- f64.add $push93=, $pop91, $pop92
- f64.mul $push94=, $0, $pop93
- f64.const $push95=, 0x1.54deff7f5199dp-13
- f64.add $push96=, $pop94, $pop95
- f64.mul $push97=, $0, $pop96
- f64.const $push98=, 0x1.b60ae9680e065p-7
- f64.add $push99=, $pop97, $pop98
- f64.mul $push100=, $0, $pop99
- f64.const $push101=, 0x1.4378ab0c88a48p-1
- f64.add $2=, $pop100, $pop101
+ f64.add $push83=, $0, $0
+ f64.const $push84=, -0x1.66p7
+ f64.add $0=, $pop83, $pop84
+ f64.const $push85=, 0x1.ac67a87aed773p-43
+ f64.mul $push86=, $0, $pop85
+ f64.const $push87=, 0x1.c7d4c51b1a2a8p-35
+ f64.add $push88=, $pop86, $pop87
+ f64.mul $push89=, $0, $pop88
+ f64.const $push90=, 0x1.5a123fb933389p-27
+ f64.add $push91=, $pop89, $pop90
+ f64.mul $push92=, $0, $pop91
+ f64.const $push93=, 0x1.8a7745646bc3p-20
+ f64.add $push94=, $pop92, $pop93
+ f64.mul $push95=, $0, $pop94
+ f64.const $push96=, 0x1.54deff7f5199dp-13
+ f64.add $push97=, $pop95, $pop96
+ f64.mul $push98=, $0, $pop97
+ f64.const $push99=, 0x1.b60ae9680e065p-7
+ f64.add $push100=, $pop98, $pop99
+ f64.mul $push101=, $0, $pop100
+ f64.const $push102=, 0x1.4378ab0c88a48p-1
+ f64.add $1=, $pop101, $pop102
br 4 # 4: down to label0
.LBB0_62: # %sw.bb897
end_block # label4:
- f64.add $push62=, $0, $0
- f64.const $push63=, -0x1.6ap7
- f64.add $0=, $pop62, $pop63
- f64.const $push64=, 0x1.b9b68a8a3cd86p-43
- f64.mul $push65=, $0, $pop64
- f64.const $push66=, 0x1.dc38712134803p-35
- f64.add $push67=, $pop65, $pop66
- f64.mul $push68=, $0, $pop67
- f64.const $push69=, 0x1.6c3f61d32b28ep-27
- f64.add $push70=, $pop68, $pop69
- f64.mul $push71=, $0, $pop70
- f64.const $push72=, 0x1.a0a37ff5a4498p-20
- f64.add $push73=, $pop71, $pop72
- f64.mul $push74=, $0, $pop73
- f64.const $push75=, 0x1.67df0c6a718dep-13
- f64.add $push76=, $pop74, $pop75
- f64.mul $push77=, $0, $pop76
- f64.const $push78=, 0x1.cbee807bbb624p-7
- f64.add $push79=, $pop77, $pop78
- f64.mul $push80=, $0, $pop79
- f64.const $push81=, 0x1.51800a7c5ac47p-1
- f64.add $2=, $pop80, $pop81
+ f64.add $push63=, $0, $0
+ f64.const $push64=, -0x1.6ap7
+ f64.add $0=, $pop63, $pop64
+ f64.const $push65=, 0x1.b9b68a8a3cd86p-43
+ f64.mul $push66=, $0, $pop65
+ f64.const $push67=, 0x1.dc38712134803p-35
+ f64.add $push68=, $pop66, $pop67
+ f64.mul $push69=, $0, $pop68
+ f64.const $push70=, 0x1.6c3f61d32b28ep-27
+ f64.add $push71=, $pop69, $pop70
+ f64.mul $push72=, $0, $pop71
+ f64.const $push73=, 0x1.a0a37ff5a4498p-20
+ f64.add $push74=, $pop72, $pop73
+ f64.mul $push75=, $0, $pop74
+ f64.const $push76=, 0x1.67df0c6a718dep-13
+ f64.add $push77=, $pop75, $pop76
+ f64.mul $push78=, $0, $pop77
+ f64.const $push79=, 0x1.cbee807bbb624p-7
+ f64.add $push80=, $pop78, $pop79
+ f64.mul $push81=, $0, $pop80
+ f64.const $push82=, 0x1.51800a7c5ac47p-1
+ f64.add $1=, $pop81, $pop82
br 3 # 3: down to label0
.LBB0_63: # %sw.bb912
end_block # label3:
- f64.add $push42=, $0, $0
- f64.const $push43=, -0x1.6ep7
- f64.add $0=, $pop42, $pop43
- f64.const $push44=, 0x1.c710f4142f5dp-43
- f64.mul $push45=, $0, $pop44
- f64.const $push46=, 0x1.f13e3e53e4f7ep-35
- f64.add $push47=, $pop45, $pop46
- f64.mul $push48=, $0, $pop47
- f64.const $push49=, 0x1.7f486aebf1d72p-27
- f64.add $push50=, $pop48, $pop49
- f64.mul $push51=, $0, $pop50
- f64.const $push52=, 0x1.b804f75d2f8b2p-20
- f64.add $push53=, $pop51, $pop52
- f64.mul $push54=, $0, $pop53
- f64.const $push55=, 0x1.7bf0e733556cfp-13
- f64.add $push56=, $pop54, $pop55
- f64.mul $push57=, $0, $pop56
- f64.const $push58=, 0x1.e308787485e3ep-7
- f64.add $push59=, $pop57, $pop58
- f64.mul $push60=, $0, $pop59
- f64.const $push61=, 0x1.603afb7e90ff9p-1
- f64.add $2=, $pop60, $pop61
+ f64.add $push43=, $0, $0
+ f64.const $push44=, -0x1.6ep7
+ f64.add $0=, $pop43, $pop44
+ f64.const $push45=, 0x1.c710f4142f5dp-43
+ f64.mul $push46=, $0, $pop45
+ f64.const $push47=, 0x1.f13e3e53e4f7ep-35
+ f64.add $push48=, $pop46, $pop47
+ f64.mul $push49=, $0, $pop48
+ f64.const $push50=, 0x1.7f486aebf1d72p-27
+ f64.add $push51=, $pop49, $pop50
+ f64.mul $push52=, $0, $pop51
+ f64.const $push53=, 0x1.b804f75d2f8b2p-20
+ f64.add $push54=, $pop52, $pop53
+ f64.mul $push55=, $0, $pop54
+ f64.const $push56=, 0x1.7bf0e733556cfp-13
+ f64.add $push57=, $pop55, $pop56
+ f64.mul $push58=, $0, $pop57
+ f64.const $push59=, 0x1.e308787485e3ep-7
+ f64.add $push60=, $pop58, $pop59
+ f64.mul $push61=, $0, $pop60
+ f64.const $push62=, 0x1.603afb7e90ff9p-1
+ f64.add $1=, $pop61, $pop62
br 2 # 2: down to label0
.LBB0_64: # %sw.bb927
end_block # label2:
- f64.add $push22=, $0, $0
- f64.const $push23=, -0x1.72p7
- f64.add $0=, $pop22, $pop23
- f64.const $push24=, 0x1.d471215b73735p-43
- f64.mul $push25=, $0, $pop24
- f64.const $push26=, 0x1.0371f61e9bda6p-34
- f64.add $push27=, $pop25, $pop26
- f64.mul $push28=, $0, $pop27
- f64.const $push29=, 0x1.931bc36a06157p-27
- f64.add $push30=, $pop28, $pop29
- f64.mul $push31=, $0, $pop30
- f64.const $push32=, 0x1.d094cc631711fp-20
- f64.add $push33=, $pop31, $pop32
- f64.mul $push34=, $0, $pop33
- f64.const $push35=, 0x1.9124ab0526db6p-13
- f64.add $push36=, $pop34, $pop35
- f64.mul $push37=, $0, $pop36
- f64.const $push38=, 0x1.fb71fbc5de9cp-7
- f64.add $push39=, $pop37, $pop38
- f64.mul $push40=, $0, $pop39
- f64.const $push41=, 0x1.6fb549f94855ep-1
- f64.add $2=, $pop40, $pop41
+ f64.add $push23=, $0, $0
+ f64.const $push24=, -0x1.72p7
+ f64.add $0=, $pop23, $pop24
+ f64.const $push25=, 0x1.d471215b73735p-43
+ f64.mul $push26=, $0, $pop25
+ f64.const $push27=, 0x1.0371f61e9bda6p-34
+ f64.add $push28=, $pop26, $pop27
+ f64.mul $push29=, $0, $pop28
+ f64.const $push30=, 0x1.931bc36a06157p-27
+ f64.add $push31=, $pop29, $pop30
+ f64.mul $push32=, $0, $pop31
+ f64.const $push33=, 0x1.d094cc631711fp-20
+ f64.add $push34=, $pop32, $pop33
+ f64.mul $push35=, $0, $pop34
+ f64.const $push36=, 0x1.9124ab0526db6p-13
+ f64.add $push37=, $pop35, $pop36
+ f64.mul $push38=, $0, $pop37
+ f64.const $push39=, 0x1.fb71fbc5de9cp-7
+ f64.add $push40=, $pop38, $pop39
+ f64.mul $push41=, $0, $pop40
+ f64.const $push42=, 0x1.6fb549f94855ep-1
+ f64.add $1=, $pop41, $pop42
br 1 # 1: down to label0
.LBB0_65: # %sw.bb942
end_block # label1:
- f64.add $push2=, $0, $0
- f64.const $push3=, -0x1.76p7
- f64.add $0=, $pop2, $pop3
- f64.const $push4=, 0x1.e1c5c72814664p-43
- f64.mul $push5=, $0, $pop4
- f64.const $push6=, 0x1.0e94bd6e965b5p-34
- f64.add $push7=, $pop5, $pop6
- f64.mul $push8=, $0, $pop7
- f64.const $push9=, 0x1.a7d3ceb3a9a89p-27
- f64.add $push10=, $pop8, $pop9
- f64.mul $push11=, $0, $pop10
- f64.const $push12=, 0x1.ea679caf3e3fbp-20
- f64.add $push13=, $pop11, $pop12
- f64.mul $push14=, $0, $pop13
- f64.const $push15=, 0x1.a78514a756f18p-13
- f64.add $push16=, $pop14, $pop15
- f64.mul $push17=, $0, $pop16
- f64.const $push18=, 0x1.0a99b6f5caf2dp-6
- f64.add $push19=, $pop17, $pop18
- f64.mul $push20=, $0, $pop19
- f64.const $push21=, 0x1.7ff6d330941c8p-1
- f64.add $2=, $pop20, $pop21
+ f64.add $push3=, $0, $0
+ f64.const $push4=, -0x1.76p7
+ f64.add $0=, $pop3, $pop4
+ f64.const $push5=, 0x1.e1c5c72814664p-43
+ f64.mul $push6=, $0, $pop5
+ f64.const $push7=, 0x1.0e94bd6e965b5p-34
+ f64.add $push8=, $pop6, $pop7
+ f64.mul $push9=, $0, $pop8
+ f64.const $push10=, 0x1.a7d3ceb3a9a89p-27
+ f64.add $push11=, $pop9, $pop10
+ f64.mul $push12=, $0, $pop11
+ f64.const $push13=, 0x1.ea679caf3e3fbp-20
+ f64.add $push14=, $pop12, $pop13
+ f64.mul $push15=, $0, $pop14
+ f64.const $push16=, 0x1.a78514a756f18p-13
+ f64.add $push17=, $pop15, $pop16
+ f64.mul $push18=, $0, $pop17
+ f64.const $push19=, 0x1.0a99b6f5caf2dp-6
+ f64.add $push20=, $pop18, $pop19
+ f64.mul $push21=, $0, $pop20
+ f64.const $push22=, 0x1.7ff6d330941c8p-1
+ f64.add $1=, $pop21, $pop22
.LBB0_66: # %cleanup
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -1760,22 +1761,23 @@ main: # @main
.local f64
# BB#0: # %entry
block
- f64.const $push0=, 0x1.399999999999ap6
- f64.call $0=, foo@FUNCTION, $pop0
- f64.const $push1=, 0x1.851eb851eb852p-2
- f64.lt $push2=, $0, $pop1
- br_if $pop2, 0 # 0: down to label65
+ f64.const $push1=, 0x1.399999999999ap6
+ f64.call $push0=, foo@FUNCTION, $pop1
+ tee_local $push9=, $0=, $pop0
+ f64.const $push2=, 0x1.851eb851eb852p-2
+ f64.lt $push3=, $pop9, $pop2
+ br_if $pop3, 0 # 0: down to label65
# BB#1: # %entry
- f64.const $push3=, 0x1.ae147ae147ae1p-2
- f64.le $push4=, $0, $pop3
- f64.ne $push5=, $0, $0
- i32.or $push6=, $pop4, $pop5
- i32.const $push8=, 0
- i32.eq $push9=, $pop6, $pop8
- br_if $pop9, 0 # 0: down to label65
+ f64.const $push4=, 0x1.ae147ae147ae1p-2
+ f64.le $push5=, $0, $pop4
+ f64.ne $push6=, $0, $0
+ i32.or $push7=, $pop5, $pop6
+ i32.const $push10=, 0
+ i32.eq $push11=, $pop7, $pop10
+ br_if $pop11, 0 # 0: down to label65
# BB#2: # %if.end
- i32.const $push7=, 0
- return $pop7
+ i32.const $push8=, 0
+ return $pop8
.LBB1_3: # %if.then
end_block # label65:
call abort@FUNCTION
diff --git a/test/torture-s/pr58640-2.c.s b/test/torture-s/pr58640-2.c.s
index fb3b0050a..da38fd62a 100644
--- a/test/torture-s/pr58640-2.c.s
+++ b/test/torture-s/pr58640-2.c.s
@@ -6,23 +6,35 @@
.type fn1,@function
fn1: # @fn1
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %if.end
- i32.const $0=, 0
- i32.load $push2=, a+36($0)
- i32.store $push3=, a($0), $pop2
- i32.store $discard=, a+4($0), $pop3
+ i32.const $push1=, 0
+ i32.const $push21=, 0
+ i32.const $push20=, 0
+ i32.load $push3=, a+36($pop20)
+ i32.store $push4=, a($pop21):p2align=4, $pop3
+ i32.store $discard=, a+4($pop1), $pop4
+ i32.const $push19=, 0
+ i32.load $0=, a+60($pop19)
+ i32.const $push18=, 0
+ i32.const $push17=, 0
+ i32.const $push16=, 0
+ i32.const $push15=, 0
+ i32.const $push14=, 0
+ i32.const $push13=, 0
i32.const $push0=, 1
- i32.store $push1=, a+48($0), $pop0
- i32.store $push4=, c($0), $pop1
- i32.store $1=, c($0), $pop4
- i32.load $2=, a+60($0)
- i32.store $push5=, a($0), $1
- i32.store $push6=, a+4($0), $pop5
- i32.store $discard=, c($0), $pop6
- i32.store $push7=, a($0), $2
- i32.store $discard=, a+4($0), $pop7
- return $0
+ i32.store $push2=, a+48($pop13):p2align=4, $pop0
+ i32.store $push5=, c($pop14), $pop2
+ i32.store $push6=, c($pop15), $pop5
+ i32.store $push7=, a($pop16):p2align=4, $pop6
+ i32.store $push8=, a+4($pop17), $pop7
+ i32.store $discard=, c($pop18), $pop8
+ i32.const $push12=, 0
+ i32.const $push11=, 0
+ i32.store $push9=, a($pop11):p2align=4, $0
+ i32.store $discard=, a+4($pop12), $pop9
+ i32.const $push10=, 0
+ return $pop10
.endfunc
.Lfunc_end0:
.size fn1, .Lfunc_end0-fn1
@@ -33,19 +45,24 @@ fn1: # @fn1
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, a+60($0)
- block
+ i32.const $push8=, 0
+ i32.load $0=, a+60($pop8)
+ i32.const $push7=, 0
+ i32.const $push6=, 0
i32.const $push0=, 1
- i32.store $push1=, a+48($0), $pop0
- i32.store $discard=, c($0), $pop1
- i32.store $push2=, a($0), $1
- i32.store $push3=, a+4($0), $pop2
+ i32.store $push1=, a+48($pop6):p2align=4, $pop0
+ i32.store $discard=, c($pop7), $pop1
+ block
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.store $push2=, a($pop4):p2align=4, $0
+ i32.store $push3=, a+4($pop5), $pop2
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push9=, 0
+ return $pop9
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -58,7 +75,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 80
.size a, 80
@@ -67,7 +84,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -76,7 +93,7 @@ b:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
diff --git a/test/torture-s/pr58640.c.s b/test/torture-s/pr58640.c.s
index bbcdd3707..ac6c14c64 100644
--- a/test/torture-s/pr58640.c.s
+++ b/test/torture-s/pr58640.c.s
@@ -6,30 +6,35 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, b($0)
- i32.gt_s $push1=, $pop0, $0
+ i32.const $push9=, 0
+ i32.load $push0=, b($pop9)
+ i32.const $push8=, 0
+ i32.gt_s $push1=, $pop0, $pop8
br_if $pop1, 0 # 0: down to label0
# BB#1: # %for.body3.lr.ph.i
block
- i32.load $push2=, d($0)
+ i32.const $push10=, 0
+ i32.load $push2=, d($pop10)
br_if $pop2, 0 # 0: down to label1
# BB#2: # %for.inc25.i.preheader
- i32.const $push5=, 1
- i32.store $discard=, b($0), $pop5
+ i32.const $push6=, 0
+ i32.const $push7=, 1
+ i32.store $discard=, b($pop6), $pop7
br 1 # 1: down to label0
.LBB0_3: # %for.cond4.preheader.split.i
end_block # label1:
- i32.const $push3=, 1
- i32.store $discard=, e($0), $pop3
- i32.const $push4=, 4
- i32.store $discard=, c($0), $pop4
+ i32.const $push3=, 0
+ i32.const $push4=, 1
+ i32.store $discard=, e($pop3), $pop4
+ i32.const $push11=, 0
+ i32.const $push5=, 4
+ i32.store $discard=, c($pop11), $pop5
.LBB0_4: # %foo.exit
end_block # label0:
- call exit@FUNCTION, $0
+ i32.const $push12=, 0
+ call exit@FUNCTION, $pop12
unreachable
.endfunc
.Lfunc_end0:
@@ -39,7 +44,7 @@ main: # @main
.type d,@object
.section .data.d,"aw",@progbits
.globl d
- .align 2
+ .p2align 2
d:
.int32 1 # 0x1
.size d, 4
@@ -48,7 +53,7 @@ d:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -57,7 +62,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -66,7 +71,7 @@ b:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -75,7 +80,7 @@ c:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
diff --git a/test/torture-s/pr58662.c.s b/test/torture-s/pr58662.c.s
index 4d11fe1b3..6e3451e49 100644
--- a/test/torture-s/pr58662.c.s
+++ b/test/torture-s/pr58662.c.s
@@ -6,26 +6,33 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- block
- i32.load $push0=, a($0)
- i32.eq $push1=, $pop0, $0
+ i32.const $push19=, 0
+ i32.const $push18=, 0
+ i32.load $push8=, c($pop18)
+ i32.const $push17=, 0
+ i32.ne $push9=, $pop8, $pop17
+ i32.const $push16=, 0
+ i32.const $push15=, 0
+ i32.load $push0=, a($pop15)
+ i32.const $push14=, 0
+ i32.eq $push1=, $pop0, $pop14
i32.const $push2=, -30000
i32.div_s $push3=, $pop1, $pop2
- i32.store $push4=, d($0), $pop3
+ i32.store $push4=, d($pop16), $pop3
i32.const $push5=, 14
- i32.rem_s $1=, $pop4, $pop5
- i32.load $push7=, c($0)
- i32.ne $push8=, $pop7, $0
- i32.ne $push6=, $1, $0
- i32.and $push9=, $pop8, $pop6
- i32.store $discard=, b($0), $pop9
- i32.load $push10=, b($0)
- br_if $pop10, 0 # 0: down to label0
+ i32.rem_s $push6=, $pop4, $pop5
+ i32.const $push13=, 0
+ i32.ne $push7=, $pop6, $pop13
+ i32.and $push10=, $pop9, $pop7
+ i32.store $discard=, b($pop19), $pop10
+ block
+ i32.const $push12=, 0
+ i32.load $push11=, b($pop12)
+ br_if $pop11, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push20=, 0
+ return $pop20
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -38,7 +45,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -47,7 +54,7 @@ a:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -56,7 +63,7 @@ d:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -65,7 +72,7 @@ c:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/pr58726.c.s b/test/torture-s/pr58726.c.s
index c9bdd4add..5d7683cbf 100644
--- a/test/torture-s/pr58726.c.s
+++ b/test/torture-s/pr58726.c.s
@@ -7,16 +7,17 @@
foo: # @foo
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.const $2=, 16
- i32.lt_s $push0=, $0, $1
- i32.load $push1=, a($1)
- i32.select $push2=, $pop0, $0, $pop1
- i32.shl $push3=, $pop2, $2
- i32.shr_s $push4=, $pop3, $2
- return $pop4
+ i32.const $push0=, 0
+ i32.lt_s $push1=, $0, $pop0
+ i32.const $push8=, 0
+ i32.load $push2=, a($pop8)
+ i32.select $push3=, $pop1, $0, $pop2
+ i32.const $push4=, 16
+ i32.shl $push5=, $pop3, $pop4
+ i32.const $push7=, 16
+ i32.shr_s $push6=, $pop5, $pop7
+ return $pop6
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -27,14 +28,15 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 56374
- i32.store $discard=, b($0), $pop0
- i32.const $push1=, -9162
- i32.store $discard=, c($0), $pop1
- return $0
+ i32.store $discard=, b($pop1), $pop0
+ i32.const $push4=, 0
+ i32.const $push2=, -9162
+ i32.store $discard=, c($pop4), $pop2
+ i32.const $push3=, 0
+ return $pop3
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
@@ -43,7 +45,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -52,7 +54,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.skip 4
.size b, 4
@@ -61,7 +63,7 @@ b:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
diff --git a/test/torture-s/pr58831.c.s b/test/torture-s/pr58831.c.s
index e3e6833d3..48a5e5930 100644
--- a/test/torture-s/pr58831.c.s
+++ b/test/torture-s/pr58831.c.s
@@ -6,15 +6,17 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
call fn2@FUNCTION
- i32.const $0=, 0
- i32.load $1=, b($0)
+ i32.const $push1=, 0
+ i32.load $0=, b($pop1)
+ i32.const $push3=, 0
i32.const $push0=, r
- i32.store $discard=, i($0), $pop0
- call fn1@FUNCTION, $1
- return $0
+ i32.store $discard=, i($pop3), $pop0
+ call fn1@FUNCTION, $0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -22,12 +24,12 @@ main: # @main
.section .text.fn2,"ax",@progbits
.type fn2,@function
fn2: # @fn2
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.store16 $push0=, o($0), $0
- i32.const $push1=, 42
- i32.store $discard=, f($pop0), $pop1
+ i32.const $push0=, 0
+ i32.const $push3=, 0
+ i32.store16 $push1=, o($pop0), $pop3
+ i32.const $push2=, 42
+ i32.store $discard=, f($pop1), $pop2
return
.endfunc
.Lfunc_end1:
@@ -37,29 +39,32 @@ fn2: # @fn2
.type fn1,@function
fn1: # @fn1
.param i32
- .local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
block
- i32.load $push0=, p($1)
- i32.const $push7=, 0
- i32.eq $push8=, $pop0, $pop7
- br_if $pop8, 0 # 0: down to label0
+ i32.const $push8=, 0
+ i32.load $push0=, p($pop8)
+ i32.const $push13=, 0
+ i32.eq $push14=, $pop0, $pop13
+ br_if $pop14, 0 # 0: down to label0
.LBB2_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
+ i32.const $push10=, 0
+ i32.const $push9=, 0
+ i32.load $push3=, p($pop9)
i32.const $push1=, 1
- i32.store $2=, 0($0), $pop1
- i32.load $push2=, p($1)
- i32.add $push3=, $pop2, $2
- i32.store $push4=, p($1), $pop3
- br_if $pop4, 0 # 0: up to label1
+ i32.store $push2=, 0($0), $pop1
+ i32.add $push4=, $pop3, $pop2
+ i32.store $push5=, p($pop10), $pop4
+ br_if $pop5, 0 # 0: up to label1
.LBB2_2: # %for.end
end_loop # label2:
end_block # label0:
- i32.const $push5=, d
- i32.store $push6=, r($1), $pop5
- i32.store $discard=, b($1), $pop6
+ i32.const $push12=, 0
+ i32.const $push11=, 0
+ i32.const $push6=, d
+ i32.store $push7=, r($pop11), $pop6
+ i32.store $discard=, b($pop12), $pop7
return
.endfunc
.Lfunc_end2:
@@ -69,7 +74,7 @@ fn1: # @fn1
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0
.size i, 4
@@ -78,7 +83,7 @@ i:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0
.size b, 4
@@ -87,7 +92,7 @@ b:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -96,7 +101,7 @@ a:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -105,7 +110,7 @@ c:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -114,7 +119,7 @@ d:
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 2
+ .p2align 2
f:
.int32 0 # 0x0
.size f, 4
@@ -123,7 +128,7 @@ f:
.type p,@object
.section .bss.p,"aw",@nobits
.globl p
- .align 2
+ .p2align 2
p:
.int32 0 # 0x0
.size p, 4
@@ -132,7 +137,7 @@ p:
.type q,@object
.section .bss.q,"aw",@nobits
.globl q
- .align 2
+ .p2align 2
q:
.int32 0 # 0x0
.size q, 4
@@ -141,7 +146,7 @@ q:
.type r,@object
.section .bss.r,"aw",@nobits
.globl r
- .align 2
+ .p2align 2
r:
.int32 0
.size r, 4
@@ -150,7 +155,7 @@ r:
.type o,@object
.section .bss.o,"aw",@nobits
.globl o
- .align 1
+ .p2align 1
o:
.int16 0 # 0x0
.size o, 2
@@ -159,7 +164,7 @@ o:
.type j,@object
.section .bss.j,"aw",@nobits
.globl j
- .align 1
+ .p2align 1
j:
.int16 0 # 0x0
.size j, 2
diff --git a/test/torture-s/pr58943.c.s b/test/torture-s/pr58943.c.s
index eddbc5386..ea53ad27a 100644
--- a/test/torture-s/pr58943.c.s
+++ b/test/torture-s/pr58943.c.s
@@ -6,15 +6,15 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, x($0)
- i32.const $push1=, 128
- i32.or $push2=, $pop0, $pop1
- i32.store $discard=, x($0), $pop2
- i32.const $push3=, 1
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load $push1=, x($pop5)
+ i32.const $push2=, 128
+ i32.or $push3=, $pop1, $pop2
+ i32.store $discard=, x($pop0), $pop3
+ i32.const $push4=, 1
+ return $pop4
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -25,19 +25,20 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, x($0)
+ i32.const $push7=, 0
+ i32.const $push6=, 0
+ i32.load $push0=, x($pop6)
i32.const $push1=, 129
i32.or $push2=, $pop0, $pop1
- i32.store $push3=, x($0), $pop2
+ i32.store $push3=, x($pop7), $pop2
i32.const $push4=, 131
i32.ne $push5=, $pop3, $pop4
br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push8=, 0
+ return $pop8
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -50,7 +51,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int32 2 # 0x2
.size x, 4
diff --git a/test/torture-s/pr58984.c.s b/test/torture-s/pr58984.c.s
index aca1f704d..97a6b3ac9 100644
--- a/test/torture-s/pr58984.c.s
+++ b/test/torture-s/pr58984.c.s
@@ -6,40 +6,50 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, 1
block
- i32.load $push0=, e($0)
- i32.gt_s $push1=, $pop0, $1
+ i32.const $push15=, 0
+ i32.load $push0=, e($pop15)
+ i32.const $push14=, 1
+ i32.gt_s $push1=, $pop0, $pop14
br_if $pop1, 0 # 0: down to label0
# BB#1: # %for.body.i
- i32.load $2=, c($0)
- i32.load $push2=, 0($2)
- i32.xor $push3=, $pop2, $1
- i32.store $discard=, 0($2), $pop3
+ i32.const $push17=, 0
+ i32.load $1=, c($pop17)
+ i32.load $push2=, 0($1)
+ i32.const $push16=, 1
+ i32.xor $push3=, $pop2, $pop16
+ i32.store $discard=, 0($1), $pop3
.LBB0_2: # %foo.exit
end_block # label0:
- i32.load $2=, a($0)
- i32.store $discard=, m($0), $1
block
- i32.ne $push4=, $2, $1
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push20=, 0
+ i32.load $push5=, a($pop20)
+ i32.const $push19=, 0
+ i32.const $push18=, 1
+ i32.store $push4=, m($pop19), $pop18
+ i32.ne $push6=, $pop5, $pop4
+ br_if $pop6, 0 # 0: down to label1
# BB#3: # %bar.exit
- i32.store $discard=, e($0), $0
- i32.load $2=, c($0)
- i32.load $push5=, 0($2)
- i32.xor $push6=, $pop5, $1
- i32.store $discard=, 0($2), $pop6
- i32.load $2=, a($0)
+ i32.const $push7=, 0
+ i32.const $push23=, 0
+ i32.store $push8=, e($pop7), $pop23
+ tee_local $push22=, $1=, $pop8
+ i32.load $0=, c($pop22)
+ i32.load $push9=, 0($0)
+ i32.const $push10=, 1
+ i32.xor $push11=, $pop9, $pop10
+ i32.store $discard=, 0($0), $pop11
+ i32.load $0=, a($1)
+ i32.load $push12=, m($1)
+ i32.const $push21=, 1
+ i32.or $push13=, $pop12, $pop21
+ i32.store $discard=, m($1), $pop13
block
- i32.load $push7=, m($0)
- i32.or $push8=, $pop7, $1
- i32.store $discard=, m($0), $pop8
- br_if $2, 0 # 0: down to label2
+ br_if $0, 0 # 0: down to label2
# BB#4: # %if.end11
- return $0
+ return $1
.LBB0_5: # %if.then10
end_block # label2:
call abort@FUNCTION
@@ -56,7 +66,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -65,7 +75,7 @@ a:
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 2
+ .p2align 2
c:
.int32 a
.size c, 4
@@ -74,7 +84,7 @@ c:
.type n,@object
.section .bss.n,"aw",@nobits
.globl n
- .align 2
+ .p2align 2
n:
.int32 0 # 0x0
.size n, 4
@@ -83,7 +93,7 @@ n:
.type m,@object
.section .bss.m,"aw",@nobits
.globl m
- .align 2
+ .p2align 2
m:
.int32 0 # 0x0
.size m, 4
@@ -92,7 +102,7 @@ m:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 2
+ .p2align 2
e:
.int32 0 # 0x0
.size e, 4
@@ -101,7 +111,7 @@ e:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/pr59014.c.s b/test/torture-s/pr59014.c.s
index 4aa914515..1370f1500 100644
--- a/test/torture-s/pr59014.c.s
+++ b/test/torture-s/pr59014.c.s
@@ -6,19 +6,22 @@
.type foo,@function
foo: # @foo
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $0=, a($1)
block
- i32.load $push0=, b($1)
- i32.gt_s $push1=, $pop0, $1
- i32.const $push2=, 1
- i32.and $push3=, $0, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.const $push5=, 0
- i32.eq $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push9=, 0
+ i32.load $push1=, b($pop9)
+ i32.const $push8=, 0
+ i32.gt_s $push2=, $pop1, $pop8
+ i32.const $push7=, 0
+ i32.load $push0=, a($pop7)
+ tee_local $push6=, $0=, $pop0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop6, $pop3
+ i32.or $push5=, $pop2, $pop4
+ i32.const $push12=, 0
+ i32.eq $push13=, $pop5, $pop12
+ br_if $pop13, 0 # 0: down to label0
.LBB0_1: # %for.inc
# =>This Inner Loop Header: Depth=1
loop # label1:
@@ -26,8 +29,10 @@ foo: # @foo
.LBB0_2: # %if.else
end_loop # label2:
end_block # label0:
- i32.store $discard=, d($1), $0
- return $1
+ i32.const $push11=, 0
+ i32.store $discard=, d($pop11), $0
+ i32.const $push10=, 0
+ return $pop10
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -38,19 +43,22 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $0=, a($1)
block
- i32.load $push0=, b($1)
- i32.gt_s $push1=, $pop0, $1
- i32.const $push2=, 1
- i32.and $push3=, $0, $pop2
- i32.or $push4=, $pop1, $pop3
- i32.const $push8=, 0
- i32.eq $push9=, $pop4, $pop8
- br_if $pop9, 0 # 0: down to label3
+ i32.const $push13=, 0
+ i32.load $push1=, b($pop13)
+ i32.const $push12=, 0
+ i32.gt_s $push2=, $pop1, $pop12
+ i32.const $push11=, 0
+ i32.load $push0=, a($pop11)
+ tee_local $push10=, $0=, $pop0
+ i32.const $push3=, 1
+ i32.and $push4=, $pop10, $pop3
+ i32.or $push5=, $pop2, $pop4
+ i32.const $push15=, 0
+ i32.eq $push16=, $pop5, $pop15
+ br_if $pop16, 0 # 0: down to label3
.LBB1_1: # %for.inc.i
# =>This Inner Loop Header: Depth=1
loop # label4:
@@ -59,12 +67,14 @@ main: # @main
end_loop # label5:
end_block # label3:
block
- i32.store $push5=, d($1), $0
- i32.const $push6=, 2
- i32.ne $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: down to label6
+ i32.const $push14=, 0
+ i32.store $push6=, d($pop14), $0
+ i32.const $push7=, 2
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label6
# BB#3: # %if.end
- return $1
+ i32.const $push9=, 0
+ return $pop9
.LBB1_4: # %if.then
end_block # label6:
call abort@FUNCTION
@@ -77,7 +87,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 2 # 0x2
.size a, 4
@@ -86,7 +96,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -95,7 +105,7 @@ b:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
@@ -104,7 +114,7 @@ d:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
diff --git a/test/torture-s/pr59101.c.s b/test/torture-s/pr59101.c.s
index d6fc75b1d..7a0f40c92 100644
--- a/test/torture-s/pr59101.c.s
+++ b/test/torture-s/pr59101.c.s
@@ -7,14 +7,14 @@
foo: # @foo
.param i32
.result i32
- .local i32
# BB#0: # %entry
- i32.const $1=, -192176872
- i32.and $push0=, $0, $1
- i32.ne $push1=, $pop0, $1
- i32.const $push2=, 6
- i32.or $push3=, $pop1, $pop2
- return $pop3
+ i32.const $push0=, -192176872
+ i32.and $push1=, $0, $pop0
+ i32.const $push5=, -192176872
+ i32.ne $push2=, $pop1, $pop5
+ i32.const $push3=, 6
+ i32.or $push4=, $pop2, $pop3
+ return $pop4
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -25,16 +25,16 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.call $push0=, foo@FUNCTION, $0
+ i32.const $push3=, 0
+ i32.call $push0=, foo@FUNCTION, $pop3
i32.const $push1=, 7
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
diff --git a/test/torture-s/pr59221.c.s b/test/torture-s/pr59221.c.s
index 2e722d129..bf3d3d522 100644
--- a/test/torture-s/pr59221.c.s
+++ b/test/torture-s/pr59221.c.s
@@ -6,35 +6,45 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, b($0)
- i32.const $push9=, 0
- i32.eq $push10=, $pop0, $pop9
- br_if $pop10, 0 # 0: down to label0
+ i32.const $push14=, 0
+ i32.load $push0=, b($pop14)
+ i32.const $push24=, 0
+ i32.eq $push25=, $pop0, $pop24
+ br_if $pop25, 0 # 0: down to label0
# BB#1: # %for.inc.preheader
- i32.store $discard=, b($0), $0
+ i32.const $push16=, 0
+ i32.const $push15=, 0
+ i32.store $discard=, b($pop16), $pop15
.LBB0_2: # %for.end
end_block # label0:
- i32.load $1=, a($0)
- i32.const $2=, 16
- i32.const $3=, 65535
+ i32.const $push23=, 0
+ i32.const $push22=, 0
+ i32.const $push21=, 0
+ i32.load $push1=, a($pop21)
+ tee_local $push20=, $0=, $pop1
+ i32.const $push5=, 65535
+ i32.and $push6=, $pop20, $pop5
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push19=, 16
+ i32.shr_s $push4=, $pop3, $pop19
+ i32.const $push7=, -32768
+ i32.select $push8=, $pop6, $pop4, $pop7
+ tee_local $push18=, $0=, $pop8
+ i32.store16 $push10=, e($pop22), $pop18
+ i32.store $discard=, d($pop23), $pop10
block
- i32.and $push3=, $1, $3
- i32.shl $push1=, $1, $2
- i32.shr_s $push2=, $pop1, $2
- i32.const $push4=, -32768
- i32.select $1=, $pop3, $pop2, $pop4
- i32.store16 $push6=, e($0), $1
- i32.store $discard=, d($0), $pop6
- i32.and $push5=, $1, $3
- i32.const $push7=, 1
- i32.ne $push8=, $pop5, $pop7
- br_if $pop8, 0 # 0: down to label1
+ i32.const $push17=, 65535
+ i32.and $push9=, $0, $pop17
+ i32.const $push11=, 1
+ i32.ne $push12=, $pop9, $pop11
+ br_if $pop12, 0 # 0: down to label1
# BB#3: # %if.end
- return $0
+ i32.const $push13=, 0
+ return $pop13
.LBB0_4: # %if.then
end_block # label1:
call abort@FUNCTION
@@ -47,7 +57,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 2
+ .p2align 2
a:
.int32 1 # 0x1
.size a, 4
@@ -56,7 +66,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -65,7 +75,7 @@ b:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 1
+ .p2align 1
e:
.int16 0 # 0x0
.size e, 2
@@ -74,7 +84,7 @@ e:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
diff --git a/test/torture-s/pr59229.c.s b/test/torture-s/pr59229.c.s
index 671039130..be5481040 100644
--- a/test/torture-s/pr59229.c.s
+++ b/test/torture-s/pr59229.c.s
@@ -6,42 +6,35 @@
.type bar,@function
bar: # @bar
.param i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $push0=, 0
- i32.load $1=, i($pop0)
- i32.const $2=, 6
block
- i32.const $push1=, -1
- i32.add $push2=, $1, $pop1
- i32.ge_u $push3=, $pop2, $2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push1=, 0
+ i32.load $push0=, i($pop1)
+ tee_local $push17=, $1=, $pop0
+ i32.const $push2=, -1
+ i32.add $push3=, $pop17, $pop2
+ i32.const $push4=, 6
+ i32.ge_u $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $3=, 1
block
- i32.const $push5=, .L.str
- i32.add $push4=, $1, $3
- i32.call $push6=, memcmp@FUNCTION, $0, $pop5, $pop4
- br_if $pop6, 0 # 0: down to label1
+ i32.const $push8=, .L.str
+ i32.const $push6=, 1
+ i32.add $push7=, $1, $pop6
+ i32.call $push9=, memcmp@FUNCTION, $0, $pop8, $pop7
+ br_if $pop9, 0 # 0: down to label1
# BB#2: # %if.end4
- i32.const $push7=, 32
- i32.store8 $1=, 0($0), $pop7
- i32.add $push8=, $0, $2
- i32.store8 $discard=, 0($pop8), $1
- i32.const $push9=, 5
- i32.add $push10=, $0, $pop9
- i32.store8 $discard=, 0($pop10), $1
- i32.const $push11=, 4
+ i32.const $push10=, 538976288
+ i32.store $discard=, 0($0):p2align=0, $pop10
+ i32.const $push11=, 6
i32.add $push12=, $0, $pop11
- i32.store8 $discard=, 0($pop12), $1
- i32.const $push13=, 3
- i32.add $push14=, $0, $pop13
- i32.store8 $discard=, 0($pop14), $1
- i32.const $push15=, 2
- i32.add $push16=, $0, $pop15
- i32.store8 $discard=, 0($pop16), $1
- i32.add $push17=, $0, $3
- i32.store8 $discard=, 0($pop17), $1
+ i32.const $push13=, 32
+ i32.store8 $discard=, 0($pop12), $pop13
+ i32.const $push14=, 4
+ i32.add $push15=, $0, $pop14
+ i32.const $push16=, 8224
+ i32.store16 $discard=, 0($pop15):p2align=0, $pop16
return
.LBB0_3: # %if.then3
end_block # label1:
@@ -66,9 +59,9 @@ foo: # @foo
i32.const $2=, __stack_pointer
i32.load $2=, 0($2)
i32.const $3=, 16
- i32.sub $5=, $2, $3
+ i32.sub $7=, $2, $3
i32.const $3=, __stack_pointer
- i32.store $5=, 0($3), $5
+ i32.store $7=, 0($3), $7
block
i32.const $push0=, -1
i32.add $push1=, $1, $pop0
@@ -79,17 +72,17 @@ foo: # @foo
i32.const $push4=, 1
i32.add $push5=, $1, $pop4
i32.const $5=, 9
- i32.add $5=, $5, $5
- call memcpy@FUNCTION, $5, $0, $pop5
+ i32.add $5=, $7, $5
+ i32.call $discard=, memcpy@FUNCTION, $5, $0, $pop5
i32.const $6=, 9
- i32.add $6=, $5, $6
+ i32.add $6=, $7, $6
call bar@FUNCTION, $6
.LBB1_2: # %return
end_block # label2:
i32.const $4=, 16
- i32.add $5=, $5, $4
+ i32.add $7=, $7, $4
i32.const $4=, __stack_pointer
- i32.store $5=, 0($4), $5
+ i32.store $7=, 0($4), $7
return
.endfunc
.Lfunc_end1:
@@ -103,25 +96,26 @@ main: # @main
.result i32
.local i32, i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.store $0=, i($1), $1
+ i32.const $push1=, 0
+ i32.const $push5=, 0
+ i32.store $0=, i($pop1), $pop5
copy_local $1=, $0
.LBB2_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label3:
- i32.const $push1=, .L.str.1
- call foo@FUNCTION, $pop1, $1
+ i32.const $push8=, .L.str.1
+ call foo@FUNCTION, $pop8, $1
i32.load $push2=, i($0)
- i32.const $push3=, 1
- i32.add $push0=, $pop2, $pop3
+ i32.const $push7=, 1
+ i32.add $push0=, $pop2, $pop7
i32.store $1=, i($0), $pop0
- i32.const $push4=, 16
- i32.lt_s $push5=, $1, $pop4
- br_if $pop5, 0 # 0: up to label3
+ i32.const $push6=, 16
+ i32.lt_s $push3=, $1, $pop6
+ br_if $pop3, 0 # 0: up to label3
# BB#2: # %for.end
end_loop # label4:
- i32.const $push6=, 0
- return $pop6
+ i32.const $push4=, 0
+ return $pop4
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
@@ -130,7 +124,7 @@ main: # @main
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
diff --git a/test/torture-s/pr59358.c.s b/test/torture-s/pr59358.c.s
index bb13779be..7b5e47c12 100644
--- a/test/torture-s/pr59358.c.s
+++ b/test/torture-s/pr59358.c.s
@@ -41,107 +41,112 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 16
+ i32.sub $12=, $7, $8
i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 16
- i32.sub $13=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $13=, 0($9), $13
+ i32.store $12=, 0($8), $12
+ i32.const $push1=, 1
+ i32.store $4=, 12($12), $pop1
i32.const $0=, 2
- i32.const $push0=, 1
- i32.store $2=, 12($13), $pop0
- copy_local $1=, $0
+ i32.const $1=, 2
+ copy_local $2=, $4
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
block
block
loop # label5:
- i32.const $5=, 16
- i32.const $push1=, -1
- i32.add $3=, $1, $pop1
- i32.const $11=, 12
- i32.add $11=, $13, $11
- i32.call $4=, foo@FUNCTION, $11, $5
- i32.const $6=, 8
- copy_local $7=, $0
+ i32.const $push19=, 16
+ i32.const $10=, 12
+ i32.add $10=, $12, $10
+ i32.call $3=, foo@FUNCTION, $10, $pop19
+ copy_local $5=, $0
block
- i32.const $push2=, -8
- i32.and $push3=, $3, $pop2
- i32.eq $push4=, $pop3, $6
- br_if $pop4, 0 # 0: down to label7
+ i32.const $push18=, -1
+ i32.add $push0=, $1, $pop18
+ tee_local $push17=, $6=, $pop0
+ i32.const $push16=, -8
+ i32.and $push2=, $pop17, $pop16
+ i32.const $push15=, 8
+ i32.eq $push3=, $pop2, $pop15
+ br_if $pop3, 0 # 0: down to label7
# BB#2: # %if.else
# in Loop: Header=BB1_1 Depth=1
- i32.const $7=, 4
block
- i32.const $push5=, -4
- i32.and $push6=, $3, $pop5
- i32.ne $push7=, $pop6, $7
- br_if $pop7, 0 # 0: down to label8
+ i32.const $push21=, -4
+ i32.and $push4=, $6, $pop21
+ i32.const $push20=, 4
+ i32.ne $push5=, $pop4, $pop20
+ br_if $pop5, 0 # 0: down to label8
# BB#3: # %if.then6
# in Loop: Header=BB1_1 Depth=1
- i32.const $push10=, 2
- i32.shl $7=, $2, $pop10
+ i32.const $push22=, 2
+ i32.shl $5=, $2, $pop22
br 1 # 1: down to label7
.LBB1_4: # %if.else10
# in Loop: Header=BB1_1 Depth=1
end_block # label8:
- i32.eq $push8=, $1, $7
- i32.const $push9=, 24
- i32.select $7=, $pop8, $pop9, $5
+ i32.const $push25=, 4
+ i32.eq $push6=, $1, $pop25
+ i32.const $push24=, 24
+ i32.const $push23=, 16
+ i32.select $5=, $pop6, $pop24, $pop23
.LBB1_5: # %if.end15
# in Loop: Header=BB1_1 Depth=1
end_block # label7:
- i32.ne $push11=, $4, $7
- br_if $pop11, 3 # 3: down to label3
+ i32.ne $push7=, $3, $5
+ br_if $pop7, 3 # 3: down to label3
# BB#6: # %if.end18
# in Loop: Header=BB1_1 Depth=1
- i32.const $push12=, 7
- i32.const $12=, 12
- i32.add $12=, $13, $12
- i32.call $5=, foo@FUNCTION, $12, $pop12
- copy_local $7=, $2
+ i32.const $push27=, 7
+ i32.const $11=, 12
+ i32.add $11=, $12, $11
+ i32.call $3=, foo@FUNCTION, $11, $pop27
+ copy_local $5=, $2
block
- i32.const $push13=, 6
- i32.gt_s $push14=, $3, $pop13
- br_if $pop14, 0 # 0: down to label9
+ i32.const $push26=, 6
+ i32.gt_s $push8=, $6, $pop26
+ br_if $pop8, 0 # 0: down to label9
# BB#7: # %if.else22
# in Loop: Header=BB1_1 Depth=1
- copy_local $7=, $0
- i32.const $push15=, 3
- i32.gt_s $push16=, $3, $pop15
- br_if $pop16, 0 # 0: down to label9
+ copy_local $5=, $0
+ i32.const $push28=, 3
+ i32.gt_s $push9=, $6, $pop28
+ br_if $pop9, 0 # 0: down to label9
# BB#8: # %if.else28
# in Loop: Header=BB1_1 Depth=1
- i32.const $push17=, 4
- i32.eq $push18=, $1, $pop17
- i32.const $push19=, 12
- i32.select $7=, $pop18, $pop19, $6
+ i32.const $push31=, 4
+ i32.eq $push10=, $1, $pop31
+ i32.const $push30=, 12
+ i32.const $push29=, 8
+ i32.select $5=, $pop10, $pop30, $pop29
.LBB1_9: # %if.end34
# in Loop: Header=BB1_1 Depth=1
end_block # label9:
- i32.ne $push20=, $5, $7
- br_if $pop20, 2 # 2: down to label4
+ i32.ne $push11=, $3, $5
+ br_if $pop11, 2 # 2: down to label4
# BB#10: # %if.end37
# in Loop: Header=BB1_1 Depth=1
- i32.const $push21=, 2
- i32.add $0=, $0, $pop21
- i32.const $3=, 1
- i32.add $2=, $2, $3
- i32.store $7=, 12($13), $1
- i32.add $1=, $7, $3
- i32.const $push22=, 17
- i32.lt_s $push23=, $7, $pop22
- br_if $pop23, 0 # 0: up to label5
+ i32.add $2=, $2, $4
+ i32.const $push34=, 2
+ i32.add $0=, $0, $pop34
+ i32.store $push12=, 12($12), $1
+ tee_local $push33=, $6=, $pop12
+ i32.add $1=, $pop33, $4
+ i32.const $push32=, 17
+ i32.lt_s $push13=, $6, $pop32
+ br_if $pop13, 0 # 0: up to label5
# BB#11: # %for.end
end_loop # label6:
- i32.const $push24=, 0
- i32.const $10=, 16
- i32.add $13=, $13, $10
- i32.const $10=, __stack_pointer
- i32.store $13=, 0($10), $13
- return $pop24
+ i32.const $push14=, 0
+ i32.const $9=, 16
+ i32.add $12=, $12, $9
+ i32.const $9=, __stack_pointer
+ i32.store $12=, 0($9), $12
+ return $pop14
.LBB1_12: # %if.then36
end_block # label4:
call abort@FUNCTION
diff --git a/test/torture-s/pr59387.c.s b/test/torture-s/pr59387.c.s
index 1ceca6b63..cd350dcb9 100644
--- a/test/torture-s/pr59387.c.s
+++ b/test/torture-s/pr59387.c.s
@@ -6,36 +6,43 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load8_u $2=, c($0)
+ i32.const $push7=, 0
i32.const $push1=, -19
- i32.store $1=, a($0), $pop1
+ i32.store $0=, a($pop7), $pop1
+ i32.const $push6=, 0
+ i32.load8_u $1=, c($pop6)
.LBB0_1: # %for.body2
# =>This Inner Loop Header: Depth=1
loop # label0:
- i32.load $push3=, e($0)
- i32.const $push4=, f
- i32.store $discard=, 0($pop3), $pop4
- i32.const $push2=, -24
- i32.add $2=, $2, $pop2
- i32.load $push5=, d($0)
+ i32.const $push11=, 0
+ i32.load $push2=, e($pop11)
+ i32.const $push10=, f
+ i32.store $discard=, 0($pop2), $pop10
+ i32.const $push9=, -24
+ i32.add $1=, $1, $pop9
i32.const $push8=, 0
- i32.eq $push9=, $pop5, $pop8
- br_if $pop9, 1 # 1: down to label1
+ i32.load $push3=, d($pop8)
+ i32.const $push16=, 0
+ i32.eq $push17=, $pop3, $pop16
+ br_if $pop17, 1 # 1: down to label1
# BB#2: # %for.inc4
# in Loop: Header=BB0_1 Depth=1
- i32.const $push6=, 1
- i32.add $push0=, $1, $pop6
- i32.store $1=, a($0), $pop0
- br_if $1, 0 # 0: up to label0
+ i32.const $push13=, 0
+ i32.const $push12=, 1
+ i32.add $push0=, $0, $pop12
+ i32.store $0=, a($pop13), $pop0
+ br_if $0, 0 # 0: up to label0
.LBB0_3: # %return
end_loop # label1:
- i32.store8 $discard=, c($0), $2
- i32.const $push7=, 24
- i32.store $discard=, b($0), $pop7
- return $0
+ i32.const $push4=, 0
+ i32.store8 $discard=, c($pop4), $1
+ i32.const $push15=, 0
+ i32.const $push5=, 24
+ i32.store $discard=, b($pop15), $pop5
+ i32.const $push14=, 0
+ return $pop14
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -44,7 +51,7 @@ main: # @main
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0
.size d, 4
@@ -53,7 +60,7 @@ d:
.type e,@object
.section .data.e,"aw",@progbits
.globl e
- .align 2
+ .p2align 2
e:
.int32 d
.size e, 4
@@ -62,7 +69,7 @@ e:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -71,7 +78,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.skip 4
.size b, 4
@@ -88,7 +95,7 @@ c:
.type f,@object
.section .bss.f,"aw",@nobits
.globl f
- .align 2
+ .p2align 2
f:
.int32 0 # 0x0
.size f, 4
diff --git a/test/torture-s/pr59388.c.s b/test/torture-s/pr59388.c.s
index deee57f36..35aa36bdd 100644
--- a/test/torture-s/pr59388.c.s
+++ b/test/torture-s/pr59388.c.s
@@ -6,14 +6,14 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load8_u $push0=, b($0)
- i32.const $push1=, 1
- i32.and $push2=, $pop0, $pop1
- i32.store $push3=, a($0), $pop2
- return $pop3
+ i32.const $push0=, 0
+ i32.const $push5=, 0
+ i32.load8_u $push1=, b($pop5):p2align=2
+ i32.const $push2=, 1
+ i32.and $push3=, $pop1, $pop2
+ i32.store $push4=, a($pop0), $pop3
+ return $pop4
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -22,7 +22,7 @@ main: # @main
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.skip 4
.size b, 4
@@ -31,7 +31,7 @@ b:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
diff --git a/test/torture-s/pr59413.c.s b/test/torture-s/pr59413.c.s
index 48e3bfcd4..655457173 100644
--- a/test/torture-s/pr59413.c.s
+++ b/test/torture-s/pr59413.c.s
@@ -6,12 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %if.end
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 7
- i32.store $discard=, a($0), $pop0
- return $0
+ i32.store $discard=, a($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -20,7 +20,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -29,7 +29,7 @@ a:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/pr59747.c.s b/test/torture-s/pr59747.c.s
index da387f95c..bf9d85c25 100644
--- a/test/torture-s/pr59747.c.s
+++ b/test/torture-s/pr59747.c.s
@@ -8,12 +8,10 @@ fn1: # @fn1
.param i32
.result i32
# BB#0: # %entry
- i32.const $push2=, a
i32.const $push0=, 2
i32.shl $push1=, $0, $pop0
- i32.add $push3=, $pop2, $pop1
- i32.load $push4=, 0($pop3)
- return $pop4
+ i32.load $push2=, a($pop1)
+ return $pop2
.endfunc
.Lfunc_end0:
.size fn1, .Lfunc_end0-fn1
@@ -24,38 +22,44 @@ fn1: # @fn1
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, c($0)
- i32.load16_u $2=, e($0)
- block
+ i32.const $push16=, 0
+ i32.load $0=, c($pop16)
+ i32.const $push15=, 0
+ i32.load16_u $1=, e($pop15)
+ i32.const $push14=, 0
i32.const $push1=, 1
- i32.store $discard=, a($0), $pop1
- i32.const $push12=, 0
- i32.eq $push13=, $1, $pop12
- br_if $pop13, 0 # 0: down to label0
+ i32.store $discard=, a($pop14):p2align=4, $pop1
+ block
+ i32.const $push20=, 0
+ i32.eq $push21=, $0, $pop20
+ br_if $pop21, 0 # 0: down to label0
# BB#1: # %if.then
+ i32.const $push17=, 0
i32.const $push2=, -1
- i32.add $push0=, $2, $pop2
- i32.store16 $2=, e($0), $pop0
+ i32.add $push0=, $1, $pop2
+ i32.store16 $1=, e($pop17), $pop0
.LBB1_2: # %if.end
end_block # label0:
- i32.const $1=, 16
+ i32.const $push19=, 0
+ i32.const $push3=, 16
+ i32.shl $push4=, $1, $pop3
+ i32.const $push18=, 16
+ i32.shr_s $push5=, $pop4, $pop18
+ i32.store $discard=, d($pop19), $pop5
block
- i32.shl $push3=, $2, $1
- i32.shr_s $push4=, $pop3, $1
- i32.store $discard=, d($0), $pop4
- i64.extend_u/i32 $push5=, $2
- i64.const $push6=, 48
- i64.shl $push7=, $pop5, $pop6
- i64.const $push8=, 63
- i64.shr_u $push9=, $pop7, $pop8
- i32.wrap/i64 $push10=, $pop9
- i32.call $push11=, fn1@FUNCTION, $pop10
- br_if $pop11, 0 # 0: down to label1
+ i64.extend_u/i32 $push6=, $1
+ i64.const $push7=, 48
+ i64.shl $push8=, $pop6, $pop7
+ i64.const $push9=, 63
+ i64.shr_u $push10=, $pop8, $pop9
+ i32.wrap/i64 $push11=, $pop10
+ i32.call $push12=, fn1@FUNCTION, $pop11
+ br_if $pop12, 0 # 0: down to label1
# BB#3: # %if.end5
- call exit@FUNCTION, $0
+ i32.const $push13=, 0
+ call exit@FUNCTION, $pop13
unreachable
.LBB1_4: # %if.then4
end_block # label1:
@@ -69,7 +73,7 @@ main: # @main
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 2
+ .p2align 2
c:
.int32 1 # 0x1
.size c, 4
@@ -78,7 +82,7 @@ c:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 4
+ .p2align 4
a:
.skip 24
.size a, 24
@@ -87,7 +91,7 @@ a:
.type e,@object
.section .bss.e,"aw",@nobits
.globl e
- .align 1
+ .p2align 1
e:
.int16 0 # 0x0
.size e, 2
@@ -96,7 +100,7 @@ e:
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
- .align 2
+ .p2align 2
d:
.int32 0 # 0x0
.size d, 4
diff --git a/test/torture-s/pr60017.c.s b/test/torture-s/pr60017.c.s
index bfe62a891..b92d3b9a2 100644
--- a/test/torture-s/pr60017.c.s
+++ b/test/torture-s/pr60017.c.s
@@ -6,23 +6,16 @@
.type func,@function
func: # @func
.param i32
- .local i32, i32
+ .local i64
# BB#0: # %entry
- i32.const $1=, 0
- i32.load $2=, x+8($1)
- i32.const $push0=, 12
+ i32.const $push2=, 0
+ i64.load $1=, x($pop2):p2align=2
+ i32.const $push0=, 8
i32.add $push1=, $0, $pop0
- i32.load $push2=, x+12($1)
- i32.store $discard=, 0($pop1), $pop2
- i32.const $push3=, 8
- i32.add $push4=, $0, $pop3
- i32.store $discard=, 0($pop4), $2
- i32.load $2=, x($1)
- i32.const $push5=, 4
- i32.add $push6=, $0, $pop5
- i32.load $push7=, x+4($1)
- i32.store $discard=, 0($pop6), $pop7
- i32.store $discard=, 0($0), $2
+ i32.const $push4=, 0
+ i64.load $push3=, x+8($pop4):p2align=2
+ i64.store $discard=, 0($pop1):p2align=2, $pop3
+ i64.store $discard=, 0($0):p2align=2, $1
return
.endfunc
.Lfunc_end0:
@@ -34,16 +27,16 @@ func: # @func
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load16_u $push0=, x+12($0)
+ i32.const $push3=, 0
+ i32.load16_u $push0=, x+12($pop3):p2align=2
i32.const $push1=, 9
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push4=, 0
+ return $pop4
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -56,7 +49,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int8 1 # 0x1
.ascii "\002\003"
diff --git a/test/torture-s/pr60062.c.s b/test/torture-s/pr60062.c.s
index 332769c25..1fbf85810 100644
--- a/test/torture-s/pr60062.c.s
+++ b/test/torture-s/pr60062.c.s
@@ -17,7 +17,7 @@ main: # @main
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
diff --git a/test/torture-s/pr60072.c.s b/test/torture-s/pr60072.c.s
index 8c55e2dfe..b5c75ea68 100644
--- a/test/torture-s/pr60072.c.s
+++ b/test/torture-s/pr60072.c.s
@@ -6,12 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 2
- i32.store $discard=, c($0), $pop0
- return $0
+ i32.store $discard=, c($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -20,7 +20,7 @@ main: # @main
.type c,@object
.section .data.c,"aw",@progbits
.globl c
- .align 2
+ .p2align 2
c:
.int32 1 # 0x1
.size c, 4
diff --git a/test/torture-s/pr60454.c.s b/test/torture-s/pr60454.c.s
index da5393728..1c5e939bf 100644
--- a/test/torture-s/pr60454.c.s
+++ b/test/torture-s/pr60454.c.s
@@ -7,22 +7,26 @@
fake_swap32: # @fake_swap32
.param i32
.result i32
- .local i32, i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, 65280
- i32.const $4=, 8
- i32.and $3=, $0, $2
- i32.const $1=, 24
- i32.shl $push0=, $0, $1
- i32.or $push5=, $3, $pop0
- i32.shr_u $push4=, $0, $1
- i32.or $push6=, $pop5, $pop4
- i32.shl $push1=, $3, $4
- i32.or $push7=, $pop6, $pop1
- i32.shl $push2=, $0, $4
- i32.and $push3=, $pop2, $2
- i32.or $push8=, $pop7, $pop3
- return $pop8
+ i32.const $push2=, 65280
+ i32.and $push3=, $0, $pop2
+ tee_local $push16=, $1=, $pop3
+ i32.const $push0=, 24
+ i32.shl $push1=, $0, $pop0
+ i32.or $push9=, $pop16, $pop1
+ i32.const $push15=, 24
+ i32.shr_u $push8=, $0, $pop15
+ i32.or $push10=, $pop9, $pop8
+ i32.const $push4=, 8
+ i32.shl $push5=, $1, $pop4
+ i32.or $push11=, $pop10, $pop5
+ i32.const $push14=, 8
+ i32.shl $push6=, $0, $pop14
+ i32.const $push13=, 65280
+ i32.and $push7=, $pop6, $pop13
+ i32.or $push12=, $pop11, $pop7
+ return $pop12
.endfunc
.Lfunc_end0:
.size fake_swap32, .Lfunc_end0-fake_swap32
diff --git a/test/torture-s/pr60960.c.s b/test/torture-s/pr60960.c.s
index fd8dc0221..4c890c792 100644
--- a/test/torture-s/pr60960.c.s
+++ b/test/torture-s/pr60960.c.s
@@ -6,29 +6,33 @@
.type f1,@function
f1: # @f1
.param i32, i32, i32, i32, i32
- .local i32, i32
# BB#0: # %entry
- i32.const $5=, 255
- i32.const $6=, 0
- i32.and $push2=, $2, $5
- i32.div_u $2=, $pop2, $6
- i32.and $push1=, $3, $5
- i32.div_u $3=, $pop1, $6
- i32.and $push0=, $4, $5
- i32.div_u $5=, $pop0, $6
- i32.const $push6=, 3
- i32.add $push7=, $0, $pop6
- i32.store8 $discard=, 0($pop7), $5
- i32.const $push8=, 2
- i32.add $push9=, $0, $pop8
- i32.store8 $discard=, 0($pop9), $3
- i32.const $5=, 1
- i32.add $push10=, $0, $5
- i32.store8 $discard=, 0($pop10), $2
- i32.const $push3=, 254
- i32.and $push4=, $1, $pop3
- i32.shr_u $push5=, $pop4, $5
- i32.store8 $discard=, 0($0), $pop5
+ i32.const $push0=, 255
+ i32.and $push3=, $2, $pop0
+ i32.const $push8=, 0
+ i32.div_u $2=, $pop3, $pop8
+ i32.const $push19=, 255
+ i32.and $push2=, $3, $pop19
+ i32.const $push18=, 0
+ i32.div_u $3=, $pop2, $pop18
+ i32.const $push10=, 3
+ i32.add $push11=, $0, $pop10
+ i32.const $push17=, 255
+ i32.and $push1=, $4, $pop17
+ i32.const $push16=, 0
+ i32.div_u $push9=, $pop1, $pop16
+ i32.store8 $discard=, 0($pop11):p2align=2, $pop9
+ i32.const $push12=, 2
+ i32.add $push13=, $0, $pop12
+ i32.store8 $discard=, 0($pop13):p2align=2, $3
+ i32.const $push6=, 1
+ i32.add $push14=, $0, $pop6
+ i32.store8 $discard=, 0($pop14):p2align=2, $2
+ i32.const $push4=, 254
+ i32.and $push5=, $1, $pop4
+ i32.const $push15=, 1
+ i32.shr_u $push7=, $pop5, $pop15
+ i32.store8 $discard=, 0($0):p2align=2, $pop7
return
.endfunc
.Lfunc_end0:
@@ -40,27 +44,33 @@ f1: # @f1
.type f2,@function
f2: # @f2
.param i32, i32, i32, i32, i32
- .local i32, i32
# BB#0: # %entry
- i32.const $5=, 254
- i32.const $6=, 1
- i32.const $push8=, 3
- i32.add $push9=, $0, $pop8
- i32.and $push0=, $4, $5
- i32.shr_u $push7=, $pop0, $6
- i32.store8 $discard=, 0($pop9), $pop7
- i32.const $push10=, 2
+ i32.const $push10=, 3
i32.add $push11=, $0, $pop10
- i32.and $push1=, $3, $5
- i32.shr_u $push6=, $pop1, $6
- i32.store8 $discard=, 0($pop11), $pop6
- i32.add $push12=, $0, $6
- i32.and $push2=, $2, $5
- i32.shr_u $push5=, $pop2, $6
- i32.store8 $discard=, 0($pop12), $pop5
- i32.and $push3=, $1, $5
- i32.shr_u $push4=, $pop3, $6
- i32.store8 $discard=, 0($0), $pop4
+ i32.const $push0=, 254
+ i32.and $push1=, $4, $pop0
+ i32.const $push5=, 1
+ i32.shr_u $push9=, $pop1, $pop5
+ i32.store8 $discard=, 0($pop11):p2align=2, $pop9
+ i32.const $push12=, 2
+ i32.add $push13=, $0, $pop12
+ i32.const $push21=, 254
+ i32.and $push2=, $3, $pop21
+ i32.const $push20=, 1
+ i32.shr_u $push8=, $pop2, $pop20
+ i32.store8 $discard=, 0($pop13):p2align=2, $pop8
+ i32.const $push19=, 1
+ i32.add $push14=, $0, $pop19
+ i32.const $push18=, 254
+ i32.and $push3=, $2, $pop18
+ i32.const $push17=, 1
+ i32.shr_u $push7=, $pop3, $pop17
+ i32.store8 $discard=, 0($pop14):p2align=2, $pop7
+ i32.const $push16=, 254
+ i32.and $push4=, $1, $pop16
+ i32.const $push15=, 1
+ i32.shr_u $push6=, $pop4, $pop15
+ i32.store8 $discard=, 0($0):p2align=2, $pop6
return
.endfunc
.Lfunc_end1:
@@ -72,31 +82,37 @@ f2: # @f2
.type f3,@function
f3: # @f3
.param i32, i32, i32, i32, i32, i32, i32, i32, i32
- .local i32
# BB#0: # %entry
- i32.const $9=, 255
- i32.and $push7=, $1, $9
- i32.and $push6=, $5, $9
- i32.div_u $5=, $pop7, $pop6
- i32.and $push5=, $2, $9
- i32.and $push4=, $6, $9
- i32.div_u $6=, $pop5, $pop4
- i32.and $push3=, $3, $9
- i32.and $push2=, $7, $9
- i32.div_u $7=, $pop3, $pop2
- i32.and $push1=, $4, $9
- i32.and $push0=, $8, $9
- i32.div_u $9=, $pop1, $pop0
- i32.const $push8=, 3
- i32.add $push9=, $0, $pop8
- i32.store8 $discard=, 0($pop9), $9
- i32.const $push10=, 2
+ i32.const $push0=, 255
+ i32.and $push8=, $1, $pop0
+ i32.const $push22=, 255
+ i32.and $push7=, $5, $pop22
+ i32.div_u $5=, $pop8, $pop7
+ i32.const $push21=, 255
+ i32.and $push6=, $2, $pop21
+ i32.const $push20=, 255
+ i32.and $push5=, $6, $pop20
+ i32.div_u $6=, $pop6, $pop5
+ i32.const $push19=, 255
+ i32.and $push4=, $3, $pop19
+ i32.const $push18=, 255
+ i32.and $push3=, $7, $pop18
+ i32.div_u $7=, $pop4, $pop3
+ i32.const $push10=, 3
i32.add $push11=, $0, $pop10
- i32.store8 $discard=, 0($pop11), $7
- i32.const $push12=, 1
+ i32.const $push17=, 255
+ i32.and $push2=, $4, $pop17
+ i32.const $push16=, 255
+ i32.and $push1=, $8, $pop16
+ i32.div_u $push9=, $pop2, $pop1
+ i32.store8 $discard=, 0($pop11):p2align=2, $pop9
+ i32.const $push12=, 2
i32.add $push13=, $0, $pop12
- i32.store8 $discard=, 0($pop13), $6
- i32.store8 $discard=, 0($0), $5
+ i32.store8 $discard=, 0($pop13):p2align=2, $7
+ i32.const $push14=, 1
+ i32.add $push15=, $0, $pop14
+ i32.store8 $discard=, 0($pop15):p2align=2, $6
+ i32.store8 $discard=, 0($0):p2align=2, $5
return
.endfunc
.Lfunc_end2:
@@ -108,109 +124,141 @@ f3: # @f3
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, __stack_pointer
- i32.load $8=, 0($8)
- i32.const $9=, 16
- i32.sub $23=, $8, $9
- i32.const $9=, __stack_pointer
- i32.store $23=, 0($9), $23
- i32.const $0=, 5
- i32.const $11=, 12
- i32.add $11=, $23, $11
- call f1@FUNCTION, $11, $0, $0, $0, $0
- i32.const $1=, 3
- i32.const $3=, 2
- i32.const $5=, 1
- i32.const $2=, 8
- i32.const $4=, 16
- i32.const $6=, 65535
- i32.const $7=, 33686018
- i32.load8_u $push10=, 12($23)
- i32.const $12=, 12
- i32.add $12=, $23, $12
- i32.or $push7=, $12, $5
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $15=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $15=, 0($1), $15
+ i32.const $push65=, 5
+ i32.const $push64=, 5
+ i32.const $push63=, 5
+ i32.const $push62=, 5
+ i32.const $3=, 12
+ i32.add $3=, $15, $3
+ call f1@FUNCTION, $3, $pop65, $pop64, $pop63, $pop62
+ i32.load8_u $push10=, 12($15):p2align=2
+ i32.const $push61=, 1
+ i32.const $4=, 12
+ i32.add $4=, $15, $4
+ i32.or $push7=, $4, $pop61
i32.load8_u $push8=, 0($pop7)
- i32.shl $push9=, $pop8, $2
+ i32.const $push60=, 8
+ i32.shl $push9=, $pop8, $pop60
i32.or $push11=, $pop10, $pop9
- i32.and $push12=, $pop11, $6
- i32.const $13=, 12
- i32.add $13=, $23, $13
- i32.or $push3=, $13, $3
- i32.load8_u $push4=, 0($pop3)
- i32.const $14=, 12
- i32.add $14=, $23, $14
+ i32.const $push59=, 65535
+ i32.and $push12=, $pop11, $pop59
+ i32.const $push58=, 2
+ i32.const $5=, 12
+ i32.add $5=, $15, $5
+ i32.or $push3=, $5, $pop58
+ i32.load8_u $push4=, 0($pop3):p2align=1
+ i32.const $push57=, 3
+ i32.const $6=, 12
+ i32.add $6=, $15, $6
block
- i32.or $push0=, $14, $1
+ i32.or $push0=, $6, $pop57
i32.load8_u $push1=, 0($pop0)
- i32.shl $push2=, $pop1, $2
+ i32.const $push56=, 8
+ i32.shl $push2=, $pop1, $pop56
i32.or $push5=, $pop4, $pop2
- i32.shl $push6=, $pop5, $4
+ i32.const $push55=, 16
+ i32.shl $push6=, $pop5, $pop55
i32.or $push13=, $pop12, $pop6
- i32.ne $push14=, $pop13, $7
+ i32.const $push54=, 33686018
+ i32.ne $push14=, $pop13, $pop54
br_if $pop14, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $15=, 8
- i32.add $15=, $23, $15
- call f2@FUNCTION, $15, $0, $0, $0, $0
- i32.load8_u $push25=, 8($23)
- i32.const $16=, 8
- i32.add $16=, $23, $16
- i32.or $push22=, $16, $5
+ i32.const $push77=, 5
+ i32.const $push76=, 5
+ i32.const $push75=, 5
+ i32.const $push74=, 5
+ i32.const $7=, 8
+ i32.add $7=, $15, $7
+ call f2@FUNCTION, $7, $pop77, $pop76, $pop75, $pop74
+ i32.load8_u $push25=, 8($15):p2align=2
+ i32.const $push73=, 1
+ i32.const $8=, 8
+ i32.add $8=, $15, $8
+ i32.or $push22=, $8, $pop73
i32.load8_u $push23=, 0($pop22)
- i32.shl $push24=, $pop23, $2
+ i32.const $push72=, 8
+ i32.shl $push24=, $pop23, $pop72
i32.or $push26=, $pop25, $pop24
- i32.and $push27=, $pop26, $6
- i32.const $17=, 8
- i32.add $17=, $23, $17
- i32.or $push18=, $17, $3
- i32.load8_u $push19=, 0($pop18)
- i32.const $18=, 8
- i32.add $18=, $23, $18
+ i32.const $push71=, 65535
+ i32.and $push27=, $pop26, $pop71
+ i32.const $push70=, 2
+ i32.const $9=, 8
+ i32.add $9=, $15, $9
+ i32.or $push18=, $9, $pop70
+ i32.load8_u $push19=, 0($pop18):p2align=1
+ i32.const $push69=, 3
+ i32.const $10=, 8
+ i32.add $10=, $15, $10
block
- i32.or $push15=, $18, $1
+ i32.or $push15=, $10, $pop69
i32.load8_u $push16=, 0($pop15)
- i32.shl $push17=, $pop16, $2
+ i32.const $push68=, 8
+ i32.shl $push17=, $pop16, $pop68
i32.or $push20=, $pop19, $pop17
- i32.shl $push21=, $pop20, $4
+ i32.const $push67=, 16
+ i32.shl $push21=, $pop20, $pop67
i32.or $push28=, $pop27, $pop21
- i32.ne $push29=, $pop28, $7
+ i32.const $push66=, 33686018
+ i32.ne $push29=, $pop28, $pop66
br_if $pop29, 0 # 0: down to label1
# BB#2: # %if.end6
- i32.const $19=, 4
- i32.add $19=, $23, $19
- call f3@FUNCTION, $19, $0, $0, $0, $0, $3, $3, $3, $3
- i32.load8_u $push40=, 4($23)
- i32.const $20=, 4
- i32.add $20=, $23, $20
- i32.or $push37=, $20, $5
- i32.load8_u $push38=, 0($pop37)
- i32.shl $push39=, $pop38, $2
- i32.or $push41=, $pop40, $pop39
- i32.and $push42=, $pop41, $6
- i32.const $21=, 4
- i32.add $21=, $23, $21
- i32.or $push33=, $21, $3
- i32.load8_u $push34=, 0($pop33)
- i32.const $22=, 4
- i32.add $22=, $23, $22
+ i32.const $push31=, 5
+ i32.const $push85=, 5
+ i32.const $push84=, 5
+ i32.const $push83=, 5
+ i32.const $push30=, 2
+ i32.const $push82=, 2
+ i32.const $push81=, 2
+ i32.const $push80=, 2
+ i32.const $11=, 4
+ i32.add $11=, $15, $11
+ call f3@FUNCTION, $11, $pop31, $pop85, $pop84, $pop83, $pop30, $pop82, $pop81, $pop80
+ i32.load8_u $push46=, 4($15):p2align=2
+ i32.const $push42=, 1
+ i32.const $12=, 4
+ i32.add $12=, $15, $12
+ i32.or $push43=, $12, $pop42
+ i32.load8_u $push44=, 0($pop43)
+ i32.const $push35=, 8
+ i32.shl $push45=, $pop44, $pop35
+ i32.or $push47=, $pop46, $pop45
+ i32.const $push48=, 65535
+ i32.and $push49=, $pop47, $pop48
+ i32.const $push79=, 2
+ i32.const $13=, 4
+ i32.add $13=, $15, $13
+ i32.or $push37=, $13, $pop79
+ i32.load8_u $push38=, 0($pop37):p2align=1
+ i32.const $push32=, 3
+ i32.const $14=, 4
+ i32.add $14=, $15, $14
block
- i32.or $push30=, $22, $1
- i32.load8_u $push31=, 0($pop30)
- i32.shl $push32=, $pop31, $2
- i32.or $push35=, $pop34, $pop32
- i32.shl $push36=, $pop35, $4
- i32.or $push43=, $pop42, $pop36
- i32.ne $push44=, $pop43, $7
- br_if $pop44, 0 # 0: down to label2
+ i32.or $push33=, $14, $pop32
+ i32.load8_u $push34=, 0($pop33)
+ i32.const $push78=, 8
+ i32.shl $push36=, $pop34, $pop78
+ i32.or $push39=, $pop38, $pop36
+ i32.const $push40=, 16
+ i32.shl $push41=, $pop39, $pop40
+ i32.or $push50=, $pop49, $pop41
+ i32.const $push51=, 33686018
+ i32.ne $push52=, $pop50, $pop51
+ br_if $pop52, 0 # 0: down to label2
# BB#3: # %if.end11
- i32.const $push45=, 0
- i32.const $10=, 16
- i32.add $23=, $23, $10
- i32.const $10=, __stack_pointer
- i32.store $23=, 0($10), $23
- return $pop45
+ i32.const $push53=, 0
+ i32.const $2=, 16
+ i32.add $15=, $15, $2
+ i32.const $2=, __stack_pointer
+ i32.store $15=, 0($2), $15
+ return $pop53
.LBB3_4: # %if.then10
end_block # label2:
call abort@FUNCTION
diff --git a/test/torture-s/pr61306-1.c.s b/test/torture-s/pr61306-1.c.s
index 65038bb1b..53ce0257e 100644
--- a/test/torture-s/pr61306-1.c.s
+++ b/test/torture-s/pr61306-1.c.s
@@ -7,22 +7,23 @@
fake_bswap32: # @fake_bswap32
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $2=, 8
- i32.const $1=, 24
- i32.shr_s $push7=, $0, $1
- i32.shl $push0=, $0, $1
- i32.or $push8=, $pop7, $pop0
- i32.shl $push1=, $0, $2
- i32.const $push2=, 16711680
- i32.and $push3=, $pop1, $pop2
- i32.or $push9=, $pop8, $pop3
- i32.shr_u $push4=, $0, $2
- i32.const $push5=, 65280
- i32.and $push6=, $pop4, $pop5
- i32.or $push10=, $pop9, $pop6
- return $pop10
+ i32.const $push0=, 24
+ i32.shr_s $push9=, $0, $pop0
+ i32.const $push14=, 24
+ i32.shl $push1=, $0, $pop14
+ i32.or $push10=, $pop9, $pop1
+ i32.const $push2=, 8
+ i32.shl $push3=, $0, $pop2
+ i32.const $push4=, 16711680
+ i32.and $push5=, $pop3, $pop4
+ i32.or $push11=, $pop10, $pop5
+ i32.const $push13=, 8
+ i32.shr_u $push6=, $0, $pop13
+ i32.const $push7=, 65280
+ i32.and $push8=, $pop6, $pop7
+ i32.or $push12=, $pop11, $pop8
+ return $pop12
.endfunc
.Lfunc_end0:
.size fake_bswap32, .Lfunc_end0-fake_bswap32
diff --git a/test/torture-s/pr61306-2.c.s b/test/torture-s/pr61306-2.c.s
index 32763638c..8e3379c8c 100644
--- a/test/torture-s/pr61306-2.c.s
+++ b/test/torture-s/pr61306-2.c.s
@@ -7,24 +7,25 @@
fake_bswap32: # @fake_bswap32
.param i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $2=, 8
- i32.const $1=, 24
- i32.shr_u $push9=, $0, $1
- i32.shl $push0=, $0, $1
- i32.or $push10=, $pop9, $pop0
- i32.shr_u $push6=, $0, $2
- i32.const $push7=, 65280
- i32.and $push8=, $pop6, $pop7
- i32.or $push11=, $pop10, $pop8
- i32.const $push1=, 16
- i32.shl $push2=, $0, $pop1
- i32.shr_s $push3=, $pop2, $2
- i32.const $push4=, -65536
- i32.and $push5=, $pop3, $pop4
- i32.or $push12=, $pop11, $pop5
- return $pop12
+ i32.const $push0=, 24
+ i32.shr_u $push11=, $0, $pop0
+ i32.const $push16=, 24
+ i32.shl $push1=, $0, $pop16
+ i32.or $push12=, $pop11, $pop1
+ i32.const $push4=, 8
+ i32.shr_u $push8=, $0, $pop4
+ i32.const $push9=, 65280
+ i32.and $push10=, $pop8, $pop9
+ i32.or $push13=, $pop12, $pop10
+ i32.const $push2=, 16
+ i32.shl $push3=, $0, $pop2
+ i32.const $push15=, 8
+ i32.shr_s $push5=, $pop3, $pop15
+ i32.const $push6=, -65536
+ i32.and $push7=, $pop5, $pop6
+ i32.or $push14=, $pop13, $pop7
+ return $pop14
.endfunc
.Lfunc_end0:
.size fake_bswap32, .Lfunc_end0-fake_bswap32
diff --git a/test/torture-s/pr61306-3.c.s b/test/torture-s/pr61306-3.c.s
index 0061cd913..c24b30e83 100644
--- a/test/torture-s/pr61306-3.c.s
+++ b/test/torture-s/pr61306-3.c.s
@@ -6,22 +6,27 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load16_s $push0=, a($0)
- i32.store8 $1=, c($0), $pop0
- i32.const $2=, 24
block
- i32.shl $push1=, $1, $2
- i32.shr_s $push2=, $pop1, $2
- i32.or $push3=, $pop2, $1
- i32.store $push4=, b($0), $pop3
- i32.const $push5=, -1
- i32.ne $push6=, $pop4, $pop5
- br_if $pop6, 0 # 0: down to label0
+ i32.const $push13=, 0
+ i32.const $push12=, 0
+ i32.const $push11=, 0
+ i32.load16_s $push0=, a($pop11)
+ i32.store8 $push1=, c($pop12), $pop0
+ tee_local $push10=, $0=, $pop1
+ i32.const $push2=, 24
+ i32.shl $push3=, $pop10, $pop2
+ i32.const $push9=, 24
+ i32.shr_s $push4=, $pop3, $pop9
+ i32.or $push5=, $pop4, $0
+ i32.store $push6=, b($pop13), $pop5
+ i32.const $push7=, -1
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push14=, 0
+ return $pop14
.LBB0_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -34,7 +39,7 @@ main: # @main
.type a,@object
.section .data.a,"aw",@progbits
.globl a
- .align 1
+ .p2align 1
a:
.int16 65535 # 0xffff
.size a, 2
@@ -51,7 +56,7 @@ c:
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
diff --git a/test/torture-s/pr61673.c.s b/test/torture-s/pr61673.c.s
index cd5b86363..29e220c4e 100644
--- a/test/torture-s/pr61673.c.s
+++ b/test/torture-s/pr61673.c.s
@@ -32,14 +32,15 @@ bar: # @bar
foo: # @foo
.param i32
# BB#0: # %entry
- i32.load8_s $0=, 0($0)
block
- i32.const $push0=, -1
- i32.gt_s $push1=, $0, $pop0
- br_if $pop1, 0 # 0: down to label1
+ i32.load8_s $push0=, 0($0)
+ tee_local $push4=, $0=, $pop0
+ i32.const $push1=, -1
+ i32.gt_s $push2=, $pop4, $pop1
+ br_if $pop2, 0 # 0: down to label1
# BB#1: # %if.then
- i32.const $push2=, 0
- i32.store8 $discard=, e($pop2), $0
+ i32.const $push3=, 0
+ i32.store8 $discard=, e($pop3), $0
.LBB1_2: # %if.end
end_block # label1:
call bar@FUNCTION, $0
@@ -55,14 +56,15 @@ foo: # @foo
baz: # @baz
.param i32
# BB#0: # %entry
- i32.load8_s $0=, 0($0)
block
- i32.const $push0=, -1
- i32.gt_s $push1=, $0, $pop0
- br_if $pop1, 0 # 0: down to label2
+ i32.load8_s $push0=, 0($0)
+ tee_local $push4=, $0=, $pop0
+ i32.const $push1=, -1
+ i32.gt_s $push2=, $pop4, $pop1
+ br_if $pop2, 0 # 0: down to label2
# BB#1: # %if.then
- i32.const $push2=, 0
- i32.store8 $discard=, e($pop2), $0
+ i32.const $push3=, 0
+ i32.store8 $discard=, e($pop3), $0
.LBB2_2: # %if.end
end_block # label2:
return
@@ -76,40 +78,50 @@ baz: # @baz
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $2=, main.c
+ i32.const $push18=, 0
i32.const $push0=, 33
- i32.store8 $1=, e($0), $pop0
- call foo@FUNCTION, $2
+ i32.store8 $0=, e($pop18), $pop0
+ i32.const $push1=, main.c
+ call foo@FUNCTION, $pop1
block
- i32.load8_u $push1=, e($0)
- i32.ne $push2=, $pop1, $1
- br_if $pop2, 0 # 0: down to label3
+ i32.const $push17=, 0
+ i32.load8_u $push2=, e($pop17)
+ i32.ne $push3=, $0, $pop2
+ br_if $pop3, 0 # 0: down to label3
# BB#1: # %if.end
- i32.const $3=, main.c+1
- call foo@FUNCTION, $3
- i32.const $4=, 135
+ i32.const $push4=, main.c+1
+ call foo@FUNCTION, $pop4
block
- i32.load8_u $push3=, e($0)
- i32.ne $push4=, $pop3, $4
- br_if $pop4, 0 # 0: down to label4
+ i32.const $push19=, 0
+ i32.load8_u $push5=, e($pop19)
+ i32.const $push6=, 135
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label4
# BB#2: # %if.end6
- i32.store8 $discard=, e($0), $1
- call baz@FUNCTION, $2
+ i32.const $push21=, 0
+ i32.const $push8=, 33
+ i32.store8 $0=, e($pop21), $pop8
+ i32.const $push9=, main.c
+ call baz@FUNCTION, $pop9
block
- i32.load8_u $push5=, e($0)
- i32.ne $push6=, $pop5, $1
- br_if $pop6, 0 # 0: down to label5
+ i32.const $push20=, 0
+ i32.load8_u $push10=, e($pop20)
+ i32.ne $push11=, $0, $pop10
+ br_if $pop11, 0 # 0: down to label5
# BB#3: # %if.end11
- call baz@FUNCTION, $3
+ i32.const $push12=, main.c+1
+ call baz@FUNCTION, $pop12
block
- i32.load8_u $push7=, e($0)
- i32.ne $push8=, $pop7, $4
- br_if $pop8, 0 # 0: down to label6
+ i32.const $push22=, 0
+ i32.load8_u $push13=, e($pop22)
+ i32.const $push14=, 135
+ i32.ne $push15=, $pop13, $pop14
+ br_if $pop15, 0 # 0: down to label6
# BB#4: # %if.end16
- return $0
+ i32.const $push16=, 0
+ return $pop16
.LBB3_5: # %if.then15
end_block # label6:
call abort@FUNCTION
diff --git a/test/torture-s/pr63209.c.s b/test/torture-s/pr63209.c.s
index ed8ca93bb..5df0a34e9 100644
--- a/test/torture-s/pr63209.c.s
+++ b/test/torture-s/pr63209.c.s
@@ -7,22 +7,26 @@
Predictor: # @Predictor
.param i32, i32
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.load $2=, 4($1)
- i32.const $3=, 8
- i32.const $1=, 255
- i32.shr_u $push2=, $0, $3
- i32.and $push3=, $pop2, $1
- i32.and $push5=, $0, $1
- i32.add $push6=, $pop3, $pop5
- i32.and $push4=, $2, $1
- i32.sub $push7=, $pop6, $pop4
- i32.shr_u $push0=, $2, $3
- i32.and $push1=, $pop0, $1
- i32.le_s $push8=, $pop7, $pop1
- i32.select $push9=, $pop8, $2, $0
- return $pop9
+ i32.const $push1=, 8
+ i32.shr_u $push5=, $0, $pop1
+ i32.const $push3=, 255
+ i32.and $push6=, $pop5, $pop3
+ i32.const $push17=, 255
+ i32.and $push8=, $0, $pop17
+ i32.add $push9=, $pop6, $pop8
+ i32.load $push0=, 4($1)
+ tee_local $push16=, $1=, $pop0
+ i32.const $push15=, 255
+ i32.and $push7=, $pop16, $pop15
+ i32.sub $push10=, $pop9, $pop7
+ i32.const $push14=, 8
+ i32.shr_u $push2=, $1, $pop14
+ i32.const $push13=, 255
+ i32.and $push4=, $pop2, $pop13
+ i32.le_s $push11=, $pop10, $pop4
+ i32.select $push12=, $pop11, $1, $0
+ return $pop12
.endfunc
.Lfunc_end0:
.size Predictor, .Lfunc_end0-Predictor
@@ -33,20 +37,20 @@ Predictor: # @Predictor
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, -8684677
+ i32.const $push1=, -8684677
i32.const $push0=, main.top
- i32.call $push1=, Predictor@FUNCTION, $0, $pop0
- i32.ne $push2=, $pop1, $0
- return $pop2
+ i32.call $push2=, Predictor@FUNCTION, $pop1, $pop0
+ i32.const $push4=, -8684677
+ i32.ne $push3=, $pop2, $pop4
+ return $pop3
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
.type main.top,@object # @main.top
.section .rodata.main.top,"a",@progbits
- .align 2
+ .p2align 2
main.top:
.int32 4286216826 # 0xff7a7a7a
.int32 4286216826 # 0xff7a7a7a
diff --git a/test/torture-s/pr63302.c.s b/test/torture-s/pr63302.c.s
index 4f1dab4c6..c025a2da8 100644
--- a/test/torture-s/pr63302.c.s
+++ b/test/torture-s/pr63302.c.s
@@ -7,21 +7,22 @@
foo: # @foo
.param i64, i64
.result i32
- .local i64
# BB#0: # %entry
i64.const $push0=, -9223372036854773761
- i64.and $0=, $0, $pop0
- i64.const $2=, 0
- i64.or $push1=, $0, $1
- i64.eq $push2=, $pop1, $2
- i64.const $push5=, -9223372036854775808
- i64.xor $push6=, $0, $pop5
- i64.const $push3=, -1
- i64.xor $push4=, $1, $pop3
- i64.or $push7=, $pop6, $pop4
- i64.eq $push8=, $pop7, $2
- i32.or $push9=, $pop2, $pop8
- return $pop9
+ i64.and $push1=, $0, $pop0
+ tee_local $push13=, $0=, $pop1
+ i64.or $push2=, $pop13, $1
+ i64.const $push3=, 0
+ i64.eq $push4=, $pop2, $pop3
+ i64.const $push7=, -9223372036854775808
+ i64.xor $push8=, $0, $pop7
+ i64.const $push5=, -1
+ i64.xor $push6=, $1, $pop5
+ i64.or $push9=, $pop8, $pop6
+ i64.const $push12=, 0
+ i64.eq $push10=, $pop9, $pop12
+ i32.or $push11=, $pop4, $pop10
+ return $pop11
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -35,13 +36,14 @@ bar: # @bar
.result i32
# BB#0: # %entry
i64.const $push0=, -2147481601
- i64.and $0=, $0, $pop0
- i64.const $push1=, 0
- i64.eq $push2=, $0, $pop1
- i64.const $push3=, -2147483648
- i64.eq $push4=, $0, $pop3
- i32.or $push5=, $pop2, $pop4
- return $pop5
+ i64.and $push1=, $0, $pop0
+ tee_local $push7=, $0=, $pop1
+ i64.const $push2=, 0
+ i64.eq $push3=, $pop7, $pop2
+ i64.const $push4=, -2147483648
+ i64.eq $push5=, $0, $pop4
+ i32.or $push6=, $pop3, $pop5
+ return $pop6
.endfunc
.Lfunc_end1:
.size bar, .Lfunc_end1-bar
@@ -52,89 +54,108 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i64, i32, i32, i64, i64, i64, i64, i64
# BB#0: # %entry
- i64.const $0=, 0
- i32.call $1=, foo@FUNCTION, $0, $0
- i32.const $2=, 1
block
- i32.ne $push0=, $1, $2
- br_if $pop0, 0 # 0: down to label0
+ i64.const $push52=, 0
+ i64.const $push51=, 0
+ i32.call $push0=, foo@FUNCTION, $pop52, $pop51
+ i32.const $push1=, 1
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i64.const $3=, 1
- i32.call $push1=, foo@FUNCTION, $3, $0
- br_if $pop1, 0 # 0: down to label0
+ i64.const $push3=, 1
+ i64.const $push53=, 0
+ i32.call $push4=, foo@FUNCTION, $pop3, $pop53
+ br_if $pop4, 0 # 0: down to label0
# BB#2: # %lor.lhs.false3
- i64.const $4=, 2048
- i32.call $push2=, foo@FUNCTION, $4, $0
- i32.ne $push3=, $pop2, $2
- br_if $pop3, 0 # 0: down to label0
+ i64.const $push5=, 2048
+ i64.const $push54=, 0
+ i32.call $push6=, foo@FUNCTION, $pop5, $pop54
+ i32.const $push7=, 1
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label0
# BB#3: # %lor.lhs.false6
- i64.const $5=, 2049
- i32.call $push4=, foo@FUNCTION, $5, $0
- br_if $pop4, 0 # 0: down to label0
+ i64.const $push9=, 2049
+ i64.const $push55=, 0
+ i32.call $push10=, foo@FUNCTION, $pop9, $pop55
+ br_if $pop10, 0 # 0: down to label0
# BB#4: # %lor.lhs.false9
- i64.const $6=, -9223372036854775808
- i32.call $push5=, foo@FUNCTION, $6, $0
- br_if $pop5, 0 # 0: down to label0
+ i64.const $push56=, -9223372036854775808
+ i64.const $push11=, 0
+ i32.call $push12=, foo@FUNCTION, $pop56, $pop11
+ br_if $pop12, 0 # 0: down to label0
# BB#5: # %lor.lhs.false12
- i64.const $7=, -1
- i32.call $push6=, foo@FUNCTION, $6, $7
- i32.ne $push7=, $pop6, $2
- br_if $pop7, 0 # 0: down to label0
+ i64.const $push58=, -9223372036854775808
+ i64.const $push57=, -1
+ i32.call $push13=, foo@FUNCTION, $pop58, $pop57
+ i32.const $push14=, 1
+ i32.ne $push15=, $pop13, $pop14
+ br_if $pop15, 0 # 0: down to label0
# BB#6: # %lor.lhs.false15
- i64.const $push8=, -9223372036854775807
- i32.call $push9=, foo@FUNCTION, $pop8, $7
- br_if $pop9, 0 # 0: down to label0
+ i64.const $push16=, -9223372036854775807
+ i64.const $push59=, -1
+ i32.call $push17=, foo@FUNCTION, $pop16, $pop59
+ br_if $pop17, 0 # 0: down to label0
# BB#7: # %lor.lhs.false18
- i64.const $push10=, -9223372036854773760
- i32.call $push11=, foo@FUNCTION, $pop10, $7
- i32.ne $push12=, $pop11, $2
- br_if $pop12, 0 # 0: down to label0
+ i64.const $push18=, -9223372036854773760
+ i64.const $push60=, -1
+ i32.call $push19=, foo@FUNCTION, $pop18, $pop60
+ i32.const $push20=, 1
+ i32.ne $push21=, $pop19, $pop20
+ br_if $pop21, 0 # 0: down to label0
# BB#8: # %lor.lhs.false21
- i64.const $push13=, -9223372036854773759
- i32.call $push14=, foo@FUNCTION, $pop13, $7
- br_if $pop14, 0 # 0: down to label0
+ i64.const $push22=, -9223372036854773759
+ i64.const $push61=, -1
+ i32.call $push23=, foo@FUNCTION, $pop22, $pop61
+ br_if $pop23, 0 # 0: down to label0
# BB#9: # %if.end
block
- i32.call $push15=, bar@FUNCTION, $0
- i32.ne $push16=, $pop15, $2
- br_if $pop16, 0 # 0: down to label1
+ i64.const $push24=, 0
+ i32.call $push25=, bar@FUNCTION, $pop24
+ i32.const $push26=, 1
+ i32.ne $push27=, $pop25, $pop26
+ br_if $pop27, 0 # 0: down to label1
# BB#10: # %lor.lhs.false26
- i32.call $push17=, bar@FUNCTION, $3
- br_if $pop17, 0 # 0: down to label1
+ i64.const $push28=, 1
+ i32.call $push29=, bar@FUNCTION, $pop28
+ br_if $pop29, 0 # 0: down to label1
# BB#11: # %lor.lhs.false29
- i32.call $push18=, bar@FUNCTION, $4
- i32.ne $push19=, $pop18, $2
- br_if $pop19, 0 # 0: down to label1
+ i64.const $push30=, 2048
+ i32.call $push31=, bar@FUNCTION, $pop30
+ i32.const $push32=, 1
+ i32.ne $push33=, $pop31, $pop32
+ br_if $pop33, 0 # 0: down to label1
# BB#12: # %lor.lhs.false32
- i32.call $push20=, bar@FUNCTION, $5
- br_if $pop20, 0 # 0: down to label1
+ i64.const $push34=, 2049
+ i32.call $push35=, bar@FUNCTION, $pop34
+ br_if $pop35, 0 # 0: down to label1
# BB#13: # %lor.lhs.false35
- i64.const $push21=, 2147483648
- i32.call $push22=, bar@FUNCTION, $pop21
- br_if $pop22, 0 # 0: down to label1
+ i64.const $push36=, 2147483648
+ i32.call $push37=, bar@FUNCTION, $pop36
+ br_if $pop37, 0 # 0: down to label1
# BB#14: # %lor.lhs.false38
- i64.const $push23=, -2147483648
- i32.call $push24=, bar@FUNCTION, $pop23
- i32.ne $push25=, $pop24, $2
- br_if $pop25, 0 # 0: down to label1
+ i64.const $push38=, -2147483648
+ i32.call $push39=, bar@FUNCTION, $pop38
+ i32.const $push40=, 1
+ i32.ne $push41=, $pop39, $pop40
+ br_if $pop41, 0 # 0: down to label1
# BB#15: # %lor.lhs.false41
- i64.const $push26=, -2147483647
- i32.call $push27=, bar@FUNCTION, $pop26
- br_if $pop27, 0 # 0: down to label1
+ i64.const $push42=, -2147483647
+ i32.call $push43=, bar@FUNCTION, $pop42
+ br_if $pop43, 0 # 0: down to label1
# BB#16: # %lor.lhs.false44
- i64.const $push28=, -2147481600
- i32.call $push29=, bar@FUNCTION, $pop28
- i32.ne $push30=, $pop29, $2
- br_if $pop30, 0 # 0: down to label1
+ i64.const $push44=, -2147481600
+ i32.call $push45=, bar@FUNCTION, $pop44
+ i32.const $push46=, 1
+ i32.ne $push47=, $pop45, $pop46
+ br_if $pop47, 0 # 0: down to label1
# BB#17: # %lor.lhs.false47
- i64.const $push31=, -2147481599
- i32.call $push32=, bar@FUNCTION, $pop31
- br_if $pop32, 0 # 0: down to label1
+ i64.const $push48=, -2147481599
+ i32.call $push49=, bar@FUNCTION, $pop48
+ br_if $pop49, 0 # 0: down to label1
# BB#18: # %if.end51
- i32.const $push33=, 0
- return $pop33
+ i32.const $push50=, 0
+ return $pop50
.LBB2_19: # %if.then50
end_block # label1:
call abort@FUNCTION
diff --git a/test/torture-s/pr63659.c.s b/test/torture-s/pr63659.c.s
index 4464f7d7e..b6c8ce751 100644
--- a/test/torture-s/pr63659.c.s
+++ b/test/torture-s/pr63659.c.s
@@ -6,44 +6,56 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push1=, a($0)
- i32.const $push10=, 0
- i32.eq $push11=, $pop1, $pop10
- br_if $pop11, 0 # 0: down to label0
+ i32.const $push12=, 0
+ i32.load $push1=, a($pop12)
+ i32.const $push26=, 0
+ i32.eq $push27=, $pop1, $pop26
+ br_if $pop27, 0 # 0: down to label0
# BB#1: # %for.cond.preheader
- i32.store $discard=, a($0), $0
+ i32.const $push14=, 0
+ i32.const $push13=, 0
+ i32.store $discard=, a($pop14), $pop13
.LBB0_2: # %while.end
end_block # label0:
- i32.const $1=, 255
- i32.load8_s $push2=, c($0)
- i32.load $push3=, h($0)
- i32.shr_s $push0=, $pop2, $pop3
- i32.store $2=, g($0), $pop0
- copy_local $3=, $1
+ i32.const $0=, 255
block
- i32.const $push12=, 0
- i32.eq $push13=, $2, $pop12
- br_if $pop13, 0 # 0: down to label1
+ i32.const $push18=, 0
+ i32.const $push17=, 0
+ i32.load8_s $push2=, c($pop17):p2align=2
+ i32.const $push16=, 0
+ i32.load $push3=, h($pop16)
+ i32.shr_s $push0=, $pop2, $pop3
+ i32.store $push4=, g($pop18), $pop0
+ tee_local $push15=, $1=, $pop4
+ i32.const $push28=, 0
+ i32.eq $push29=, $pop15, $pop28
+ br_if $pop29, 0 # 0: down to label1
# BB#3: # %cond.false
- i32.const $push4=, -1
- i32.rem_s $3=, $pop4, $2
+ i32.const $push5=, -1
+ i32.rem_s $0=, $pop5, $1
.LBB0_4: # %cond.end
end_block # label1:
- i32.load $2=, d($0)
+ i32.const $push24=, 0
+ i32.load $push9=, d($pop24)
+ i32.const $push23=, 0
+ i32.const $push22=, 0
+ i32.store8 $push6=, f($pop22), $0
+ i32.store8 $push7=, e($pop23), $pop6
+ i32.const $push21=, 255
+ i32.and $push8=, $pop7, $pop21
+ i32.store $discard=, 0($pop9), $pop8
block
- i32.store8 $push5=, f($0), $3
- i32.store8 $push6=, e($0), $pop5
- i32.and $push7=, $pop6, $1
- i32.store $discard=, 0($2), $pop7
- i32.load $push8=, b($0)
- i32.ne $push9=, $pop8, $1
- br_if $pop9, 0 # 0: down to label2
+ i32.const $push20=, 0
+ i32.load $push10=, b($pop20)
+ i32.const $push19=, 255
+ i32.ne $push11=, $pop10, $pop19
+ br_if $pop11, 0 # 0: down to label2
# BB#5: # %if.end23
- return $0
+ i32.const $push25=, 0
+ return $pop25
.LBB0_6: # %if.then22
end_block # label2:
call abort@FUNCTION
@@ -56,7 +68,7 @@ main: # @main
.type b,@object
.section .bss.b,"aw",@nobits
.globl b
- .align 2
+ .p2align 2
b:
.int32 0 # 0x0
.size b, 4
@@ -65,7 +77,7 @@ b:
.type d,@object
.section .data.d,"aw",@progbits
.globl d
- .align 2
+ .p2align 2
d:
.int32 b
.size d, 4
@@ -74,7 +86,7 @@ d:
.type a,@object
.section .bss.a,"aw",@nobits
.globl a
- .align 2
+ .p2align 2
a:
.int32 0 # 0x0
.size a, 4
@@ -83,7 +95,7 @@ a:
.type c,@object
.section .bss.c,"aw",@nobits
.globl c
- .align 2
+ .p2align 2
c:
.int32 0 # 0x0
.size c, 4
@@ -92,7 +104,7 @@ c:
.type i,@object
.section .bss.i,"aw",@nobits
.globl i
- .align 2
+ .p2align 2
i:
.int32 0 # 0x0
.size i, 4
@@ -101,7 +113,7 @@ i:
.type h,@object
.section .bss.h,"aw",@nobits
.globl h
- .align 2
+ .p2align 2
h:
.int32 0 # 0x0
.size h, 4
@@ -110,7 +122,7 @@ h:
.type g,@object
.section .bss.g,"aw",@nobits
.globl g
- .align 2
+ .p2align 2
g:
.int32 0 # 0x0
.size g, 4
diff --git a/test/torture-s/pr7284-1.c.s b/test/torture-s/pr7284-1.c.s
index 1549cfc8f..c6f02e9b2 100644
--- a/test/torture-s/pr7284-1.c.s
+++ b/test/torture-s/pr7284-1.c.s
@@ -23,18 +23,18 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, x($0)
+ i32.const $push5=, 0
+ i32.load $push0=, x($pop5)
i32.const $push1=, 255
i32.and $push2=, $pop0, $pop1
i32.const $push3=, 128
i32.ne $push4=, $pop2, $pop3
br_if $pop4, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push6=, 0
+ call exit@FUNCTION, $pop6
unreachable
.LBB1_2: # %if.then
end_block # label0:
@@ -48,7 +48,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int32 128 # 0x80
.size x, 4
diff --git a/test/torture-s/printf-1.c.s b/test/torture-s/printf-1.c.s
index a13fcf42e..77d76eaad 100644
--- a/test/torture-s/printf-1.c.s
+++ b/test/torture-s/printf-1.c.s
@@ -6,250 +6,270 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $55=, __stack_pointer
- i32.load $55=, 0($55)
- i32.const $56=, 16
- i32.sub $58=, $55, $56
- i32.const $56=, __stack_pointer
- i32.store $58=, 0($56), $58
- i32.const $0=, .Lstr
- i32.call $discard=, iprintf@FUNCTION, $0
- i32.call $6=, iprintf@FUNCTION, $0
- i32.const $1=, 5
+ i32.const $50=, __stack_pointer
+ i32.load $50=, 0($50)
+ i32.const $51=, 16
+ i32.sub $53=, $50, $51
+ i32.const $51=, __stack_pointer
+ i32.store $53=, 0($51), $53
+ i32.const $push32=, .Lstr
+ i32.call $discard=, printf@FUNCTION, $pop32
+ i32.const $push31=, .Lstr
+ i32.call $0=, printf@FUNCTION, $pop31
block
- i32.ne $push0=, $6, $1
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push0=, 5
+ i32.ne $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label0
# BB#1: # %if.end
- i32.call $discard=, puts@FUNCTION, $0
- i32.const $2=, .L.str.1
- i32.call $6=, iprintf@FUNCTION, $2
- i32.const $3=, 6
+ i32.const $push33=, .Lstr
+ i32.call $discard=, puts@FUNCTION, $pop33
+ i32.const $push2=, .L.str.1
+ i32.call $0=, printf@FUNCTION, $pop2
block
- i32.ne $push1=, $6, $3
- br_if $pop1, 0 # 0: down to label1
+ i32.const $push3=, 6
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 0 # 0: down to label1
# BB#2: # %if.end6
- i32.const $push2=, 97
- i32.call $discard=, putchar@FUNCTION, $pop2
- i32.const $4=, .L.str.2
- i32.call $6=, iprintf@FUNCTION, $4
- i32.const $5=, 1
+ i32.const $push5=, 97
+ i32.call $discard=, putchar@FUNCTION, $pop5
+ i32.const $push6=, .L.str.2
+ i32.call $0=, printf@FUNCTION, $pop6
block
- i32.ne $push3=, $6, $5
- br_if $pop3, 0 # 0: down to label2
+ i32.const $push7=, 1
+ i32.ne $push8=, $0, $pop7
+ br_if $pop8, 0 # 0: down to label2
# BB#3: # %if.end16
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 4
+ i32.sub $53=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $53=, 0($3), $53
+ i32.const $push9=, .Lstr
+ i32.store $0=, 0($53), $pop9
+ i32.const $push35=, .L.str.4
+ i32.call $discard=, printf@FUNCTION, $pop35
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 4
+ i32.add $53=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $53=, 0($5), $53
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 4
+ i32.sub $53=, $6, $7
i32.const $7=, __stack_pointer
- i32.load $7=, 0($7)
- i32.const $8=, 4
- i32.sub $58=, $7, $8
+ i32.store $53=, 0($7), $53
+ i32.store $discard=, 0($53), $0
+ i32.const $push34=, .L.str.4
+ i32.call $0=, printf@FUNCTION, $pop34
i32.const $8=, __stack_pointer
- i32.store $58=, 0($8), $58
- i32.const $6=, .L.str.4
- i32.store $discard=, 0($58), $0
- i32.call $discard=, iprintf@FUNCTION, $6
+ i32.load $8=, 0($8)
+ i32.const $9=, 4
+ i32.add $53=, $8, $9
i32.const $9=, __stack_pointer
- i32.load $9=, 0($9)
- i32.const $10=, 4
- i32.add $58=, $9, $10
+ i32.store $53=, 0($9), $53
+ block
+ i32.const $push10=, 5
+ i32.ne $push11=, $0, $pop10
+ br_if $pop11, 0 # 0: down to label3
+# BB#4: # %if.end21
i32.const $10=, __stack_pointer
- i32.store $58=, 0($10), $58
+ i32.load $10=, 0($10)
+ i32.const $11=, 4
+ i32.sub $53=, $10, $11
i32.const $11=, __stack_pointer
- i32.load $11=, 0($11)
- i32.const $12=, 4
- i32.sub $58=, $11, $12
+ i32.store $53=, 0($11), $53
+ i32.const $push12=, .L.str.1
+ i32.store $0=, 0($53), $pop12
+ i32.const $push37=, .L.str.4
+ i32.call $discard=, printf@FUNCTION, $pop37
i32.const $12=, __stack_pointer
- i32.store $58=, 0($12), $58
- i32.store $discard=, 0($58), $0
- i32.call $0=, iprintf@FUNCTION, $6
+ i32.load $12=, 0($12)
+ i32.const $13=, 4
+ i32.add $53=, $12, $13
i32.const $13=, __stack_pointer
- i32.load $13=, 0($13)
- i32.const $14=, 4
- i32.add $58=, $13, $14
+ i32.store $53=, 0($13), $53
i32.const $14=, __stack_pointer
- i32.store $58=, 0($14), $58
- block
- i32.ne $push4=, $0, $1
- br_if $pop4, 0 # 0: down to label3
-# BB#4: # %if.end21
+ i32.load $14=, 0($14)
+ i32.const $15=, 4
+ i32.sub $53=, $14, $15
i32.const $15=, __stack_pointer
- i32.load $15=, 0($15)
- i32.const $16=, 4
- i32.sub $58=, $15, $16
+ i32.store $53=, 0($15), $53
+ i32.store $discard=, 0($53), $0
+ i32.const $push36=, .L.str.4
+ i32.call $0=, printf@FUNCTION, $pop36
i32.const $16=, __stack_pointer
- i32.store $58=, 0($16), $58
- i32.store $0=, 0($58), $2
- i32.call $discard=, iprintf@FUNCTION, $6
+ i32.load $16=, 0($16)
+ i32.const $17=, 4
+ i32.add $53=, $16, $17
i32.const $17=, __stack_pointer
- i32.load $17=, 0($17)
- i32.const $18=, 4
- i32.add $58=, $17, $18
+ i32.store $53=, 0($17), $53
+ block
+ i32.const $push13=, 6
+ i32.ne $push14=, $0, $pop13
+ br_if $pop14, 0 # 0: down to label4
+# BB#5: # %if.end26
i32.const $18=, __stack_pointer
- i32.store $58=, 0($18), $58
+ i32.load $18=, 0($18)
+ i32.const $19=, 4
+ i32.sub $53=, $18, $19
i32.const $19=, __stack_pointer
- i32.load $19=, 0($19)
- i32.const $20=, 4
- i32.sub $58=, $19, $20
+ i32.store $53=, 0($19), $53
+ i32.const $push15=, .L.str.2
+ i32.store $0=, 0($53), $pop15
+ i32.const $push39=, .L.str.4
+ i32.call $discard=, printf@FUNCTION, $pop39
i32.const $20=, __stack_pointer
- i32.store $58=, 0($20), $58
- i32.store $discard=, 0($58), $0
- i32.call $1=, iprintf@FUNCTION, $6
+ i32.load $20=, 0($20)
+ i32.const $21=, 4
+ i32.add $53=, $20, $21
i32.const $21=, __stack_pointer
- i32.load $21=, 0($21)
- i32.const $22=, 4
- i32.add $58=, $21, $22
+ i32.store $53=, 0($21), $53
i32.const $22=, __stack_pointer
- i32.store $58=, 0($22), $58
- block
- i32.ne $push5=, $1, $3
- br_if $pop5, 0 # 0: down to label4
-# BB#5: # %if.end26
+ i32.load $22=, 0($22)
+ i32.const $23=, 4
+ i32.sub $53=, $22, $23
i32.const $23=, __stack_pointer
- i32.load $23=, 0($23)
- i32.const $24=, 4
- i32.sub $58=, $23, $24
+ i32.store $53=, 0($23), $53
+ i32.store $discard=, 0($53), $0
+ i32.const $push38=, .L.str.4
+ i32.call $0=, printf@FUNCTION, $pop38
i32.const $24=, __stack_pointer
- i32.store $58=, 0($24), $58
- i32.store $1=, 0($58), $4
- i32.call $discard=, iprintf@FUNCTION, $6
+ i32.load $24=, 0($24)
+ i32.const $25=, 4
+ i32.add $53=, $24, $25
i32.const $25=, __stack_pointer
- i32.load $25=, 0($25)
- i32.const $26=, 4
- i32.add $58=, $25, $26
+ i32.store $53=, 0($25), $53
+ block
+ i32.const $push16=, 1
+ i32.ne $push17=, $0, $pop16
+ br_if $pop17, 0 # 0: down to label5
+# BB#6: # %if.end31
i32.const $26=, __stack_pointer
- i32.store $58=, 0($26), $58
+ i32.load $26=, 0($26)
+ i32.const $27=, 4
+ i32.sub $53=, $26, $27
i32.const $27=, __stack_pointer
- i32.load $27=, 0($27)
- i32.const $28=, 4
- i32.sub $58=, $27, $28
+ i32.store $53=, 0($27), $53
+ i32.const $push18=, .L.str.3
+ i32.store $0=, 0($53), $pop18
+ i32.const $push41=, .L.str.4
+ i32.call $discard=, printf@FUNCTION, $pop41
i32.const $28=, __stack_pointer
- i32.store $58=, 0($28), $58
- i32.store $discard=, 0($58), $1
- i32.call $1=, iprintf@FUNCTION, $6
+ i32.load $28=, 0($28)
+ i32.const $29=, 4
+ i32.add $53=, $28, $29
i32.const $29=, __stack_pointer
- i32.load $29=, 0($29)
- i32.const $30=, 4
- i32.add $58=, $29, $30
+ i32.store $53=, 0($29), $53
i32.const $30=, __stack_pointer
- i32.store $58=, 0($30), $58
- block
- i32.ne $push6=, $1, $5
- br_if $pop6, 0 # 0: down to label5
-# BB#6: # %if.end31
+ i32.load $30=, 0($30)
+ i32.const $31=, 4
+ i32.sub $53=, $30, $31
i32.const $31=, __stack_pointer
- i32.load $31=, 0($31)
- i32.const $32=, 4
- i32.sub $58=, $31, $32
+ i32.store $53=, 0($31), $53
+ i32.store $discard=, 0($53), $0
+ i32.const $push40=, .L.str.4
+ i32.call $0=, printf@FUNCTION, $pop40
i32.const $32=, __stack_pointer
- i32.store $58=, 0($32), $58
- i32.const $push7=, .L.str.3
- i32.store $1=, 0($58), $pop7
- i32.call $discard=, iprintf@FUNCTION, $6
+ i32.load $32=, 0($32)
+ i32.const $33=, 4
+ i32.add $53=, $32, $33
i32.const $33=, __stack_pointer
- i32.load $33=, 0($33)
- i32.const $34=, 4
- i32.add $58=, $33, $34
+ i32.store $53=, 0($33), $53
+ block
+ br_if $0, 0 # 0: down to label6
+# BB#7: # %if.end36
+ i32.const $push19=, 120
+ i32.call $discard=, putchar@FUNCTION, $pop19
i32.const $34=, __stack_pointer
- i32.store $58=, 0($34), $58
+ i32.load $34=, 0($34)
+ i32.const $35=, 4
+ i32.sub $53=, $34, $35
i32.const $35=, __stack_pointer
- i32.load $35=, 0($35)
- i32.const $36=, 4
- i32.sub $58=, $35, $36
+ i32.store $53=, 0($35), $53
+ i32.const $push42=, 120
+ i32.store $discard=, 0($53), $pop42
+ i32.const $push20=, .L.str.5
+ i32.call $0=, printf@FUNCTION, $pop20
i32.const $36=, __stack_pointer
- i32.store $58=, 0($36), $58
- i32.store $discard=, 0($58), $1
- i32.call $6=, iprintf@FUNCTION, $6
+ i32.load $36=, 0($36)
+ i32.const $37=, 4
+ i32.add $53=, $36, $37
i32.const $37=, __stack_pointer
- i32.load $37=, 0($37)
- i32.const $38=, 4
- i32.add $58=, $37, $38
- i32.const $38=, __stack_pointer
- i32.store $58=, 0($38), $58
+ i32.store $53=, 0($37), $53
block
- br_if $6, 0 # 0: down to label6
-# BB#7: # %if.end36
- i32.const $6=, 120
- i32.call $discard=, putchar@FUNCTION, $6
+ i32.const $push21=, 1
+ i32.ne $push22=, $0, $pop21
+ br_if $pop22, 0 # 0: down to label7
+# BB#8: # %if.end41
+ i32.const $push23=, .L.str.1
+ i32.call $discard=, puts@FUNCTION, $pop23
+ i32.const $38=, __stack_pointer
+ i32.load $38=, 0($38)
+ i32.const $39=, 4
+ i32.sub $53=, $38, $39
i32.const $39=, __stack_pointer
- i32.load $39=, 0($39)
- i32.const $40=, 4
- i32.sub $58=, $39, $40
+ i32.store $53=, 0($39), $53
+ i32.const $push43=, .L.str.1
+ i32.store $discard=, 0($53), $pop43
+ i32.const $push24=, .L.str.6
+ i32.call $0=, printf@FUNCTION, $pop24
i32.const $40=, __stack_pointer
- i32.store $58=, 0($40), $58
- i32.store $discard=, 0($58), $6
- i32.const $push8=, .L.str.5
- i32.call $6=, iprintf@FUNCTION, $pop8
+ i32.load $40=, 0($40)
+ i32.const $41=, 4
+ i32.add $53=, $40, $41
i32.const $41=, __stack_pointer
- i32.load $41=, 0($41)
- i32.const $42=, 4
- i32.add $58=, $41, $42
- i32.const $42=, __stack_pointer
- i32.store $58=, 0($42), $58
+ i32.store $53=, 0($41), $53
block
- i32.ne $push9=, $6, $5
- br_if $pop9, 0 # 0: down to label7
-# BB#8: # %if.end41
- i32.call $discard=, puts@FUNCTION, $0
+ i32.const $push25=, 7
+ i32.ne $push26=, $0, $pop25
+ br_if $pop26, 0 # 0: down to label8
+# BB#9: # %if.end46
+ i32.const $42=, __stack_pointer
+ i32.load $42=, 0($42)
+ i32.const $43=, 4
+ i32.sub $53=, $42, $43
i32.const $43=, __stack_pointer
- i32.load $43=, 0($43)
- i32.const $44=, 4
- i32.sub $58=, $43, $44
+ i32.store $53=, 0($43), $53
+ i32.const $push27=, 0
+ i32.store $0=, 0($53), $pop27
+ i32.const $push28=, .L.str.7
+ i32.call $discard=, printf@FUNCTION, $pop28
i32.const $44=, __stack_pointer
- i32.store $58=, 0($44), $58
- i32.store $discard=, 0($58), $0
- i32.const $push10=, .L.str.6
- i32.call $6=, iprintf@FUNCTION, $pop10
+ i32.load $44=, 0($44)
+ i32.const $45=, 4
+ i32.add $53=, $44, $45
i32.const $45=, __stack_pointer
- i32.load $45=, 0($45)
- i32.const $46=, 4
- i32.add $58=, $45, $46
+ i32.store $53=, 0($45), $53
i32.const $46=, __stack_pointer
- i32.store $58=, 0($46), $58
- block
- i32.const $push11=, 7
- i32.ne $push12=, $6, $pop11
- br_if $pop12, 0 # 0: down to label8
-# BB#9: # %if.end46
+ i32.load $46=, 0($46)
+ i32.const $47=, 4
+ i32.sub $53=, $46, $47
i32.const $47=, __stack_pointer
- i32.load $47=, 0($47)
- i32.const $48=, 4
- i32.sub $58=, $47, $48
+ i32.store $53=, 0($47), $53
+ i32.store $1=, 0($53), $0
+ i32.const $push44=, .L.str.7
+ i32.call $0=, printf@FUNCTION, $pop44
i32.const $48=, __stack_pointer
- i32.store $58=, 0($48), $58
- i32.const $6=, .L.str.7
- i32.const $push13=, 0
- i32.store $0=, 0($58), $pop13
- i32.call $discard=, iprintf@FUNCTION, $6
+ i32.load $48=, 0($48)
+ i32.const $49=, 4
+ i32.add $53=, $48, $49
i32.const $49=, __stack_pointer
- i32.load $49=, 0($49)
- i32.const $50=, 4
- i32.add $58=, $49, $50
- i32.const $50=, __stack_pointer
- i32.store $58=, 0($50), $58
- i32.const $51=, __stack_pointer
- i32.load $51=, 0($51)
- i32.const $52=, 4
- i32.sub $58=, $51, $52
- i32.const $52=, __stack_pointer
- i32.store $58=, 0($52), $58
- i32.store $discard=, 0($58), $0
- i32.call $6=, iprintf@FUNCTION, $6
- i32.const $53=, __stack_pointer
- i32.load $53=, 0($53)
- i32.const $54=, 4
- i32.add $58=, $53, $54
- i32.const $54=, __stack_pointer
- i32.store $58=, 0($54), $58
+ i32.store $53=, 0($49), $53
block
- i32.const $push14=, 2
- i32.ne $push15=, $6, $pop14
- br_if $pop15, 0 # 0: down to label9
+ i32.const $push29=, 2
+ i32.ne $push30=, $0, $pop29
+ br_if $pop30, 0 # 0: down to label9
# BB#10: # %if.end51
- i32.const $57=, 16
- i32.add $58=, $58, $57
- i32.const $57=, __stack_pointer
- i32.store $58=, 0($57), $58
- return $0
+ i32.const $52=, 16
+ i32.add $53=, $53, $52
+ i32.const $52=, __stack_pointer
+ i32.store $53=, 0($52), $53
+ return $1
.LBB0_11: # %if.then50
end_block # label9:
call abort@FUNCTION
diff --git a/test/torture-s/printf-chk-1.c.s b/test/torture-s/printf-chk-1.c.s
new file mode 100644
index 000000000..78bf72dce
--- /dev/null
+++ b/test/torture-s/printf-chk-1.c.s
@@ -0,0 +1,737 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/printf-chk-1.c"
+ .section .text.__printf_chk,"ax",@progbits
+ .hidden __printf_chk
+ .globl __printf_chk
+ .type __printf_chk,@function
+__printf_chk: # @__printf_chk
+ .param i32, i32
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ block
+ i32.const $push5=, 0
+ i32.load $push0=, should_optimize($pop5)
+ br_if $pop0, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push7=, 0
+ i32.const $push1=, 1
+ i32.store $discard=, should_optimize($pop7), $pop1
+ i32.const $push6=, 0
+ i32.load $push3=, stdout($pop6)
+ i32.store $push2=, 12($5), $6
+ i32.call $push4=, vfprintf@FUNCTION, $pop3, $1, $pop2
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return $pop4
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size __printf_chk, .Lfunc_end0-__printf_chk
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $58=, __stack_pointer
+ i32.load $58=, 0($58)
+ i32.const $59=, 16
+ i32.sub $61=, $58, $59
+ i32.const $59=, __stack_pointer
+ i32.store $61=, 0($59), $61
+ i32.const $push0=, 0
+ i32.const $push62=, 0
+ i32.store $0=, should_optimize($pop0), $pop62
+ i32.const $push61=, .L.str
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop61
+ block
+ i32.load $push1=, should_optimize($0)
+ i32.const $push120=, 0
+ i32.eq $push121=, $pop1, $pop120
+ br_if $pop121, 0 # 0: down to label1
+# BB#1: # %if.end
+ i32.store $discard=, should_optimize($0), $0
+ i32.const $push63=, .L.str
+ i32.call $0=, __printf_chk@FUNCTION, $0, $pop63
+ block
+ i32.const $push2=, 5
+ i32.ne $push3=, $0, $pop2
+ br_if $pop3, 0 # 0: down to label2
+# BB#2: # %if.end3
+ block
+ i32.const $push64=, 0
+ i32.load $push4=, should_optimize($pop64)
+ i32.const $push122=, 0
+ i32.eq $push123=, $pop4, $pop122
+ br_if $pop123, 0 # 0: down to label3
+# BB#3: # %if.end6
+ i32.const $push67=, 0
+ i32.const $push5=, 1
+ i32.store $discard=, should_optimize($pop67), $pop5
+ i32.const $push66=, .L.str.1
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop66
+ block
+ i32.const $push65=, 0
+ i32.load $push6=, should_optimize($pop65)
+ i32.const $push124=, 0
+ i32.eq $push125=, $pop6, $pop124
+ br_if $pop125, 0 # 0: down to label4
+# BB#4: # %if.end10
+ i32.const $push7=, 0
+ i32.const $push69=, 0
+ i32.store $1=, should_optimize($pop7), $pop69
+ i32.const $push68=, .L.str.1
+ i32.call $0=, __printf_chk@FUNCTION, $0, $pop68
+ block
+ i32.const $push8=, 6
+ i32.ne $push9=, $0, $pop8
+ br_if $pop9, 0 # 0: down to label5
+# BB#5: # %if.end14
+ block
+ i32.load $push10=, should_optimize($1)
+ i32.const $push126=, 0
+ i32.eq $push127=, $pop10, $pop126
+ br_if $pop127, 0 # 0: down to label6
+# BB#6: # %if.end17
+ i32.const $push72=, 0
+ i32.const $push11=, 1
+ i32.store $0=, should_optimize($pop72), $pop11
+ i32.const $push71=, .L.str.2
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop71
+ block
+ i32.const $push70=, 0
+ i32.load $push12=, should_optimize($pop70)
+ i32.const $push128=, 0
+ i32.eq $push129=, $pop12, $pop128
+ br_if $pop129, 0 # 0: down to label7
+# BB#7: # %if.end21
+ i32.const $push75=, 0
+ i32.const $push74=, 0
+ i32.store $discard=, should_optimize($pop75), $pop74
+ i32.const $push73=, .L.str.2
+ i32.call $1=, __printf_chk@FUNCTION, $0, $pop73
+ block
+ i32.ne $push13=, $1, $0
+ br_if $pop13, 0 # 0: down to label8
+# BB#8: # %if.end25
+ block
+ i32.const $push76=, 0
+ i32.load $push14=, should_optimize($pop76)
+ i32.const $push130=, 0
+ i32.eq $push131=, $pop14, $pop130
+ br_if $pop131, 0 # 0: down to label9
+# BB#9: # %if.end28
+ i32.const $push79=, 0
+ i32.const $push15=, 1
+ i32.store $discard=, should_optimize($pop79), $pop15
+ i32.const $push78=, .L.str.3
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop78
+ block
+ i32.const $push77=, 0
+ i32.load $push16=, should_optimize($pop77)
+ i32.const $push132=, 0
+ i32.eq $push133=, $pop16, $pop132
+ br_if $pop133, 0 # 0: down to label10
+# BB#10: # %if.end32
+ i32.const $push17=, 0
+ i32.const $push81=, 0
+ i32.store $1=, should_optimize($pop17), $pop81
+ i32.const $push80=, .L.str.3
+ i32.call $0=, __printf_chk@FUNCTION, $0, $pop80
+ block
+ br_if $0, 0 # 0: down to label11
+# BB#11: # %if.end36
+ block
+ i32.load $push18=, should_optimize($1)
+ i32.const $push134=, 0
+ i32.eq $push135=, $pop18, $pop134
+ br_if $pop135, 0 # 0: down to label12
+# BB#12: # %if.end39
+ i32.const $push19=, 0
+ i32.const $push83=, 0
+ i32.store $0=, should_optimize($pop19), $pop83
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 4
+ i32.sub $61=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $61=, 0($3), $61
+ i32.const $push20=, .L.str
+ i32.store $1=, 0($61), $pop20
+ i32.const $push82=, .L.str.4
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop82
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 4
+ i32.add $61=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $61=, 0($5), $61
+ block
+ i32.load $push21=, should_optimize($0)
+ i32.const $push136=, 0
+ i32.eq $push137=, $pop21, $pop136
+ br_if $pop137, 0 # 0: down to label13
+# BB#13: # %if.end43
+ i32.store $discard=, should_optimize($0), $0
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 4
+ i32.sub $61=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $61=, 0($7), $61
+ i32.store $discard=, 0($61), $1
+ i32.const $push84=, .L.str.4
+ i32.call $0=, __printf_chk@FUNCTION, $0, $pop84
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 4
+ i32.add $61=, $8, $9
+ i32.const $9=, __stack_pointer
+ i32.store $61=, 0($9), $61
+ block
+ i32.const $push22=, 5
+ i32.ne $push23=, $0, $pop22
+ br_if $pop23, 0 # 0: down to label14
+# BB#14: # %if.end47
+ block
+ i32.const $push85=, 0
+ i32.load $push24=, should_optimize($pop85)
+ i32.const $push138=, 0
+ i32.eq $push139=, $pop24, $pop138
+ br_if $pop139, 0 # 0: down to label15
+# BB#15: # %if.end50
+ i32.const $push88=, 0
+ i32.const $push25=, 1
+ i32.store $discard=, should_optimize($pop88), $pop25
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 4
+ i32.sub $61=, $10, $11
+ i32.const $11=, __stack_pointer
+ i32.store $61=, 0($11), $61
+ i32.const $push26=, .L.str.1
+ i32.store $0=, 0($61), $pop26
+ i32.const $push87=, .L.str.4
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop87
+ i32.const $12=, __stack_pointer
+ i32.load $12=, 0($12)
+ i32.const $13=, 4
+ i32.add $61=, $12, $13
+ i32.const $13=, __stack_pointer
+ i32.store $61=, 0($13), $61
+ block
+ i32.const $push86=, 0
+ i32.load $push27=, should_optimize($pop86)
+ i32.const $push140=, 0
+ i32.eq $push141=, $pop27, $pop140
+ br_if $pop141, 0 # 0: down to label16
+# BB#16: # %if.end54
+ i32.const $push28=, 0
+ i32.const $push90=, 0
+ i32.store $1=, should_optimize($pop28), $pop90
+ i32.const $14=, __stack_pointer
+ i32.load $14=, 0($14)
+ i32.const $15=, 4
+ i32.sub $61=, $14, $15
+ i32.const $15=, __stack_pointer
+ i32.store $61=, 0($15), $61
+ i32.store $discard=, 0($61), $0
+ i32.const $push89=, .L.str.4
+ i32.call $0=, __printf_chk@FUNCTION, $0, $pop89
+ i32.const $16=, __stack_pointer
+ i32.load $16=, 0($16)
+ i32.const $17=, 4
+ i32.add $61=, $16, $17
+ i32.const $17=, __stack_pointer
+ i32.store $61=, 0($17), $61
+ block
+ i32.const $push29=, 6
+ i32.ne $push30=, $0, $pop29
+ br_if $pop30, 0 # 0: down to label17
+# BB#17: # %if.end58
+ block
+ i32.load $push31=, should_optimize($1)
+ i32.const $push142=, 0
+ i32.eq $push143=, $pop31, $pop142
+ br_if $pop143, 0 # 0: down to label18
+# BB#18: # %if.end61
+ i32.const $push93=, 0
+ i32.const $push32=, 1
+ i32.store $0=, should_optimize($pop93), $pop32
+ i32.const $18=, __stack_pointer
+ i32.load $18=, 0($18)
+ i32.const $19=, 4
+ i32.sub $61=, $18, $19
+ i32.const $19=, __stack_pointer
+ i32.store $61=, 0($19), $61
+ i32.const $push33=, .L.str.2
+ i32.store $1=, 0($61), $pop33
+ i32.const $push92=, .L.str.4
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop92
+ i32.const $20=, __stack_pointer
+ i32.load $20=, 0($20)
+ i32.const $21=, 4
+ i32.add $61=, $20, $21
+ i32.const $21=, __stack_pointer
+ i32.store $61=, 0($21), $61
+ block
+ i32.const $push91=, 0
+ i32.load $push34=, should_optimize($pop91)
+ i32.const $push144=, 0
+ i32.eq $push145=, $pop34, $pop144
+ br_if $pop145, 0 # 0: down to label19
+# BB#19: # %if.end65
+ i32.const $push96=, 0
+ i32.const $push95=, 0
+ i32.store $discard=, should_optimize($pop96), $pop95
+ i32.const $22=, __stack_pointer
+ i32.load $22=, 0($22)
+ i32.const $23=, 4
+ i32.sub $61=, $22, $23
+ i32.const $23=, __stack_pointer
+ i32.store $61=, 0($23), $61
+ i32.store $discard=, 0($61), $1
+ i32.const $push94=, .L.str.4
+ i32.call $1=, __printf_chk@FUNCTION, $0, $pop94
+ i32.const $24=, __stack_pointer
+ i32.load $24=, 0($24)
+ i32.const $25=, 4
+ i32.add $61=, $24, $25
+ i32.const $25=, __stack_pointer
+ i32.store $61=, 0($25), $61
+ block
+ i32.ne $push35=, $1, $0
+ br_if $pop35, 0 # 0: down to label20
+# BB#20: # %if.end69
+ block
+ i32.const $push97=, 0
+ i32.load $push36=, should_optimize($pop97)
+ i32.const $push146=, 0
+ i32.eq $push147=, $pop36, $pop146
+ br_if $pop147, 0 # 0: down to label21
+# BB#21: # %if.end72
+ i32.const $push100=, 0
+ i32.const $push37=, 1
+ i32.store $discard=, should_optimize($pop100), $pop37
+ i32.const $26=, __stack_pointer
+ i32.load $26=, 0($26)
+ i32.const $27=, 4
+ i32.sub $61=, $26, $27
+ i32.const $27=, __stack_pointer
+ i32.store $61=, 0($27), $61
+ i32.const $push38=, .L.str.3
+ i32.store $0=, 0($61), $pop38
+ i32.const $push99=, .L.str.4
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop99
+ i32.const $28=, __stack_pointer
+ i32.load $28=, 0($28)
+ i32.const $29=, 4
+ i32.add $61=, $28, $29
+ i32.const $29=, __stack_pointer
+ i32.store $61=, 0($29), $61
+ block
+ i32.const $push98=, 0
+ i32.load $push39=, should_optimize($pop98)
+ i32.const $push148=, 0
+ i32.eq $push149=, $pop39, $pop148
+ br_if $pop149, 0 # 0: down to label22
+# BB#22: # %if.end76
+ i32.const $push40=, 0
+ i32.const $push102=, 0
+ i32.store $1=, should_optimize($pop40), $pop102
+ i32.const $30=, __stack_pointer
+ i32.load $30=, 0($30)
+ i32.const $31=, 4
+ i32.sub $61=, $30, $31
+ i32.const $31=, __stack_pointer
+ i32.store $61=, 0($31), $61
+ i32.store $discard=, 0($61), $0
+ i32.const $push101=, .L.str.4
+ i32.call $0=, __printf_chk@FUNCTION, $0, $pop101
+ i32.const $32=, __stack_pointer
+ i32.load $32=, 0($32)
+ i32.const $33=, 4
+ i32.add $61=, $32, $33
+ i32.const $33=, __stack_pointer
+ i32.store $61=, 0($33), $61
+ block
+ br_if $0, 0 # 0: down to label23
+# BB#23: # %if.end80
+ block
+ i32.load $push41=, should_optimize($1)
+ i32.const $push150=, 0
+ i32.eq $push151=, $pop41, $pop150
+ br_if $pop151, 0 # 0: down to label24
+# BB#24: # %if.end83
+ i32.const $push105=, 0
+ i32.const $push42=, 1
+ i32.store $0=, should_optimize($pop105), $pop42
+ i32.const $34=, __stack_pointer
+ i32.load $34=, 0($34)
+ i32.const $35=, 4
+ i32.sub $61=, $34, $35
+ i32.const $35=, __stack_pointer
+ i32.store $61=, 0($35), $61
+ i32.const $push43=, 120
+ i32.store $1=, 0($61), $pop43
+ i32.const $push104=, .L.str.5
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop104
+ i32.const $36=, __stack_pointer
+ i32.load $36=, 0($36)
+ i32.const $37=, 4
+ i32.add $61=, $36, $37
+ i32.const $37=, __stack_pointer
+ i32.store $61=, 0($37), $61
+ block
+ i32.const $push103=, 0
+ i32.load $push44=, should_optimize($pop103)
+ i32.const $push152=, 0
+ i32.eq $push153=, $pop44, $pop152
+ br_if $pop153, 0 # 0: down to label25
+# BB#25: # %if.end87
+ i32.const $push108=, 0
+ i32.const $push107=, 0
+ i32.store $discard=, should_optimize($pop108), $pop107
+ i32.const $38=, __stack_pointer
+ i32.load $38=, 0($38)
+ i32.const $39=, 4
+ i32.sub $61=, $38, $39
+ i32.const $39=, __stack_pointer
+ i32.store $61=, 0($39), $61
+ i32.store $discard=, 0($61), $1
+ i32.const $push106=, .L.str.5
+ i32.call $1=, __printf_chk@FUNCTION, $0, $pop106
+ i32.const $40=, __stack_pointer
+ i32.load $40=, 0($40)
+ i32.const $41=, 4
+ i32.add $61=, $40, $41
+ i32.const $41=, __stack_pointer
+ i32.store $61=, 0($41), $61
+ block
+ i32.ne $push45=, $1, $0
+ br_if $pop45, 0 # 0: down to label26
+# BB#26: # %if.end91
+ block
+ i32.const $push109=, 0
+ i32.load $push46=, should_optimize($pop109)
+ i32.const $push154=, 0
+ i32.eq $push155=, $pop46, $pop154
+ br_if $pop155, 0 # 0: down to label27
+# BB#27: # %if.end94
+ i32.const $push112=, 0
+ i32.const $push47=, 1
+ i32.store $discard=, should_optimize($pop112), $pop47
+ i32.const $42=, __stack_pointer
+ i32.load $42=, 0($42)
+ i32.const $43=, 4
+ i32.sub $61=, $42, $43
+ i32.const $43=, __stack_pointer
+ i32.store $61=, 0($43), $61
+ i32.const $push48=, .L.str.1
+ i32.store $0=, 0($61), $pop48
+ i32.const $push111=, .L.str.6
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop111
+ i32.const $44=, __stack_pointer
+ i32.load $44=, 0($44)
+ i32.const $45=, 4
+ i32.add $61=, $44, $45
+ i32.const $45=, __stack_pointer
+ i32.store $61=, 0($45), $61
+ block
+ i32.const $push110=, 0
+ i32.load $push49=, should_optimize($pop110)
+ i32.const $push156=, 0
+ i32.eq $push157=, $pop49, $pop156
+ br_if $pop157, 0 # 0: down to label28
+# BB#28: # %if.end98
+ i32.const $push50=, 0
+ i32.const $push114=, 0
+ i32.store $1=, should_optimize($pop50), $pop114
+ i32.const $46=, __stack_pointer
+ i32.load $46=, 0($46)
+ i32.const $47=, 4
+ i32.sub $61=, $46, $47
+ i32.const $47=, __stack_pointer
+ i32.store $61=, 0($47), $61
+ i32.store $discard=, 0($61), $0
+ i32.const $push113=, .L.str.6
+ i32.call $0=, __printf_chk@FUNCTION, $0, $pop113
+ i32.const $48=, __stack_pointer
+ i32.load $48=, 0($48)
+ i32.const $49=, 4
+ i32.add $61=, $48, $49
+ i32.const $49=, __stack_pointer
+ i32.store $61=, 0($49), $61
+ block
+ i32.const $push51=, 7
+ i32.ne $push52=, $0, $pop51
+ br_if $pop52, 0 # 0: down to label29
+# BB#29: # %if.end102
+ block
+ i32.load $push53=, should_optimize($1)
+ i32.const $push158=, 0
+ i32.eq $push159=, $pop53, $pop158
+ br_if $pop159, 0 # 0: down to label30
+# BB#30: # %if.end105
+ i32.const $50=, __stack_pointer
+ i32.load $50=, 0($50)
+ i32.const $51=, 4
+ i32.sub $61=, $50, $51
+ i32.const $51=, __stack_pointer
+ i32.store $61=, 0($51), $61
+ i32.const $push54=, 0
+ i32.const $push116=, 0
+ i32.store $push55=, should_optimize($pop54), $pop116
+ i32.store $0=, 0($61), $pop55
+ i32.const $push115=, .L.str.7
+ i32.call $discard=, __printf_chk@FUNCTION, $0, $pop115
+ i32.const $52=, __stack_pointer
+ i32.load $52=, 0($52)
+ i32.const $53=, 4
+ i32.add $61=, $52, $53
+ i32.const $53=, __stack_pointer
+ i32.store $61=, 0($53), $61
+ block
+ i32.load $push56=, should_optimize($0)
+ i32.const $push160=, 0
+ i32.eq $push161=, $pop56, $pop160
+ br_if $pop161, 0 # 0: down to label31
+# BB#31: # %if.end109
+ i32.const $54=, __stack_pointer
+ i32.load $54=, 0($54)
+ i32.const $55=, 4
+ i32.sub $61=, $54, $55
+ i32.const $55=, __stack_pointer
+ i32.store $61=, 0($55), $61
+ i32.store $push57=, should_optimize($0), $0
+ i32.store $discard=, 0($61), $pop57
+ i32.const $push117=, .L.str.7
+ i32.call $0=, __printf_chk@FUNCTION, $0, $pop117
+ i32.const $56=, __stack_pointer
+ i32.load $56=, 0($56)
+ i32.const $57=, 4
+ i32.add $61=, $56, $57
+ i32.const $57=, __stack_pointer
+ i32.store $61=, 0($57), $61
+ block
+ i32.const $push58=, 2
+ i32.ne $push59=, $0, $pop58
+ br_if $pop59, 0 # 0: down to label32
+# BB#32: # %if.end113
+ block
+ i32.const $push118=, 0
+ i32.load $push60=, should_optimize($pop118)
+ i32.const $push162=, 0
+ i32.eq $push163=, $pop60, $pop162
+ br_if $pop163, 0 # 0: down to label33
+# BB#33: # %if.end116
+ i32.const $push119=, 0
+ i32.const $60=, 16
+ i32.add $61=, $61, $60
+ i32.const $60=, __stack_pointer
+ i32.store $61=, 0($60), $61
+ return $pop119
+.LBB1_34: # %if.then115
+ end_block # label33:
+ call abort@FUNCTION
+ unreachable
+.LBB1_35: # %if.then112
+ end_block # label32:
+ call abort@FUNCTION
+ unreachable
+.LBB1_36: # %if.then108
+ end_block # label31:
+ call abort@FUNCTION
+ unreachable
+.LBB1_37: # %if.then104
+ end_block # label30:
+ call abort@FUNCTION
+ unreachable
+.LBB1_38: # %if.then101
+ end_block # label29:
+ call abort@FUNCTION
+ unreachable
+.LBB1_39: # %if.then97
+ end_block # label28:
+ call abort@FUNCTION
+ unreachable
+.LBB1_40: # %if.then93
+ end_block # label27:
+ call abort@FUNCTION
+ unreachable
+.LBB1_41: # %if.then90
+ end_block # label26:
+ call abort@FUNCTION
+ unreachable
+.LBB1_42: # %if.then86
+ end_block # label25:
+ call abort@FUNCTION
+ unreachable
+.LBB1_43: # %if.then82
+ end_block # label24:
+ call abort@FUNCTION
+ unreachable
+.LBB1_44: # %if.then79
+ end_block # label23:
+ call abort@FUNCTION
+ unreachable
+.LBB1_45: # %if.then75
+ end_block # label22:
+ call abort@FUNCTION
+ unreachable
+.LBB1_46: # %if.then71
+ end_block # label21:
+ call abort@FUNCTION
+ unreachable
+.LBB1_47: # %if.then68
+ end_block # label20:
+ call abort@FUNCTION
+ unreachable
+.LBB1_48: # %if.then64
+ end_block # label19:
+ call abort@FUNCTION
+ unreachable
+.LBB1_49: # %if.then60
+ end_block # label18:
+ call abort@FUNCTION
+ unreachable
+.LBB1_50: # %if.then57
+ end_block # label17:
+ call abort@FUNCTION
+ unreachable
+.LBB1_51: # %if.then53
+ end_block # label16:
+ call abort@FUNCTION
+ unreachable
+.LBB1_52: # %if.then49
+ end_block # label15:
+ call abort@FUNCTION
+ unreachable
+.LBB1_53: # %if.then46
+ end_block # label14:
+ call abort@FUNCTION
+ unreachable
+.LBB1_54: # %if.then42
+ end_block # label13:
+ call abort@FUNCTION
+ unreachable
+.LBB1_55: # %if.then38
+ end_block # label12:
+ call abort@FUNCTION
+ unreachable
+.LBB1_56: # %if.then35
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+.LBB1_57: # %if.then31
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB1_58: # %if.then27
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB1_59: # %if.then24
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB1_60: # %if.then20
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB1_61: # %if.then16
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB1_62: # %if.then13
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB1_63: # %if.then9
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB1_64: # %if.then5
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB1_65: # %if.then2
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB1_66: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden should_optimize # @should_optimize
+ .type should_optimize,@object
+ .section .bss.should_optimize,"aw",@nobits
+ .globl should_optimize
+ .p2align 2
+should_optimize:
+ .int32 0 # 0x0
+ .size should_optimize, 4
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "hello"
+ .size .L.str, 6
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "hello\n"
+ .size .L.str.1, 7
+
+ .type .L.str.2,@object # @.str.2
+.L.str.2:
+ .asciz "a"
+ .size .L.str.2, 2
+
+ .type .L.str.3,@object # @.str.3
+.L.str.3:
+ .skip 1
+ .size .L.str.3, 1
+
+ .type .L.str.4,@object # @.str.4
+.L.str.4:
+ .asciz "%s"
+ .size .L.str.4, 3
+
+ .type .L.str.5,@object # @.str.5
+.L.str.5:
+ .asciz "%c"
+ .size .L.str.5, 3
+
+ .type .L.str.6,@object # @.str.6
+.L.str.6:
+ .asciz "%s\n"
+ .size .L.str.6, 4
+
+ .type .L.str.7,@object # @.str.7
+.L.str.7:
+ .asciz "%d\n"
+ .size .L.str.7, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pta-field-1.c.s b/test/torture-s/pta-field-1.c.s
new file mode 100644
index 000000000..0a4da8f4c
--- /dev/null
+++ b/test/torture-s/pta-field-1.c.s
@@ -0,0 +1,105 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pta-field-1.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32
+# BB#0: # %entry
+ i32.load $push0=, 4($0)
+ i32.const $push1=, 0
+ i32.store $discard=, 0($pop0), $pop1
+ return
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $6=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $6=, 0($1), $6
+ i32.const $push0=, 1
+ i32.store $discard=, 4($6), $pop0
+ i32.const $push1=, 2
+ i32.store $discard=, 0($6), $pop1
+ i32.const $push2=, 4
+ i32.const $3=, 8
+ i32.add $3=, $6, $3
+ i32.or $push3=, $3, $pop2
+ i32.store $discard=, 0($pop3), $6
+ i32.const $4=, 4
+ i32.add $4=, $6, $4
+ i32.store $discard=, 8($6):p2align=3, $4
+ i32.const $5=, 8
+ i32.add $5=, $6, $5
+ call bar@FUNCTION, $5
+ i32.load $push4=, 0($6)
+ i32.const $2=, 16
+ i32.add $6=, $6, $2
+ i32.const $2=, __stack_pointer
+ i32.store $6=, 0($2), $6
+ return $pop4
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $6=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $6=, 0($1), $6
+ i32.const $push0=, 1
+ i32.store $discard=, 4($6), $pop0
+ i32.const $push1=, 2
+ i32.store $discard=, 0($6), $pop1
+ i32.const $push2=, 4
+ i32.const $3=, 8
+ i32.add $3=, $6, $3
+ i32.or $push3=, $3, $pop2
+ i32.store $discard=, 0($pop3), $6
+ i32.const $4=, 4
+ i32.add $4=, $6, $4
+ i32.store $discard=, 8($6):p2align=3, $4
+ i32.const $5=, 8
+ i32.add $5=, $6, $5
+ call bar@FUNCTION, $5
+ block
+ i32.load $push4=, 0($6)
+ br_if $pop4, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push5=, 0
+ i32.const $2=, 16
+ i32.add $6=, $6, $2
+ i32.const $2=, __stack_pointer
+ i32.store $6=, 0($2), $6
+ return $pop5
+.LBB2_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pta-field-2.c.s b/test/torture-s/pta-field-2.c.s
new file mode 100644
index 000000000..66e24b642
--- /dev/null
+++ b/test/torture-s/pta-field-2.c.s
@@ -0,0 +1,105 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pta-field-2.c"
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32
+# BB#0: # %entry
+ i32.const $push0=, -4
+ i32.add $push1=, $0, $pop0
+ i32.load $push2=, 0($pop1)
+ i32.const $push3=, 0
+ i32.store $discard=, 0($pop2), $pop3
+ return
+ .endfunc
+.Lfunc_end0:
+ .size bar, .Lfunc_end0-bar
+
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $6=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $6=, 0($2), $6
+ i32.const $push0=, 1
+ i32.store $discard=, 4($6), $pop0
+ i32.const $push1=, 2
+ i32.store $discard=, 0($6), $pop1
+ i32.const $4=, 4
+ i32.add $4=, $6, $4
+ i32.store $discard=, 8($6):p2align=3, $4
+ i32.const $push2=, 4
+ i32.const $5=, 8
+ i32.add $5=, $6, $5
+ i32.or $push3=, $5, $pop2
+ tee_local $push5=, $0=, $pop3
+ i32.store $discard=, 0($pop5), $6
+ call bar@FUNCTION, $0
+ i32.load $push4=, 4($6)
+ i32.const $3=, 16
+ i32.add $6=, $6, $3
+ i32.const $3=, __stack_pointer
+ i32.store $6=, 0($3), $6
+ return $pop4
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $6=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $6=, 0($2), $6
+ i32.const $push0=, 1
+ i32.store $discard=, 4($6), $pop0
+ i32.const $push1=, 2
+ i32.store $discard=, 0($6), $pop1
+ i32.const $4=, 4
+ i32.add $4=, $6, $4
+ i32.store $discard=, 8($6):p2align=3, $4
+ i32.const $push2=, 4
+ i32.const $5=, 8
+ i32.add $5=, $6, $5
+ i32.or $push3=, $5, $pop2
+ tee_local $push6=, $0=, $pop3
+ i32.store $discard=, 0($pop6), $6
+ call bar@FUNCTION, $0
+ block
+ i32.load $push4=, 4($6)
+ br_if $pop4, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push5=, 0
+ i32.const $3=, 16
+ i32.add $6=, $6, $3
+ i32.const $3=, __stack_pointer
+ i32.store $6=, 0($3), $6
+ return $pop5
+.LBB2_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/pure-1.c.s b/test/torture-s/pure-1.c.s
index 1f751864d..5974518bc 100644
--- a/test/torture-s/pure-1.c.s
+++ b/test/torture-s/pure-1.c.s
@@ -47,7 +47,7 @@ func1: # @func1
.type i,@object
.section .data.i,"aw",@progbits
.globl i
- .align 2
+ .p2align 2
i:
.int32 2 # 0x2
.size i, 4
diff --git a/test/torture-s/regstack-1.c.s b/test/torture-s/regstack-1.c.s
index 090e4a43a..a941c6d04 100644
--- a/test/torture-s/regstack-1.c.s
+++ b/test/torture-s/regstack-1.c.s
@@ -6,234 +6,293 @@
.type main,@function
main: # @main
.result i32
- .local i32, i64, i64, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $20=, __stack_pointer
- i32.load $20=, 0($20)
- i32.const $21=, 320
- i32.sub $62=, $20, $21
- i32.const $21=, __stack_pointer
- i32.store $62=, 0($21), $62
- i32.const $0=, 0
- i64.load $14=, C+8($0)
- i64.load $15=, C($0)
- i64.load $1=, U+8($0)
- i64.load $2=, U($0)
- i32.const $22=, 304
- i32.add $22=, $62, $22
- call __addtf3@FUNCTION, $22, $15, $14, $2, $1
- i32.const $3=, 8
- i32.const $23=, 304
- i32.add $23=, $62, $23
- i32.add $push7=, $23, $3
- i64.load $4=, 0($pop7)
- i64.load $5=, 304($62)
- i64.load $6=, Y2+8($0)
- i64.load $7=, Y2($0)
- i32.const $24=, 192
- i32.add $24=, $62, $24
- call __multf3@FUNCTION, $24, $5, $4, $7, $6
- i32.const $25=, 192
- i32.add $25=, $62, $25
- i32.add $push8=, $25, $3
- i64.load $8=, 0($pop8)
- i64.load $9=, 192($62)
- i32.const $26=, 240
- i32.add $26=, $62, $26
- call __subtf3@FUNCTION, $26, $15, $14, $2, $1
- i32.const $27=, 240
- i32.add $27=, $62, $27
- i32.add $push9=, $27, $3
- i64.load $10=, 0($pop9)
- i64.load $11=, 240($62)
- i32.const $28=, 224
- i32.add $28=, $62, $28
- call __subtf3@FUNCTION, $28, $11, $10, $2, $1
- i32.const $29=, 224
- i32.add $29=, $62, $29
- i32.add $push10=, $29, $3
- i64.load $12=, 0($pop10)
- i64.load $13=, 224($62)
- i32.const $30=, 288
- i32.add $30=, $62, $30
- call __addtf3@FUNCTION, $30, $2, $1, $5, $4
- i32.const $31=, 288
- i32.add $31=, $62, $31
- i32.add $push11=, $31, $3
- i64.load $4=, 0($pop11)
- i64.load $14=, Y1+8($0)
- i64.load $15=, Y1($0)
- i64.load $5=, 288($62)
- i32.const $32=, 112
- i32.add $32=, $62, $32
- call __multf3@FUNCTION, $32, $11, $10, $15, $14
- i32.const $33=, 112
- i32.add $33=, $62, $33
- i32.add $push12=, $33, $3
- i64.load $16=, 0($pop12)
- i64.load $17=, 112($62)
- i32.const $34=, 272
- i32.add $34=, $62, $34
- call __addtf3@FUNCTION, $34, $5, $4, $2, $1
- i32.const $35=, 272
- i32.add $35=, $62, $35
- i32.add $push13=, $35, $3
- i64.load $10=, 0($pop13)
- i64.load $11=, 272($62)
- i32.const $36=, 176
- i32.add $36=, $62, $36
- call __subtf3@FUNCTION, $36, $9, $8, $11, $10
- i64.load $8=, 176($62)
- i32.const $37=, 176
- i32.add $37=, $62, $37
- i32.add $push14=, $37, $3
- i64.load $push6=, 0($pop14)
- i64.store $18=, X+8($0), $pop6
- i64.store $19=, X($0), $8
- i32.const $38=, 80
- i32.add $38=, $62, $38
- call __multf3@FUNCTION, $38, $13, $12, $15, $14
- i32.const $39=, 80
- i32.add $39=, $62, $39
- i32.add $push15=, $39, $3
- i64.load $8=, 0($pop15)
- i64.load $9=, 80($62)
- i32.const $40=, 160
- i32.add $40=, $62, $40
- call __multf3@FUNCTION, $40, $5, $4, $7, $6
- i64.load $5=, 160($62)
- i32.const $41=, 160
- i32.add $41=, $62, $41
- i32.add $push16=, $41, $3
- i64.load $push1=, 0($pop16)
- i64.store $4=, S+8($0), $pop1
- i64.store $discard=, S($0), $5
- i32.const $42=, 96
- i32.add $42=, $62, $42
- call __subtf3@FUNCTION, $42, $17, $16, $13, $12
- i64.load $16=, 96($62)
- i32.const $43=, 96
- i32.add $43=, $62, $43
- i32.add $push17=, $43, $3
- i64.load $push0=, 0($pop17)
- i64.store $17=, T+8($0), $pop0
- i64.store $discard=, T($0), $16
- i32.const $44=, 208
- i32.add $44=, $62, $44
- call __subtf3@FUNCTION, $44, $2, $1, $13, $12
- i64.load $push20=, 208($62)
- i32.const $45=, 208
- i32.add $45=, $62, $45
- i32.add $push18=, $45, $3
- i64.load $push19=, 0($pop18)
- i32.const $46=, 64
- i32.add $46=, $62, $46
- call __addtf3@FUNCTION, $46, $pop20, $pop19, $9, $8
- i64.load $12=, 64($62)
- i32.const $47=, 64
- i32.add $47=, $62, $47
- i32.add $push21=, $47, $3
- i64.load $push5=, 0($pop21)
- i64.store $8=, Y+8($0), $pop5
- i64.store $9=, Y($0), $12
- i32.const $48=, 256
- i32.add $48=, $62, $48
- call __addtf3@FUNCTION, $48, $2, $1, $11, $10
- i64.load $push24=, 256($62)
- i32.const $49=, 256
- i32.add $49=, $62, $49
- i32.add $push22=, $49, $3
- i64.load $push23=, 0($pop22)
- i32.const $50=, 144
- i32.add $50=, $62, $50
- call __subtf3@FUNCTION, $50, $5, $4, $pop24, $pop23
- i64.load $12=, 144($62)
- i32.const $51=, 144
- i32.add $51=, $62, $51
- i32.add $push25=, $51, $3
- i64.load $push4=, 0($pop25)
- i64.store $10=, Z+8($0), $pop4
- i64.store $11=, Z($0), $12
- i32.const $52=, 128
- i32.add $52=, $62, $52
- call __addtf3@FUNCTION, $52, $2, $1, $7, $6
- i64.load $push28=, 128($62)
- i32.const $53=, 128
- i32.add $53=, $62, $53
- i32.add $push26=, $53, $3
- i64.load $push27=, 0($pop26)
- i32.const $54=, 48
- i32.add $54=, $62, $54
- call __multf3@FUNCTION, $54, $pop28, $pop27, $15, $14
- i32.const $55=, 48
- i32.add $55=, $62, $55
- i32.add $push29=, $55, $3
- i64.load $1=, 0($pop29)
- i64.load $2=, 48($62)
- i32.const $56=, 16
- i32.add $56=, $62, $56
- call __multf3@FUNCTION, $56, $7, $6, $15, $14
- i32.const $57=, 16
- i32.add $57=, $62, $57
- i32.add $push30=, $57, $3
- i64.load $14=, 0($pop30)
- i64.load $15=, 16($62)
- i32.const $58=, 32
- i32.add $58=, $62, $58
- call __subtf3@FUNCTION, $58, $2, $1, $7, $6
- i64.load $2=, 32($62)
- i32.const $59=, 32
- i32.add $59=, $62, $59
- i32.add $push31=, $59, $3
- i64.load $push2=, 0($pop31)
- i64.store $12=, R+8($0), $pop2
- i64.const $1=, 0
- i64.store $13=, R($0), $2
- i64.const $push32=, -4612248968380809216
- i32.const $60=, 0
- i32.add $60=, $62, $60
- call __addtf3@FUNCTION, $60, $15, $14, $1, $pop32
- i64.load $2=, 0($62)
- i32.const $61=, 0
- i32.add $61=, $62, $61
- i32.add $push33=, $61, $3
- i64.load $push3=, 0($pop33)
- i64.store $14=, Y1+8($0), $pop3
- i64.store $discard=, Y1($0), $2
+ i32.const $18=, __stack_pointer
+ i32.load $18=, 0($18)
+ i32.const $19=, 320
+ i32.sub $58=, $18, $19
+ i32.const $19=, __stack_pointer
+ i32.store $58=, 0($19), $58
+ i32.const $push7=, 0
+ i64.load $push9=, C($pop7):p2align=4
+ tee_local $push122=, $2=, $pop9
+ i32.const $push121=, 0
+ i64.load $push8=, C+8($pop121)
+ tee_local $push120=, $3=, $pop8
+ i32.const $push119=, 0
+ i64.load $push11=, U($pop119):p2align=4
+ tee_local $push118=, $17=, $pop11
+ i32.const $push117=, 0
+ i64.load $push10=, U+8($pop117)
+ tee_local $push116=, $16=, $pop10
+ i32.const $20=, 304
+ i32.add $20=, $58, $20
+ call __addtf3@FUNCTION, $20, $pop122, $pop120, $pop118, $pop116
+ i64.load $push15=, 304($58)
+ tee_local $push115=, $11=, $pop15
+ i32.const $push12=, 8
+ i32.const $21=, 304
+ i32.add $21=, $58, $21
+ i32.add $push13=, $21, $pop12
+ i64.load $push14=, 0($pop13)
+ tee_local $push114=, $10=, $pop14
+ i32.const $push113=, 0
+ i64.load $push17=, Y2($pop113):p2align=4
+ tee_local $push112=, $15=, $pop17
+ i32.const $push111=, 0
+ i64.load $push16=, Y2+8($pop111)
+ tee_local $push110=, $14=, $pop16
+ i32.const $22=, 192
+ i32.add $22=, $58, $22
+ call __multf3@FUNCTION, $22, $pop115, $pop114, $pop112, $pop110
+ i32.const $push109=, 8
+ i32.const $23=, 192
+ i32.add $23=, $58, $23
+ i32.add $push18=, $23, $pop109
+ i64.load $0=, 0($pop18)
+ i64.load $1=, 192($58)
+ i32.const $24=, 240
+ i32.add $24=, $58, $24
+ call __subtf3@FUNCTION, $24, $2, $3, $17, $16
+ i64.load $push21=, 240($58)
+ tee_local $push108=, $13=, $pop21
+ i32.const $push107=, 8
+ i32.const $25=, 240
+ i32.add $25=, $58, $25
+ i32.add $push19=, $25, $pop107
+ i64.load $push20=, 0($pop19)
+ tee_local $push106=, $12=, $pop20
+ i32.const $26=, 224
+ i32.add $26=, $58, $26
+ call __subtf3@FUNCTION, $26, $pop108, $pop106, $17, $16
+ i32.const $push105=, 8
+ i32.const $27=, 224
+ i32.add $27=, $58, $27
+ i32.add $push22=, $27, $pop105
+ i64.load $2=, 0($pop22)
+ i64.load $3=, 224($58)
+ i32.const $28=, 288
+ i32.add $28=, $58, $28
+ call __addtf3@FUNCTION, $28, $17, $16, $11, $10
+ i32.const $push104=, 8
+ i32.const $29=, 288
+ i32.add $29=, $58, $29
+ i32.add $push23=, $29, $pop104
+ i64.load $4=, 0($pop23)
+ i64.load $5=, 288($58)
+ i32.const $push103=, 0
+ i64.load $push25=, Y1($pop103):p2align=4
+ tee_local $push102=, $11=, $pop25
+ i32.const $push101=, 0
+ i64.load $push24=, Y1+8($pop101)
+ tee_local $push100=, $10=, $pop24
+ i32.const $30=, 112
+ i32.add $30=, $58, $30
+ call __multf3@FUNCTION, $30, $13, $12, $pop102, $pop100
+ i32.const $push99=, 8
+ i32.const $31=, 112
+ i32.add $31=, $58, $31
+ i32.add $push26=, $31, $pop99
+ i64.load $13=, 0($pop26)
+ i64.load $12=, 112($58)
+ i32.const $32=, 272
+ i32.add $32=, $58, $32
+ call __addtf3@FUNCTION, $32, $5, $4, $17, $16
+ i64.load $push29=, 272($58)
+ tee_local $push98=, $9=, $pop29
+ i32.const $push97=, 8
+ i32.const $33=, 272
+ i32.add $33=, $58, $33
+ i32.add $push27=, $33, $pop97
+ i64.load $push28=, 0($pop27)
+ tee_local $push96=, $8=, $pop28
+ i32.const $34=, 176
+ i32.add $34=, $58, $34
+ call __subtf3@FUNCTION, $34, $1, $0, $pop98, $pop96
+ i64.load $0=, 176($58)
+ i32.const $push95=, 0
+ i32.const $push94=, 8
+ i32.const $35=, 176
+ i32.add $35=, $58, $35
+ i32.add $push30=, $35, $pop94
+ i64.load $push6=, 0($pop30)
+ i64.store $6=, X+8($pop95), $pop6
+ i32.const $push93=, 0
+ i64.store $7=, X($pop93):p2align=4, $0
+ i32.const $36=, 80
+ i32.add $36=, $58, $36
+ call __multf3@FUNCTION, $36, $3, $2, $11, $10
+ i32.const $push92=, 8
+ i32.const $37=, 80
+ i32.add $37=, $58, $37
+ i32.add $push31=, $37, $pop92
+ i64.load $0=, 0($pop31)
+ i64.load $1=, 80($58)
+ i32.const $38=, 160
+ i32.add $38=, $58, $38
+ call __multf3@FUNCTION, $38, $5, $4, $15, $14
+ i64.load $5=, 160($58)
+ i32.const $push91=, 0
+ i32.const $push90=, 8
+ i32.const $39=, 160
+ i32.add $39=, $58, $39
+ i32.add $push32=, $39, $pop90
+ i64.load $push1=, 0($pop32)
+ i64.store $4=, S+8($pop91), $pop1
+ i32.const $push89=, 0
+ i64.store $discard=, S($pop89):p2align=4, $5
+ i32.const $40=, 96
+ i32.add $40=, $58, $40
+ call __subtf3@FUNCTION, $40, $12, $13, $3, $2
+ i64.load $13=, 96($58)
+ i32.const $push88=, 0
+ i32.const $push87=, 8
+ i32.const $41=, 96
+ i32.add $41=, $58, $41
+ i32.add $push33=, $41, $pop87
+ i64.load $push0=, 0($pop33)
+ i64.store $12=, T+8($pop88), $pop0
+ i32.const $push86=, 0
+ i64.store $discard=, T($pop86):p2align=4, $13
+ i32.const $42=, 208
+ i32.add $42=, $58, $42
+ call __subtf3@FUNCTION, $42, $17, $16, $3, $2
+ i64.load $push36=, 208($58)
+ i32.const $push85=, 8
+ i32.const $43=, 208
+ i32.add $43=, $58, $43
+ i32.add $push34=, $43, $pop85
+ i64.load $push35=, 0($pop34)
+ i32.const $44=, 64
+ i32.add $44=, $58, $44
+ call __addtf3@FUNCTION, $44, $pop36, $pop35, $1, $0
+ i64.load $2=, 64($58)
+ i32.const $push84=, 0
+ i32.const $push83=, 8
+ i32.const $45=, 64
+ i32.add $45=, $58, $45
+ i32.add $push37=, $45, $pop83
+ i64.load $push5=, 0($pop37)
+ i64.store $0=, Y+8($pop84), $pop5
+ i32.const $push82=, 0
+ i64.store $1=, Y($pop82):p2align=4, $2
+ i32.const $46=, 256
+ i32.add $46=, $58, $46
+ call __addtf3@FUNCTION, $46, $17, $16, $9, $8
+ i64.load $push40=, 256($58)
+ i32.const $push81=, 8
+ i32.const $47=, 256
+ i32.add $47=, $58, $47
+ i32.add $push38=, $47, $pop81
+ i64.load $push39=, 0($pop38)
+ i32.const $48=, 144
+ i32.add $48=, $58, $48
+ call __subtf3@FUNCTION, $48, $5, $4, $pop40, $pop39
+ i64.load $2=, 144($58)
+ i32.const $push80=, 0
+ i32.const $push79=, 8
+ i32.const $49=, 144
+ i32.add $49=, $58, $49
+ i32.add $push41=, $49, $pop79
+ i64.load $push4=, 0($pop41)
+ i64.store $9=, Z+8($pop80), $pop4
+ i32.const $push78=, 0
+ i64.store $8=, Z($pop78):p2align=4, $2
+ i32.const $50=, 128
+ i32.add $50=, $58, $50
+ call __addtf3@FUNCTION, $50, $17, $16, $15, $14
+ i64.load $push44=, 128($58)
+ i32.const $push77=, 8
+ i32.const $51=, 128
+ i32.add $51=, $58, $51
+ i32.add $push42=, $51, $pop77
+ i64.load $push43=, 0($pop42)
+ i32.const $52=, 48
+ i32.add $52=, $58, $52
+ call __multf3@FUNCTION, $52, $pop44, $pop43, $11, $10
+ i32.const $push76=, 8
+ i32.const $53=, 48
+ i32.add $53=, $58, $53
+ i32.add $push45=, $53, $pop76
+ i64.load $17=, 0($pop45)
+ i64.load $16=, 48($58)
+ i32.const $54=, 16
+ i32.add $54=, $58, $54
+ call __multf3@FUNCTION, $54, $15, $14, $11, $10
+ i32.const $push75=, 8
+ i32.const $55=, 16
+ i32.add $55=, $58, $55
+ i32.add $push46=, $55, $pop75
+ i64.load $2=, 0($pop46)
+ i64.load $3=, 16($58)
+ i32.const $56=, 32
+ i32.add $56=, $58, $56
+ call __subtf3@FUNCTION, $56, $16, $17, $15, $14
+ i64.load $17=, 32($58)
+ i32.const $push74=, 0
+ i32.const $push73=, 8
+ i32.const $57=, 32
+ i32.add $57=, $58, $57
+ i32.add $push47=, $57, $pop73
+ i64.load $push2=, 0($pop47)
+ i64.store $16=, R+8($pop74), $pop2
+ i32.const $push72=, 0
+ i64.store $11=, R($pop72):p2align=4, $17
+ i64.const $push71=, 0
+ i64.const $push48=, -4612248968380809216
+ call __addtf3@FUNCTION, $58, $3, $2, $pop71, $pop48
+ i64.load $17=, 0($58)
+ i32.const $push70=, 0
+ i32.const $push69=, 8
+ i32.add $push49=, $58, $pop69
+ i64.load $push3=, 0($pop49)
+ i64.store $2=, Y1+8($pop70), $pop3
+ i32.const $push68=, 0
+ i64.store $discard=, Y1($pop68):p2align=4, $17
block
- i64.const $push34=, 4612354521497075712
- i32.call $push35=, __netf2@FUNCTION, $7, $6, $1, $pop34
- br_if $pop35, 0 # 0: down to label0
+ i64.const $push67=, 0
+ i64.const $push50=, 4612354521497075712
+ i32.call $push51=, __netf2@FUNCTION, $15, $14, $pop67, $pop50
+ br_if $pop51, 0 # 0: down to label0
# BB#1: # %entry
- i64.const $push36=, 4613097791357452288
- i32.call $push37=, __netf2@FUNCTION, $16, $17, $1, $pop36
- br_if $pop37, 0 # 0: down to label0
+ i64.const $push123=, 0
+ i64.const $push52=, 4613097791357452288
+ i32.call $push53=, __netf2@FUNCTION, $13, $12, $pop123, $pop52
+ br_if $pop53, 0 # 0: down to label0
# BB#2: # %entry
- i64.const $push38=, 4613150567915585536
- i32.call $push39=, __netf2@FUNCTION, $5, $4, $1, $pop38
- br_if $pop39, 0 # 0: down to label0
+ i64.const $push124=, 0
+ i64.const $push54=, 4613150567915585536
+ i32.call $push55=, __netf2@FUNCTION, $5, $4, $pop124, $pop54
+ br_if $pop55, 0 # 0: down to label0
# BB#3: # %entry
- i64.const $push40=, 4613517804799262720
- i32.call $push41=, __netf2@FUNCTION, $13, $12, $1, $pop40
- br_if $pop41, 0 # 0: down to label0
+ i64.const $push125=, 0
+ i64.const $push56=, 4613517804799262720
+ i32.call $push57=, __netf2@FUNCTION, $11, $16, $pop125, $pop56
+ br_if $pop57, 0 # 0: down to label0
# BB#4: # %entry
- i64.const $push42=, 4613503511148101632
- i32.call $push43=, __netf2@FUNCTION, $2, $14, $1, $pop42
- br_if $pop43, 0 # 0: down to label0
+ i64.const $push126=, 0
+ i64.const $push58=, 4613503511148101632
+ i32.call $push59=, __netf2@FUNCTION, $17, $2, $pop126, $pop58
+ br_if $pop59, 0 # 0: down to label0
# BB#5: # %entry
- i64.const $push44=, 4613110985496985600
- i32.call $push45=, __netf2@FUNCTION, $11, $10, $1, $pop44
- br_if $pop45, 0 # 0: down to label0
+ i64.const $push127=, 0
+ i64.const $push60=, 4613110985496985600
+ i32.call $push61=, __netf2@FUNCTION, $8, $9, $pop127, $pop60
+ br_if $pop61, 0 # 0: down to label0
# BB#6: # %entry
- i64.const $push46=, 4612961451915608064
- i32.call $push47=, __netf2@FUNCTION, $9, $8, $1, $pop46
- br_if $pop47, 0 # 0: down to label0
+ i64.const $push128=, 0
+ i64.const $push62=, 4612961451915608064
+ i32.call $push63=, __netf2@FUNCTION, $1, $0, $pop128, $pop62
+ br_if $pop63, 0 # 0: down to label0
# BB#7: # %entry
- i64.const $push48=, 4613040616752807936
- i32.call $push49=, __eqtf2@FUNCTION, $19, $18, $1, $pop48
- br_if $pop49, 0 # 0: down to label0
+ i64.const $push129=, 0
+ i64.const $push64=, 4613040616752807936
+ i32.call $push65=, __eqtf2@FUNCTION, $7, $6, $pop129, $pop64
+ br_if $pop65, 0 # 0: down to label0
# BB#8: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push66=, 0
+ call exit@FUNCTION, $pop66
unreachable
.LBB0_9: # %if.then
end_block # label0:
@@ -247,7 +306,7 @@ main: # @main
.type C,@object
.section .data.C,"aw",@progbits
.globl C
- .align 4
+ .p2align 4
C:
.int64 0 # fp128 5
.int64 4612037862148276224
@@ -257,7 +316,7 @@ C:
.type U,@object
.section .data.U,"aw",@progbits
.globl U
- .align 4
+ .p2align 4
U:
.int64 0 # fp128 1
.int64 4611404543450677248
@@ -267,7 +326,7 @@ U:
.type Y2,@object
.section .data.Y2,"aw",@progbits
.globl Y2
- .align 4
+ .p2align 4
Y2:
.int64 0 # fp128 11
.int64 4612354521497075712
@@ -277,7 +336,7 @@ Y2:
.type Y1,@object
.section .data.Y1,"aw",@progbits
.globl Y1
- .align 4
+ .p2align 4
Y1:
.int64 0 # fp128 17
.int64 4612548035543564288
@@ -287,7 +346,7 @@ Y1:
.type X,@object
.section .bss.X,"aw",@nobits
.globl X
- .align 4
+ .p2align 4
X:
.int64 0 # fp128 0
.int64 0
@@ -297,7 +356,7 @@ X:
.type Y,@object
.section .bss.Y,"aw",@nobits
.globl Y
- .align 4
+ .p2align 4
Y:
.int64 0 # fp128 0
.int64 0
@@ -307,7 +366,7 @@ Y:
.type Z,@object
.section .bss.Z,"aw",@nobits
.globl Z
- .align 4
+ .p2align 4
Z:
.int64 0 # fp128 0
.int64 0
@@ -317,7 +376,7 @@ Z:
.type T,@object
.section .bss.T,"aw",@nobits
.globl T
- .align 4
+ .p2align 4
T:
.int64 0 # fp128 0
.int64 0
@@ -327,7 +386,7 @@ T:
.type R,@object
.section .bss.R,"aw",@nobits
.globl R
- .align 4
+ .p2align 4
R:
.int64 0 # fp128 0
.int64 0
@@ -337,7 +396,7 @@ R:
.type S,@object
.section .bss.S,"aw",@nobits
.globl S
- .align 4
+ .p2align 4
S:
.int64 0 # fp128 0
.int64 0
diff --git a/test/torture-s/restrict-1.c.s b/test/torture-s/restrict-1.c.s
index d3926f716..3ff468682 100644
--- a/test/torture-s/restrict-1.c.s
+++ b/test/torture-s/restrict-1.c.s
@@ -26,19 +26,16 @@ bar: # @bar
.param i32
.local i32
# BB#0: # %entry
- block
i32.load $push0=, 0($0)
i32.const $push1=, 1
- i32.shl $1=, $pop0, $pop1
- i32.const $push3=, 4
- i32.add $push4=, $0, $pop3
- i64.const $push5=, 0
- i64.store32 $discard=, 0($pop4), $pop5
- i64.extend_u/i32 $push2=, $1
- i64.store32 $discard=, 0($0), $pop2
- i32.const $push6=, 2
- i32.ne $push7=, $1, $pop6
- br_if $pop7, 0 # 0: down to label0
+ i32.shl $push2=, $pop0, $pop1
+ tee_local $push6=, $1=, $pop2
+ i64.extend_u/i32 $push3=, $pop6
+ i64.store $discard=, 0($0):p2align=2, $pop3
+ block
+ i32.const $push4=, 2
+ i32.ne $push5=, $1, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
return
.LBB1_2: # %if.then
diff --git a/test/torture-s/scope-1.c.s b/test/torture-s/scope-1.c.s
index 4989bfab5..bad8aa5d2 100644
--- a/test/torture-s/scope-1.c.s
+++ b/test/torture-s/scope-1.c.s
@@ -30,20 +30,10 @@ f: # @f
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- block
- i32.load $push0=, v($0)
- i32.const $push1=, 3
- i32.ne $push2=, $pop0, $pop1
- br_if $pop2, 0 # 0: down to label1
-# BB#1: # %f.exit
- call exit@FUNCTION, $0
- unreachable
-.LBB1_2: # %if.then.i
- end_block # label1:
- call abort@FUNCTION
+ i32.call $discard=, f@FUNCTION
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
unreachable
.endfunc
.Lfunc_end1:
@@ -53,7 +43,7 @@ main: # @main
.type v,@object
.section .data.v,"aw",@progbits
.globl v
- .align 2
+ .p2align 2
v:
.int32 3 # 0x3
.size v, 4
diff --git a/test/torture-s/shiftdi.c.s b/test/torture-s/shiftdi.c.s
index 134a5202c..ad4f29308 100644
--- a/test/torture-s/shiftdi.c.s
+++ b/test/torture-s/shiftdi.c.s
@@ -6,22 +6,22 @@
.type g,@function
g: # @g
.param i64, i32, i32, i32
- .local i64
# BB#0: # %entry
- i64.const $4=, 4294967295
- i64.load $push10=, 0($3)
+ i64.load $push11=, 0($3)
i64.extend_u/i32 $push0=, $1
i64.shr_u $push1=, $0, $pop0
- i64.and $push2=, $pop1, $4
- i32.const $push3=, 31
- i32.and $push4=, $2, $pop3
- i64.extend_u/i32 $push5=, $pop4
- i64.shl $push6=, $pop2, $pop5
- i64.and $push7=, $pop6, $4
- i64.extend_u/i32 $push8=, $2
- i64.shl $push9=, $pop7, $pop8
- i64.or $push11=, $pop10, $pop9
- i64.store $discard=, 0($3), $pop11
+ i64.const $push2=, 4294967295
+ i64.and $push3=, $pop1, $pop2
+ i32.const $push4=, 31
+ i32.and $push5=, $2, $pop4
+ i64.extend_u/i32 $push6=, $pop5
+ i64.shl $push7=, $pop3, $pop6
+ i64.const $push13=, 4294967295
+ i64.and $push8=, $pop7, $pop13
+ i64.extend_u/i32 $push9=, $2
+ i64.shl $push10=, $pop8, $pop9
+ i64.or $push12=, $pop11, $pop10
+ i64.store $discard=, 0($3), $pop12
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/simd-1.c.s b/test/torture-s/simd-1.c.s
index 3ea060a94..ca3dd42f2 100644
--- a/test/torture-s/simd-1.c.s
+++ b/test/torture-s/simd-1.c.s
@@ -37,246 +37,332 @@ main: # @main
.result i32
.local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, 0
- i32.load $3=, i+12($8)
- i32.load $7=, j+12($8)
- i32.add $push2=, $7, $3
- i32.store $9=, k+12($8), $pop2
- i32.load $2=, i+8($8)
- i32.load $1=, i+4($8)
- i32.load $6=, j+8($8)
- i32.load $0=, i($8)
- i32.load $5=, j+4($8)
- i32.load $4=, j($8)
- i32.store $10=, res+12($8), $9
+ i32.const $push7=, 0
+ i32.const $push125=, 0
+ i32.load $push3=, j+12($pop125)
+ tee_local $push124=, $12=, $pop3
+ i32.const $push123=, 0
+ i32.load $push1=, i+12($pop123)
+ tee_local $push122=, $11=, $pop1
+ i32.add $push6=, $pop124, $pop122
+ i32.store $4=, k+12($pop7), $pop6
+ i32.const $push121=, 0
+ i32.load $1=, i+4($pop121)
+ i32.const $push120=, 0
+ i32.load $0=, i($pop120):p2align=4
+ i32.const $push119=, 0
+ i32.load $3=, j+4($pop119)
+ i32.const $push118=, 0
+ i32.load $2=, j($pop118):p2align=4
+ i32.const $push117=, 0
+ i32.const $push116=, 0
+ i32.load $push2=, j+8($pop116):p2align=3
+ tee_local $push115=, $10=, $pop2
+ i32.const $push114=, 0
+ i32.load $push0=, i+8($pop114):p2align=3
+ tee_local $push113=, $9=, $pop0
+ i32.add $push5=, $pop115, $pop113
+ i32.store $5=, k+8($pop117):p2align=3, $pop5
+ i32.const $push112=, 0
+ i32.add $push4=, $3, $1
+ i32.store $6=, k+4($pop112), $pop4
+ i32.const $push111=, 0
+ i32.add $push8=, $2, $0
+ i32.store $7=, k($pop111):p2align=4, $pop8
+ i32.const $push110=, 0
+ i32.store $8=, res+12($pop110), $4
+ i32.const $push109=, 0
+ i32.store $discard=, res+8($pop109):p2align=3, $5
+ i32.const $push108=, 0
+ i32.store $4=, res+4($pop108), $6
block
- i32.add $push1=, $6, $2
- i32.store $push4=, k+8($8), $pop1
- i32.store $11=, res+8($8), $pop4
- i32.add $push0=, $5, $1
- i32.store $push5=, k+4($8), $pop0
- i32.store $9=, res+4($8), $pop5
- i32.add $push3=, $4, $0
- i32.store $push6=, k($8), $pop3
- i32.store $push7=, res($8), $pop6
- i32.const $push8=, 160
- i32.ne $push9=, $pop7, $pop8
- br_if $pop9, 0 # 0: down to label1
-# BB#1: # %entry
- i32.const $push10=, 113
- i32.ne $push11=, $9, $pop10
+ i32.const $push107=, 0
+ i32.store $push9=, res($pop107):p2align=4, $7
+ i32.const $push10=, 160
+ i32.ne $push11=, $pop9, $pop10
br_if $pop11, 0 # 0: down to label1
-# BB#2: # %entry
- i32.const $push12=, 170
- i32.ne $push13=, $11, $pop12
+# BB#1: # %entry
+ i32.const $push12=, 113
+ i32.ne $push13=, $4, $pop12
br_if $pop13, 0 # 0: down to label1
-# BB#3: # %entry
- i32.const $push14=, 230
- i32.ne $push15=, $10, $pop14
+# BB#2: # %entry
+ i32.const $push14=, 170
+ i32.ne $push15=, $5, $pop14
br_if $pop15, 0 # 0: down to label1
+# BB#3: # %entry
+ i32.const $push16=, 230
+ i32.ne $push17=, $8, $pop16
+ br_if $pop17, 0 # 0: down to label1
# BB#4: # %verify.exit
+ i32.const $push22=, 0
+ i32.mul $push21=, $2, $0
+ i32.store $4=, k($pop22):p2align=4, $pop21
+ i32.const $push132=, 0
+ i32.mul $push18=, $3, $1
+ i32.store $5=, k+4($pop132), $pop18
+ i32.const $push131=, 0
+ i32.mul $push19=, $10, $9
+ i32.store $6=, k+8($pop131):p2align=3, $pop19
+ i32.const $push130=, 0
+ i32.mul $push20=, $12, $11
+ i32.store $7=, k+12($pop130), $pop20
+ i32.const $push129=, 0
+ i32.store $discard=, res($pop129):p2align=4, $4
+ i32.const $push128=, 0
+ i32.store $discard=, res+4($pop128), $5
+ i32.const $push127=, 0
+ i32.store $discard=, res+8($pop127):p2align=3, $6
+ i32.const $push126=, 0
+ i32.store $discard=, res+12($pop126), $7
block
- i32.mul $push19=, $4, $0
- i32.store $push20=, k($8), $pop19
- i32.store $9=, res($8), $pop20
- i32.mul $push16=, $5, $1
- i32.store $push21=, k+4($8), $pop16
- i32.store $11=, res+4($8), $pop21
- i32.mul $push17=, $6, $2
- i32.store $push22=, k+8($8), $pop17
- i32.store $10=, res+8($8), $pop22
- i32.mul $push18=, $7, $3
- i32.store $push23=, k+12($8), $pop18
- i32.store $12=, res+12($8), $pop23
- i32.const $push24=, 1500
- i32.ne $push25=, $9, $pop24
- br_if $pop25, 0 # 0: down to label2
+ i32.const $push23=, 1500
+ i32.ne $push24=, $4, $pop23
+ br_if $pop24, 0 # 0: down to label2
# BB#5: # %verify.exit
- i32.const $push26=, 1300
- i32.ne $push27=, $11, $pop26
- br_if $pop27, 0 # 0: down to label2
+ i32.const $push25=, 1300
+ i32.ne $push26=, $5, $pop25
+ br_if $pop26, 0 # 0: down to label2
# BB#6: # %verify.exit
- i32.const $push28=, 3000
- i32.ne $push29=, $10, $pop28
- br_if $pop29, 0 # 0: down to label2
+ i32.const $push27=, 3000
+ i32.ne $push28=, $6, $pop27
+ br_if $pop28, 0 # 0: down to label2
# BB#7: # %verify.exit
- i32.const $push30=, 6000
- i32.ne $push31=, $12, $pop30
- br_if $pop31, 0 # 0: down to label2
+ i32.const $push29=, 6000
+ i32.ne $push30=, $7, $pop29
+ br_if $pop30, 0 # 0: down to label2
# BB#8: # %verify.exit9
+ i32.div_s $4=, $11, $12
+ i32.div_s $5=, $9, $10
+ i32.div_s $6=, $1, $3
+ i32.const $push32=, 0
+ i32.div_s $push31=, $0, $2
+ i32.store $7=, k($pop32):p2align=4, $pop31
+ i32.const $push139=, 0
+ i32.store $discard=, k+4($pop139), $6
+ i32.const $push138=, 0
+ i32.store $discard=, k+8($pop138):p2align=3, $5
+ i32.const $push137=, 0
+ i32.store $discard=, k+12($pop137), $4
+ i32.const $push136=, 0
+ i32.store $discard=, res($pop136):p2align=4, $7
+ i32.const $push135=, 0
+ i32.store $discard=, res+4($pop135), $6
+ i32.const $push134=, 0
+ i32.store $discard=, res+8($pop134):p2align=3, $5
+ i32.const $push133=, 0
+ i32.store $discard=, res+12($pop133), $4
block
- i32.div_s $push32=, $1, $5
- i32.store $push37=, k+4($8), $pop32
- i32.store $11=, res+4($8), $pop37
- i32.div_s $push33=, $2, $6
- i32.store $push38=, k+8($8), $pop33
- i32.store $10=, res+8($8), $pop38
- i32.div_s $push34=, $3, $7
- i32.store $push39=, k+12($8), $pop34
- i32.store $12=, res+12($8), $pop39
- i32.div_s $push35=, $0, $4
- i32.store $push36=, k($8), $pop35
- i32.store $push40=, res($8), $pop36
- i32.const $push41=, 15
- i32.ne $push42=, $pop40, $pop41
- br_if $pop42, 0 # 0: down to label3
+ i32.const $push33=, 15
+ i32.ne $push34=, $7, $pop33
+ br_if $pop34, 0 # 0: down to label3
# BB#9: # %verify.exit9
- i32.const $9=, 7
- i32.ne $push43=, $11, $9
- br_if $pop43, 0 # 0: down to label3
+ i32.const $push140=, 7
+ i32.ne $push35=, $6, $pop140
+ br_if $pop35, 0 # 0: down to label3
# BB#10: # %verify.exit9
- i32.ne $push44=, $10, $9
- br_if $pop44, 0 # 0: down to label3
+ i32.const $push141=, 7
+ i32.ne $push36=, $5, $pop141
+ br_if $pop36, 0 # 0: down to label3
# BB#11: # %verify.exit9
- i32.const $push45=, 6
- i32.ne $push46=, $12, $pop45
- br_if $pop46, 0 # 0: down to label3
+ i32.const $push37=, 6
+ i32.ne $push38=, $4, $pop37
+ br_if $pop38, 0 # 0: down to label3
# BB#12: # %verify.exit18
+ i32.const $push43=, 0
+ i32.and $push42=, $2, $0
+ i32.store $4=, k($pop43):p2align=4, $pop42
+ i32.const $push148=, 0
+ i32.and $push39=, $3, $1
+ i32.store $5=, k+4($pop148), $pop39
+ i32.const $push147=, 0
+ i32.and $push40=, $10, $9
+ i32.store $6=, k+8($pop147):p2align=3, $pop40
+ i32.const $push146=, 0
+ i32.and $push41=, $12, $11
+ i32.store $7=, k+12($pop146), $pop41
+ i32.const $push145=, 0
+ i32.store $discard=, res($pop145):p2align=4, $4
+ i32.const $push144=, 0
+ i32.store $discard=, res+4($pop144), $5
+ i32.const $push143=, 0
+ i32.store $discard=, res+8($pop143):p2align=3, $6
+ i32.const $push142=, 0
+ i32.store $discard=, res+12($pop142), $7
block
- i32.and $push50=, $4, $0
- i32.store $push51=, k($8), $pop50
- i32.store $9=, res($8), $pop51
- i32.and $push47=, $5, $1
- i32.store $push52=, k+4($8), $pop47
- i32.store $11=, res+4($8), $pop52
- i32.and $push48=, $6, $2
- i32.store $push53=, k+8($8), $pop48
- i32.store $10=, res+8($8), $pop53
- i32.and $push49=, $7, $3
- i32.store $push54=, k+12($8), $pop49
- i32.store $12=, res+12($8), $pop54
- i32.const $push55=, 2
- i32.ne $push56=, $9, $pop55
- br_if $pop56, 0 # 0: down to label4
+ i32.const $push44=, 2
+ i32.ne $push45=, $4, $pop44
+ br_if $pop45, 0 # 0: down to label4
# BB#13: # %verify.exit18
- i32.const $push57=, 4
- i32.ne $push58=, $11, $pop57
- br_if $pop58, 0 # 0: down to label4
+ i32.const $push46=, 4
+ i32.ne $push47=, $5, $pop46
+ br_if $pop47, 0 # 0: down to label4
# BB#14: # %verify.exit18
- i32.const $push59=, 20
- i32.ne $push60=, $10, $pop59
- br_if $pop60, 0 # 0: down to label4
+ i32.const $push48=, 20
+ i32.ne $push49=, $6, $pop48
+ br_if $pop49, 0 # 0: down to label4
# BB#15: # %verify.exit18
- i32.const $push61=, 8
- i32.ne $push62=, $12, $pop61
- br_if $pop62, 0 # 0: down to label4
+ i32.const $push50=, 8
+ i32.ne $push51=, $7, $pop50
+ br_if $pop51, 0 # 0: down to label4
# BB#16: # %verify.exit27
+ i32.const $push56=, 0
+ i32.or $push55=, $2, $0
+ i32.store $4=, k($pop56):p2align=4, $pop55
+ i32.const $push155=, 0
+ i32.or $push52=, $3, $1
+ i32.store $5=, k+4($pop155), $pop52
+ i32.const $push154=, 0
+ i32.or $push53=, $10, $9
+ i32.store $6=, k+8($pop154):p2align=3, $pop53
+ i32.const $push153=, 0
+ i32.or $push54=, $12, $11
+ i32.store $7=, k+12($pop153), $pop54
+ i32.const $push152=, 0
+ i32.store $discard=, res($pop152):p2align=4, $4
+ i32.const $push151=, 0
+ i32.store $discard=, res+4($pop151), $5
+ i32.const $push150=, 0
+ i32.store $discard=, res+8($pop150):p2align=3, $6
+ i32.const $push149=, 0
+ i32.store $discard=, res+12($pop149), $7
block
- i32.or $push66=, $4, $0
- i32.store $push67=, k($8), $pop66
- i32.store $9=, res($8), $pop67
- i32.or $push63=, $5, $1
- i32.store $push68=, k+4($8), $pop63
- i32.store $11=, res+4($8), $pop68
- i32.or $push64=, $6, $2
- i32.store $push69=, k+8($8), $pop64
- i32.store $10=, res+8($8), $pop69
- i32.or $push65=, $7, $3
- i32.store $push70=, k+12($8), $pop65
- i32.store $12=, res+12($8), $pop70
- i32.const $push71=, 158
- i32.ne $push72=, $9, $pop71
- br_if $pop72, 0 # 0: down to label5
+ i32.const $push57=, 158
+ i32.ne $push58=, $4, $pop57
+ br_if $pop58, 0 # 0: down to label5
# BB#17: # %verify.exit27
- i32.const $push73=, 109
- i32.ne $push74=, $11, $pop73
- br_if $pop74, 0 # 0: down to label5
+ i32.const $push59=, 109
+ i32.ne $push60=, $5, $pop59
+ br_if $pop60, 0 # 0: down to label5
# BB#18: # %verify.exit27
- i32.const $9=, 150
- i32.ne $push75=, $10, $9
- br_if $pop75, 0 # 0: down to label5
+ i32.const $push61=, 150
+ i32.ne $push62=, $6, $pop61
+ br_if $pop62, 0 # 0: down to label5
# BB#19: # %verify.exit27
- i32.const $push76=, 222
- i32.ne $push77=, $12, $pop76
- br_if $pop77, 0 # 0: down to label5
+ i32.const $push63=, 222
+ i32.ne $push64=, $7, $pop63
+ br_if $pop64, 0 # 0: down to label5
# BB#20: # %verify.exit36
+ i32.const $push69=, 0
+ i32.xor $push68=, $0, $2
+ i32.store $2=, k($pop69):p2align=4, $pop68
+ i32.const $push162=, 0
+ i32.xor $push65=, $1, $3
+ i32.store $3=, k+4($pop162), $pop65
+ i32.const $push161=, 0
+ i32.xor $push66=, $9, $10
+ i32.store $4=, k+8($pop161):p2align=3, $pop66
+ i32.const $push160=, 0
+ i32.xor $push67=, $11, $12
+ i32.store $5=, k+12($pop160), $pop67
+ i32.const $push159=, 0
+ i32.store $discard=, res($pop159):p2align=4, $2
+ i32.const $push158=, 0
+ i32.store $discard=, res+4($pop158), $3
+ i32.const $push157=, 0
+ i32.store $discard=, res+8($pop157):p2align=3, $4
+ i32.const $push156=, 0
+ i32.store $discard=, res+12($pop156), $5
block
- i32.xor $push81=, $0, $4
- i32.store $push82=, k($8), $pop81
- i32.store $4=, res($8), $pop82
- i32.xor $push78=, $1, $5
- i32.store $push83=, k+4($8), $pop78
- i32.store $5=, res+4($8), $pop83
- i32.xor $push79=, $2, $6
- i32.store $push84=, k+8($8), $pop79
- i32.store $6=, res+8($8), $pop84
- i32.xor $push80=, $3, $7
- i32.store $push85=, k+12($8), $pop80
- i32.store $7=, res+12($8), $pop85
- i32.const $push86=, 156
- i32.ne $push87=, $4, $pop86
- br_if $pop87, 0 # 0: down to label6
+ i32.const $push70=, 156
+ i32.ne $push71=, $2, $pop70
+ br_if $pop71, 0 # 0: down to label6
# BB#21: # %verify.exit36
- i32.const $push88=, 105
- i32.ne $push89=, $5, $pop88
- br_if $pop89, 0 # 0: down to label6
+ i32.const $push72=, 105
+ i32.ne $push73=, $3, $pop72
+ br_if $pop73, 0 # 0: down to label6
# BB#22: # %verify.exit36
- i32.const $push90=, 130
- i32.ne $push91=, $6, $pop90
- br_if $pop91, 0 # 0: down to label6
+ i32.const $push74=, 130
+ i32.ne $push75=, $4, $pop74
+ br_if $pop75, 0 # 0: down to label6
# BB#23: # %verify.exit36
- i32.const $push92=, 214
- i32.ne $push93=, $7, $pop92
- br_if $pop93, 0 # 0: down to label6
+ i32.const $push76=, 214
+ i32.ne $push77=, $5, $pop76
+ br_if $pop77, 0 # 0: down to label6
# BB#24: # %verify.exit45
- i32.sub $push97=, $8, $0
- i32.store $push98=, k($8), $pop97
- i32.store $6=, res($8), $pop98
- i32.sub $push94=, $8, $1
- i32.store $push99=, k+4($8), $pop94
- i32.store $5=, res+4($8), $pop99
- i32.sub $push95=, $8, $2
- i32.store $push100=, k+8($8), $pop95
- i32.store $4=, res+8($8), $pop100
- i32.sub $push96=, $8, $3
- i32.store $push101=, k+12($8), $pop96
- i32.store $11=, res+12($8), $pop101
- i32.const $7=, -150
+ i32.const $push81=, 0
+ i32.const $push173=, 0
+ i32.sub $push82=, $pop173, $0
+ i32.store $3=, k($pop81):p2align=4, $pop82
+ i32.const $push172=, 0
+ i32.const $push171=, 0
+ i32.sub $push78=, $pop171, $1
+ i32.store $2=, k+4($pop172), $pop78
+ i32.const $push170=, 0
+ i32.const $push169=, 0
+ i32.sub $push79=, $pop169, $9
+ i32.store $4=, k+8($pop170):p2align=3, $pop79
+ i32.const $push168=, 0
+ i32.const $push167=, 0
+ i32.sub $push80=, $pop167, $11
+ i32.store $5=, k+12($pop168), $pop80
+ i32.const $push166=, 0
+ i32.store $discard=, res($pop166):p2align=4, $3
+ i32.const $push165=, 0
+ i32.store $discard=, res+4($pop165), $2
+ i32.const $push164=, 0
+ i32.store $discard=, res+8($pop164):p2align=3, $4
+ i32.const $push163=, 0
+ i32.store $discard=, res+12($pop163), $5
block
- i32.ne $push102=, $6, $7
- br_if $pop102, 0 # 0: down to label7
+ i32.const $push83=, -150
+ i32.ne $push84=, $3, $pop83
+ br_if $pop84, 0 # 0: down to label7
# BB#25: # %verify.exit45
- i32.const $push103=, -100
- i32.ne $push104=, $5, $pop103
- br_if $pop104, 0 # 0: down to label7
+ i32.const $push85=, -100
+ i32.ne $push86=, $2, $pop85
+ br_if $pop86, 0 # 0: down to label7
# BB#26: # %verify.exit45
- i32.ne $push105=, $4, $7
- br_if $pop105, 0 # 0: down to label7
+ i32.const $push87=, -150
+ i32.ne $push88=, $4, $pop87
+ br_if $pop88, 0 # 0: down to label7
# BB#27: # %verify.exit45
- i32.const $push106=, -200
- i32.ne $push107=, $11, $pop106
- br_if $pop107, 0 # 0: down to label7
+ i32.const $push89=, -200
+ i32.ne $push90=, $5, $pop89
+ br_if $pop90, 0 # 0: down to label7
# BB#28: # %verify.exit54
- i32.const $7=, -1
+ i32.const $push96=, 0
+ i32.const $push183=, 0
+ i32.const $push94=, -1
+ i32.xor $push95=, $0, $pop94
+ i32.store $push97=, k($pop183):p2align=4, $pop95
+ i32.store $discard=, res($pop96):p2align=4, $pop97
+ i32.const $push182=, 0
+ i32.const $push181=, -1
+ i32.xor $push91=, $1, $pop181
+ i32.store $1=, k+4($pop182), $pop91
+ i32.const $push180=, 0
+ i32.const $push179=, -1
+ i32.xor $push92=, $9, $pop179
+ i32.store $3=, k+8($pop180):p2align=3, $pop92
+ i32.const $push178=, 0
+ i32.const $push177=, -1
+ i32.xor $push93=, $11, $pop177
+ i32.store $2=, k+12($pop178), $pop93
+ i32.const $push176=, 0
+ i32.store $discard=, res+4($pop176), $1
+ i32.const $push175=, 0
+ i32.store $discard=, res+8($pop175):p2align=3, $3
+ i32.const $push174=, 0
+ i32.store $discard=, res+12($pop174), $2
block
- i32.xor $push111=, $0, $7
- i32.store $push112=, k($8), $pop111
- i32.store $discard=, res($8), $pop112
- i32.xor $push108=, $1, $7
- i32.store $push113=, k+4($8), $pop108
- i32.store $1=, res+4($8), $pop113
- i32.xor $push109=, $2, $7
- i32.store $push114=, k+8($8), $pop109
- i32.store $2=, res+8($8), $pop114
- i32.xor $push110=, $3, $7
- i32.store $push115=, k+12($8), $pop110
- i32.store $3=, res+12($8), $pop115
- i32.ne $push116=, $0, $9
- br_if $pop116, 0 # 0: down to label8
+ i32.const $push98=, 150
+ i32.ne $push99=, $0, $pop98
+ br_if $pop99, 0 # 0: down to label8
# BB#29: # %verify.exit54
- i32.const $push117=, -101
- i32.ne $push118=, $1, $pop117
- br_if $pop118, 0 # 0: down to label8
+ i32.const $push100=, -101
+ i32.ne $push101=, $1, $pop100
+ br_if $pop101, 0 # 0: down to label8
# BB#30: # %verify.exit54
- i32.const $push119=, -151
- i32.ne $push120=, $2, $pop119
- br_if $pop120, 0 # 0: down to label8
+ i32.const $push102=, -151
+ i32.ne $push103=, $3, $pop102
+ br_if $pop103, 0 # 0: down to label8
# BB#31: # %verify.exit54
- i32.const $push121=, -201
- i32.ne $push122=, $3, $pop121
- br_if $pop122, 0 # 0: down to label8
+ i32.const $push104=, -201
+ i32.ne $push105=, $2, $pop104
+ br_if $pop105, 0 # 0: down to label8
# BB#32: # %verify.exit63
- call exit@FUNCTION, $8
+ i32.const $push106=, 0
+ call exit@FUNCTION, $pop106
unreachable
.LBB1_33: # %if.then.i62
end_block # label8:
@@ -318,7 +404,7 @@ main: # @main
.type i,@object
.section .data.i,"aw",@progbits
.globl i
- .align 4
+ .p2align 4
i:
.int32 150 # 0x96
.int32 100 # 0x64
@@ -330,7 +416,7 @@ i:
.type j,@object
.section .data.j,"aw",@progbits
.globl j
- .align 4
+ .p2align 4
j:
.int32 10 # 0xa
.int32 13 # 0xd
@@ -342,7 +428,7 @@ j:
.type k,@object
.section .bss.k,"aw",@nobits
.globl k
- .align 4
+ .p2align 4
k:
.skip 16
.size k, 16
@@ -351,7 +437,7 @@ k:
.type res,@object
.section .bss.res,"aw",@nobits
.globl res
- .align 4
+ .p2align 4
res:
.skip 16
.size res, 16
diff --git a/test/torture-s/simd-2.c.s b/test/torture-s/simd-2.c.s
index 7a3a9e1b1..b4a63db79 100644
--- a/test/torture-s/simd-2.c.s
+++ b/test/torture-s/simd-2.c.s
@@ -35,418 +35,646 @@ verify: # @verify
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $16=, 0
- i32.load16_u $7=, i+14($16)
- i32.load16_u $15=, j+14($16)
- i32.add $push7=, $15, $7
- i32.store16 $23=, k+14($16), $pop7
- i32.load16_u $6=, i+12($16)
- i32.load16_u $14=, j+12($16)
- i32.store16 $discard=, res+14($16), $23
- i32.load16_u $5=, i+10($16)
- i32.load16_u $13=, j+10($16)
- i32.add $push6=, $14, $6
- i32.store16 $push8=, k+12($16), $pop6
- i32.store16 $discard=, res+12($16), $pop8
- i32.add $push5=, $13, $5
- i32.store16 $23=, k+10($16), $pop5
- i32.load16_u $4=, i+8($16)
- i32.load16_u $12=, j+8($16)
- i32.store16 $discard=, res+10($16), $23
- i32.load16_u $3=, i+6($16)
- i32.load16_u $11=, j+6($16)
- i32.add $push4=, $12, $4
- i32.store16 $push9=, k+8($16), $pop4
- i32.store16 $discard=, res+8($16), $pop9
- i32.add $push2=, $11, $3
- i32.store16 $23=, k+6($16), $pop2
- i32.load16_u $2=, i+4($16)
- i32.load16_u $1=, i+2($16)
- i32.load16_u $10=, j+4($16)
- i32.load16_u $0=, i($16)
- i32.load16_u $9=, j+2($16)
- i32.load16_u $8=, j($16)
- i32.store16 $17=, res+6($16), $23
- i32.add $push1=, $10, $2
- i32.store16 $push10=, k+4($16), $pop1
- i32.store16 $18=, res+4($16), $pop10
- i32.add $push0=, $9, $1
- i32.store16 $push11=, k+2($16), $pop0
- i32.store16 $19=, res+2($16), $pop11
- i32.add $push3=, $8, $0
- i32.store16 $push12=, k($16), $pop3
- i32.store16 $23=, res($16), $pop12
- i32.const $20=, 65535
+ i32.const $push7=, 0
+ i32.load16_u $5=, i+12($pop7):p2align=2
+ i32.const $push259=, 0
+ i32.load16_u $11=, j+12($pop259):p2align=2
+ i32.const $push258=, 0
+ i32.const $push257=, 0
+ i32.const $push256=, 0
+ i32.load16_u $push3=, j+14($pop256)
+ tee_local $push255=, $23=, $pop3
+ i32.const $push254=, 0
+ i32.load16_u $push1=, i+14($pop254)
+ tee_local $push253=, $22=, $pop1
+ i32.add $push12=, $pop255, $pop253
+ i32.store16 $push13=, k+14($pop257), $pop12
+ i32.store16 $discard=, res+14($pop258), $pop13
+ i32.const $push252=, 0
+ i32.load16_u $4=, i+10($pop252)
+ i32.const $push251=, 0
+ i32.load16_u $10=, j+10($pop251)
+ i32.const $push250=, 0
+ i32.const $push249=, 0
+ i32.add $push11=, $11, $5
+ i32.store16 $push14=, k+12($pop249):p2align=2, $pop11
+ i32.store16 $discard=, res+12($pop250):p2align=2, $pop14
+ i32.const $push248=, 0
+ i32.load16_u $3=, i+8($pop248):p2align=3
+ i32.const $push247=, 0
+ i32.load16_u $9=, j+8($pop247):p2align=3
+ i32.const $push246=, 0
+ i32.const $push245=, 0
+ i32.add $push10=, $10, $4
+ i32.store16 $push15=, k+10($pop245), $pop10
+ i32.store16 $discard=, res+10($pop246), $pop15
+ i32.const $push244=, 0
+ i32.load16_u $2=, i+6($pop244)
+ i32.const $push243=, 0
+ i32.load16_u $8=, j+6($pop243)
+ i32.const $push242=, 0
+ i32.const $push241=, 0
+ i32.add $push9=, $9, $3
+ i32.store16 $push16=, k+8($pop241):p2align=3, $pop9
+ i32.store16 $discard=, res+8($pop242):p2align=3, $pop16
+ i32.const $push240=, 0
+ i32.add $push6=, $8, $2
+ i32.store16 $12=, k+6($pop240), $pop6
+ i32.const $push239=, 0
+ i32.load16_u $1=, i+2($pop239)
+ i32.const $push238=, 0
+ i32.load16_u $0=, i($pop238):p2align=4
+ i32.const $push237=, 0
+ i32.load16_u $7=, j+2($pop237)
+ i32.const $push236=, 0
+ i32.load16_u $6=, j($pop236):p2align=4
+ i32.const $push235=, 0
+ i32.const $push234=, 0
+ i32.load16_u $push2=, j+4($pop234):p2align=2
+ tee_local $push233=, $21=, $pop2
+ i32.const $push232=, 0
+ i32.load16_u $push0=, i+4($pop232):p2align=2
+ tee_local $push231=, $20=, $pop0
+ i32.add $push5=, $pop233, $pop231
+ i32.store16 $13=, k+4($pop235):p2align=2, $pop5
+ i32.const $push230=, 0
+ i32.add $push4=, $7, $1
+ i32.store16 $14=, k+2($pop230), $pop4
+ i32.const $push229=, 0
+ i32.add $push8=, $6, $0
+ i32.store16 $15=, k($pop229):p2align=4, $pop8
+ i32.const $push228=, 0
+ i32.store16 $16=, res+6($pop228), $12
+ i32.const $push227=, 0
+ i32.store16 $discard=, res+4($pop227):p2align=2, $13
+ i32.const $push226=, 0
+ i32.store16 $12=, res+2($pop226), $14
block
- i32.and $push13=, $23, $20
- i32.const $push14=, 160
- i32.ne $push15=, $pop13, $pop14
- br_if $pop15, 0 # 0: down to label1
+ i32.const $push225=, 0
+ i32.store16 $push17=, res($pop225):p2align=4, $15
+ i32.const $push224=, 65535
+ i32.and $push18=, $pop17, $pop224
+ i32.const $push19=, 160
+ i32.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label1
# BB#1: # %entry
- i32.and $push16=, $19, $20
- i32.const $push17=, 113
- i32.ne $push18=, $pop16, $pop17
- br_if $pop18, 0 # 0: down to label1
+ i32.const $push260=, 65535
+ i32.and $push21=, $12, $pop260
+ i32.const $push22=, 113
+ i32.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label1
# BB#2: # %entry
- i32.and $push19=, $18, $20
- i32.const $push20=, 170
- i32.ne $push21=, $pop19, $pop20
- br_if $pop21, 0 # 0: down to label1
+ i32.const $push261=, 65535
+ i32.and $push24=, $13, $pop261
+ i32.const $push25=, 170
+ i32.ne $push26=, $pop24, $pop25
+ br_if $pop26, 0 # 0: down to label1
# BB#3: # %entry
- i32.and $push22=, $17, $20
- i32.const $push23=, 230
- i32.ne $push24=, $pop22, $pop23
- br_if $pop24, 0 # 0: down to label1
+ i32.const $push262=, 65535
+ i32.and $push27=, $16, $pop262
+ i32.const $push28=, 230
+ i32.ne $push29=, $pop27, $pop28
+ br_if $pop29, 0 # 0: down to label1
# BB#4: # %verify.exit
+ i32.const $push38=, 0
+ i32.mul $push37=, $6, $0
+ i32.store16 $12=, k($pop38):p2align=4, $pop37
+ i32.const $push278=, 0
+ i32.mul $push30=, $7, $1
+ i32.store16 $13=, k+2($pop278), $pop30
+ i32.const $push277=, 0
+ i32.mul $push31=, $21, $20
+ i32.store16 $14=, k+4($pop277):p2align=2, $pop31
+ i32.const $push276=, 0
+ i32.mul $push32=, $8, $2
+ i32.store16 $15=, k+6($pop276), $pop32
+ i32.const $push275=, 0
+ i32.mul $push36=, $9, $3
+ i32.store16 $16=, k+8($pop275):p2align=3, $pop36
+ i32.const $push274=, 0
+ i32.store16 $discard=, res($pop274):p2align=4, $12
+ i32.const $push273=, 0
+ i32.store16 $discard=, res+2($pop273), $13
+ i32.const $push272=, 0
+ i32.store16 $discard=, res+4($pop272):p2align=2, $14
+ i32.const $push271=, 0
+ i32.store16 $discard=, res+6($pop271), $15
+ i32.const $push270=, 0
+ i32.store16 $discard=, res+8($pop270):p2align=3, $16
+ i32.const $push269=, 0
+ i32.const $push268=, 0
+ i32.mul $push35=, $10, $4
+ i32.store16 $push39=, k+10($pop268), $pop35
+ i32.store16 $discard=, res+10($pop269), $pop39
+ i32.const $push267=, 0
+ i32.const $push266=, 0
+ i32.mul $push34=, $11, $5
+ i32.store16 $push40=, k+12($pop266):p2align=2, $pop34
+ i32.store16 $discard=, res+12($pop267):p2align=2, $pop40
+ i32.const $push265=, 0
+ i32.const $push264=, 0
+ i32.mul $push33=, $23, $22
+ i32.store16 $push41=, k+14($pop264), $pop33
+ i32.store16 $discard=, res+14($pop265), $pop41
block
- i32.mul $push32=, $8, $0
- i32.store16 $push33=, k($16), $pop32
- i32.store16 $23=, res($16), $pop33
- i32.mul $push25=, $9, $1
- i32.store16 $push34=, k+2($16), $pop25
- i32.store16 $19=, res+2($16), $pop34
- i32.mul $push26=, $10, $2
- i32.store16 $push35=, k+4($16), $pop26
- i32.store16 $18=, res+4($16), $pop35
- i32.mul $push27=, $11, $3
- i32.store16 $push36=, k+6($16), $pop27
- i32.store16 $17=, res+6($16), $pop36
- i32.mul $push31=, $12, $4
- i32.store16 $push37=, k+8($16), $pop31
- i32.store16 $discard=, res+8($16), $pop37
- i32.mul $push30=, $13, $5
- i32.store16 $push38=, k+10($16), $pop30
- i32.store16 $discard=, res+10($16), $pop38
- i32.mul $push29=, $14, $6
- i32.store16 $push39=, k+12($16), $pop29
- i32.store16 $discard=, res+12($16), $pop39
- i32.mul $push28=, $15, $7
- i32.store16 $push40=, k+14($16), $pop28
- i32.store16 $discard=, res+14($16), $pop40
- i32.and $push41=, $23, $20
- i32.const $push42=, 1500
- i32.ne $push43=, $pop41, $pop42
- br_if $pop43, 0 # 0: down to label2
+ i32.const $push263=, 65535
+ i32.and $push42=, $12, $pop263
+ i32.const $push43=, 1500
+ i32.ne $push44=, $pop42, $pop43
+ br_if $pop44, 0 # 0: down to label2
# BB#5: # %verify.exit
- i32.and $push44=, $19, $20
- i32.const $push45=, 1300
- i32.ne $push46=, $pop44, $pop45
- br_if $pop46, 0 # 0: down to label2
+ i32.const $push279=, 65535
+ i32.and $push45=, $13, $pop279
+ i32.const $push46=, 1300
+ i32.ne $push47=, $pop45, $pop46
+ br_if $pop47, 0 # 0: down to label2
# BB#6: # %verify.exit
- i32.and $push47=, $18, $20
- i32.const $push48=, 3000
- i32.ne $push49=, $pop47, $pop48
- br_if $pop49, 0 # 0: down to label2
+ i32.const $push280=, 65535
+ i32.and $push48=, $14, $pop280
+ i32.const $push49=, 3000
+ i32.ne $push50=, $pop48, $pop49
+ br_if $pop50, 0 # 0: down to label2
# BB#7: # %verify.exit
- i32.and $push50=, $17, $20
- i32.const $push51=, 6000
- i32.ne $push52=, $pop50, $pop51
- br_if $pop52, 0 # 0: down to label2
+ i32.const $push281=, 65535
+ i32.and $push51=, $15, $pop281
+ i32.const $push52=, 6000
+ i32.ne $push53=, $pop51, $pop52
+ br_if $pop53, 0 # 0: down to label2
# BB#8: # %verify.exit40
- i32.const $23=, 16
+ i32.const $push54=, 16
+ i32.shl $push57=, $22, $pop54
+ i32.const $push328=, 16
+ i32.shr_s $push58=, $pop57, $pop328
+ i32.const $push327=, 16
+ i32.shl $push55=, $23, $pop327
+ i32.const $push326=, 16
+ i32.shr_s $push56=, $pop55, $pop326
+ i32.div_s $12=, $pop58, $pop56
+ i32.const $push325=, 16
+ i32.shl $push61=, $5, $pop325
+ i32.const $push324=, 16
+ i32.shr_s $push62=, $pop61, $pop324
+ i32.const $push323=, 16
+ i32.shl $push59=, $11, $pop323
+ i32.const $push322=, 16
+ i32.shr_s $push60=, $pop59, $pop322
+ i32.div_s $13=, $pop62, $pop60
+ i32.const $push321=, 16
+ i32.shl $push65=, $4, $pop321
+ i32.const $push320=, 16
+ i32.shr_s $push66=, $pop65, $pop320
+ i32.const $push319=, 16
+ i32.shl $push63=, $10, $pop319
+ i32.const $push318=, 16
+ i32.shr_s $push64=, $pop63, $pop318
+ i32.div_s $14=, $pop66, $pop64
+ i32.const $push317=, 16
+ i32.shl $push69=, $3, $pop317
+ i32.const $push316=, 16
+ i32.shr_s $push70=, $pop69, $pop316
+ i32.const $push315=, 16
+ i32.shl $push67=, $9, $pop315
+ i32.const $push314=, 16
+ i32.shr_s $push68=, $pop67, $pop314
+ i32.div_s $15=, $pop70, $pop68
+ i32.const $push313=, 16
+ i32.shl $push73=, $2, $pop313
+ i32.const $push312=, 16
+ i32.shr_s $push74=, $pop73, $pop312
+ i32.const $push311=, 16
+ i32.shl $push71=, $8, $pop311
+ i32.const $push310=, 16
+ i32.shr_s $push72=, $pop71, $pop310
+ i32.div_s $16=, $pop74, $pop72
+ i32.const $push309=, 16
+ i32.shl $push77=, $20, $pop309
+ i32.const $push308=, 16
+ i32.shr_s $push78=, $pop77, $pop308
+ i32.const $push307=, 16
+ i32.shl $push75=, $21, $pop307
+ i32.const $push306=, 16
+ i32.shr_s $push76=, $pop75, $pop306
+ i32.div_s $18=, $pop78, $pop76
+ i32.const $push305=, 16
+ i32.shl $push81=, $1, $pop305
+ i32.const $push304=, 16
+ i32.shr_s $push82=, $pop81, $pop304
+ i32.const $push303=, 16
+ i32.shl $push79=, $7, $pop303
+ i32.const $push302=, 16
+ i32.shr_s $push80=, $pop79, $pop302
+ i32.div_s $17=, $pop82, $pop80
+ i32.const $push88=, 0
+ i32.const $push301=, 16
+ i32.shl $push85=, $0, $pop301
+ i32.const $push300=, 16
+ i32.shr_s $push86=, $pop85, $pop300
+ i32.const $push299=, 16
+ i32.shl $push83=, $6, $pop299
+ i32.const $push298=, 16
+ i32.shr_s $push84=, $pop83, $pop298
+ i32.div_s $push87=, $pop86, $pop84
+ i32.store16 $19=, k($pop88):p2align=4, $pop87
+ i32.const $push297=, 0
+ i32.store16 $discard=, k+2($pop297), $17
+ i32.const $push296=, 0
+ i32.store16 $discard=, k+4($pop296):p2align=2, $18
+ i32.const $push295=, 0
+ i32.store16 $discard=, k+6($pop295), $16
+ i32.const $push294=, 0
+ i32.store16 $discard=, k+8($pop294):p2align=3, $15
+ i32.const $push293=, 0
+ i32.store16 $discard=, res($pop293):p2align=4, $19
+ i32.const $push292=, 0
+ i32.store16 $discard=, res+2($pop292), $17
+ i32.const $push291=, 0
+ i32.store16 $discard=, res+4($pop291):p2align=2, $18
+ i32.const $push290=, 0
+ i32.store16 $discard=, res+6($pop290), $16
+ i32.const $push289=, 0
+ i32.store16 $discard=, res+8($pop289):p2align=3, $15
+ i32.const $push288=, 0
+ i32.const $push287=, 0
+ i32.store16 $push89=, k+10($pop287), $14
+ i32.store16 $discard=, res+10($pop288), $pop89
+ i32.const $push286=, 0
+ i32.const $push285=, 0
+ i32.store16 $push90=, k+12($pop285):p2align=2, $13
+ i32.store16 $discard=, res+12($pop286):p2align=2, $pop90
+ i32.const $push284=, 0
+ i32.const $push283=, 0
+ i32.store16 $push91=, k+14($pop283), $12
+ i32.store16 $discard=, res+14($pop284), $pop91
block
- i32.shl $push56=, $7, $23
- i32.shr_s $push57=, $pop56, $23
- i32.shl $push54=, $15, $23
- i32.shr_s $push55=, $pop54, $23
- i32.div_s $19=, $pop57, $pop55
- i32.shl $push60=, $6, $23
- i32.shr_s $push61=, $pop60, $23
- i32.shl $push58=, $14, $23
- i32.shr_s $push59=, $pop58, $23
- i32.div_s $18=, $pop61, $pop59
- i32.shl $push64=, $5, $23
- i32.shr_s $push65=, $pop64, $23
- i32.shl $push62=, $13, $23
- i32.shr_s $push63=, $pop62, $23
- i32.div_s $17=, $pop65, $pop63
- i32.shl $push68=, $4, $23
- i32.shr_s $push69=, $pop68, $23
- i32.shl $push66=, $12, $23
- i32.shr_s $push67=, $pop66, $23
- i32.div_s $24=, $pop69, $pop67
- i32.shl $push72=, $3, $23
- i32.shr_s $push73=, $pop72, $23
- i32.shl $push70=, $11, $23
- i32.shr_s $push71=, $pop70, $23
- i32.div_s $22=, $pop73, $pop71
- i32.shl $push76=, $2, $23
- i32.shr_s $push77=, $pop76, $23
- i32.shl $push74=, $10, $23
- i32.shr_s $push75=, $pop74, $23
- i32.div_s $21=, $pop77, $pop75
- i32.shl $push80=, $1, $23
- i32.shr_s $push81=, $pop80, $23
- i32.shl $push78=, $9, $23
- i32.shr_s $push79=, $pop78, $23
- i32.div_s $push53=, $pop81, $pop79
- i32.store16 $push88=, k+2($16), $pop53
- i32.store16 $25=, res+2($16), $pop88
- i32.store16 $push89=, k+4($16), $21
- i32.store16 $21=, res+4($16), $pop89
- i32.store16 $push90=, k+6($16), $22
- i32.store16 $22=, res+6($16), $pop90
- i32.store16 $push91=, k+8($16), $24
- i32.store16 $discard=, res+8($16), $pop91
- i32.store16 $push92=, k+10($16), $17
- i32.store16 $discard=, res+10($16), $pop92
- i32.store16 $push93=, k+12($16), $18
- i32.store16 $discard=, res+12($16), $pop93
- i32.store16 $push94=, k+14($16), $19
- i32.store16 $discard=, res+14($16), $pop94
- i32.shl $push84=, $0, $23
- i32.shr_s $push85=, $pop84, $23
- i32.shl $push82=, $8, $23
- i32.shr_s $push83=, $pop82, $23
- i32.div_s $push86=, $pop85, $pop83
- i32.store16 $push87=, k($16), $pop86
- i32.store16 $push95=, res($16), $pop87
- i32.and $push96=, $pop95, $20
- i32.const $push97=, 15
- i32.ne $push98=, $pop96, $pop97
- br_if $pop98, 0 # 0: down to label3
+ i32.const $push282=, 65535
+ i32.and $push92=, $19, $pop282
+ i32.const $push93=, 15
+ i32.ne $push94=, $pop92, $pop93
+ br_if $pop94, 0 # 0: down to label3
# BB#9: # %verify.exit40
- i32.const $23=, 7
- i32.and $push99=, $25, $20
- i32.ne $push100=, $pop99, $23
- br_if $pop100, 0 # 0: down to label3
+ i32.const $push330=, 65535
+ i32.and $push95=, $17, $pop330
+ i32.const $push329=, 7
+ i32.ne $push96=, $pop95, $pop329
+ br_if $pop96, 0 # 0: down to label3
# BB#10: # %verify.exit40
- i32.and $push101=, $21, $20
- i32.ne $push102=, $pop101, $23
- br_if $pop102, 0 # 0: down to label3
+ i32.const $push332=, 65535
+ i32.and $push97=, $18, $pop332
+ i32.const $push331=, 7
+ i32.ne $push98=, $pop97, $pop331
+ br_if $pop98, 0 # 0: down to label3
# BB#11: # %verify.exit40
- i32.and $push103=, $22, $20
- i32.const $push104=, 6
- i32.ne $push105=, $pop103, $pop104
- br_if $pop105, 0 # 0: down to label3
+ i32.const $push333=, 65535
+ i32.and $push99=, $16, $pop333
+ i32.const $push100=, 6
+ i32.ne $push101=, $pop99, $pop100
+ br_if $pop101, 0 # 0: down to label3
# BB#12: # %verify.exit49
+ i32.const $push110=, 0
+ i32.and $push109=, $6, $0
+ i32.store16 $12=, k($pop110):p2align=4, $pop109
+ i32.const $push349=, 0
+ i32.and $push102=, $7, $1
+ i32.store16 $13=, k+2($pop349), $pop102
+ i32.const $push348=, 0
+ i32.and $push103=, $21, $20
+ i32.store16 $14=, k+4($pop348):p2align=2, $pop103
+ i32.const $push347=, 0
+ i32.and $push104=, $8, $2
+ i32.store16 $15=, k+6($pop347), $pop104
+ i32.const $push346=, 0
+ i32.and $push108=, $9, $3
+ i32.store16 $16=, k+8($pop346):p2align=3, $pop108
+ i32.const $push345=, 0
+ i32.store16 $discard=, res($pop345):p2align=4, $12
+ i32.const $push344=, 0
+ i32.store16 $discard=, res+2($pop344), $13
+ i32.const $push343=, 0
+ i32.store16 $discard=, res+4($pop343):p2align=2, $14
+ i32.const $push342=, 0
+ i32.store16 $discard=, res+6($pop342), $15
+ i32.const $push341=, 0
+ i32.store16 $discard=, res+8($pop341):p2align=3, $16
+ i32.const $push340=, 0
+ i32.const $push339=, 0
+ i32.and $push107=, $10, $4
+ i32.store16 $push111=, k+10($pop339), $pop107
+ i32.store16 $discard=, res+10($pop340), $pop111
+ i32.const $push338=, 0
+ i32.const $push337=, 0
+ i32.and $push106=, $11, $5
+ i32.store16 $push112=, k+12($pop337):p2align=2, $pop106
+ i32.store16 $discard=, res+12($pop338):p2align=2, $pop112
+ i32.const $push336=, 0
+ i32.const $push335=, 0
+ i32.and $push105=, $23, $22
+ i32.store16 $push113=, k+14($pop335), $pop105
+ i32.store16 $discard=, res+14($pop336), $pop113
block
- i32.and $push113=, $8, $0
- i32.store16 $push114=, k($16), $pop113
- i32.store16 $23=, res($16), $pop114
- i32.and $push106=, $9, $1
- i32.store16 $push115=, k+2($16), $pop106
- i32.store16 $19=, res+2($16), $pop115
- i32.and $push107=, $10, $2
- i32.store16 $push116=, k+4($16), $pop107
- i32.store16 $18=, res+4($16), $pop116
- i32.and $push108=, $11, $3
- i32.store16 $push117=, k+6($16), $pop108
- i32.store16 $17=, res+6($16), $pop117
- i32.and $push112=, $12, $4
- i32.store16 $push118=, k+8($16), $pop112
- i32.store16 $discard=, res+8($16), $pop118
- i32.and $push111=, $13, $5
- i32.store16 $push119=, k+10($16), $pop111
- i32.store16 $discard=, res+10($16), $pop119
- i32.and $push110=, $14, $6
- i32.store16 $push120=, k+12($16), $pop110
- i32.store16 $discard=, res+12($16), $pop120
- i32.and $push109=, $15, $7
- i32.store16 $push121=, k+14($16), $pop109
- i32.store16 $discard=, res+14($16), $pop121
- i32.and $push122=, $23, $20
- i32.const $push123=, 2
- i32.ne $push124=, $pop122, $pop123
- br_if $pop124, 0 # 0: down to label4
+ i32.const $push334=, 65535
+ i32.and $push114=, $12, $pop334
+ i32.const $push115=, 2
+ i32.ne $push116=, $pop114, $pop115
+ br_if $pop116, 0 # 0: down to label4
# BB#13: # %verify.exit49
- i32.and $push125=, $19, $20
- i32.const $push126=, 4
- i32.ne $push127=, $pop125, $pop126
- br_if $pop127, 0 # 0: down to label4
+ i32.const $push350=, 65535
+ i32.and $push117=, $13, $pop350
+ i32.const $push118=, 4
+ i32.ne $push119=, $pop117, $pop118
+ br_if $pop119, 0 # 0: down to label4
# BB#14: # %verify.exit49
- i32.and $push128=, $18, $20
- i32.const $push129=, 20
- i32.ne $push130=, $pop128, $pop129
- br_if $pop130, 0 # 0: down to label4
+ i32.const $push351=, 65535
+ i32.and $push120=, $14, $pop351
+ i32.const $push121=, 20
+ i32.ne $push122=, $pop120, $pop121
+ br_if $pop122, 0 # 0: down to label4
# BB#15: # %verify.exit49
- i32.and $push131=, $17, $20
- i32.const $push132=, 8
- i32.ne $push133=, $pop131, $pop132
- br_if $pop133, 0 # 0: down to label4
+ i32.const $push352=, 65535
+ i32.and $push123=, $15, $pop352
+ i32.const $push124=, 8
+ i32.ne $push125=, $pop123, $pop124
+ br_if $pop125, 0 # 0: down to label4
# BB#16: # %verify.exit58
+ i32.const $push134=, 0
+ i32.or $push133=, $6, $0
+ i32.store16 $12=, k($pop134):p2align=4, $pop133
+ i32.const $push368=, 0
+ i32.or $push126=, $7, $1
+ i32.store16 $13=, k+2($pop368), $pop126
+ i32.const $push367=, 0
+ i32.or $push127=, $21, $20
+ i32.store16 $14=, k+4($pop367):p2align=2, $pop127
+ i32.const $push366=, 0
+ i32.or $push128=, $8, $2
+ i32.store16 $15=, k+6($pop366), $pop128
+ i32.const $push365=, 0
+ i32.or $push132=, $9, $3
+ i32.store16 $16=, k+8($pop365):p2align=3, $pop132
+ i32.const $push364=, 0
+ i32.store16 $discard=, res($pop364):p2align=4, $12
+ i32.const $push363=, 0
+ i32.store16 $discard=, res+2($pop363), $13
+ i32.const $push362=, 0
+ i32.store16 $discard=, res+4($pop362):p2align=2, $14
+ i32.const $push361=, 0
+ i32.store16 $discard=, res+6($pop361), $15
+ i32.const $push360=, 0
+ i32.store16 $discard=, res+8($pop360):p2align=3, $16
+ i32.const $push359=, 0
+ i32.const $push358=, 0
+ i32.or $push131=, $10, $4
+ i32.store16 $push135=, k+10($pop358), $pop131
+ i32.store16 $discard=, res+10($pop359), $pop135
+ i32.const $push357=, 0
+ i32.const $push356=, 0
+ i32.or $push130=, $11, $5
+ i32.store16 $push136=, k+12($pop356):p2align=2, $pop130
+ i32.store16 $discard=, res+12($pop357):p2align=2, $pop136
+ i32.const $push355=, 0
+ i32.const $push354=, 0
+ i32.or $push129=, $23, $22
+ i32.store16 $push137=, k+14($pop354), $pop129
+ i32.store16 $discard=, res+14($pop355), $pop137
block
- i32.or $push141=, $8, $0
- i32.store16 $push142=, k($16), $pop141
- i32.store16 $23=, res($16), $pop142
- i32.or $push134=, $9, $1
- i32.store16 $push143=, k+2($16), $pop134
- i32.store16 $19=, res+2($16), $pop143
- i32.or $push135=, $10, $2
- i32.store16 $push144=, k+4($16), $pop135
- i32.store16 $18=, res+4($16), $pop144
- i32.or $push136=, $11, $3
- i32.store16 $push145=, k+6($16), $pop136
- i32.store16 $17=, res+6($16), $pop145
- i32.or $push140=, $12, $4
- i32.store16 $push146=, k+8($16), $pop140
- i32.store16 $discard=, res+8($16), $pop146
- i32.or $push139=, $13, $5
- i32.store16 $push147=, k+10($16), $pop139
- i32.store16 $discard=, res+10($16), $pop147
- i32.or $push138=, $14, $6
- i32.store16 $push148=, k+12($16), $pop138
- i32.store16 $discard=, res+12($16), $pop148
- i32.or $push137=, $15, $7
- i32.store16 $push149=, k+14($16), $pop137
- i32.store16 $discard=, res+14($16), $pop149
- i32.and $push150=, $23, $20
- i32.const $push151=, 158
- i32.ne $push152=, $pop150, $pop151
- br_if $pop152, 0 # 0: down to label5
+ i32.const $push353=, 65535
+ i32.and $push138=, $12, $pop353
+ i32.const $push139=, 158
+ i32.ne $push140=, $pop138, $pop139
+ br_if $pop140, 0 # 0: down to label5
# BB#17: # %verify.exit58
- i32.and $push153=, $19, $20
- i32.const $push154=, 109
- i32.ne $push155=, $pop153, $pop154
- br_if $pop155, 0 # 0: down to label5
+ i32.const $push369=, 65535
+ i32.and $push141=, $13, $pop369
+ i32.const $push142=, 109
+ i32.ne $push143=, $pop141, $pop142
+ br_if $pop143, 0 # 0: down to label5
# BB#18: # %verify.exit58
- i32.and $push156=, $18, $20
- i32.const $push157=, 150
- i32.ne $push158=, $pop156, $pop157
- br_if $pop158, 0 # 0: down to label5
+ i32.const $push370=, 65535
+ i32.and $push144=, $14, $pop370
+ i32.const $push145=, 150
+ i32.ne $push146=, $pop144, $pop145
+ br_if $pop146, 0 # 0: down to label5
# BB#19: # %verify.exit58
- i32.and $push159=, $17, $20
- i32.const $push160=, 222
- i32.ne $push161=, $pop159, $pop160
- br_if $pop161, 0 # 0: down to label5
+ i32.const $push371=, 65535
+ i32.and $push147=, $15, $pop371
+ i32.const $push148=, 222
+ i32.ne $push149=, $pop147, $pop148
+ br_if $pop149, 0 # 0: down to label5
# BB#20: # %verify.exit67
+ i32.const $push158=, 0
+ i32.xor $push157=, $0, $6
+ i32.store16 $6=, k($pop158):p2align=4, $pop157
+ i32.const $push387=, 0
+ i32.xor $push150=, $1, $7
+ i32.store16 $7=, k+2($pop387), $pop150
+ i32.const $push386=, 0
+ i32.xor $push151=, $20, $21
+ i32.store16 $12=, k+4($pop386):p2align=2, $pop151
+ i32.const $push385=, 0
+ i32.xor $push152=, $2, $8
+ i32.store16 $8=, k+6($pop385), $pop152
+ i32.const $push384=, 0
+ i32.xor $push156=, $3, $9
+ i32.store16 $9=, k+8($pop384):p2align=3, $pop156
+ i32.const $push383=, 0
+ i32.store16 $discard=, res($pop383):p2align=4, $6
+ i32.const $push382=, 0
+ i32.store16 $discard=, res+2($pop382), $7
+ i32.const $push381=, 0
+ i32.store16 $discard=, res+4($pop381):p2align=2, $12
+ i32.const $push380=, 0
+ i32.store16 $discard=, res+6($pop380), $8
+ i32.const $push379=, 0
+ i32.store16 $discard=, res+8($pop379):p2align=3, $9
+ i32.const $push378=, 0
+ i32.const $push377=, 0
+ i32.xor $push155=, $4, $10
+ i32.store16 $push159=, k+10($pop377), $pop155
+ i32.store16 $discard=, res+10($pop378), $pop159
+ i32.const $push376=, 0
+ i32.const $push375=, 0
+ i32.xor $push154=, $5, $11
+ i32.store16 $push160=, k+12($pop375):p2align=2, $pop154
+ i32.store16 $discard=, res+12($pop376):p2align=2, $pop160
+ i32.const $push374=, 0
+ i32.const $push373=, 0
+ i32.xor $push153=, $22, $23
+ i32.store16 $push161=, k+14($pop373), $pop153
+ i32.store16 $discard=, res+14($pop374), $pop161
block
- i32.xor $push169=, $0, $8
- i32.store16 $push170=, k($16), $pop169
- i32.store16 $23=, res($16), $pop170
- i32.xor $push162=, $1, $9
- i32.store16 $push171=, k+2($16), $pop162
- i32.store16 $9=, res+2($16), $pop171
- i32.xor $push163=, $2, $10
- i32.store16 $push172=, k+4($16), $pop163
- i32.store16 $10=, res+4($16), $pop172
- i32.xor $push164=, $3, $11
- i32.store16 $push173=, k+6($16), $pop164
- i32.store16 $11=, res+6($16), $pop173
- i32.xor $push168=, $4, $12
- i32.store16 $push174=, k+8($16), $pop168
- i32.store16 $discard=, res+8($16), $pop174
- i32.xor $push167=, $5, $13
- i32.store16 $push175=, k+10($16), $pop167
- i32.store16 $discard=, res+10($16), $pop175
- i32.xor $push166=, $6, $14
- i32.store16 $push176=, k+12($16), $pop166
- i32.store16 $discard=, res+12($16), $pop176
- i32.xor $push165=, $7, $15
- i32.store16 $push177=, k+14($16), $pop165
- i32.store16 $discard=, res+14($16), $pop177
- i32.and $push178=, $23, $20
- i32.const $push179=, 156
- i32.ne $push180=, $pop178, $pop179
- br_if $pop180, 0 # 0: down to label6
+ i32.const $push372=, 65535
+ i32.and $push162=, $6, $pop372
+ i32.const $push163=, 156
+ i32.ne $push164=, $pop162, $pop163
+ br_if $pop164, 0 # 0: down to label6
# BB#21: # %verify.exit67
- i32.and $push181=, $9, $20
- i32.const $push182=, 105
- i32.ne $push183=, $pop181, $pop182
- br_if $pop183, 0 # 0: down to label6
+ i32.const $push388=, 65535
+ i32.and $push165=, $7, $pop388
+ i32.const $push166=, 105
+ i32.ne $push167=, $pop165, $pop166
+ br_if $pop167, 0 # 0: down to label6
# BB#22: # %verify.exit67
- i32.and $push184=, $10, $20
- i32.const $push185=, 130
- i32.ne $push186=, $pop184, $pop185
- br_if $pop186, 0 # 0: down to label6
+ i32.const $push389=, 65535
+ i32.and $push168=, $12, $pop389
+ i32.const $push169=, 130
+ i32.ne $push170=, $pop168, $pop169
+ br_if $pop170, 0 # 0: down to label6
# BB#23: # %verify.exit67
- i32.and $push187=, $11, $20
- i32.const $push188=, 214
- i32.ne $push189=, $pop187, $pop188
- br_if $pop189, 0 # 0: down to label6
+ i32.const $push390=, 65535
+ i32.and $push171=, $8, $pop390
+ i32.const $push172=, 214
+ i32.ne $push173=, $pop171, $pop172
+ br_if $pop173, 0 # 0: down to label6
# BB#24: # %verify.exit76
- i32.sub $push197=, $16, $0
- i32.store16 $push198=, k($16), $pop197
- i32.store16 $15=, res($16), $pop198
- i32.sub $push190=, $16, $1
- i32.store16 $push199=, k+2($16), $pop190
- i32.store16 $14=, res+2($16), $pop199
- i32.sub $push191=, $16, $2
- i32.store16 $push200=, k+4($16), $pop191
- i32.store16 $13=, res+4($16), $pop200
- i32.sub $push192=, $16, $3
- i32.store16 $push201=, k+6($16), $pop192
- i32.store16 $12=, res+6($16), $pop201
- i32.sub $push196=, $16, $4
- i32.store16 $push202=, k+8($16), $pop196
- i32.store16 $discard=, res+8($16), $pop202
- i32.sub $push195=, $16, $5
- i32.store16 $push203=, k+10($16), $pop195
- i32.store16 $discard=, res+10($16), $pop203
- i32.sub $push194=, $16, $6
- i32.store16 $push204=, k+12($16), $pop194
- i32.store16 $discard=, res+12($16), $pop204
- i32.sub $push193=, $16, $7
- i32.store16 $push205=, k+14($16), $pop193
- i32.store16 $discard=, res+14($16), $pop205
- i32.const $23=, 65386
+ i32.const $push177=, 0
+ i32.const $push414=, 0
+ i32.sub $push182=, $pop414, $0
+ i32.store16 $11=, k($pop177):p2align=4, $pop182
+ i32.const $push413=, 0
+ i32.const $push412=, 0
+ i32.sub $push174=, $pop412, $1
+ i32.store16 $10=, k+2($pop413), $pop174
+ i32.const $push411=, 0
+ i32.const $push410=, 0
+ i32.sub $push175=, $pop410, $20
+ i32.store16 $9=, k+4($pop411):p2align=2, $pop175
+ i32.const $push409=, 0
+ i32.const $push408=, 0
+ i32.sub $push176=, $pop408, $2
+ i32.store16 $8=, k+6($pop409), $pop176
+ i32.const $push407=, 0
+ i32.const $push406=, 0
+ i32.sub $push181=, $pop406, $3
+ i32.store16 $7=, k+8($pop407):p2align=3, $pop181
+ i32.const $push405=, 0
+ i32.store16 $discard=, res($pop405):p2align=4, $11
+ i32.const $push404=, 0
+ i32.store16 $discard=, res+2($pop404), $10
+ i32.const $push403=, 0
+ i32.store16 $discard=, res+4($pop403):p2align=2, $9
+ i32.const $push402=, 0
+ i32.store16 $discard=, res+6($pop402), $8
+ i32.const $push401=, 0
+ i32.store16 $discard=, res+8($pop401):p2align=3, $7
+ i32.const $push400=, 0
+ i32.const $push399=, 0
+ i32.const $push398=, 0
+ i32.sub $push180=, $pop398, $4
+ i32.store16 $push183=, k+10($pop399), $pop180
+ i32.store16 $discard=, res+10($pop400), $pop183
+ i32.const $push397=, 0
+ i32.const $push396=, 0
+ i32.const $push395=, 0
+ i32.sub $push179=, $pop395, $5
+ i32.store16 $push184=, k+12($pop396):p2align=2, $pop179
+ i32.store16 $discard=, res+12($pop397):p2align=2, $pop184
+ i32.const $push394=, 0
+ i32.const $push393=, 0
+ i32.const $push392=, 0
+ i32.sub $push178=, $pop392, $22
+ i32.store16 $push185=, k+14($pop393), $pop178
+ i32.store16 $discard=, res+14($pop394), $pop185
block
- i32.and $push206=, $15, $20
- i32.ne $push207=, $pop206, $23
- br_if $pop207, 0 # 0: down to label7
+ i32.const $push391=, 65535
+ i32.and $push186=, $11, $pop391
+ i32.const $push187=, 65386
+ i32.ne $push188=, $pop186, $pop187
+ br_if $pop188, 0 # 0: down to label7
# BB#25: # %verify.exit76
- i32.and $push208=, $14, $20
- i32.const $push209=, 65436
- i32.ne $push210=, $pop208, $pop209
- br_if $pop210, 0 # 0: down to label7
+ i32.const $push415=, 65535
+ i32.and $push189=, $10, $pop415
+ i32.const $push190=, 65436
+ i32.ne $push191=, $pop189, $pop190
+ br_if $pop191, 0 # 0: down to label7
# BB#26: # %verify.exit76
- i32.and $push211=, $13, $20
- i32.ne $push212=, $pop211, $23
- br_if $pop212, 0 # 0: down to label7
+ i32.const $push416=, 65535
+ i32.and $push192=, $9, $pop416
+ i32.const $push193=, 65386
+ i32.ne $push194=, $pop192, $pop193
+ br_if $pop194, 0 # 0: down to label7
# BB#27: # %verify.exit76
- i32.and $push213=, $12, $20
- i32.const $push214=, 65336
- i32.ne $push215=, $pop213, $pop214
- br_if $pop215, 0 # 0: down to label7
+ i32.const $push417=, 65535
+ i32.and $push195=, $8, $pop417
+ i32.const $push196=, 65336
+ i32.ne $push197=, $pop195, $pop196
+ br_if $pop197, 0 # 0: down to label7
# BB#28: # %verify.exit85
- i32.const $23=, -1
- i32.xor $push223=, $0, $23
- i32.store16 $push224=, k($16), $pop223
- i32.store16 $0=, res($16), $pop224
- i32.xor $push216=, $1, $23
- i32.store16 $push225=, k+2($16), $pop216
- i32.store16 $1=, res+2($16), $pop225
- i32.xor $push217=, $2, $23
- i32.store16 $push226=, k+4($16), $pop217
- i32.store16 $2=, res+4($16), $pop226
- i32.xor $push218=, $3, $23
- i32.store16 $push227=, k+6($16), $pop218
- i32.store16 $3=, res+6($16), $pop227
- i32.xor $push222=, $4, $23
- i32.store16 $push228=, k+8($16), $pop222
- i32.store16 $discard=, res+8($16), $pop228
- i32.xor $push221=, $5, $23
- i32.store16 $push229=, k+10($16), $pop221
- i32.store16 $discard=, res+10($16), $pop229
- i32.xor $push220=, $6, $23
- i32.store16 $push230=, k+12($16), $pop220
- i32.store16 $discard=, res+12($16), $pop230
- i32.xor $push219=, $7, $23
- i32.store16 $push231=, k+14($16), $pop219
- i32.store16 $discard=, res+14($16), $pop231
- i32.const $23=, 65385
+ i32.const $push207=, 0
+ i32.const $push201=, -1
+ i32.xor $push206=, $0, $pop201
+ i32.store16 $0=, k($pop207):p2align=4, $pop206
+ i32.const $push440=, 0
+ i32.const $push439=, -1
+ i32.xor $push198=, $1, $pop439
+ i32.store16 $1=, k+2($pop440), $pop198
+ i32.const $push438=, 0
+ i32.const $push437=, -1
+ i32.xor $push199=, $20, $pop437
+ i32.store16 $11=, k+4($pop438):p2align=2, $pop199
+ i32.const $push436=, 0
+ i32.const $push435=, -1
+ i32.xor $push200=, $2, $pop435
+ i32.store16 $2=, k+6($pop436), $pop200
+ i32.const $push434=, 0
+ i32.const $push433=, -1
+ i32.xor $push205=, $3, $pop433
+ i32.store16 $3=, k+8($pop434):p2align=3, $pop205
+ i32.const $push432=, 0
+ i32.store16 $discard=, res($pop432):p2align=4, $0
+ i32.const $push431=, 0
+ i32.store16 $discard=, res+2($pop431), $1
+ i32.const $push430=, 0
+ i32.store16 $discard=, res+4($pop430):p2align=2, $11
+ i32.const $push429=, 0
+ i32.store16 $discard=, res+6($pop429), $2
+ i32.const $push428=, 0
+ i32.store16 $discard=, res+8($pop428):p2align=3, $3
+ i32.const $push427=, 0
+ i32.const $push426=, 0
+ i32.const $push425=, -1
+ i32.xor $push204=, $4, $pop425
+ i32.store16 $push208=, k+10($pop426), $pop204
+ i32.store16 $discard=, res+10($pop427), $pop208
+ i32.const $push424=, 0
+ i32.const $push423=, 0
+ i32.const $push422=, -1
+ i32.xor $push203=, $5, $pop422
+ i32.store16 $push209=, k+12($pop423):p2align=2, $pop203
+ i32.store16 $discard=, res+12($pop424):p2align=2, $pop209
+ i32.const $push421=, 0
+ i32.const $push420=, 0
+ i32.const $push419=, -1
+ i32.xor $push202=, $22, $pop419
+ i32.store16 $push210=, k+14($pop420), $pop202
+ i32.store16 $discard=, res+14($pop421), $pop210
block
- i32.and $push232=, $0, $20
- i32.ne $push233=, $pop232, $23
- br_if $pop233, 0 # 0: down to label8
+ i32.const $push418=, 65535
+ i32.and $push211=, $0, $pop418
+ i32.const $push212=, 65385
+ i32.ne $push213=, $pop211, $pop212
+ br_if $pop213, 0 # 0: down to label8
# BB#29: # %verify.exit85
- i32.and $push234=, $1, $20
- i32.const $push235=, 65435
- i32.ne $push236=, $pop234, $pop235
- br_if $pop236, 0 # 0: down to label8
+ i32.const $push441=, 65535
+ i32.and $push214=, $1, $pop441
+ i32.const $push215=, 65435
+ i32.ne $push216=, $pop214, $pop215
+ br_if $pop216, 0 # 0: down to label8
# BB#30: # %verify.exit85
- i32.and $push237=, $2, $20
- i32.ne $push238=, $pop237, $23
- br_if $pop238, 0 # 0: down to label8
+ i32.const $push442=, 65535
+ i32.and $push217=, $11, $pop442
+ i32.const $push218=, 65385
+ i32.ne $push219=, $pop217, $pop218
+ br_if $pop219, 0 # 0: down to label8
# BB#31: # %verify.exit85
- i32.and $push239=, $3, $20
- i32.const $push240=, 65335
- i32.ne $push241=, $pop239, $pop240
- br_if $pop241, 0 # 0: down to label8
+ i32.const $push443=, 65535
+ i32.and $push220=, $2, $pop443
+ i32.const $push221=, 65335
+ i32.ne $push222=, $pop220, $pop221
+ br_if $pop222, 0 # 0: down to label8
# BB#32: # %verify.exit94
- call exit@FUNCTION, $16
+ i32.const $push223=, 0
+ call exit@FUNCTION, $pop223
unreachable
.LBB1_33: # %if.then.i93
end_block # label8:
@@ -488,7 +716,7 @@ main: # @main
.type i,@object
.section .data.i,"aw",@progbits
.globl i
- .align 4
+ .p2align 4
i:
.int16 150 # 0x96
.int16 100 # 0x64
@@ -504,7 +732,7 @@ i:
.type j,@object
.section .data.j,"aw",@progbits
.globl j
- .align 4
+ .p2align 4
j:
.int16 10 # 0xa
.int16 13 # 0xd
@@ -520,7 +748,7 @@ j:
.type k,@object
.section .bss.k,"aw",@nobits
.globl k
- .align 4
+ .p2align 4
k:
.skip 16
.size k, 16
@@ -529,7 +757,7 @@ k:
.type res,@object
.section .bss.res,"aw",@nobits
.globl res
- .align 4
+ .p2align 4
res:
.skip 16
.size res, 16
diff --git a/test/torture-s/simd-4.c.s b/test/torture-s/simd-4.c.s
index 8251284c7..d7c84bf77 100644
--- a/test/torture-s/simd-4.c.s
+++ b/test/torture-s/simd-4.c.s
@@ -6,12 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i64.const $push0=, -4294967295
- i64.store $discard=, s64($0), $pop0
- return $0
+ i64.store $discard=, s64($pop1), $pop0
+ i32.const $push2=, 0
+ return $pop2
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
@@ -20,7 +20,7 @@ main: # @main
.type s64,@object
.section .bss.s64,"aw",@nobits
.globl s64
- .align 3
+ .p2align 3
s64:
.int64 0 # 0x0
.size s64, 8
diff --git a/test/torture-s/simd-5.c.s b/test/torture-s/simd-5.c.s
index 3243bf7ab..8ba2ba69e 100644
--- a/test/torture-s/simd-5.c.s
+++ b/test/torture-s/simd-5.c.s
@@ -19,50 +19,81 @@ func0: # @func0
.globl func1
.type func1,@function
func1: # @func1
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load16_u $1=, q1+6($0)
- i32.load16_u $2=, q1+4($0)
- i32.load16_u $3=, q1+2($0)
- i32.load16_u $4=, q1($0)
- i32.load16_u $8=, q2($0)
- i32.load16_u $7=, q2+2($0)
- i32.load16_u $6=, q2+4($0)
- i32.load16_u $5=, q2+6($0)
- i32.load16_u $9=, q3+6($0)
- i32.load16_u $10=, q3+4($0)
- i32.load16_u $11=, q3+2($0)
- i32.load16_u $12=, q3($0)
- i32.load16_u $16=, q4($0)
- i32.load16_u $15=, q4+2($0)
- i32.load16_u $14=, q4+4($0)
- i32.load16_u $13=, q4+6($0)
- call func0@FUNCTION
- i32.mul $push3=, $5, $1
- i32.store16 $push8=, w1+6($0), $pop3
- i32.store16 $discard=, w3+6($0), $pop8
- i32.mul $push2=, $6, $2
- i32.store16 $push9=, w1+4($0), $pop2
- i32.store16 $discard=, w3+4($0), $pop9
- i32.mul $push1=, $7, $3
- i32.store16 $push10=, w1+2($0), $pop1
- i32.store16 $discard=, w3+2($0), $pop10
- i32.mul $push0=, $8, $4
- i32.store16 $push11=, w1($0), $pop0
- i32.store16 $discard=, w3($0), $pop11
+ i32.const $push0=, 0
+ i32.load16_u $0=, q1+4($pop0):p2align=2
+ i32.const $push41=, 0
+ i32.load16_u $1=, q1+2($pop41)
+ i32.const $push40=, 0
+ i32.load16_u $2=, q1($pop40):p2align=3
+ i32.const $push39=, 0
+ i32.load16_u $5=, q2($pop39):p2align=3
+ i32.const $push38=, 0
+ i32.load16_u $4=, q2+2($pop38)
+ i32.const $push37=, 0
+ i32.load16_u $3=, q2+4($pop37):p2align=2
+ i32.const $push36=, 0
+ i32.load16_u $6=, q3+6($pop36)
+ i32.const $push35=, 0
+ i32.load16_u $7=, q3+4($pop35):p2align=2
+ i32.const $push34=, 0
+ i32.load16_u $8=, q3+2($pop34)
+ i32.const $push33=, 0
+ i32.load16_u $9=, q3($pop33):p2align=3
+ i32.const $push32=, 0
+ i32.load16_u $13=, q4($pop32):p2align=3
+ i32.const $push31=, 0
+ i32.load16_u $12=, q4+2($pop31)
+ i32.const $push30=, 0
+ i32.load16_u $11=, q4+4($pop30):p2align=2
+ i32.const $push29=, 0
+ i32.load16_u $10=, q4+6($pop29)
+ i32.const $push28=, 0
+ i32.const $push27=, 0
+ i32.load16_u $push2=, q2+6($pop27)
+ i32.const $push26=, 0
+ i32.load16_u $push1=, q1+6($pop26)
+ i32.mul $push6=, $pop2, $pop1
+ i32.store16 $14=, w1+6($pop28), $pop6
+ i32.const $push25=, 0
+ i32.mul $push5=, $3, $0
+ i32.store16 $0=, w1+4($pop25):p2align=2, $pop5
+ i32.const $push24=, 0
+ i32.mul $push4=, $4, $1
+ i32.store16 $1=, w1+2($pop24), $pop4
+ i32.const $push23=, 0
+ i32.mul $push3=, $5, $2
+ i32.store16 $2=, w1($pop23):p2align=3, $pop3
+ i32.const $push22=, 0
+ i32.mul $push10=, $10, $6
+ i32.store16 $5=, w2+6($pop22), $pop10
+ i32.const $push21=, 0
+ i32.mul $push9=, $11, $7
+ i32.store16 $4=, w2+4($pop21):p2align=2, $pop9
+ i32.const $push20=, 0
+ i32.mul $push8=, $12, $8
+ i32.store16 $3=, w2+2($pop20), $pop8
+ i32.const $push19=, 0
i32.mul $push7=, $13, $9
- i32.store16 $push12=, w2+6($0), $pop7
- i32.store16 $discard=, w4+6($0), $pop12
- i32.mul $push6=, $14, $10
- i32.store16 $push13=, w2+4($0), $pop6
- i32.store16 $discard=, w4+4($0), $pop13
- i32.mul $push5=, $15, $11
- i32.store16 $push14=, w2+2($0), $pop5
- i32.store16 $discard=, w4+2($0), $pop14
- i32.mul $push4=, $16, $12
- i32.store16 $push15=, w2($0), $pop4
- i32.store16 $discard=, w4($0), $pop15
+ i32.store16 $6=, w2($pop19):p2align=3, $pop7
+ call func0@FUNCTION
+ i32.const $push18=, 0
+ i32.store16 $discard=, w3+6($pop18), $14
+ i32.const $push17=, 0
+ i32.store16 $discard=, w3+4($pop17):p2align=2, $0
+ i32.const $push16=, 0
+ i32.store16 $discard=, w3+2($pop16), $1
+ i32.const $push15=, 0
+ i32.store16 $discard=, w3($pop15):p2align=3, $2
+ i32.const $push14=, 0
+ i32.store16 $discard=, w4+6($pop14), $5
+ i32.const $push13=, 0
+ i32.store16 $discard=, w4+4($pop13):p2align=2, $4
+ i32.const $push12=, 0
+ i32.store16 $discard=, w4+2($pop12), $3
+ i32.const $push11=, 0
+ i32.store16 $discard=, w4($pop11):p2align=3, $6
return
.endfunc
.Lfunc_end1:
@@ -73,50 +104,81 @@ func1: # @func1
.globl func2
.type func2,@function
func2: # @func2
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load16_u $1=, q1+6($0)
- i32.load16_u $2=, q1+4($0)
- i32.load16_u $3=, q1+2($0)
- i32.load16_u $4=, q1($0)
- i32.load16_u $8=, q2($0)
- i32.load16_u $7=, q2+2($0)
- i32.load16_u $6=, q2+4($0)
- i32.load16_u $5=, q2+6($0)
- i32.load16_u $9=, q3+6($0)
- i32.load16_u $10=, q3+4($0)
- i32.load16_u $11=, q3+2($0)
- i32.load16_u $12=, q3($0)
- i32.load16_u $16=, q4($0)
- i32.load16_u $15=, q4+2($0)
- i32.load16_u $14=, q4+4($0)
- i32.load16_u $13=, q4+6($0)
- call func1@FUNCTION
- i32.add $push3=, $5, $1
- i32.store16 $push8=, z1+6($0), $pop3
- i32.store16 $discard=, z3+6($0), $pop8
- i32.add $push2=, $6, $2
- i32.store16 $push9=, z1+4($0), $pop2
- i32.store16 $discard=, z3+4($0), $pop9
- i32.add $push1=, $7, $3
- i32.store16 $push10=, z1+2($0), $pop1
- i32.store16 $discard=, z3+2($0), $pop10
- i32.add $push0=, $8, $4
- i32.store16 $push11=, z1($0), $pop0
- i32.store16 $discard=, z3($0), $pop11
+ i32.const $push0=, 0
+ i32.load16_u $0=, q1+4($pop0):p2align=2
+ i32.const $push41=, 0
+ i32.load16_u $1=, q1+2($pop41)
+ i32.const $push40=, 0
+ i32.load16_u $2=, q1($pop40):p2align=3
+ i32.const $push39=, 0
+ i32.load16_u $5=, q2($pop39):p2align=3
+ i32.const $push38=, 0
+ i32.load16_u $4=, q2+2($pop38)
+ i32.const $push37=, 0
+ i32.load16_u $3=, q2+4($pop37):p2align=2
+ i32.const $push36=, 0
+ i32.load16_u $6=, q3+6($pop36)
+ i32.const $push35=, 0
+ i32.load16_u $7=, q3+4($pop35):p2align=2
+ i32.const $push34=, 0
+ i32.load16_u $8=, q3+2($pop34)
+ i32.const $push33=, 0
+ i32.load16_u $9=, q3($pop33):p2align=3
+ i32.const $push32=, 0
+ i32.load16_u $13=, q4($pop32):p2align=3
+ i32.const $push31=, 0
+ i32.load16_u $12=, q4+2($pop31)
+ i32.const $push30=, 0
+ i32.load16_u $11=, q4+4($pop30):p2align=2
+ i32.const $push29=, 0
+ i32.load16_u $10=, q4+6($pop29)
+ i32.const $push28=, 0
+ i32.const $push27=, 0
+ i32.load16_u $push2=, q2+6($pop27)
+ i32.const $push26=, 0
+ i32.load16_u $push1=, q1+6($pop26)
+ i32.add $push6=, $pop2, $pop1
+ i32.store16 $14=, z1+6($pop28), $pop6
+ i32.const $push25=, 0
+ i32.add $push5=, $3, $0
+ i32.store16 $0=, z1+4($pop25):p2align=2, $pop5
+ i32.const $push24=, 0
+ i32.add $push4=, $4, $1
+ i32.store16 $1=, z1+2($pop24), $pop4
+ i32.const $push23=, 0
+ i32.add $push3=, $5, $2
+ i32.store16 $2=, z1($pop23):p2align=3, $pop3
+ i32.const $push22=, 0
+ i32.sub $push10=, $6, $10
+ i32.store16 $5=, z2+6($pop22), $pop10
+ i32.const $push21=, 0
+ i32.sub $push9=, $7, $11
+ i32.store16 $4=, z2+4($pop21):p2align=2, $pop9
+ i32.const $push20=, 0
+ i32.sub $push8=, $8, $12
+ i32.store16 $3=, z2+2($pop20), $pop8
+ i32.const $push19=, 0
i32.sub $push7=, $9, $13
- i32.store16 $push12=, z2+6($0), $pop7
- i32.store16 $discard=, z4+6($0), $pop12
- i32.sub $push6=, $10, $14
- i32.store16 $push13=, z2+4($0), $pop6
- i32.store16 $discard=, z4+4($0), $pop13
- i32.sub $push5=, $11, $15
- i32.store16 $push14=, z2+2($0), $pop5
- i32.store16 $discard=, z4+2($0), $pop14
- i32.sub $push4=, $12, $16
- i32.store16 $push15=, z2($0), $pop4
- i32.store16 $discard=, z4($0), $pop15
+ i32.store16 $6=, z2($pop19):p2align=3, $pop7
+ call func1@FUNCTION
+ i32.const $push18=, 0
+ i32.store16 $discard=, z3+6($pop18), $14
+ i32.const $push17=, 0
+ i32.store16 $discard=, z3+4($pop17):p2align=2, $0
+ i32.const $push16=, 0
+ i32.store16 $discard=, z3+2($pop16), $1
+ i32.const $push15=, 0
+ i32.store16 $discard=, z3($pop15):p2align=3, $2
+ i32.const $push14=, 0
+ i32.store16 $discard=, z4+6($pop14), $5
+ i32.const $push13=, 0
+ i32.store16 $discard=, z4+4($pop13):p2align=2, $4
+ i32.const $push12=, 0
+ i32.store16 $discard=, z4+2($pop12), $3
+ i32.const $push11=, 0
+ i32.store16 $discard=, z4($pop11):p2align=3, $6
return
.endfunc
.Lfunc_end2:
@@ -128,35 +190,42 @@ func2: # @func2
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
call func2@FUNCTION
- i32.const $0=, 0
block
- i64.load $push0=, w1($0)
- i64.load $push1=, w3($0)
+ i32.const $push14=, 0
+ i64.load $push0=, w1($pop14)
+ i32.const $push13=, 0
+ i64.load $push1=, w3($pop13)
i64.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
block
- i64.load $push3=, w2($0)
- i64.load $push4=, w4($0)
+ i32.const $push16=, 0
+ i64.load $push3=, w2($pop16)
+ i32.const $push15=, 0
+ i64.load $push4=, w4($pop15)
i64.ne $push5=, $pop3, $pop4
br_if $pop5, 0 # 0: down to label1
# BB#2: # %if.end4
block
- i64.load $push6=, z1($0)
- i64.load $push7=, z3($0)
+ i32.const $push18=, 0
+ i64.load $push6=, z1($pop18)
+ i32.const $push17=, 0
+ i64.load $push7=, z3($pop17)
i64.ne $push8=, $pop6, $pop7
br_if $pop8, 0 # 0: down to label2
# BB#3: # %if.end8
block
- i64.load $push9=, z2($0)
- i64.load $push10=, z4($0)
+ i32.const $push20=, 0
+ i64.load $push9=, z2($pop20)
+ i32.const $push19=, 0
+ i64.load $push10=, z4($pop19)
i64.ne $push11=, $pop9, $pop10
br_if $pop11, 0 # 0: down to label3
# BB#4: # %if.end12
- return $0
+ i32.const $push12=, 0
+ return $pop12
.LBB3_5: # %if.then11
end_block # label3:
call abort@FUNCTION
@@ -181,7 +250,7 @@ main: # @main
.type q1,@object
.section .data.q1,"aw",@progbits
.globl q1
- .align 3
+ .p2align 3
q1:
.int16 1 # 0x1
.int16 2 # 0x2
@@ -193,7 +262,7 @@ q1:
.type q2,@object
.section .data.q2,"aw",@progbits
.globl q2
- .align 3
+ .p2align 3
q2:
.int16 3 # 0x3
.int16 4 # 0x4
@@ -205,7 +274,7 @@ q2:
.type q3,@object
.section .data.q3,"aw",@progbits
.globl q3
- .align 3
+ .p2align 3
q3:
.int16 5 # 0x5
.int16 6 # 0x6
@@ -217,7 +286,7 @@ q3:
.type q4,@object
.section .data.q4,"aw",@progbits
.globl q4
- .align 3
+ .p2align 3
q4:
.int16 7 # 0x7
.int16 8 # 0x8
@@ -229,7 +298,7 @@ q4:
.type dummy,@object
.section .bss.dummy,"aw",@nobits
.globl dummy
- .align 2
+ .p2align 2
dummy:
.int32 0 # 0x0
.size dummy, 4
@@ -238,7 +307,7 @@ dummy:
.type w1,@object
.section .bss.w1,"aw",@nobits
.globl w1
- .align 3
+ .p2align 3
w1:
.skip 8
.size w1, 8
@@ -247,7 +316,7 @@ w1:
.type w2,@object
.section .bss.w2,"aw",@nobits
.globl w2
- .align 3
+ .p2align 3
w2:
.skip 8
.size w2, 8
@@ -256,7 +325,7 @@ w2:
.type w3,@object
.section .bss.w3,"aw",@nobits
.globl w3
- .align 3
+ .p2align 3
w3:
.skip 8
.size w3, 8
@@ -265,7 +334,7 @@ w3:
.type w4,@object
.section .bss.w4,"aw",@nobits
.globl w4
- .align 3
+ .p2align 3
w4:
.skip 8
.size w4, 8
@@ -274,7 +343,7 @@ w4:
.type z1,@object
.section .bss.z1,"aw",@nobits
.globl z1
- .align 3
+ .p2align 3
z1:
.skip 8
.size z1, 8
@@ -283,7 +352,7 @@ z1:
.type z2,@object
.section .bss.z2,"aw",@nobits
.globl z2
- .align 3
+ .p2align 3
z2:
.skip 8
.size z2, 8
@@ -292,7 +361,7 @@ z2:
.type z3,@object
.section .bss.z3,"aw",@nobits
.globl z3
- .align 3
+ .p2align 3
z3:
.skip 8
.size z3, 8
@@ -301,7 +370,7 @@ z3:
.type z4,@object
.section .bss.z4,"aw",@nobits
.globl z4
- .align 3
+ .p2align 3
z4:
.skip 8
.size z4, 8
diff --git a/test/torture-s/simd-6.c.s b/test/torture-s/simd-6.c.s
index 7b0217258..8f6315d0a 100644
--- a/test/torture-s/simd-6.c.s
+++ b/test/torture-s/simd-6.c.s
@@ -10,33 +10,33 @@ foo: # @foo
i32.const $push8=, 7
i32.add $push9=, $0, $pop8
i32.mul $push7=, $16, $8
- i32.store8 $discard=, 0($pop9), $pop7
+ i32.store8 $discard=, 0($pop9):p2align=3, $pop7
i32.const $push10=, 6
i32.add $push11=, $0, $pop10
i32.mul $push6=, $15, $7
- i32.store8 $discard=, 0($pop11), $pop6
+ i32.store8 $discard=, 0($pop11):p2align=3, $pop6
i32.const $push12=, 5
i32.add $push13=, $0, $pop12
i32.mul $push5=, $14, $6
- i32.store8 $discard=, 0($pop13), $pop5
+ i32.store8 $discard=, 0($pop13):p2align=3, $pop5
i32.const $push14=, 4
i32.add $push15=, $0, $pop14
i32.mul $push4=, $13, $5
- i32.store8 $discard=, 0($pop15), $pop4
+ i32.store8 $discard=, 0($pop15):p2align=3, $pop4
i32.const $push16=, 3
i32.add $push17=, $0, $pop16
i32.mul $push3=, $12, $4
- i32.store8 $discard=, 0($pop17), $pop3
+ i32.store8 $discard=, 0($pop17):p2align=3, $pop3
i32.const $push18=, 2
i32.add $push19=, $0, $pop18
i32.mul $push2=, $11, $3
- i32.store8 $discard=, 0($pop19), $pop2
+ i32.store8 $discard=, 0($pop19):p2align=3, $pop2
i32.const $push20=, 1
i32.add $push21=, $0, $pop20
i32.mul $push1=, $10, $2
- i32.store8 $discard=, 0($pop21), $pop1
+ i32.store8 $discard=, 0($pop21):p2align=3, $pop1
i32.mul $push0=, $9, $1
- i32.store8 $discard=, 0($0), $pop0
+ i32.store8 $discard=, 0($0):p2align=3, $pop0
return
.endfunc
.Lfunc_end0:
diff --git a/test/torture-s/stdarg-1.c.s b/test/torture-s/stdarg-1.c.s
new file mode 100644
index 000000000..dda946f9c
--- /dev/null
+++ b/test/torture-s/stdarg-1.c.s
@@ -0,0 +1,1587 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/stdarg-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $discard=, 12($5), $1
+ block
+ i32.const $push0=, 5
+ i32.ne $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %sw.bb
+ i32.load $push2=, 12($5)
+ i32.const $push3=, 3
+ i32.add $push4=, $pop2, $pop3
+ i32.const $push5=, -4
+ i32.and $push6=, $pop4, $pop5
+ tee_local $push11=, $0=, $pop6
+ i32.const $push7=, 4
+ i32.add $push8=, $pop11, $pop7
+ i32.store $discard=, 12($5), $pop8
+ i32.const $push10=, 0
+ i32.load $push9=, 0($0)
+ i32.store $discard=, foo_arg($pop10), $pop9
+ i32.const $4=, 16
+ i32.add $5=, $5, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB0_2: # %sw.default
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32
+ .local i32, i64, i32
+# BB#0: # %entry
+ block
+ block
+ block
+ i32.const $push0=, 16392
+ i32.eq $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label3
+# BB#1: # %entry
+ i32.const $push2=, 16390
+ i32.ne $push3=, $0, $pop2
+ br_if $pop3, 1 # 1: down to label2
+# BB#2: # %if.then
+ i32.const $push60=, 0
+ i32.const $push59=, 0
+ i32.load $push37=, gap($pop59)
+ i32.const $push38=, 7
+ i32.add $push39=, $pop37, $pop38
+ i32.const $push40=, -8
+ i32.and $push41=, $pop39, $pop40
+ tee_local $push58=, $1=, $pop41
+ i32.const $push42=, 8
+ i32.add $push43=, $pop58, $pop42
+ i32.store $discard=, gap($pop60), $pop43
+ block
+ f64.load $push44=, 0($1)
+ f64.const $push45=, 0x1.1p4
+ f64.ne $push46=, $pop44, $pop45
+ br_if $pop46, 0 # 0: down to label4
+# BB#3: # %lor.lhs.false
+ i32.const $push63=, 0
+ i32.const $push62=, 0
+ i32.load $push47=, gap($pop62)
+ i32.const $push48=, 3
+ i32.add $push49=, $pop47, $pop48
+ i32.const $push50=, -4
+ i32.and $push51=, $pop49, $pop50
+ tee_local $push61=, $1=, $pop51
+ i32.const $push52=, 4
+ i32.add $push53=, $pop61, $pop52
+ i32.store $discard=, gap($pop63), $pop53
+ i32.load $push54=, 0($1)
+ i32.const $push55=, 129
+ i32.eq $push56=, $pop54, $pop55
+ br_if $pop56, 2 # 2: down to label2
+.LBB1_4: # %if.then3
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB1_5: # %if.then5
+ end_block # label3:
+ i32.const $push66=, 0
+ i32.load $1=, pap($pop66)
+ i32.load $push4=, 0($1)
+ i32.const $push5=, 7
+ i32.add $push6=, $pop4, $pop5
+ i32.const $push7=, -8
+ i32.and $push8=, $pop6, $pop7
+ tee_local $push65=, $3=, $pop8
+ i32.const $push64=, 8
+ i32.add $push9=, $pop65, $pop64
+ i32.store $discard=, 0($1), $pop9
+ i64.load $push10=, 0($3)
+ i64.const $push11=, 14
+ i64.ne $push12=, $pop10, $pop11
+ br_if $pop12, 1 # 1: down to label1
+# BB#6: # %lor.lhs.false7
+ i32.const $push72=, 0
+ i32.load $push13=, pap($pop72)
+ tee_local $push71=, $1=, $pop13
+ i32.load $push14=, 0($pop71)
+ i32.const $push15=, 15
+ i32.add $push16=, $pop14, $pop15
+ i32.const $push17=, -16
+ i32.and $push18=, $pop16, $pop17
+ tee_local $push70=, $3=, $pop18
+ i64.load $2=, 0($pop70)
+ i32.const $push69=, 8
+ i32.or $push19=, $3, $pop69
+ i32.store $push20=, 0($1), $pop19
+ tee_local $push68=, $3=, $pop20
+ i32.const $push67=, 8
+ i32.add $push21=, $pop68, $pop67
+ i32.store $discard=, 0($1), $pop21
+ i64.load $push22=, 0($3)
+ i64.const $push24=, 0
+ i64.const $push23=, 4613381465357418496
+ i32.call $push25=, __netf2@FUNCTION, $2, $pop22, $pop24, $pop23
+ br_if $pop25, 1 # 1: down to label1
+# BB#7: # %lor.lhs.false9
+ i32.const $push26=, 0
+ i32.load $1=, pap($pop26)
+ i32.load $push27=, 0($1)
+ i32.const $push28=, 3
+ i32.add $push29=, $pop27, $pop28
+ i32.const $push30=, -4
+ i32.and $push31=, $pop29, $pop30
+ tee_local $push73=, $3=, $pop31
+ i32.const $push32=, 4
+ i32.add $push33=, $pop73, $pop32
+ i32.store $discard=, 0($1), $pop33
+ i32.load $push34=, 0($3)
+ i32.const $push35=, 17
+ i32.ne $push36=, $pop34, $pop35
+ br_if $pop36, 1 # 1: down to label1
+.LBB1_8: # %if.end14
+ end_block # label2:
+ i32.const $push57=, 0
+ i32.store $discard=, bar_arg($pop57), $0
+ return
+.LBB1_9: # %if.then11
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.f0,"ax",@progbits
+ .hidden f0
+ .globl f0
+ .type f0,@function
+f0: # @f0
+ .param i32
+# BB#0: # %entry
+ return
+ .endfunc
+.Lfunc_end2:
+ .size f0, .Lfunc_end2-f0
+
+ .section .text.f1,"ax",@progbits
+ .hidden f1
+ .globl f1
+ .type f1,@function
+f1: # @f1
+ .param i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ copy_local $5=, $4
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.store $discard=, 12($4), $5
+ i32.const $3=, 16
+ i32.add $4=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return
+ .endfunc
+.Lfunc_end3:
+ .size f1, .Lfunc_end3-f1
+
+ .section .text.f2,"ax",@progbits
+ .hidden f2
+ .globl f2
+ .type f2,@function
+f2: # @f2
+ .param i32
+ .local f64, i64, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $9=, $6, $7
+ copy_local $10=, $9
+ i32.const $7=, __stack_pointer
+ i32.store $9=, 0($7), $9
+ i32.const $push123=, 0
+ f64.load $1=, d($pop123)
+ i32.store $discard=, 12($9), $10
+ block
+ block
+ block
+ i32.trunc_s/f64 $push0=, $1
+ tee_local $push122=, $4=, $pop0
+ i32.const $push2=, 16392
+ i32.eq $push3=, $pop122, $pop2
+ br_if $pop3, 0 # 0: down to label7
+# BB#1: # %entry
+ i32.const $push4=, 16390
+ i32.ne $push5=, $4, $pop4
+ br_if $pop5, 1 # 1: down to label6
+# BB#2: # %if.then.i
+ i32.const $push126=, 0
+ i32.const $push125=, 0
+ i32.load $push38=, gap($pop125)
+ i32.const $push39=, 7
+ i32.add $push40=, $pop38, $pop39
+ i32.const $push41=, -8
+ i32.and $push42=, $pop40, $pop41
+ tee_local $push124=, $3=, $pop42
+ i32.const $push43=, 8
+ i32.add $push44=, $pop124, $pop43
+ i32.store $discard=, gap($pop126), $pop44
+ block
+ f64.load $push45=, 0($3)
+ f64.const $push46=, 0x1.1p4
+ f64.ne $push47=, $pop45, $pop46
+ br_if $pop47, 0 # 0: down to label8
+# BB#3: # %lor.lhs.false.i
+ i32.const $push129=, 0
+ i32.const $push128=, 0
+ i32.load $push48=, gap($pop128)
+ i32.const $push49=, 3
+ i32.add $push50=, $pop48, $pop49
+ i32.const $push51=, -4
+ i32.and $push52=, $pop50, $pop51
+ tee_local $push127=, $3=, $pop52
+ i32.const $push53=, 4
+ i32.add $push54=, $pop127, $pop53
+ i32.store $discard=, gap($pop129), $pop54
+ i32.load $push55=, 0($3)
+ i32.const $push56=, 129
+ i32.eq $push57=, $pop55, $pop56
+ br_if $pop57, 2 # 2: down to label6
+.LBB4_4: # %if.then3.i
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB4_5: # %if.then5.i
+ end_block # label7:
+ i32.const $push132=, 0
+ i32.load $3=, pap($pop132)
+ i32.load $push6=, 0($3)
+ i32.const $push7=, 7
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -8
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push131=, $5=, $pop10
+ i32.const $push130=, 8
+ i32.add $push11=, $pop131, $pop130
+ i32.store $discard=, 0($3), $pop11
+ i64.load $push12=, 0($5)
+ i64.const $push13=, 14
+ i64.ne $push14=, $pop12, $pop13
+ br_if $pop14, 1 # 1: down to label5
+# BB#6: # %lor.lhs.false7.i
+ i32.const $push138=, 0
+ i32.load $push15=, pap($pop138)
+ tee_local $push137=, $3=, $pop15
+ i32.load $push16=, 0($pop137)
+ i32.const $push17=, 15
+ i32.add $push18=, $pop16, $pop17
+ i32.const $push19=, -16
+ i32.and $push20=, $pop18, $pop19
+ tee_local $push136=, $5=, $pop20
+ i64.load $2=, 0($pop136)
+ i32.const $push135=, 8
+ i32.or $push21=, $5, $pop135
+ i32.store $push22=, 0($3), $pop21
+ tee_local $push134=, $5=, $pop22
+ i32.const $push133=, 8
+ i32.add $push23=, $pop134, $pop133
+ i32.store $discard=, 0($3), $pop23
+ i64.load $push24=, 0($5)
+ i64.const $push26=, 0
+ i64.const $push25=, 4613381465357418496
+ i32.call $push27=, __netf2@FUNCTION, $2, $pop24, $pop26, $pop25
+ br_if $pop27, 1 # 1: down to label5
+# BB#7: # %lor.lhs.false9.i
+ i32.const $push140=, 0
+ i32.load $3=, pap($pop140)
+ i32.load $push28=, 0($3)
+ i32.const $push29=, 3
+ i32.add $push30=, $pop28, $pop29
+ i32.const $push31=, -4
+ i32.and $push32=, $pop30, $pop31
+ tee_local $push139=, $5=, $pop32
+ i32.const $push33=, 4
+ i32.add $push34=, $pop139, $pop33
+ i32.store $discard=, 0($3), $pop34
+ i32.load $push35=, 0($5)
+ i32.const $push36=, 17
+ i32.ne $push37=, $pop35, $pop36
+ br_if $pop37, 1 # 1: down to label5
+.LBB4_8: # %bar.exit
+ end_block # label6:
+ i32.load $3=, 12($9)
+ i32.const $push144=, 0
+ i32.store $discard=, bar_arg($pop144), $4
+ i32.const $push58=, 3
+ i32.add $push59=, $3, $pop58
+ i32.const $push60=, -4
+ i32.and $push61=, $pop59, $pop60
+ tee_local $push143=, $4=, $pop61
+ i32.const $push62=, 4
+ i32.add $push63=, $pop143, $pop62
+ i32.store $discard=, 12($9), $pop63
+ block
+ block
+ block
+ i32.const $push142=, 0
+ i32.load $push1=, 0($4)
+ i32.store $push64=, x($pop142), $pop1
+ tee_local $push141=, $4=, $pop64
+ i32.const $push65=, 16392
+ i32.eq $push66=, $pop141, $pop65
+ br_if $pop66, 0 # 0: down to label11
+# BB#9: # %bar.exit
+ i32.const $push67=, 16390
+ i32.ne $push68=, $4, $pop67
+ br_if $pop68, 1 # 1: down to label10
+# BB#10: # %if.then.i4
+ i32.const $push147=, 0
+ i32.const $push146=, 0
+ i32.load $push101=, gap($pop146)
+ i32.const $push102=, 7
+ i32.add $push103=, $pop101, $pop102
+ i32.const $push104=, -8
+ i32.and $push105=, $pop103, $pop104
+ tee_local $push145=, $3=, $pop105
+ i32.const $push106=, 8
+ i32.add $push107=, $pop145, $pop106
+ i32.store $discard=, gap($pop147), $pop107
+ block
+ f64.load $push108=, 0($3)
+ f64.const $push109=, 0x1.1p4
+ f64.ne $push110=, $pop108, $pop109
+ br_if $pop110, 0 # 0: down to label12
+# BB#11: # %lor.lhs.false.i6
+ i32.const $push150=, 0
+ i32.const $push149=, 0
+ i32.load $push111=, gap($pop149)
+ i32.const $push112=, 3
+ i32.add $push113=, $pop111, $pop112
+ i32.const $push114=, -4
+ i32.and $push115=, $pop113, $pop114
+ tee_local $push148=, $3=, $pop115
+ i32.const $push116=, 4
+ i32.add $push117=, $pop148, $pop116
+ i32.store $discard=, gap($pop150), $pop117
+ i32.load $push118=, 0($3)
+ i32.const $push119=, 129
+ i32.eq $push120=, $pop118, $pop119
+ br_if $pop120, 2 # 2: down to label10
+.LBB4_12: # %if.then3.i7
+ end_block # label12:
+ call abort@FUNCTION
+ unreachable
+.LBB4_13: # %if.then5.i9
+ end_block # label11:
+ i32.const $push153=, 0
+ i32.load $3=, pap($pop153)
+ i32.load $push69=, 0($3)
+ i32.const $push70=, 7
+ i32.add $push71=, $pop69, $pop70
+ i32.const $push72=, -8
+ i32.and $push73=, $pop71, $pop72
+ tee_local $push152=, $5=, $pop73
+ i32.const $push151=, 8
+ i32.add $push74=, $pop152, $pop151
+ i32.store $discard=, 0($3), $pop74
+ i64.load $push75=, 0($5)
+ i64.const $push76=, 14
+ i64.ne $push77=, $pop75, $pop76
+ br_if $pop77, 1 # 1: down to label9
+# BB#14: # %lor.lhs.false7.i11
+ i32.const $push159=, 0
+ i32.load $push78=, pap($pop159)
+ tee_local $push158=, $3=, $pop78
+ i32.load $push79=, 0($pop158)
+ i32.const $push80=, 15
+ i32.add $push81=, $pop79, $pop80
+ i32.const $push82=, -16
+ i32.and $push83=, $pop81, $pop82
+ tee_local $push157=, $5=, $pop83
+ i64.load $2=, 0($pop157)
+ i32.const $push156=, 8
+ i32.or $push84=, $5, $pop156
+ i32.store $push85=, 0($3), $pop84
+ tee_local $push155=, $5=, $pop85
+ i32.const $push154=, 8
+ i32.add $push86=, $pop155, $pop154
+ i32.store $discard=, 0($3), $pop86
+ i64.load $push87=, 0($5)
+ i64.const $push89=, 0
+ i64.const $push88=, 4613381465357418496
+ i32.call $push90=, __netf2@FUNCTION, $2, $pop87, $pop89, $pop88
+ br_if $pop90, 1 # 1: down to label9
+# BB#15: # %lor.lhs.false9.i13
+ i32.const $push161=, 0
+ i32.load $3=, pap($pop161)
+ i32.load $push91=, 0($3)
+ i32.const $push92=, 3
+ i32.add $push93=, $pop91, $pop92
+ i32.const $push94=, -4
+ i32.and $push95=, $pop93, $pop94
+ tee_local $push160=, $5=, $pop95
+ i32.const $push96=, 4
+ i32.add $push97=, $pop160, $pop96
+ i32.store $discard=, 0($3), $pop97
+ i32.load $push98=, 0($5)
+ i32.const $push99=, 17
+ i32.ne $push100=, $pop98, $pop99
+ br_if $pop100, 1 # 1: down to label9
+.LBB4_16: # %bar.exit15
+ end_block # label10:
+ i32.const $push121=, 0
+ i32.store $discard=, bar_arg($pop121), $4
+ i32.const $8=, 16
+ i32.add $9=, $10, $8
+ i32.const $8=, __stack_pointer
+ i32.store $9=, 0($8), $9
+ return
+.LBB4_17: # %if.then11.i14
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB4_18: # %if.then11.i
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end4:
+ .size f2, .Lfunc_end4-f2
+
+ .section .text.f3,"ax",@progbits
+ .hidden f3
+ .globl f3
+ .type f3,@function
+f3: # @f3
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push0=, 12($5), $6
+ i32.const $push1=, 7
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -8
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push9=, $1=, $pop4
+ i32.const $push5=, 8
+ i32.add $push6=, $pop9, $pop5
+ i32.store $discard=, 12($5), $pop6
+ i32.const $push8=, 0
+ f64.load $push7=, 0($1)
+ f64.store $discard=, d($pop8), $pop7
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+ .endfunc
+.Lfunc_end5:
+ .size f3, .Lfunc_end5-f3
+
+ .section .text.f4,"ax",@progbits
+ .hidden f4
+ .globl f4
+ .type f4,@function
+f4: # @f4
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $push0=, 8($6), $7
+ i32.const $push1=, 7
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -8
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push20=, $2=, $pop4
+ i32.const $push5=, 8
+ i32.add $push6=, $pop20, $pop5
+ i32.store $1=, 8($6), $pop6
+ i32.const $push19=, 0
+ f64.load $push7=, 0($2)
+ i32.trunc_s/f64 $push8=, $pop7
+ i32.store $discard=, x($pop19), $pop8
+ i32.store $discard=, 12($6), $1
+ block
+ i32.const $push9=, 5
+ i32.ne $push10=, $0, $pop9
+ br_if $pop10, 0 # 0: down to label13
+# BB#1: # %foo.exit
+ i32.load $push11=, 12($6)
+ i32.const $push12=, 3
+ i32.add $push13=, $pop11, $pop12
+ i32.const $push14=, -4
+ i32.and $push15=, $pop13, $pop14
+ tee_local $push22=, $0=, $pop15
+ i32.const $push16=, 4
+ i32.add $push17=, $pop22, $pop16
+ i32.store $discard=, 12($6), $pop17
+ i32.const $push21=, 0
+ i32.load $push18=, 0($0)
+ i32.store $discard=, foo_arg($pop21), $pop18
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+.LBB6_2: # %sw.default.i
+ end_block # label13:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end6:
+ .size f4, .Lfunc_end6-f4
+
+ .section .text.f5,"ax",@progbits
+ .hidden f5
+ .globl f5
+ .type f5,@function
+f5: # @f5
+ .param i32
+ .local i32, i64, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $7=, $4, $5
+ copy_local $8=, $7
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
+ i32.const $push58=, 0
+ i32.store $push0=, 12($7), $8
+ i32.store $discard=, gap($pop58), $pop0
+ block
+ block
+ block
+ i32.const $push1=, 16392
+ i32.eq $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label16
+# BB#1: # %entry
+ i32.const $push3=, 16390
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 1 # 1: down to label15
+# BB#2: # %if.then.i
+ i32.const $push61=, 0
+ i32.const $push60=, 0
+ i32.load $push37=, gap($pop60)
+ i32.const $push38=, 7
+ i32.add $push39=, $pop37, $pop38
+ i32.const $push40=, -8
+ i32.and $push41=, $pop39, $pop40
+ tee_local $push59=, $1=, $pop41
+ i32.const $push42=, 8
+ i32.add $push43=, $pop59, $pop42
+ i32.store $discard=, gap($pop61), $pop43
+ block
+ f64.load $push44=, 0($1)
+ f64.const $push45=, 0x1.1p4
+ f64.ne $push46=, $pop44, $pop45
+ br_if $pop46, 0 # 0: down to label17
+# BB#3: # %lor.lhs.false.i
+ i32.const $push64=, 0
+ i32.const $push63=, 0
+ i32.load $push47=, gap($pop63)
+ i32.const $push48=, 3
+ i32.add $push49=, $pop47, $pop48
+ i32.const $push50=, -4
+ i32.and $push51=, $pop49, $pop50
+ tee_local $push62=, $1=, $pop51
+ i32.const $push52=, 4
+ i32.add $push53=, $pop62, $pop52
+ i32.store $discard=, gap($pop64), $pop53
+ i32.load $push54=, 0($1)
+ i32.const $push55=, 129
+ i32.eq $push56=, $pop54, $pop55
+ br_if $pop56, 2 # 2: down to label15
+.LBB7_4: # %if.then3.i
+ end_block # label17:
+ call abort@FUNCTION
+ unreachable
+.LBB7_5: # %if.then5.i
+ end_block # label16:
+ i32.const $push67=, 0
+ i32.load $1=, pap($pop67)
+ i32.load $push5=, 0($1)
+ i32.const $push6=, 7
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -8
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push66=, $3=, $pop9
+ i32.const $push65=, 8
+ i32.add $push10=, $pop66, $pop65
+ i32.store $discard=, 0($1), $pop10
+ i64.load $push11=, 0($3)
+ i64.const $push12=, 14
+ i64.ne $push13=, $pop11, $pop12
+ br_if $pop13, 1 # 1: down to label14
+# BB#6: # %lor.lhs.false7.i
+ i32.const $push73=, 0
+ i32.load $push14=, pap($pop73)
+ tee_local $push72=, $1=, $pop14
+ i32.load $push15=, 0($pop72)
+ i32.const $push16=, 15
+ i32.add $push17=, $pop15, $pop16
+ i32.const $push18=, -16
+ i32.and $push19=, $pop17, $pop18
+ tee_local $push71=, $3=, $pop19
+ i64.load $2=, 0($pop71)
+ i32.const $push70=, 8
+ i32.or $push20=, $3, $pop70
+ i32.store $push21=, 0($1), $pop20
+ tee_local $push69=, $3=, $pop21
+ i32.const $push68=, 8
+ i32.add $push22=, $pop69, $pop68
+ i32.store $discard=, 0($1), $pop22
+ i64.load $push23=, 0($3)
+ i64.const $push25=, 0
+ i64.const $push24=, 4613381465357418496
+ i32.call $push26=, __netf2@FUNCTION, $2, $pop23, $pop25, $pop24
+ br_if $pop26, 1 # 1: down to label14
+# BB#7: # %lor.lhs.false9.i
+ i32.const $push75=, 0
+ i32.load $1=, pap($pop75)
+ i32.load $push27=, 0($1)
+ i32.const $push28=, 3
+ i32.add $push29=, $pop27, $pop28
+ i32.const $push30=, -4
+ i32.and $push31=, $pop29, $pop30
+ tee_local $push74=, $3=, $pop31
+ i32.const $push32=, 4
+ i32.add $push33=, $pop74, $pop32
+ i32.store $discard=, 0($1), $pop33
+ i32.load $push34=, 0($3)
+ i32.const $push35=, 17
+ i32.ne $push36=, $pop34, $pop35
+ br_if $pop36, 1 # 1: down to label14
+.LBB7_8: # %bar.exit
+ end_block # label15:
+ i32.const $push57=, 0
+ i32.store $discard=, bar_arg($pop57), $0
+ i32.const $6=, 16
+ i32.add $7=, $8, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ return
+.LBB7_9: # %if.then11.i
+ end_block # label14:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end7:
+ .size f5, .Lfunc_end7-f5
+
+ .section .text.f6,"ax",@progbits
+ .hidden f6
+ .globl f6
+ .type f6,@function
+f6: # @f6
+ .param i32
+ .local f64, i64, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $9=, $6, $7
+ copy_local $10=, $9
+ i32.const $7=, __stack_pointer
+ i32.store $9=, 0($7), $9
+ i32.const $push128=, 0
+ f64.load $1=, d($pop128)
+ i32.store $discard=, 12($9), $10
+ block
+ block
+ block
+ i32.trunc_s/f64 $push0=, $1
+ tee_local $push127=, $4=, $pop0
+ i32.const $push2=, 16392
+ i32.eq $push3=, $pop127, $pop2
+ br_if $pop3, 0 # 0: down to label20
+# BB#1: # %entry
+ i32.const $push4=, 16390
+ i32.ne $push5=, $4, $pop4
+ br_if $pop5, 1 # 1: down to label19
+# BB#2: # %if.then.i
+ i32.const $push131=, 0
+ i32.const $push130=, 0
+ i32.load $push38=, gap($pop130)
+ i32.const $push39=, 7
+ i32.add $push40=, $pop38, $pop39
+ i32.const $push41=, -8
+ i32.and $push42=, $pop40, $pop41
+ tee_local $push129=, $3=, $pop42
+ i32.const $push43=, 8
+ i32.add $push44=, $pop129, $pop43
+ i32.store $discard=, gap($pop131), $pop44
+ block
+ f64.load $push45=, 0($3)
+ f64.const $push46=, 0x1.1p4
+ f64.ne $push47=, $pop45, $pop46
+ br_if $pop47, 0 # 0: down to label21
+# BB#3: # %lor.lhs.false.i
+ i32.const $push134=, 0
+ i32.const $push133=, 0
+ i32.load $push48=, gap($pop133)
+ i32.const $push49=, 3
+ i32.add $push50=, $pop48, $pop49
+ i32.const $push51=, -4
+ i32.and $push52=, $pop50, $pop51
+ tee_local $push132=, $3=, $pop52
+ i32.const $push53=, 4
+ i32.add $push54=, $pop132, $pop53
+ i32.store $discard=, gap($pop134), $pop54
+ i32.load $push55=, 0($3)
+ i32.const $push56=, 129
+ i32.eq $push57=, $pop55, $pop56
+ br_if $pop57, 2 # 2: down to label19
+.LBB8_4: # %if.then3.i
+ end_block # label21:
+ call abort@FUNCTION
+ unreachable
+.LBB8_5: # %if.then5.i
+ end_block # label20:
+ i32.const $push137=, 0
+ i32.load $3=, pap($pop137)
+ i32.load $push6=, 0($3)
+ i32.const $push7=, 7
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -8
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push136=, $5=, $pop10
+ i32.const $push135=, 8
+ i32.add $push11=, $pop136, $pop135
+ i32.store $discard=, 0($3), $pop11
+ i64.load $push12=, 0($5)
+ i64.const $push13=, 14
+ i64.ne $push14=, $pop12, $pop13
+ br_if $pop14, 1 # 1: down to label18
+# BB#6: # %lor.lhs.false7.i
+ i32.const $push143=, 0
+ i32.load $push15=, pap($pop143)
+ tee_local $push142=, $3=, $pop15
+ i32.load $push16=, 0($pop142)
+ i32.const $push17=, 15
+ i32.add $push18=, $pop16, $pop17
+ i32.const $push19=, -16
+ i32.and $push20=, $pop18, $pop19
+ tee_local $push141=, $5=, $pop20
+ i64.load $2=, 0($pop141)
+ i32.const $push140=, 8
+ i32.or $push21=, $5, $pop140
+ i32.store $push22=, 0($3), $pop21
+ tee_local $push139=, $5=, $pop22
+ i32.const $push138=, 8
+ i32.add $push23=, $pop139, $pop138
+ i32.store $discard=, 0($3), $pop23
+ i64.load $push24=, 0($5)
+ i64.const $push26=, 0
+ i64.const $push25=, 4613381465357418496
+ i32.call $push27=, __netf2@FUNCTION, $2, $pop24, $pop26, $pop25
+ br_if $pop27, 1 # 1: down to label18
+# BB#7: # %lor.lhs.false9.i
+ i32.const $push145=, 0
+ i32.load $3=, pap($pop145)
+ i32.load $push28=, 0($3)
+ i32.const $push29=, 3
+ i32.add $push30=, $pop28, $pop29
+ i32.const $push31=, -4
+ i32.and $push32=, $pop30, $pop31
+ tee_local $push144=, $5=, $pop32
+ i32.const $push33=, 4
+ i32.add $push34=, $pop144, $pop33
+ i32.store $discard=, 0($3), $pop34
+ i32.load $push35=, 0($5)
+ i32.const $push36=, 17
+ i32.ne $push37=, $pop35, $pop36
+ br_if $pop37, 1 # 1: down to label18
+.LBB8_8: # %bar.exit
+ end_block # label19:
+ i32.load $3=, 12($9)
+ i32.const $push157=, 0
+ i32.store $discard=, bar_arg($pop157), $4
+ i32.const $push58=, 3
+ i32.add $push59=, $3, $pop58
+ i32.const $push60=, -4
+ i32.and $push61=, $pop59, $pop60
+ tee_local $push156=, $4=, $pop61
+ i32.const $push62=, 4
+ i32.add $push63=, $pop156, $pop62
+ i32.store $discard=, 12($9), $pop63
+ i32.const $push155=, 7
+ i32.add $push64=, $4, $pop155
+ i32.const $push154=, -4
+ i32.and $push65=, $pop64, $pop154
+ tee_local $push153=, $4=, $pop65
+ i32.const $push152=, 4
+ i32.add $push66=, $pop153, $pop152
+ i32.store $discard=, 12($9), $pop66
+ i32.const $push151=, 7
+ i32.add $push67=, $4, $pop151
+ i32.const $push150=, -4
+ i32.and $push68=, $pop67, $pop150
+ tee_local $push149=, $4=, $pop68
+ i32.const $push148=, 4
+ i32.add $push69=, $pop149, $pop148
+ i32.store $discard=, 12($9), $pop69
+ block
+ block
+ block
+ i32.const $push147=, 0
+ i32.load $push1=, 0($4)
+ i32.store $push70=, x($pop147), $pop1
+ tee_local $push146=, $4=, $pop70
+ i32.const $push71=, 16392
+ i32.eq $push72=, $pop146, $pop71
+ br_if $pop72, 0 # 0: down to label24
+# BB#9: # %bar.exit
+ i32.const $push73=, 16390
+ i32.ne $push74=, $4, $pop73
+ br_if $pop74, 1 # 1: down to label23
+# BB#10: # %if.then.i4
+ i32.const $push160=, 0
+ i32.const $push159=, 0
+ i32.load $push106=, gap($pop159)
+ i32.const $push107=, 7
+ i32.add $push108=, $pop106, $pop107
+ i32.const $push109=, -8
+ i32.and $push110=, $pop108, $pop109
+ tee_local $push158=, $3=, $pop110
+ i32.const $push111=, 8
+ i32.add $push112=, $pop158, $pop111
+ i32.store $discard=, gap($pop160), $pop112
+ block
+ f64.load $push113=, 0($3)
+ f64.const $push114=, 0x1.1p4
+ f64.ne $push115=, $pop113, $pop114
+ br_if $pop115, 0 # 0: down to label25
+# BB#11: # %lor.lhs.false.i6
+ i32.const $push163=, 0
+ i32.const $push162=, 0
+ i32.load $push116=, gap($pop162)
+ i32.const $push117=, 3
+ i32.add $push118=, $pop116, $pop117
+ i32.const $push119=, -4
+ i32.and $push120=, $pop118, $pop119
+ tee_local $push161=, $3=, $pop120
+ i32.const $push121=, 4
+ i32.add $push122=, $pop161, $pop121
+ i32.store $discard=, gap($pop163), $pop122
+ i32.load $push123=, 0($3)
+ i32.const $push124=, 129
+ i32.eq $push125=, $pop123, $pop124
+ br_if $pop125, 2 # 2: down to label23
+.LBB8_12: # %if.then3.i7
+ end_block # label25:
+ call abort@FUNCTION
+ unreachable
+.LBB8_13: # %if.then5.i9
+ end_block # label24:
+ i32.const $push167=, 0
+ i32.load $3=, pap($pop167)
+ i32.load $push75=, 0($3)
+ i32.const $push166=, 7
+ i32.add $push76=, $pop75, $pop166
+ i32.const $push77=, -8
+ i32.and $push78=, $pop76, $pop77
+ tee_local $push165=, $5=, $pop78
+ i32.const $push164=, 8
+ i32.add $push79=, $pop165, $pop164
+ i32.store $discard=, 0($3), $pop79
+ i64.load $push80=, 0($5)
+ i64.const $push81=, 14
+ i64.ne $push82=, $pop80, $pop81
+ br_if $pop82, 1 # 1: down to label22
+# BB#14: # %lor.lhs.false7.i11
+ i32.const $push173=, 0
+ i32.load $push83=, pap($pop173)
+ tee_local $push172=, $3=, $pop83
+ i32.load $push84=, 0($pop172)
+ i32.const $push85=, 15
+ i32.add $push86=, $pop84, $pop85
+ i32.const $push87=, -16
+ i32.and $push88=, $pop86, $pop87
+ tee_local $push171=, $5=, $pop88
+ i64.load $2=, 0($pop171)
+ i32.const $push170=, 8
+ i32.or $push89=, $5, $pop170
+ i32.store $push90=, 0($3), $pop89
+ tee_local $push169=, $5=, $pop90
+ i32.const $push168=, 8
+ i32.add $push91=, $pop169, $pop168
+ i32.store $discard=, 0($3), $pop91
+ i64.load $push92=, 0($5)
+ i64.const $push94=, 0
+ i64.const $push93=, 4613381465357418496
+ i32.call $push95=, __netf2@FUNCTION, $2, $pop92, $pop94, $pop93
+ br_if $pop95, 1 # 1: down to label22
+# BB#15: # %lor.lhs.false9.i13
+ i32.const $push175=, 0
+ i32.load $3=, pap($pop175)
+ i32.load $push96=, 0($3)
+ i32.const $push97=, 3
+ i32.add $push98=, $pop96, $pop97
+ i32.const $push99=, -4
+ i32.and $push100=, $pop98, $pop99
+ tee_local $push174=, $5=, $pop100
+ i32.const $push101=, 4
+ i32.add $push102=, $pop174, $pop101
+ i32.store $discard=, 0($3), $pop102
+ i32.load $push103=, 0($5)
+ i32.const $push104=, 17
+ i32.ne $push105=, $pop103, $pop104
+ br_if $pop105, 1 # 1: down to label22
+.LBB8_16: # %bar.exit15
+ end_block # label23:
+ i32.const $push126=, 0
+ i32.store $discard=, bar_arg($pop126), $4
+ i32.const $8=, 16
+ i32.add $9=, $10, $8
+ i32.const $8=, __stack_pointer
+ i32.store $9=, 0($8), $9
+ return
+.LBB8_17: # %if.then11.i14
+ end_block # label22:
+ call abort@FUNCTION
+ unreachable
+.LBB8_18: # %if.then11.i
+ end_block # label18:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end8:
+ .size f6, .Lfunc_end8-f6
+
+ .section .text.f7,"ax",@progbits
+ .hidden f7
+ .globl f7
+ .type f7,@function
+f7: # @f7
+ .param i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $7=, $3, $4
+ copy_local $8=, $7
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push0=, 0
+ i32.const $6=, 12
+ i32.add $6=, $7, $6
+ i32.store $discard=, pap($pop0), $6
+ i32.store $discard=, 12($7), $8
+ block
+ block
+ block
+ i32.const $push1=, 16392
+ i32.eq $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label28
+# BB#1: # %entry
+ i32.const $push3=, 16390
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 1 # 1: down to label27
+# BB#2: # %if.then.i
+ i32.const $push59=, 0
+ i32.const $push58=, 0
+ i32.load $push36=, gap($pop58)
+ i32.const $push37=, 7
+ i32.add $push38=, $pop36, $pop37
+ i32.const $push39=, -8
+ i32.and $push40=, $pop38, $pop39
+ tee_local $push57=, $2=, $pop40
+ i32.const $push41=, 8
+ i32.add $push42=, $pop57, $pop41
+ i32.store $discard=, gap($pop59), $pop42
+ block
+ f64.load $push43=, 0($2)
+ f64.const $push44=, 0x1.1p4
+ f64.ne $push45=, $pop43, $pop44
+ br_if $pop45, 0 # 0: down to label29
+# BB#3: # %lor.lhs.false.i
+ i32.const $push62=, 0
+ i32.const $push61=, 0
+ i32.load $push46=, gap($pop61)
+ i32.const $push47=, 3
+ i32.add $push48=, $pop46, $pop47
+ i32.const $push49=, -4
+ i32.and $push50=, $pop48, $pop49
+ tee_local $push60=, $2=, $pop50
+ i32.const $push51=, 4
+ i32.add $push52=, $pop60, $pop51
+ i32.store $discard=, gap($pop62), $pop52
+ i32.load $push53=, 0($2)
+ i32.const $push54=, 129
+ i32.eq $push55=, $pop53, $pop54
+ br_if $pop55, 2 # 2: down to label27
+.LBB9_4: # %if.then3.i
+ end_block # label29:
+ call abort@FUNCTION
+ unreachable
+.LBB9_5: # %if.then5.i
+ end_block # label28:
+ i32.load $push5=, 12($7)
+ i32.const $push6=, 7
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -8
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push64=, $2=, $pop9
+ i32.const $push63=, 8
+ i32.add $push10=, $pop64, $pop63
+ i32.store $discard=, 12($7), $pop10
+ i64.load $push11=, 0($2)
+ i64.const $push12=, 14
+ i64.ne $push13=, $pop11, $pop12
+ br_if $pop13, 1 # 1: down to label26
+# BB#6: # %lor.lhs.false7.i
+ i32.load $push14=, 12($7)
+ i32.const $push15=, 15
+ i32.add $push16=, $pop14, $pop15
+ i32.const $push17=, -16
+ i32.and $push18=, $pop16, $pop17
+ tee_local $push68=, $2=, $pop18
+ i64.load $1=, 0($pop68)
+ i32.const $push67=, 8
+ i32.or $push19=, $2, $pop67
+ i32.store $push20=, 12($7), $pop19
+ tee_local $push66=, $2=, $pop20
+ i32.const $push65=, 8
+ i32.add $push21=, $pop66, $pop65
+ i32.store $discard=, 12($7), $pop21
+ i64.load $push22=, 0($2)
+ i64.const $push24=, 0
+ i64.const $push23=, 4613381465357418496
+ i32.call $push25=, __netf2@FUNCTION, $1, $pop22, $pop24, $pop23
+ br_if $pop25, 1 # 1: down to label26
+# BB#7: # %lor.lhs.false9.i
+ i32.load $push26=, 12($7)
+ i32.const $push27=, 3
+ i32.add $push28=, $pop26, $pop27
+ i32.const $push29=, -4
+ i32.and $push30=, $pop28, $pop29
+ tee_local $push69=, $2=, $pop30
+ i32.const $push31=, 4
+ i32.add $push32=, $pop69, $pop31
+ i32.store $discard=, 12($7), $pop32
+ i32.load $push33=, 0($2)
+ i32.const $push34=, 17
+ i32.ne $push35=, $pop33, $pop34
+ br_if $pop35, 1 # 1: down to label26
+.LBB9_8: # %bar.exit
+ end_block # label27:
+ i32.const $push56=, 0
+ i32.store $discard=, bar_arg($pop56), $0
+ i32.const $5=, 16
+ i32.add $7=, $8, $5
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
+ return
+.LBB9_9: # %if.then11.i
+ end_block # label26:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end9:
+ .size f7, .Lfunc_end9-f7
+
+ .section .text.f8,"ax",@progbits
+ .hidden f8
+ .globl f8
+ .type f8,@function
+f8: # @f8
+ .param i32
+ .local i64, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $7=, $3, $4
+ copy_local $8=, $7
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push0=, 0
+ i32.const $6=, 12
+ i32.add $6=, $7, $6
+ i32.store $discard=, pap($pop0), $6
+ i32.store $discard=, 12($7), $8
+ block
+ block
+ block
+ i32.const $push1=, 16392
+ i32.eq $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label32
+# BB#1: # %entry
+ i32.const $push3=, 16390
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 1 # 1: down to label31
+# BB#2: # %if.then.i
+ i32.const $push66=, 0
+ i32.const $push65=, 0
+ i32.load $push36=, gap($pop65)
+ i32.const $push37=, 7
+ i32.add $push38=, $pop36, $pop37
+ i32.const $push39=, -8
+ i32.and $push40=, $pop38, $pop39
+ tee_local $push64=, $2=, $pop40
+ i32.const $push41=, 8
+ i32.add $push42=, $pop64, $pop41
+ i32.store $discard=, gap($pop66), $pop42
+ block
+ f64.load $push43=, 0($2)
+ f64.const $push44=, 0x1.1p4
+ f64.ne $push45=, $pop43, $pop44
+ br_if $pop45, 0 # 0: down to label33
+# BB#3: # %lor.lhs.false.i
+ i32.const $push69=, 0
+ i32.const $push68=, 0
+ i32.load $push46=, gap($pop68)
+ i32.const $push47=, 3
+ i32.add $push48=, $pop46, $pop47
+ i32.const $push49=, -4
+ i32.and $push50=, $pop48, $pop49
+ tee_local $push67=, $2=, $pop50
+ i32.const $push51=, 4
+ i32.add $push52=, $pop67, $pop51
+ i32.store $discard=, gap($pop69), $pop52
+ i32.load $push53=, 0($2)
+ i32.const $push54=, 129
+ i32.eq $push55=, $pop53, $pop54
+ br_if $pop55, 2 # 2: down to label31
+.LBB10_4: # %if.then3.i
+ end_block # label33:
+ call abort@FUNCTION
+ unreachable
+.LBB10_5: # %if.then5.i
+ end_block # label32:
+ i32.load $push5=, 12($7)
+ i32.const $push6=, 7
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -8
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push71=, $2=, $pop9
+ i32.const $push70=, 8
+ i32.add $push10=, $pop71, $pop70
+ i32.store $discard=, 12($7), $pop10
+ i64.load $push11=, 0($2)
+ i64.const $push12=, 14
+ i64.ne $push13=, $pop11, $pop12
+ br_if $pop13, 1 # 1: down to label30
+# BB#6: # %lor.lhs.false7.i
+ i32.load $push14=, 12($7)
+ i32.const $push15=, 15
+ i32.add $push16=, $pop14, $pop15
+ i32.const $push17=, -16
+ i32.and $push18=, $pop16, $pop17
+ tee_local $push75=, $2=, $pop18
+ i64.load $1=, 0($pop75)
+ i32.const $push74=, 8
+ i32.or $push19=, $2, $pop74
+ i32.store $push20=, 12($7), $pop19
+ tee_local $push73=, $2=, $pop20
+ i32.const $push72=, 8
+ i32.add $push21=, $pop73, $pop72
+ i32.store $discard=, 12($7), $pop21
+ i64.load $push22=, 0($2)
+ i64.const $push24=, 0
+ i64.const $push23=, 4613381465357418496
+ i32.call $push25=, __netf2@FUNCTION, $1, $pop22, $pop24, $pop23
+ br_if $pop25, 1 # 1: down to label30
+# BB#7: # %lor.lhs.false9.i
+ i32.load $push26=, 12($7)
+ i32.const $push27=, 3
+ i32.add $push28=, $pop26, $pop27
+ i32.const $push29=, -4
+ i32.and $push30=, $pop28, $pop29
+ tee_local $push76=, $2=, $pop30
+ i32.const $push31=, 4
+ i32.add $push32=, $pop76, $pop31
+ i32.store $discard=, 12($7), $pop32
+ i32.load $push33=, 0($2)
+ i32.const $push34=, 17
+ i32.ne $push35=, $pop33, $pop34
+ br_if $pop35, 1 # 1: down to label30
+.LBB10_8: # %bar.exit
+ end_block # label31:
+ i32.load $2=, 12($7)
+ i32.const $push56=, 0
+ i32.store $discard=, bar_arg($pop56), $0
+ i32.const $push57=, 7
+ i32.add $push58=, $2, $pop57
+ i32.const $push59=, -8
+ i32.and $push60=, $pop58, $pop59
+ tee_local $push78=, $0=, $pop60
+ i32.const $push61=, 8
+ i32.add $push62=, $pop78, $pop61
+ i32.store $discard=, 12($7), $pop62
+ i32.const $push77=, 0
+ f64.load $push63=, 0($0)
+ f64.store $discard=, d($pop77), $pop63
+ i32.const $5=, 16
+ i32.add $7=, $8, $5
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
+ return
+.LBB10_9: # %if.then11.i
+ end_block # label30:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end10:
+ .size f8, .Lfunc_end10-f8
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i64, i32, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $33=, __stack_pointer
+ i32.load $33=, 0($33)
+ i32.const $34=, 48
+ i32.sub $36=, $33, $34
+ i32.const $34=, __stack_pointer
+ i32.store $36=, 0($34), $36
+ call f1@FUNCTION, $0
+ i32.const $push43=, 0
+ i64.const $push1=, 4629418941960159232
+ i64.store $discard=, d($pop43), $pop1
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 4
+ i32.sub $36=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $36=, 0($6), $36
+ i32.const $push2=, 28
+ i32.store $0=, 0($36), $pop2
+ call f2@FUNCTION, $0
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 4
+ i32.add $36=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $36=, 0($8), $36
+ block
+ i32.const $push42=, 0
+ i32.load $push3=, bar_arg($pop42)
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 0 # 0: down to label34
+# BB#1: # %entry
+ i32.const $push44=, 0
+ i32.load $push0=, x($pop44)
+ i32.ne $push5=, $pop0, $0
+ br_if $pop5, 0 # 0: down to label34
+# BB#2: # %if.end
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 8
+ i32.sub $36=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $36=, 0($10), $36
+ i64.const $push6=, 4638813169307877376
+ i64.store $discard=, 0($36), $pop6
+ call f3@FUNCTION, $0
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 8
+ i32.add $36=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $36=, 0($12), $36
+ block
+ i32.const $push45=, 0
+ f64.load $push7=, d($pop45)
+ f64.const $push8=, 0x1.06p7
+ f64.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label35
+# BB#3: # %if.end4
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 16
+ i32.sub $36=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $36=, 0($14), $36
+ i64.const $push11=, 4625196817309499392
+ i64.store $discard=, 0($36), $pop11
+ i32.const $push12=, 8
+ i32.add $0=, $36, $pop12
+ i32.const $push13=, 128
+ i32.store $0=, 0($0), $pop13
+ i32.const $push14=, 5
+ call f4@FUNCTION, $pop14
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 16
+ i32.add $36=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $36=, 0($16), $36
+ block
+ i32.const $push46=, 0
+ i32.load $push15=, x($pop46)
+ i32.const $push16=, 16
+ i32.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label36
+# BB#4: # %if.end4
+ i32.const $push47=, 0
+ i32.load $push10=, foo_arg($pop47)
+ i32.ne $push18=, $pop10, $0
+ br_if $pop18, 0 # 0: down to label36
+# BB#5: # %if.end9
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 16
+ i32.sub $36=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $36=, 0($18), $36
+ i64.const $push19=, 4625478292286210048
+ i64.store $discard=, 0($36), $pop19
+ i32.const $push50=, 8
+ i32.add $0=, $36, $pop50
+ i32.const $push20=, 129
+ i32.store $discard=, 0($0), $pop20
+ i32.const $push21=, 16390
+ call f5@FUNCTION, $pop21
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 16
+ i32.add $36=, $19, $20
+ i32.const $20=, __stack_pointer
+ i32.store $36=, 0($20), $36
+ block
+ i32.const $push49=, 0
+ i32.load $push22=, bar_arg($pop49)
+ i32.const $push48=, 16390
+ i32.ne $push23=, $pop22, $pop48
+ br_if $pop23, 0 # 0: down to label37
+# BB#6: # %if.end12
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 12
+ i32.sub $36=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $36=, 0($22), $36
+ i64.const $push24=, 60129542156
+ i64.store $discard=, 0($36):p2align=2, $pop24
+ i32.const $push52=, 8
+ i32.add $0=, $36, $pop52
+ i32.const $push25=, -31
+ i32.store $0=, 0($0), $pop25
+ call f6@FUNCTION, $0
+ i32.const $23=, __stack_pointer
+ i32.load $23=, 0($23)
+ i32.const $24=, 12
+ i32.add $36=, $23, $24
+ i32.const $24=, __stack_pointer
+ i32.store $36=, 0($24), $36
+ block
+ i32.const $push51=, 0
+ i32.load $push26=, bar_arg($pop51)
+ i32.ne $push27=, $0, $pop26
+ br_if $pop27, 0 # 0: down to label38
+# BB#7: # %if.end15
+ i32.const $25=, __stack_pointer
+ i32.load $25=, 0($25)
+ i32.const $26=, 40
+ i32.sub $36=, $25, $26
+ i32.const $26=, __stack_pointer
+ i32.store $36=, 0($26), $36
+ i64.const $push28=, 14
+ i64.store $1=, 0($36), $pop28
+ i32.const $push59=, 32
+ i32.add $0=, $36, $pop59
+ i64.const $push29=, 4628011567076605952
+ i64.store $discard=, 0($0), $pop29
+ i32.const $push58=, 24
+ i32.add $0=, $36, $pop58
+ i32.const $push30=, 17
+ i32.store $2=, 0($0), $pop30
+ i32.const $push57=, 16
+ i32.add $0=, $36, $pop57
+ i64.const $push31=, 4613381465357418496
+ i64.store $3=, 0($0), $pop31
+ i32.const $push56=, 8
+ i32.add $0=, $36, $pop56
+ i64.const $push32=, 0
+ i64.store $4=, 0($0), $pop32
+ i32.const $push55=, 16392
+ call f7@FUNCTION, $pop55
+ i32.const $27=, __stack_pointer
+ i32.load $27=, 0($27)
+ i32.const $28=, 40
+ i32.add $36=, $27, $28
+ i32.const $28=, __stack_pointer
+ i32.store $36=, 0($28), $36
+ block
+ i32.const $push54=, 0
+ i32.load $push33=, bar_arg($pop54)
+ i32.const $push53=, 16392
+ i32.ne $push34=, $pop33, $pop53
+ br_if $pop34, 0 # 0: down to label39
+# BB#8: # %if.end18
+ i32.const $29=, __stack_pointer
+ i32.load $29=, 0($29)
+ i32.const $30=, 40
+ i32.sub $36=, $29, $30
+ i32.const $30=, __stack_pointer
+ i32.store $36=, 0($30), $36
+ i64.store $discard=, 0($36), $1
+ i32.const $push66=, 32
+ i32.add $0=, $36, $pop66
+ i64.const $push36=, 4628293042053316608
+ i64.store $discard=, 0($0), $pop36
+ i32.const $push65=, 24
+ i32.add $0=, $36, $pop65
+ i32.store $discard=, 0($0), $2
+ i32.const $push64=, 16
+ i32.add $0=, $36, $pop64
+ i64.store $discard=, 0($0), $3
+ i32.const $push63=, 8
+ i32.add $0=, $36, $pop63
+ i64.store $discard=, 0($0), $4
+ i32.const $push62=, 16392
+ call f8@FUNCTION, $pop62
+ i32.const $31=, __stack_pointer
+ i32.load $31=, 0($31)
+ i32.const $32=, 40
+ i32.add $36=, $31, $32
+ i32.const $32=, __stack_pointer
+ i32.store $36=, 0($32), $36
+ block
+ i32.const $push61=, 0
+ i32.load $push37=, bar_arg($pop61)
+ i32.const $push60=, 16392
+ i32.ne $push38=, $pop37, $pop60
+ br_if $pop38, 0 # 0: down to label40
+# BB#9: # %if.end18
+ i32.const $push67=, 0
+ f64.load $push35=, d($pop67)
+ f64.const $push39=, 0x1.bp4
+ f64.ne $push40=, $pop35, $pop39
+ br_if $pop40, 0 # 0: down to label40
+# BB#10: # %if.end23
+ i32.const $push41=, 0
+ i32.const $35=, 48
+ i32.add $36=, $36, $35
+ i32.const $35=, __stack_pointer
+ i32.store $36=, 0($35), $36
+ return $pop41
+.LBB11_11: # %if.then22
+ end_block # label40:
+ call abort@FUNCTION
+ unreachable
+.LBB11_12: # %if.then17
+ end_block # label39:
+ call abort@FUNCTION
+ unreachable
+.LBB11_13: # %if.then14
+ end_block # label38:
+ call abort@FUNCTION
+ unreachable
+.LBB11_14: # %if.then11
+ end_block # label37:
+ call abort@FUNCTION
+ unreachable
+.LBB11_15: # %if.then8
+ end_block # label36:
+ call abort@FUNCTION
+ unreachable
+.LBB11_16: # %if.then3
+ end_block # label35:
+ call abort@FUNCTION
+ unreachable
+.LBB11_17: # %if.then
+ end_block # label34:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end11:
+ .size main, .Lfunc_end11-main
+
+ .hidden foo_arg # @foo_arg
+ .type foo_arg,@object
+ .section .bss.foo_arg,"aw",@nobits
+ .globl foo_arg
+ .p2align 2
+foo_arg:
+ .int32 0 # 0x0
+ .size foo_arg, 4
+
+ .hidden gap # @gap
+ .type gap,@object
+ .section .bss.gap,"aw",@nobits
+ .globl gap
+ .p2align 2
+gap:
+ .int32 0
+ .size gap, 4
+
+ .hidden pap # @pap
+ .type pap,@object
+ .section .bss.pap,"aw",@nobits
+ .globl pap
+ .p2align 2
+pap:
+ .int32 0
+ .size pap, 4
+
+ .hidden bar_arg # @bar_arg
+ .type bar_arg,@object
+ .section .bss.bar_arg,"aw",@nobits
+ .globl bar_arg
+ .p2align 2
+bar_arg:
+ .int32 0 # 0x0
+ .size bar_arg, 4
+
+ .hidden d # @d
+ .type d,@object
+ .section .bss.d,"aw",@nobits
+ .globl d
+ .p2align 3
+d:
+ .int64 0 # double 0
+ .size d, 8
+
+ .hidden x # @x
+ .type x,@object
+ .section .bss.x,"aw",@nobits
+ .globl x
+ .p2align 2
+x:
+ .int32 0 # 0x0
+ .size x, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/stdarg-2.c.s b/test/torture-s/stdarg-2.c.s
new file mode 100644
index 000000000..c12ce6e48
--- /dev/null
+++ b/test/torture-s/stdarg-2.c.s
@@ -0,0 +1,1463 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/stdarg-2.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+ .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 48
+ i32.sub $11=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $11=, 0($5), $11
+ i32.store $discard=, 44($11), $1
+ block
+ block
+ i32.const $push0=, 11
+ i32.eq $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label1
+# BB#1: # %entry
+ block
+ i32.const $push67=, 8
+ i32.eq $push2=, $0, $pop67
+ br_if $pop2, 0 # 0: down to label2
+# BB#2: # %entry
+ block
+ i32.const $push3=, 5
+ i32.ne $push4=, $0, $pop3
+ br_if $pop4, 0 # 0: down to label3
+# BB#3: # %sw.bb
+ i32.load $push43=, 44($11)
+ i32.const $push44=, 3
+ i32.add $push45=, $pop43, $pop44
+ i32.const $push46=, -4
+ i32.and $push47=, $pop45, $pop46
+ tee_local $push72=, $0=, $pop47
+ i32.const $push48=, 4
+ i32.add $push49=, $pop72, $pop48
+ i32.store $discard=, 44($11), $pop49
+ i32.load $1=, 0($0)
+ i32.const $push50=, 11
+ i32.add $push51=, $0, $pop50
+ i32.const $push52=, -8
+ i32.and $push53=, $pop51, $pop52
+ tee_local $push71=, $0=, $pop53
+ i32.const $push54=, 8
+ i32.add $push55=, $pop71, $pop54
+ i32.store $discard=, 44($11), $pop55
+ f64.convert_s/i32 $push57=, $1
+ f64.load $push56=, 0($0)
+ f64.add $push58=, $pop57, $pop56
+ i32.trunc_s/f64 $1=, $pop58
+ i32.const $push59=, 15
+ i32.add $push60=, $0, $pop59
+ i32.const $push70=, -8
+ i32.and $push61=, $pop60, $pop70
+ tee_local $push69=, $0=, $pop61
+ i32.const $push68=, 8
+ i32.add $push62=, $pop69, $pop68
+ i32.store $discard=, 44($11), $pop62
+ i32.const $push66=, 0
+ i64.extend_u/i32 $push64=, $1
+ i64.load $push63=, 0($0)
+ i64.add $push65=, $pop64, $pop63
+ i64.store32 $discard=, foo_arg($pop66), $pop65
+ br 3 # 3: down to label0
+.LBB0_4: # %sw.default
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_5: # %sw.bb5
+ end_block # label2:
+ i32.load $push28=, 44($11)
+ i32.const $push29=, 7
+ i32.add $push30=, $pop28, $pop29
+ i32.const $push31=, -8
+ i32.and $push32=, $pop30, $pop31
+ tee_local $push77=, $0=, $pop32
+ i32.const $push76=, 8
+ i32.add $push33=, $pop77, $pop76
+ i32.store $discard=, 44($11), $pop33
+ i32.load $1=, 0($0):p2align=3
+ i32.const $push34=, 15
+ i32.add $push35=, $0, $pop34
+ i32.const $push75=, -8
+ i32.and $push36=, $pop35, $pop75
+ tee_local $push74=, $0=, $pop36
+ i32.const $push73=, 8
+ i32.add $push37=, $pop74, $pop73
+ i32.store $discard=, 44($11), $pop37
+ i32.const $push42=, 0
+ f64.convert_s/i32 $push39=, $1
+ f64.load $push38=, 0($0)
+ f64.add $push40=, $pop39, $pop38
+ i32.trunc_s/f64 $push41=, $pop40
+ i32.store $discard=, foo_arg($pop42), $pop41
+ br 1 # 1: down to label0
+.LBB0_6: # %sw.bb10
+ end_block # label1:
+ i32.load $push5=, 44($11)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push83=, $0=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop83, $pop10
+ i32.store $discard=, 44($11), $pop11
+ i32.load $1=, 0($0)
+ i32.const $push12=, 19
+ i32.add $push13=, $0, $pop12
+ i32.const $push14=, -16
+ i32.and $push15=, $pop13, $pop14
+ tee_local $push82=, $0=, $pop15
+ i64.load $2=, 0($pop82)
+ i32.const $push16=, 8
+ i32.or $push17=, $0, $pop16
+ i32.store $push18=, 44($11), $pop17
+ tee_local $push81=, $0=, $pop18
+ i32.const $push80=, 8
+ i32.add $push19=, $pop81, $pop80
+ i32.store $discard=, 44($11), $pop19
+ i64.load $3=, 0($0)
+ i32.const $7=, 24
+ i32.add $7=, $11, $7
+ call __floatsitf@FUNCTION, $7, $1
+ i64.load $push22=, 24($11)
+ i32.const $push79=, 8
+ i32.const $8=, 24
+ i32.add $8=, $11, $8
+ i32.add $push20=, $8, $pop79
+ i64.load $push21=, 0($pop20)
+ i32.const $9=, 8
+ i32.add $9=, $11, $9
+ call __addtf3@FUNCTION, $9, $pop22, $pop21, $2, $3
+ i32.const $push27=, 0
+ i64.load $push25=, 8($11)
+ i32.const $push78=, 8
+ i32.const $10=, 8
+ i32.add $10=, $11, $10
+ i32.add $push23=, $10, $pop78
+ i64.load $push24=, 0($pop23)
+ i32.call $push26=, __fixtfsi@FUNCTION, $pop25, $pop24
+ i32.store $discard=, foo_arg($pop27), $pop26
+.LBB0_7: # %sw.epilog
+ end_block # label0:
+ i32.const $6=, 48
+ i32.add $11=, $11, $6
+ i32.const $6=, __stack_pointer
+ i32.store $11=, 0($6), $11
+ return
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32
+ .local i32
+# BB#0: # %entry
+ block
+ i32.const $push0=, 16386
+ i32.ne $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label4
+# BB#1: # %if.then
+ i32.const $push25=, 0
+ i32.const $push24=, 0
+ i32.load $push2=, gap($pop24)
+ i32.const $push3=, 3
+ i32.add $push4=, $pop2, $pop3
+ i32.const $push5=, -4
+ i32.and $push6=, $pop4, $pop5
+ tee_local $push23=, $1=, $pop6
+ i32.const $push7=, 4
+ i32.add $push8=, $pop23, $pop7
+ i32.store $discard=, gap($pop25), $pop8
+ block
+ i32.load $push9=, 0($1)
+ i32.const $push10=, 13
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label5
+# BB#2: # %lor.lhs.false
+ i32.const $push28=, 0
+ i32.const $push27=, 0
+ i32.load $push12=, gap($pop27)
+ i32.const $push13=, 7
+ i32.add $push14=, $pop12, $pop13
+ i32.const $push15=, -8
+ i32.and $push16=, $pop14, $pop15
+ tee_local $push26=, $1=, $pop16
+ i32.const $push17=, 8
+ i32.add $push18=, $pop26, $pop17
+ i32.store $discard=, gap($pop28), $pop18
+ f64.load $push19=, 0($1)
+ f64.const $push20=, -0x1.cp3
+ f64.eq $push21=, $pop19, $pop20
+ br_if $pop21, 1 # 1: down to label4
+.LBB1_3: # %if.then3
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB1_4: # %if.end4
+ end_block # label4:
+ i32.const $push22=, 0
+ i32.store $discard=, bar_arg($pop22), $0
+ return
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.f1,"ax",@progbits
+ .hidden f1
+ .globl f1
+ .type f1,@function
+f1: # @f1
+ .param i32
+ .local i32, i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.const $push11=, 0
+ i32.store $push1=, gap($pop11), $2
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -4
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push10=, $1=, $pop5
+ i32.const $push6=, 4
+ i32.add $push7=, $pop10, $pop6
+ i32.store $discard=, gap($pop0), $pop7
+ i32.const $push9=, 0
+ i32.load $push8=, 0($1)
+ i32.store $discard=, x($pop9), $pop8
+ return
+ .endfunc
+.Lfunc_end2:
+ .size f1, .Lfunc_end2-f1
+
+ .section .text.f2,"ax",@progbits
+ .hidden f2
+ .globl f2
+ .type f2,@function
+f2: # @f2
+ .param i32
+ .local i32, i32
+# BB#0: # %entry
+ i32.const $push23=, 0
+ i32.store $discard=, gap($pop23), $2
+ block
+ i32.const $push0=, 16386
+ i32.ne $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label6
+# BB#1: # %if.then.i
+ i32.const $push26=, 0
+ i32.const $push25=, 0
+ i32.load $push2=, gap($pop25)
+ i32.const $push3=, 3
+ i32.add $push4=, $pop2, $pop3
+ i32.const $push5=, -4
+ i32.and $push6=, $pop4, $pop5
+ tee_local $push24=, $1=, $pop6
+ i32.const $push7=, 4
+ i32.add $push8=, $pop24, $pop7
+ i32.store $discard=, gap($pop26), $pop8
+ block
+ i32.load $push9=, 0($1)
+ i32.const $push10=, 13
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label7
+# BB#2: # %lor.lhs.false.i
+ i32.const $push12=, 0
+ i32.const $push28=, 0
+ i32.load $push13=, gap($pop28)
+ i32.const $push14=, 7
+ i32.add $push15=, $pop13, $pop14
+ i32.const $push16=, -8
+ i32.and $push17=, $pop15, $pop16
+ tee_local $push27=, $1=, $pop17
+ i32.const $push18=, 8
+ i32.add $push19=, $pop27, $pop18
+ i32.store $discard=, gap($pop12), $pop19
+ f64.load $push20=, 0($1)
+ f64.const $push21=, -0x1.cp3
+ f64.eq $push22=, $pop20, $pop21
+ br_if $pop22, 1 # 1: down to label6
+.LBB3_3: # %if.then3.i
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB3_4: # %bar.exit
+ end_block # label6:
+ i32.const $push29=, 0
+ i32.store $discard=, bar_arg($pop29), $0
+ return
+ .endfunc
+.Lfunc_end3:
+ .size f2, .Lfunc_end3-f2
+
+ .section .text.f3,"ax",@progbits
+ .hidden f3
+ .globl f3
+ .type f3,@function
+f3: # @f3
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 48
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push0=, 16($5):p2align=4, $6
+ i32.const $push1=, 3
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -4
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push9=, $1=, $pop4
+ i32.const $push5=, 4
+ i32.add $push6=, $pop9, $pop5
+ i32.store $discard=, 16($5):p2align=4, $pop6
+ i32.const $push8=, 0
+ i32.load $push7=, 0($1)
+ i32.store $discard=, x($pop8), $pop7
+ i32.const $4=, 48
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+ .endfunc
+.Lfunc_end4:
+ .size f3, .Lfunc_end4-f3
+
+ .section .text.f4,"ax",@progbits
+ .hidden f4
+ .globl f4
+ .type f4,@function
+f4: # @f4
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 48
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $discard=, 16($5):p2align=4, $6
+ block
+ i32.const $push0=, 16386
+ i32.ne $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label8
+# BB#1: # %if.then.i
+ i32.const $push25=, 0
+ i32.const $push24=, 0
+ i32.load $push2=, gap($pop24)
+ i32.const $push3=, 3
+ i32.add $push4=, $pop2, $pop3
+ i32.const $push5=, -4
+ i32.and $push6=, $pop4, $pop5
+ tee_local $push23=, $1=, $pop6
+ i32.const $push7=, 4
+ i32.add $push8=, $pop23, $pop7
+ i32.store $discard=, gap($pop25), $pop8
+ block
+ i32.load $push9=, 0($1)
+ i32.const $push10=, 13
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label9
+# BB#2: # %lor.lhs.false.i
+ i32.const $push28=, 0
+ i32.const $push27=, 0
+ i32.load $push12=, gap($pop27)
+ i32.const $push13=, 7
+ i32.add $push14=, $pop12, $pop13
+ i32.const $push15=, -8
+ i32.and $push16=, $pop14, $pop15
+ tee_local $push26=, $1=, $pop16
+ i32.const $push17=, 8
+ i32.add $push18=, $pop26, $pop17
+ i32.store $discard=, gap($pop28), $pop18
+ f64.load $push19=, 0($1)
+ f64.const $push20=, -0x1.cp3
+ f64.eq $push21=, $pop19, $pop20
+ br_if $pop21, 1 # 1: down to label8
+.LBB5_3: # %if.then3.i
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB5_4: # %bar.exit
+ end_block # label8:
+ i32.const $push22=, 0
+ i32.store $discard=, bar_arg($pop22), $0
+ i32.const $4=, 48
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+ .endfunc
+.Lfunc_end5:
+ .size f4, .Lfunc_end5-f4
+
+ .section .text.f5,"ax",@progbits
+ .hidden f5
+ .globl f5
+ .type f5,@function
+f5: # @f5
+ .param i32
+ .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 80
+ i32.sub $9=, $4, $5
+ copy_local $10=, $9
+ i32.const $5=, __stack_pointer
+ i32.store $9=, 0($5), $9
+ i32.store $push0=, 48($9):p2align=4, $10
+ i32.store $discard=, 76($9), $pop0
+ block
+ block
+ i32.const $push1=, 11
+ i32.eq $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label11
+# BB#1: # %entry
+ block
+ i32.const $push68=, 8
+ i32.eq $push3=, $0, $pop68
+ br_if $pop3, 0 # 0: down to label12
+# BB#2: # %entry
+ block
+ i32.const $push4=, 5
+ i32.ne $push5=, $0, $pop4
+ br_if $pop5, 0 # 0: down to label13
+# BB#3: # %sw.bb.i
+ i32.load $push44=, 76($9)
+ i32.const $push45=, 3
+ i32.add $push46=, $pop44, $pop45
+ i32.const $push47=, -4
+ i32.and $push48=, $pop46, $pop47
+ tee_local $push73=, $0=, $pop48
+ i32.const $push49=, 4
+ i32.add $push50=, $pop73, $pop49
+ i32.store $discard=, 76($9), $pop50
+ i32.load $3=, 0($0)
+ i32.const $push51=, 11
+ i32.add $push52=, $0, $pop51
+ i32.const $push53=, -8
+ i32.and $push54=, $pop52, $pop53
+ tee_local $push72=, $0=, $pop54
+ i32.const $push55=, 8
+ i32.add $push56=, $pop72, $pop55
+ i32.store $discard=, 76($9), $pop56
+ f64.convert_s/i32 $push58=, $3
+ f64.load $push57=, 0($0)
+ f64.add $push59=, $pop58, $pop57
+ i32.trunc_s/f64 $3=, $pop59
+ i32.const $push60=, 15
+ i32.add $push61=, $0, $pop60
+ i32.const $push71=, -8
+ i32.and $push62=, $pop61, $pop71
+ tee_local $push70=, $0=, $pop62
+ i32.const $push69=, 8
+ i32.add $push63=, $pop70, $pop69
+ i32.store $discard=, 76($9), $pop63
+ i32.const $push67=, 0
+ i64.extend_u/i32 $push65=, $3
+ i64.load $push64=, 0($0)
+ i64.add $push66=, $pop65, $pop64
+ i64.store32 $discard=, foo_arg($pop67), $pop66
+ br 3 # 3: down to label10
+.LBB6_4: # %sw.default.i
+ end_block # label13:
+ call abort@FUNCTION
+ unreachable
+.LBB6_5: # %sw.bb5.i
+ end_block # label12:
+ i32.load $push29=, 76($9)
+ i32.const $push30=, 7
+ i32.add $push31=, $pop29, $pop30
+ i32.const $push32=, -8
+ i32.and $push33=, $pop31, $pop32
+ tee_local $push78=, $0=, $pop33
+ i32.const $push77=, 8
+ i32.add $push34=, $pop78, $pop77
+ i32.store $discard=, 76($9), $pop34
+ i32.load $3=, 0($0):p2align=3
+ i32.const $push35=, 15
+ i32.add $push36=, $0, $pop35
+ i32.const $push76=, -8
+ i32.and $push37=, $pop36, $pop76
+ tee_local $push75=, $0=, $pop37
+ i32.const $push74=, 8
+ i32.add $push38=, $pop75, $pop74
+ i32.store $discard=, 76($9), $pop38
+ i32.const $push43=, 0
+ f64.load $push39=, 0($0)
+ f64.convert_s/i32 $push40=, $3
+ f64.add $push41=, $pop39, $pop40
+ i32.trunc_s/f64 $push42=, $pop41
+ i32.store $discard=, foo_arg($pop43), $pop42
+ br 1 # 1: down to label10
+.LBB6_6: # %sw.bb10.i
+ end_block # label11:
+ i32.load $push6=, 76($9)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push84=, $0=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop84, $pop11
+ i32.store $discard=, 76($9), $pop12
+ i32.load $3=, 0($0)
+ i32.const $push13=, 19
+ i32.add $push14=, $0, $pop13
+ i32.const $push15=, -16
+ i32.and $push16=, $pop14, $pop15
+ tee_local $push83=, $0=, $pop16
+ i64.load $1=, 0($pop83)
+ i32.const $push17=, 8
+ i32.or $push18=, $0, $pop17
+ i32.store $push19=, 76($9), $pop18
+ tee_local $push82=, $0=, $pop19
+ i32.const $push81=, 8
+ i32.add $push20=, $pop82, $pop81
+ i32.store $discard=, 76($9), $pop20
+ i64.load $2=, 0($0)
+ i32.const $7=, 16
+ i32.add $7=, $9, $7
+ call __floatsitf@FUNCTION, $7, $3
+ i64.load $push23=, 16($9)
+ i32.const $push80=, 8
+ i32.const $8=, 16
+ i32.add $8=, $9, $8
+ i32.add $push21=, $8, $pop80
+ i64.load $push22=, 0($pop21)
+ call __addtf3@FUNCTION, $9, $pop23, $pop22, $1, $2
+ i32.const $push28=, 0
+ i64.load $push26=, 0($9)
+ i32.const $push79=, 8
+ i32.add $push24=, $9, $pop79
+ i64.load $push25=, 0($pop24)
+ i32.call $push27=, __fixtfsi@FUNCTION, $pop26, $pop25
+ i32.store $discard=, foo_arg($pop28), $pop27
+.LBB6_7: # %foo.exit
+ end_block # label10:
+ i32.const $6=, 80
+ i32.add $9=, $10, $6
+ i32.const $6=, __stack_pointer
+ i32.store $9=, 0($6), $9
+ return
+ .endfunc
+.Lfunc_end6:
+ .size f5, .Lfunc_end6-f5
+
+ .section .text.f6,"ax",@progbits
+ .hidden f6
+ .globl f6
+ .type f6,@function
+f6: # @f6
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.const $push0=, 4
+ i32.or $1=, $6, $pop0
+ i32.store $push1=, 0($1), $7
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -4
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push10=, $2=, $pop5
+ i32.const $push9=, 4
+ i32.add $push6=, $pop10, $pop9
+ i32.store $discard=, 0($1), $pop6
+ i32.const $push8=, 0
+ i32.load $push7=, 0($2)
+ i32.store $discard=, x($pop8), $pop7
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+ .endfunc
+.Lfunc_end7:
+ .size f6, .Lfunc_end7-f6
+
+ .section .text.f7,"ax",@progbits
+ .hidden f7
+ .globl f7
+ .type f7,@function
+f7: # @f7
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.const $push23=, 4
+ i32.or $push0=, $5, $pop23
+ i32.store $discard=, 0($pop0), $6
+ block
+ i32.const $push1=, 16386
+ i32.ne $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label14
+# BB#1: # %if.then.i
+ i32.const $push27=, 0
+ i32.const $push26=, 0
+ i32.load $push3=, gap($pop26)
+ i32.const $push4=, 3
+ i32.add $push5=, $pop3, $pop4
+ i32.const $push6=, -4
+ i32.and $push7=, $pop5, $pop6
+ tee_local $push25=, $1=, $pop7
+ i32.const $push24=, 4
+ i32.add $push8=, $pop25, $pop24
+ i32.store $discard=, gap($pop27), $pop8
+ block
+ i32.load $push9=, 0($1)
+ i32.const $push10=, 13
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label15
+# BB#2: # %lor.lhs.false.i
+ i32.const $push30=, 0
+ i32.const $push29=, 0
+ i32.load $push12=, gap($pop29)
+ i32.const $push13=, 7
+ i32.add $push14=, $pop12, $pop13
+ i32.const $push15=, -8
+ i32.and $push16=, $pop14, $pop15
+ tee_local $push28=, $1=, $pop16
+ i32.const $push17=, 8
+ i32.add $push18=, $pop28, $pop17
+ i32.store $discard=, gap($pop30), $pop18
+ f64.load $push19=, 0($1)
+ f64.const $push20=, -0x1.cp3
+ f64.eq $push21=, $pop19, $pop20
+ br_if $pop21, 1 # 1: down to label14
+.LBB8_3: # %if.then3.i
+ end_block # label15:
+ call abort@FUNCTION
+ unreachable
+.LBB8_4: # %bar.exit
+ end_block # label14:
+ i32.const $push22=, 0
+ i32.store $discard=, bar_arg($pop22), $0
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+ .endfunc
+.Lfunc_end8:
+ .size f7, .Lfunc_end8-f7
+
+ .section .text.f8,"ax",@progbits
+ .hidden f8
+ .globl f8
+ .type f8,@function
+f8: # @f8
+ .param i32
+ .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 64
+ i32.sub $12=, $4, $5
+ copy_local $13=, $12
+ i32.const $5=, __stack_pointer
+ i32.store $12=, 0($5), $12
+ i32.const $push68=, 4
+ i32.const $7=, 40
+ i32.add $7=, $12, $7
+ i32.or $push0=, $7, $pop68
+ i32.store $push1=, 0($pop0), $13
+ i32.store $discard=, 60($12), $pop1
+ block
+ block
+ i32.const $push2=, 11
+ i32.eq $push3=, $0, $pop2
+ br_if $pop3, 0 # 0: down to label17
+# BB#1: # %entry
+ block
+ i32.const $push69=, 8
+ i32.eq $push4=, $0, $pop69
+ br_if $pop4, 0 # 0: down to label18
+# BB#2: # %entry
+ block
+ i32.const $push5=, 5
+ i32.ne $push6=, $0, $pop5
+ br_if $pop6, 0 # 0: down to label19
+# BB#3: # %sw.bb.i
+ i32.load $push44=, 60($12)
+ i32.const $push45=, 3
+ i32.add $push46=, $pop44, $pop45
+ i32.const $push47=, -4
+ i32.and $push48=, $pop46, $pop47
+ tee_local $push74=, $0=, $pop48
+ i32.const $push49=, 4
+ i32.add $push50=, $pop74, $pop49
+ i32.store $discard=, 60($12), $pop50
+ i32.load $3=, 0($0)
+ i32.const $push51=, 11
+ i32.add $push52=, $0, $pop51
+ i32.const $push53=, -8
+ i32.and $push54=, $pop52, $pop53
+ tee_local $push73=, $0=, $pop54
+ i32.const $push55=, 8
+ i32.add $push56=, $pop73, $pop55
+ i32.store $discard=, 60($12), $pop56
+ f64.convert_s/i32 $push58=, $3
+ f64.load $push57=, 0($0)
+ f64.add $push59=, $pop58, $pop57
+ i32.trunc_s/f64 $3=, $pop59
+ i32.const $push60=, 15
+ i32.add $push61=, $0, $pop60
+ i32.const $push72=, -8
+ i32.and $push62=, $pop61, $pop72
+ tee_local $push71=, $0=, $pop62
+ i32.const $push70=, 8
+ i32.add $push63=, $pop71, $pop70
+ i32.store $discard=, 60($12), $pop63
+ i32.const $push67=, 0
+ i64.extend_u/i32 $push65=, $3
+ i64.load $push64=, 0($0)
+ i64.add $push66=, $pop65, $pop64
+ i64.store32 $discard=, foo_arg($pop67), $pop66
+ br 3 # 3: down to label16
+.LBB9_4: # %sw.default.i
+ end_block # label19:
+ call abort@FUNCTION
+ unreachable
+.LBB9_5: # %sw.bb5.i
+ end_block # label18:
+ i32.load $push29=, 60($12)
+ i32.const $push30=, 7
+ i32.add $push31=, $pop29, $pop30
+ i32.const $push32=, -8
+ i32.and $push33=, $pop31, $pop32
+ tee_local $push79=, $0=, $pop33
+ i32.const $push78=, 8
+ i32.add $push34=, $pop79, $pop78
+ i32.store $discard=, 60($12), $pop34
+ i32.load $3=, 0($0):p2align=3
+ i32.const $push35=, 15
+ i32.add $push36=, $0, $pop35
+ i32.const $push77=, -8
+ i32.and $push37=, $pop36, $pop77
+ tee_local $push76=, $0=, $pop37
+ i32.const $push75=, 8
+ i32.add $push38=, $pop76, $pop75
+ i32.store $discard=, 60($12), $pop38
+ i32.const $push43=, 0
+ f64.load $push39=, 0($0)
+ f64.convert_s/i32 $push40=, $3
+ f64.add $push41=, $pop39, $pop40
+ i32.trunc_s/f64 $push42=, $pop41
+ i32.store $discard=, foo_arg($pop43), $pop42
+ br 1 # 1: down to label16
+.LBB9_6: # %sw.bb10.i
+ end_block # label17:
+ i32.load $push7=, 60($12)
+ i32.const $push8=, 3
+ i32.add $push9=, $pop7, $pop8
+ i32.const $push10=, -4
+ i32.and $push11=, $pop9, $pop10
+ tee_local $push86=, $0=, $pop11
+ i32.const $push85=, 4
+ i32.add $push12=, $pop86, $pop85
+ i32.store $discard=, 60($12), $pop12
+ i32.load $3=, 0($0)
+ i32.const $push13=, 19
+ i32.add $push14=, $0, $pop13
+ i32.const $push15=, -16
+ i32.and $push16=, $pop14, $pop15
+ tee_local $push84=, $0=, $pop16
+ i64.load $1=, 0($pop84)
+ i32.const $push17=, 8
+ i32.or $push18=, $0, $pop17
+ i32.store $push19=, 60($12), $pop18
+ tee_local $push83=, $0=, $pop19
+ i32.const $push82=, 8
+ i32.add $push20=, $pop83, $pop82
+ i32.store $discard=, 60($12), $pop20
+ i64.load $2=, 0($0)
+ i32.const $8=, 24
+ i32.add $8=, $12, $8
+ call __floatsitf@FUNCTION, $8, $3
+ i64.load $push23=, 24($12)
+ i32.const $push81=, 8
+ i32.const $9=, 24
+ i32.add $9=, $12, $9
+ i32.add $push21=, $9, $pop81
+ i64.load $push22=, 0($pop21)
+ i32.const $10=, 8
+ i32.add $10=, $12, $10
+ call __addtf3@FUNCTION, $10, $pop23, $pop22, $1, $2
+ i32.const $push28=, 0
+ i64.load $push26=, 8($12)
+ i32.const $push80=, 8
+ i32.const $11=, 8
+ i32.add $11=, $12, $11
+ i32.add $push24=, $11, $pop80
+ i64.load $push25=, 0($pop24)
+ i32.call $push27=, __fixtfsi@FUNCTION, $pop26, $pop25
+ i32.store $discard=, foo_arg($pop28), $pop27
+.LBB9_7: # %foo.exit
+ end_block # label16:
+ i32.const $6=, 64
+ i32.add $12=, $13, $6
+ i32.const $6=, __stack_pointer
+ i32.store $12=, 0($6), $12
+ return
+ .endfunc
+.Lfunc_end9:
+ .size f8, .Lfunc_end9-f8
+
+ .section .text.f10,"ax",@progbits
+ .hidden f10
+ .globl f10
+ .type f10,@function
+f10: # @f10
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.const $push0=, 12
+ i32.add $1=, $6, $pop0
+ i32.store $push1=, 0($1), $7
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -4
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push10=, $2=, $pop5
+ i32.const $push6=, 4
+ i32.add $push7=, $pop10, $pop6
+ i32.store $discard=, 0($1), $pop7
+ i32.const $push9=, 0
+ i32.load $push8=, 0($2)
+ i32.store $discard=, x($pop9), $pop8
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+ .endfunc
+.Lfunc_end10:
+ .size f10, .Lfunc_end10-f10
+
+ .section .text.f11,"ax",@progbits
+ .hidden f11
+ .globl f11
+ .type f11,@function
+f11: # @f11
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.const $push1=, 12
+ i32.add $push0=, $5, $pop1
+ i32.store $discard=, 0($pop0), $6
+ block
+ i32.const $push2=, 16386
+ i32.ne $push3=, $0, $pop2
+ br_if $pop3, 0 # 0: down to label20
+# BB#1: # %if.then.i
+ i32.const $push27=, 0
+ i32.const $push26=, 0
+ i32.load $push4=, gap($pop26)
+ i32.const $push5=, 3
+ i32.add $push6=, $pop4, $pop5
+ i32.const $push7=, -4
+ i32.and $push8=, $pop6, $pop7
+ tee_local $push25=, $1=, $pop8
+ i32.const $push9=, 4
+ i32.add $push10=, $pop25, $pop9
+ i32.store $discard=, gap($pop27), $pop10
+ block
+ i32.load $push11=, 0($1)
+ i32.const $push12=, 13
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label21
+# BB#2: # %lor.lhs.false.i
+ i32.const $push30=, 0
+ i32.const $push29=, 0
+ i32.load $push14=, gap($pop29)
+ i32.const $push15=, 7
+ i32.add $push16=, $pop14, $pop15
+ i32.const $push17=, -8
+ i32.and $push18=, $pop16, $pop17
+ tee_local $push28=, $1=, $pop18
+ i32.const $push19=, 8
+ i32.add $push20=, $pop28, $pop19
+ i32.store $discard=, gap($pop30), $pop20
+ f64.load $push21=, 0($1)
+ f64.const $push22=, -0x1.cp3
+ f64.eq $push23=, $pop21, $pop22
+ br_if $pop23, 1 # 1: down to label20
+.LBB11_3: # %if.then3.i
+ end_block # label21:
+ call abort@FUNCTION
+ unreachable
+.LBB11_4: # %bar.exit
+ end_block # label20:
+ i32.const $push24=, 0
+ i32.store $discard=, bar_arg($pop24), $0
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+ .endfunc
+.Lfunc_end11:
+ .size f11, .Lfunc_end11-f11
+
+ .section .text.f12,"ax",@progbits
+ .hidden f12
+ .globl f12
+ .type f12,@function
+f12: # @f12
+ .param i32
+ .local i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 64
+ i32.sub $12=, $4, $5
+ copy_local $13=, $12
+ i32.const $5=, __stack_pointer
+ i32.store $12=, 0($5), $12
+ i32.const $push1=, 12
+ i32.const $7=, 40
+ i32.add $7=, $12, $7
+ i32.add $push0=, $7, $pop1
+ i32.store $push2=, 0($pop0), $13
+ i32.store $discard=, 60($12), $pop2
+ block
+ block
+ i32.const $push3=, 11
+ i32.eq $push4=, $0, $pop3
+ br_if $pop4, 0 # 0: down to label23
+# BB#1: # %entry
+ block
+ i32.const $push70=, 8
+ i32.eq $push5=, $0, $pop70
+ br_if $pop5, 0 # 0: down to label24
+# BB#2: # %entry
+ block
+ i32.const $push6=, 5
+ i32.ne $push7=, $0, $pop6
+ br_if $pop7, 0 # 0: down to label25
+# BB#3: # %sw.bb.i
+ i32.load $push46=, 60($12)
+ i32.const $push47=, 3
+ i32.add $push48=, $pop46, $pop47
+ i32.const $push49=, -4
+ i32.and $push50=, $pop48, $pop49
+ tee_local $push75=, $0=, $pop50
+ i32.const $push51=, 4
+ i32.add $push52=, $pop75, $pop51
+ i32.store $discard=, 60($12), $pop52
+ i32.load $3=, 0($0)
+ i32.const $push53=, 11
+ i32.add $push54=, $0, $pop53
+ i32.const $push55=, -8
+ i32.and $push56=, $pop54, $pop55
+ tee_local $push74=, $0=, $pop56
+ i32.const $push57=, 8
+ i32.add $push58=, $pop74, $pop57
+ i32.store $discard=, 60($12), $pop58
+ f64.convert_s/i32 $push60=, $3
+ f64.load $push59=, 0($0)
+ f64.add $push61=, $pop60, $pop59
+ i32.trunc_s/f64 $3=, $pop61
+ i32.const $push62=, 15
+ i32.add $push63=, $0, $pop62
+ i32.const $push73=, -8
+ i32.and $push64=, $pop63, $pop73
+ tee_local $push72=, $0=, $pop64
+ i32.const $push71=, 8
+ i32.add $push65=, $pop72, $pop71
+ i32.store $discard=, 60($12), $pop65
+ i32.const $push69=, 0
+ i64.extend_u/i32 $push67=, $3
+ i64.load $push66=, 0($0)
+ i64.add $push68=, $pop67, $pop66
+ i64.store32 $discard=, foo_arg($pop69), $pop68
+ br 3 # 3: down to label22
+.LBB12_4: # %sw.default.i
+ end_block # label25:
+ call abort@FUNCTION
+ unreachable
+.LBB12_5: # %sw.bb5.i
+ end_block # label24:
+ i32.load $push31=, 60($12)
+ i32.const $push32=, 7
+ i32.add $push33=, $pop31, $pop32
+ i32.const $push34=, -8
+ i32.and $push35=, $pop33, $pop34
+ tee_local $push80=, $0=, $pop35
+ i32.const $push79=, 8
+ i32.add $push36=, $pop80, $pop79
+ i32.store $discard=, 60($12), $pop36
+ i32.load $3=, 0($0):p2align=3
+ i32.const $push37=, 15
+ i32.add $push38=, $0, $pop37
+ i32.const $push78=, -8
+ i32.and $push39=, $pop38, $pop78
+ tee_local $push77=, $0=, $pop39
+ i32.const $push76=, 8
+ i32.add $push40=, $pop77, $pop76
+ i32.store $discard=, 60($12), $pop40
+ i32.const $push45=, 0
+ f64.load $push41=, 0($0)
+ f64.convert_s/i32 $push42=, $3
+ f64.add $push43=, $pop41, $pop42
+ i32.trunc_s/f64 $push44=, $pop43
+ i32.store $discard=, foo_arg($pop45), $pop44
+ br 1 # 1: down to label22
+.LBB12_6: # %sw.bb10.i
+ end_block # label23:
+ i32.load $push8=, 60($12)
+ i32.const $push9=, 3
+ i32.add $push10=, $pop8, $pop9
+ i32.const $push11=, -4
+ i32.and $push12=, $pop10, $pop11
+ tee_local $push86=, $0=, $pop12
+ i32.const $push13=, 4
+ i32.add $push14=, $pop86, $pop13
+ i32.store $discard=, 60($12), $pop14
+ i32.load $3=, 0($0)
+ i32.const $push15=, 19
+ i32.add $push16=, $0, $pop15
+ i32.const $push17=, -16
+ i32.and $push18=, $pop16, $pop17
+ tee_local $push85=, $0=, $pop18
+ i64.load $1=, 0($pop85)
+ i32.const $push19=, 8
+ i32.or $push20=, $0, $pop19
+ i32.store $push21=, 60($12), $pop20
+ tee_local $push84=, $0=, $pop21
+ i32.const $push83=, 8
+ i32.add $push22=, $pop84, $pop83
+ i32.store $discard=, 60($12), $pop22
+ i64.load $2=, 0($0)
+ i32.const $8=, 24
+ i32.add $8=, $12, $8
+ call __floatsitf@FUNCTION, $8, $3
+ i64.load $push25=, 24($12)
+ i32.const $push82=, 8
+ i32.const $9=, 24
+ i32.add $9=, $12, $9
+ i32.add $push23=, $9, $pop82
+ i64.load $push24=, 0($pop23)
+ i32.const $10=, 8
+ i32.add $10=, $12, $10
+ call __addtf3@FUNCTION, $10, $pop25, $pop24, $1, $2
+ i32.const $push30=, 0
+ i64.load $push28=, 8($12)
+ i32.const $push81=, 8
+ i32.const $11=, 8
+ i32.add $11=, $12, $11
+ i32.add $push26=, $11, $pop81
+ i64.load $push27=, 0($pop26)
+ i32.call $push29=, __fixtfsi@FUNCTION, $pop28, $pop27
+ i32.store $discard=, foo_arg($pop30), $pop29
+.LBB12_7: # %foo.exit
+ end_block # label22:
+ i32.const $6=, 64
+ i32.add $12=, $13, $6
+ i32.const $6=, __stack_pointer
+ i32.store $12=, 0($6), $12
+ return
+ .endfunc
+.Lfunc_end12:
+ .size f12, .Lfunc_end12-f12
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $37=, __stack_pointer
+ i32.load $37=, 0($37)
+ i32.const $38=, 32
+ i32.sub $40=, $37, $38
+ i32.const $38=, __stack_pointer
+ i32.store $40=, 0($38), $40
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $40=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $40=, 0($2), $40
+ i32.const $push0=, 79
+ i32.store $0=, 0($40), $pop0
+ call f1@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $40=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $40=, 0($4), $40
+ block
+ i32.const $push52=, 0
+ i32.load $push1=, x($pop52)
+ i32.ne $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label26
+# BB#1: # %if.end
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $40=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $40=, 0($6), $40
+ i32.const $push3=, 13
+ i32.store $discard=, 0($40), $pop3
+ i32.const $push4=, 8
+ i32.add $0=, $40, $pop4
+ i64.const $push5=, -4599301119452119040
+ i64.store $discard=, 0($0), $pop5
+ i32.const $push6=, 16386
+ call f2@FUNCTION, $pop6
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 16
+ i32.add $40=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $40=, 0($8), $40
+ block
+ i32.const $push54=, 0
+ i32.load $push7=, bar_arg($pop54)
+ i32.const $push53=, 16386
+ i32.ne $push8=, $pop7, $pop53
+ br_if $pop8, 0 # 0: down to label27
+# BB#2: # %if.end3
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 4
+ i32.sub $40=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $40=, 0($10), $40
+ i32.const $push9=, 2031
+ i32.store $0=, 0($40), $pop9
+ call f3@FUNCTION, $0
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 4
+ i32.add $40=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $40=, 0($12), $40
+ block
+ i32.const $push55=, 0
+ i32.load $push10=, x($pop55)
+ i32.ne $push11=, $0, $pop10
+ br_if $pop11, 0 # 0: down to label28
+# BB#3: # %if.end6
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 4
+ i32.sub $40=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $40=, 0($14), $40
+ i32.const $push12=, 18
+ i32.store $discard=, 0($40), $pop12
+ i32.const $push13=, 4
+ call f4@FUNCTION, $pop13
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 4
+ i32.add $40=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $40=, 0($16), $40
+ block
+ i32.const $push57=, 0
+ i32.load $push14=, bar_arg($pop57)
+ i32.const $push56=, 4
+ i32.ne $push15=, $pop14, $pop56
+ br_if $pop15, 0 # 0: down to label29
+# BB#4: # %if.end9
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 24
+ i32.sub $40=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $40=, 0($18), $40
+ i32.const $push16=, 1
+ i32.store $discard=, 0($40), $pop16
+ i32.const $push17=, 16
+ i32.add $0=, $40, $pop17
+ i64.const $push18=, 18
+ i64.store $discard=, 0($0), $pop18
+ i32.const $push19=, 8
+ i32.add $0=, $40, $pop19
+ i64.const $push20=, 4626041242239631360
+ i64.store $discard=, 0($0), $pop20
+ i32.const $push21=, 5
+ call f5@FUNCTION, $pop21
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 24
+ i32.add $40=, $19, $20
+ i32.const $20=, __stack_pointer
+ i32.store $40=, 0($20), $40
+ block
+ i32.const $push58=, 0
+ i32.load $push22=, foo_arg($pop58)
+ i32.const $push23=, 38
+ i32.ne $push24=, $pop22, $pop23
+ br_if $pop24, 0 # 0: down to label30
+# BB#5: # %if.end12
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 4
+ i32.sub $40=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $40=, 0($22), $40
+ i32.const $push25=, 18
+ i32.store $0=, 0($40), $pop25
+ call f6@FUNCTION, $0
+ i32.const $23=, __stack_pointer
+ i32.load $23=, 0($23)
+ i32.const $24=, 4
+ i32.add $40=, $23, $24
+ i32.const $24=, __stack_pointer
+ i32.store $40=, 0($24), $40
+ block
+ i32.const $push59=, 0
+ i32.load $push26=, x($pop59)
+ i32.ne $push27=, $0, $pop26
+ br_if $pop27, 0 # 0: down to label31
+# BB#6: # %if.end15
+ i32.const $push28=, 7
+ call f7@FUNCTION, $pop28
+ block
+ i32.const $push61=, 0
+ i32.load $push29=, bar_arg($pop61)
+ i32.const $push60=, 7
+ i32.ne $push30=, $pop29, $pop60
+ br_if $pop30, 0 # 0: down to label32
+# BB#7: # %if.end18
+ i32.const $25=, __stack_pointer
+ i32.load $25=, 0($25)
+ i32.const $26=, 16
+ i32.sub $40=, $25, $26
+ i32.const $26=, __stack_pointer
+ i32.store $40=, 0($26), $40
+ i64.const $push31=, 2031
+ i64.store $discard=, 0($40), $pop31
+ i32.const $push32=, 8
+ i32.add $0=, $40, $pop32
+ i64.const $push33=, 4623507967449235456
+ i64.store $discard=, 0($0), $pop33
+ i32.const $push63=, 8
+ call f8@FUNCTION, $pop63
+ i32.const $27=, __stack_pointer
+ i32.load $27=, 0($27)
+ i32.const $28=, 16
+ i32.add $40=, $27, $28
+ i32.const $28=, __stack_pointer
+ i32.store $40=, 0($28), $40
+ block
+ i32.const $push62=, 0
+ i32.load $push34=, foo_arg($pop62)
+ i32.const $push35=, 2044
+ i32.ne $push36=, $pop34, $pop35
+ br_if $pop36, 0 # 0: down to label33
+# BB#8: # %if.end21
+ i32.const $29=, __stack_pointer
+ i32.load $29=, 0($29)
+ i32.const $30=, 4
+ i32.sub $40=, $29, $30
+ i32.const $30=, __stack_pointer
+ i32.store $40=, 0($30), $40
+ i32.const $push37=, 180
+ i32.store $0=, 0($40), $pop37
+ call f10@FUNCTION, $0
+ i32.const $31=, __stack_pointer
+ i32.load $31=, 0($31)
+ i32.const $32=, 4
+ i32.add $40=, $31, $32
+ i32.const $32=, __stack_pointer
+ i32.store $40=, 0($32), $40
+ block
+ i32.const $push64=, 0
+ i32.load $push38=, x($pop64)
+ i32.ne $push39=, $0, $pop38
+ br_if $pop39, 0 # 0: down to label34
+# BB#9: # %if.end24
+ i32.const $push40=, 10
+ call f11@FUNCTION, $pop40
+ block
+ i32.const $push66=, 0
+ i32.load $push41=, bar_arg($pop66)
+ i32.const $push65=, 10
+ i32.ne $push42=, $pop41, $pop65
+ br_if $pop42, 0 # 0: down to label35
+# BB#10: # %if.end27
+ i32.const $33=, __stack_pointer
+ i32.load $33=, 0($33)
+ i32.const $34=, 24
+ i32.sub $40=, $33, $34
+ i32.const $34=, __stack_pointer
+ i32.store $40=, 0($34), $40
+ i32.const $push43=, 2030
+ i32.store $discard=, 0($40), $pop43
+ i32.const $push44=, 16
+ i32.add $0=, $40, $pop44
+ i64.const $push45=, 4612389705869164544
+ i64.store $discard=, 0($0), $pop45
+ i32.const $push46=, 8
+ i32.add $0=, $40, $pop46
+ i64.const $push47=, 0
+ i64.store $discard=, 0($0), $pop47
+ i32.const $push48=, 11
+ call f12@FUNCTION, $pop48
+ i32.const $35=, __stack_pointer
+ i32.load $35=, 0($35)
+ i32.const $36=, 24
+ i32.add $40=, $35, $36
+ i32.const $36=, __stack_pointer
+ i32.store $40=, 0($36), $40
+ block
+ i32.const $push67=, 0
+ i32.load $push49=, foo_arg($pop67)
+ i32.const $push50=, 2042
+ i32.ne $push51=, $pop49, $pop50
+ br_if $pop51, 0 # 0: down to label36
+# BB#11: # %if.end30
+ i32.const $push68=, 0
+ i32.const $39=, 32
+ i32.add $40=, $40, $39
+ i32.const $39=, __stack_pointer
+ i32.store $40=, 0($39), $40
+ return $pop68
+.LBB13_12: # %if.then29
+ end_block # label36:
+ call abort@FUNCTION
+ unreachable
+.LBB13_13: # %if.then26
+ end_block # label35:
+ call abort@FUNCTION
+ unreachable
+.LBB13_14: # %if.then23
+ end_block # label34:
+ call abort@FUNCTION
+ unreachable
+.LBB13_15: # %if.then20
+ end_block # label33:
+ call abort@FUNCTION
+ unreachable
+.LBB13_16: # %if.then17
+ end_block # label32:
+ call abort@FUNCTION
+ unreachable
+.LBB13_17: # %if.then14
+ end_block # label31:
+ call abort@FUNCTION
+ unreachable
+.LBB13_18: # %if.then11
+ end_block # label30:
+ call abort@FUNCTION
+ unreachable
+.LBB13_19: # %if.then8
+ end_block # label29:
+ call abort@FUNCTION
+ unreachable
+.LBB13_20: # %if.then5
+ end_block # label28:
+ call abort@FUNCTION
+ unreachable
+.LBB13_21: # %if.then2
+ end_block # label27:
+ call abort@FUNCTION
+ unreachable
+.LBB13_22: # %if.then
+ end_block # label26:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end13:
+ .size main, .Lfunc_end13-main
+
+ .hidden foo_arg # @foo_arg
+ .type foo_arg,@object
+ .section .bss.foo_arg,"aw",@nobits
+ .globl foo_arg
+ .p2align 2
+foo_arg:
+ .int32 0 # 0x0
+ .size foo_arg, 4
+
+ .hidden gap # @gap
+ .type gap,@object
+ .section .bss.gap,"aw",@nobits
+ .globl gap
+ .p2align 2
+gap:
+ .int32 0
+ .size gap, 4
+
+ .hidden bar_arg # @bar_arg
+ .type bar_arg,@object
+ .section .bss.bar_arg,"aw",@nobits
+ .globl bar_arg
+ .p2align 2
+bar_arg:
+ .int32 0 # 0x0
+ .size bar_arg, 4
+
+ .hidden x # @x
+ .type x,@object
+ .section .bss.x,"aw",@nobits
+ .globl x
+ .p2align 2
+x:
+ .int32 0 # 0x0
+ .size x, 4
+
+ .hidden d # @d
+ .type d,@object
+ .section .bss.d,"aw",@nobits
+ .globl d
+ .p2align 3
+d:
+ .int64 0 # double 0
+ .size d, 8
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/stdarg-4.c.s b/test/torture-s/stdarg-4.c.s
new file mode 100644
index 000000000..87b595925
--- /dev/null
+++ b/test/torture-s/stdarg-4.c.s
@@ -0,0 +1,944 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/stdarg-4.c"
+ .section .text.f1i,"ax",@progbits
+ .hidden f1i
+ .globl f1i
+ .type f1i,@function
+f1i: # @f1i
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $push0=, 12($6), $0
+ i32.const $push1=, 7
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -8
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push28=, $0=, $pop4
+ i32.const $push5=, 8
+ i32.add $push6=, $pop28, $pop5
+ i32.store $discard=, 12($6), $pop6
+ f64.load $push7=, 0($0)
+ i32.trunc_s/f64 $1=, $pop7
+ i32.const $push8=, 11
+ i32.add $push9=, $0, $pop8
+ i32.const $push10=, -4
+ i32.and $push11=, $pop9, $pop10
+ tee_local $push27=, $0=, $pop11
+ i32.const $push12=, 4
+ i32.add $push13=, $pop27, $pop12
+ i32.store $discard=, 12($6), $pop13
+ i32.load $2=, 0($0)
+ i32.const $push26=, 11
+ i32.add $push15=, $0, $pop26
+ i32.const $push25=, -8
+ i32.and $push16=, $pop15, $pop25
+ tee_local $push24=, $0=, $pop16
+ i32.const $push23=, 8
+ i32.add $push17=, $pop24, $pop23
+ i32.store $discard=, 12($6), $pop17
+ i32.const $push22=, 0
+ i32.add $push14=, $2, $1
+ f64.convert_s/i32 $push19=, $pop14
+ f64.load $push18=, 0($0)
+ f64.add $push20=, $pop19, $pop18
+ i32.trunc_s/f64 $push21=, $pop20
+ i32.store $discard=, x($pop22), $pop21
+ i32.const $5=, 16
+ i32.add $6=, $6, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+ .endfunc
+.Lfunc_end0:
+ .size f1i, .Lfunc_end0-f1i
+
+ .section .text.f1,"ax",@progbits
+ .hidden f1
+ .globl f1
+ .type f1,@function
+f1: # @f1
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $7=, $4, $5
+ copy_local $8=, $7
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
+ i32.store $push0=, 8($7), $8
+ i32.store $push1=, 12($7), $pop0
+ i32.const $push2=, 7
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -8
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push29=, $3=, $pop5
+ i32.const $push6=, 8
+ i32.add $push7=, $pop29, $pop6
+ i32.store $discard=, 12($7), $pop7
+ f64.load $push8=, 0($3)
+ i32.trunc_s/f64 $1=, $pop8
+ i32.const $push9=, 11
+ i32.add $push10=, $3, $pop9
+ i32.const $push11=, -4
+ i32.and $push12=, $pop10, $pop11
+ tee_local $push28=, $3=, $pop12
+ i32.const $push13=, 4
+ i32.add $push14=, $pop28, $pop13
+ i32.store $discard=, 12($7), $pop14
+ i32.load $2=, 0($3)
+ i32.const $push27=, 11
+ i32.add $push16=, $3, $pop27
+ i32.const $push26=, -8
+ i32.and $push17=, $pop16, $pop26
+ tee_local $push25=, $3=, $pop17
+ i32.const $push24=, 8
+ i32.add $push18=, $pop25, $pop24
+ i32.store $discard=, 12($7), $pop18
+ i32.const $push23=, 0
+ f64.load $push19=, 0($3)
+ i32.add $push15=, $2, $1
+ f64.convert_s/i32 $push20=, $pop15
+ f64.add $push21=, $pop19, $pop20
+ i32.trunc_s/f64 $push22=, $pop21
+ i32.store $discard=, x($pop23), $pop22
+ i32.const $6=, 16
+ i32.add $7=, $8, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ return
+ .endfunc
+.Lfunc_end1:
+ .size f1, .Lfunc_end1-f1
+
+ .section .text.f2i,"ax",@progbits
+ .hidden f2i
+ .globl f2i
+ .type f2i,@function
+f2i: # @f2i
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $7=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
+ i32.store $push0=, 8($7), $0
+ i32.const $push1=, 3
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -4
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push55=, $0=, $pop4
+ i32.const $push5=, 4
+ i32.add $push6=, $pop55, $pop5
+ i32.store $discard=, 8($7), $pop6
+ i32.load $1=, 0($0)
+ i32.const $push7=, 7
+ i32.add $push8=, $0, $pop7
+ i32.const $push54=, -4
+ i32.and $push9=, $pop8, $pop54
+ tee_local $push53=, $0=, $pop9
+ i32.const $push52=, 4
+ i32.add $push10=, $pop53, $pop52
+ i32.store $discard=, 8($7), $pop10
+ i32.load $2=, 0($0)
+ i32.const $push12=, 11
+ i32.add $push13=, $0, $pop12
+ i32.const $push14=, -8
+ i32.and $push15=, $pop13, $pop14
+ tee_local $push51=, $0=, $pop15
+ i32.const $push16=, 8
+ i32.add $push17=, $pop51, $pop16
+ i32.store $3=, 8($7), $pop17
+ i32.const $push22=, 0
+ i32.add $push11=, $2, $1
+ f64.convert_s/i32 $push19=, $pop11
+ f64.load $push18=, 0($0)
+ f64.add $push20=, $pop19, $pop18
+ i32.trunc_s/f64 $push21=, $pop20
+ i32.store $discard=, y($pop22), $pop21
+ i32.store $discard=, 12($7), $3
+ i32.const $push23=, 15
+ i32.add $push24=, $0, $pop23
+ i32.const $push50=, -8
+ i32.and $push25=, $pop24, $pop50
+ tee_local $push49=, $0=, $pop25
+ i32.const $push48=, 8
+ i32.add $push26=, $pop49, $pop48
+ i32.store $discard=, 12($7), $pop26
+ f64.load $push27=, 0($0)
+ i32.trunc_s/f64 $1=, $pop27
+ i32.const $push47=, 11
+ i32.add $push28=, $0, $pop47
+ i32.const $push46=, -4
+ i32.and $push29=, $pop28, $pop46
+ tee_local $push45=, $0=, $pop29
+ i32.const $push44=, 4
+ i32.add $push30=, $pop45, $pop44
+ i32.store $discard=, 12($7), $pop30
+ i32.load $2=, 0($0)
+ i32.const $push43=, 11
+ i32.add $push32=, $0, $pop43
+ i32.const $push42=, -8
+ i32.and $push33=, $pop32, $pop42
+ tee_local $push41=, $0=, $pop33
+ i32.const $push40=, 8
+ i32.add $push34=, $pop41, $pop40
+ i32.store $discard=, 12($7), $pop34
+ i32.const $push39=, 0
+ f64.load $push35=, 0($0)
+ i32.add $push31=, $2, $1
+ f64.convert_s/i32 $push36=, $pop31
+ f64.add $push37=, $pop35, $pop36
+ i32.trunc_s/f64 $push38=, $pop37
+ i32.store $discard=, x($pop39), $pop38
+ i32.const $6=, 16
+ i32.add $7=, $7, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ return
+ .endfunc
+.Lfunc_end2:
+ .size f2i, .Lfunc_end2-f2i
+
+ .section .text.f2,"ax",@progbits
+ .hidden f2
+ .globl f2
+ .type f2,@function
+f2: # @f2
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $8=, $5, $6
+ copy_local $9=, $8
+ i32.const $6=, __stack_pointer
+ i32.store $8=, 0($6), $8
+ i32.store $push0=, 4($8), $9
+ i32.store $push1=, 8($8), $pop0
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -4
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push56=, $4=, $pop5
+ i32.const $push6=, 4
+ i32.add $push7=, $pop56, $pop6
+ i32.store $discard=, 8($8), $pop7
+ i32.load $1=, 0($4)
+ i32.const $push8=, 7
+ i32.add $push9=, $4, $pop8
+ i32.const $push55=, -4
+ i32.and $push10=, $pop9, $pop55
+ tee_local $push54=, $4=, $pop10
+ i32.const $push53=, 4
+ i32.add $push11=, $pop54, $pop53
+ i32.store $discard=, 8($8), $pop11
+ i32.load $2=, 0($4)
+ i32.const $push13=, 11
+ i32.add $push14=, $4, $pop13
+ i32.const $push15=, -8
+ i32.and $push16=, $pop14, $pop15
+ tee_local $push52=, $4=, $pop16
+ i32.const $push17=, 8
+ i32.add $push18=, $pop52, $pop17
+ i32.store $3=, 8($8), $pop18
+ i32.const $push23=, 0
+ f64.load $push19=, 0($4)
+ i32.add $push12=, $2, $1
+ f64.convert_s/i32 $push20=, $pop12
+ f64.add $push21=, $pop19, $pop20
+ i32.trunc_s/f64 $push22=, $pop21
+ i32.store $discard=, y($pop23), $pop22
+ i32.store $discard=, 12($8), $3
+ i32.const $push24=, 15
+ i32.add $push25=, $4, $pop24
+ i32.const $push51=, -8
+ i32.and $push26=, $pop25, $pop51
+ tee_local $push50=, $4=, $pop26
+ i32.const $push49=, 8
+ i32.add $push27=, $pop50, $pop49
+ i32.store $discard=, 12($8), $pop27
+ f64.load $push28=, 0($4)
+ i32.trunc_s/f64 $1=, $pop28
+ i32.const $push48=, 11
+ i32.add $push29=, $4, $pop48
+ i32.const $push47=, -4
+ i32.and $push30=, $pop29, $pop47
+ tee_local $push46=, $4=, $pop30
+ i32.const $push45=, 4
+ i32.add $push31=, $pop46, $pop45
+ i32.store $discard=, 12($8), $pop31
+ i32.load $2=, 0($4)
+ i32.const $push44=, 11
+ i32.add $push33=, $4, $pop44
+ i32.const $push43=, -8
+ i32.and $push34=, $pop33, $pop43
+ tee_local $push42=, $4=, $pop34
+ i32.const $push41=, 8
+ i32.add $push35=, $pop42, $pop41
+ i32.store $discard=, 12($8), $pop35
+ i32.const $push40=, 0
+ f64.load $push36=, 0($4)
+ i32.add $push32=, $2, $1
+ f64.convert_s/i32 $push37=, $pop32
+ f64.add $push38=, $pop36, $pop37
+ i32.trunc_s/f64 $push39=, $pop38
+ i32.store $discard=, x($pop40), $pop39
+ i32.const $7=, 16
+ i32.add $8=, $9, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ return
+ .endfunc
+.Lfunc_end3:
+ .size f2, .Lfunc_end3-f2
+
+ .section .text.f3h,"ax",@progbits
+ .hidden f3h
+ .globl f3h
+ .type f3h,@function
+f3h: # @f3h
+ .param i32, i32, i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ i32.add $push0=, $1, $0
+ i32.add $push1=, $pop0, $2
+ i32.add $push2=, $pop1, $3
+ i32.add $push3=, $pop2, $4
+ return $pop3
+ .endfunc
+.Lfunc_end4:
+ .size f3h, .Lfunc_end4-f3h
+
+ .section .text.f3,"ax",@progbits
+ .hidden f3
+ .globl f3
+ .type f3,@function
+f3: # @f3
+ .param i32
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $7=, $4, $5
+ copy_local $8=, $7
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
+ i32.store $discard=, 12($7), $8
+ block
+ i32.const $push0=, 4
+ i32.gt_u $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $3=, 0
+ block
+ block
+ block
+ block
+ block
+ tableswitch $0, 4, 4, 0, 1, 2, 3 # 4: down to label1
+ # 0: down to label5
+ # 1: down to label4
+ # 2: down to label3
+ # 3: down to label2
+.LBB5_2: # %sw.bb2
+ end_block # label5:
+ i32.load $push54=, 12($7)
+ i32.const $push55=, 3
+ i32.add $push56=, $pop54, $pop55
+ i32.const $push57=, -4
+ i32.and $push58=, $pop56, $pop57
+ tee_local $push63=, $0=, $pop58
+ i32.const $push59=, 4
+ i32.add $push60=, $pop63, $pop59
+ i32.store $discard=, 12($7), $pop60
+ i32.load $push61=, 0($0)
+ i32.const $push62=, 1
+ i32.add $3=, $pop61, $pop62
+ br 3 # 3: down to label1
+.LBB5_3: # %sw.bb4
+ end_block # label4:
+ i32.load $push40=, 12($7)
+ i32.const $push41=, 3
+ i32.add $push42=, $pop40, $pop41
+ i32.const $push43=, -4
+ i32.and $push44=, $pop42, $pop43
+ tee_local $push67=, $0=, $pop44
+ i32.const $push45=, 4
+ i32.add $push46=, $pop67, $pop45
+ i32.store $discard=, 12($7), $pop46
+ i32.load $3=, 0($0)
+ i32.const $push47=, 7
+ i32.add $push48=, $0, $pop47
+ i32.const $push66=, -4
+ i32.and $push49=, $pop48, $pop66
+ tee_local $push65=, $0=, $pop49
+ i32.const $push64=, 4
+ i32.add $push50=, $pop65, $pop64
+ i32.store $discard=, 12($7), $pop50
+ i32.load $push51=, 0($0)
+ i32.add $push52=, $3, $pop51
+ i32.const $push53=, 2
+ i32.add $3=, $pop52, $pop53
+ br 2 # 2: down to label1
+.LBB5_4: # %sw.bb6
+ end_block # label3:
+ i32.load $push23=, 12($7)
+ i32.const $push24=, 3
+ i32.add $push25=, $pop23, $pop24
+ i32.const $push26=, -4
+ i32.and $push27=, $pop25, $pop26
+ tee_local $push76=, $0=, $pop27
+ i32.const $push28=, 4
+ i32.add $push29=, $pop76, $pop28
+ i32.store $discard=, 12($7), $pop29
+ i32.load $3=, 0($0)
+ i32.const $push30=, 7
+ i32.add $push31=, $0, $pop30
+ i32.const $push75=, -4
+ i32.and $push32=, $pop31, $pop75
+ tee_local $push74=, $0=, $pop32
+ i32.const $push73=, 4
+ i32.add $push33=, $pop74, $pop73
+ i32.store $discard=, 12($7), $pop33
+ i32.load $1=, 0($0)
+ i32.const $push72=, 7
+ i32.add $push34=, $0, $pop72
+ i32.const $push71=, -4
+ i32.and $push35=, $pop34, $pop71
+ tee_local $push70=, $0=, $pop35
+ i32.const $push69=, 4
+ i32.add $push36=, $pop70, $pop69
+ i32.store $discard=, 12($7), $pop36
+ i32.add $push38=, $3, $1
+ i32.load $push37=, 0($0)
+ i32.add $push39=, $pop38, $pop37
+ i32.const $push68=, 3
+ i32.add $3=, $pop39, $pop68
+ br 1 # 1: down to label1
+.LBB5_5: # %sw.bb8
+ end_block # label2:
+ i32.load $push2=, 12($7)
+ i32.const $push3=, 3
+ i32.add $push4=, $pop2, $pop3
+ i32.const $push5=, -4
+ i32.and $push6=, $pop4, $pop5
+ tee_local $push89=, $0=, $pop6
+ i32.const $push7=, 4
+ i32.add $push8=, $pop89, $pop7
+ i32.store $discard=, 12($7), $pop8
+ i32.load $3=, 0($0)
+ i32.const $push9=, 7
+ i32.add $push10=, $0, $pop9
+ i32.const $push88=, -4
+ i32.and $push11=, $pop10, $pop88
+ tee_local $push87=, $0=, $pop11
+ i32.const $push86=, 4
+ i32.add $push12=, $pop87, $pop86
+ i32.store $discard=, 12($7), $pop12
+ i32.load $1=, 0($0)
+ i32.const $push85=, 7
+ i32.add $push13=, $0, $pop85
+ i32.const $push84=, -4
+ i32.and $push14=, $pop13, $pop84
+ tee_local $push83=, $0=, $pop14
+ i32.const $push82=, 4
+ i32.add $push15=, $pop83, $pop82
+ i32.store $discard=, 12($7), $pop15
+ i32.load $2=, 0($0)
+ i32.const $push81=, 7
+ i32.add $push16=, $0, $pop81
+ i32.const $push80=, -4
+ i32.and $push17=, $pop16, $pop80
+ tee_local $push79=, $0=, $pop17
+ i32.const $push78=, 4
+ i32.add $push18=, $pop79, $pop78
+ i32.store $discard=, 12($7), $pop18
+ i32.add $push20=, $3, $1
+ i32.add $push21=, $2, $pop20
+ i32.load $push19=, 0($0)
+ i32.add $push22=, $pop21, $pop19
+ i32.const $push77=, 4
+ i32.add $3=, $pop22, $pop77
+.LBB5_6: # %sw.epilog
+ end_block # label1:
+ i32.const $6=, 16
+ i32.add $7=, $8, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ return $3
+.LBB5_7: # %sw.default
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end5:
+ .size f3, .Lfunc_end5-f3
+
+ .section .text.f4,"ax",@progbits
+ .hidden f4
+ .globl f4
+ .type f4,@function
+f4: # @f4
+ .param i32
+ .local i32, i32, f64, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $7=, $4, $5
+ copy_local $8=, $7
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
+ i32.store $discard=, 8($7), $8
+ block
+ block
+ i32.const $push0=, 5
+ i32.eq $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label7
+# BB#1: # %entry
+ block
+ i32.const $push2=, 4
+ i32.ne $push3=, $0, $pop2
+ br_if $pop3, 0 # 0: down to label8
+# BB#2: # %sw.bb
+ i32.load $push20=, 8($7)
+ i32.const $push21=, 7
+ i32.add $push22=, $pop20, $pop21
+ i32.const $push23=, -8
+ i32.and $push24=, $pop22, $pop23
+ tee_local $push51=, $0=, $pop24
+ i32.const $push25=, 8
+ i32.add $push26=, $pop51, $pop25
+ i32.store $discard=, 8($7), $pop26
+ f64.load $3=, 0($0)
+ br 2 # 2: down to label6
+.LBB6_3: # %sw.default
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB6_4: # %sw.bb2
+ end_block # label7:
+ i32.load $push4=, 8($7)
+ i32.const $push5=, 7
+ i32.add $push6=, $pop4, $pop5
+ i32.const $push7=, -8
+ i32.and $push8=, $pop6, $pop7
+ tee_local $push55=, $0=, $pop8
+ i32.const $push9=, 8
+ i32.add $push10=, $pop55, $pop9
+ i32.store $discard=, 8($7), $pop10
+ i32.const $push13=, 0
+ f64.load $push11=, 0($0)
+ i32.trunc_s/f64 $push12=, $pop11
+ i32.store $1=, y($pop13), $pop12
+ i32.const $push14=, 15
+ i32.add $push15=, $0, $pop14
+ i32.const $push54=, -8
+ i32.and $push16=, $pop15, $pop54
+ tee_local $push53=, $0=, $pop16
+ i32.const $push52=, 8
+ i32.add $push17=, $pop53, $pop52
+ i32.store $discard=, 8($7), $pop17
+ f64.convert_s/i32 $push19=, $1
+ f64.load $push18=, 0($0)
+ f64.add $3=, $pop19, $pop18
+.LBB6_5: # %sw.epilog
+ end_block # label6:
+ i32.load $0=, 8($7)
+ i32.const $push28=, 0
+ i32.trunc_s/f64 $push27=, $3
+ i32.store $discard=, y($pop28), $pop27
+ i32.store $push29=, 12($7), $0
+ i32.const $push30=, 7
+ i32.add $push31=, $pop29, $pop30
+ i32.const $push32=, -8
+ i32.and $push33=, $pop31, $pop32
+ tee_local $push62=, $0=, $pop33
+ i32.const $push34=, 8
+ i32.add $push35=, $pop62, $pop34
+ i32.store $discard=, 12($7), $pop35
+ f64.load $push36=, 0($0)
+ i32.trunc_s/f64 $1=, $pop36
+ i32.const $push37=, 11
+ i32.add $push38=, $0, $pop37
+ i32.const $push39=, -4
+ i32.and $push40=, $pop38, $pop39
+ tee_local $push61=, $0=, $pop40
+ i32.const $push41=, 4
+ i32.add $push42=, $pop61, $pop41
+ i32.store $discard=, 12($7), $pop42
+ i32.load $2=, 0($0)
+ i32.const $push60=, 11
+ i32.add $push44=, $0, $pop60
+ i32.const $push59=, -8
+ i32.and $push45=, $pop44, $pop59
+ tee_local $push58=, $0=, $pop45
+ i32.const $push57=, 8
+ i32.add $push46=, $pop58, $pop57
+ i32.store $discard=, 12($7), $pop46
+ i32.const $push56=, 0
+ f64.load $push47=, 0($0)
+ i32.add $push43=, $2, $1
+ f64.convert_s/i32 $push48=, $pop43
+ f64.add $push49=, $pop47, $pop48
+ i32.trunc_s/f64 $push50=, $pop49
+ i32.store $discard=, x($pop56), $pop50
+ i32.const $6=, 16
+ i32.add $7=, $8, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ return
+ .endfunc
+.Lfunc_end6:
+ .size f4, .Lfunc_end6-f4
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $34=, __stack_pointer
+ i32.load $34=, 0($34)
+ i32.const $35=, 48
+ i32.sub $37=, $34, $35
+ i32.const $35=, __stack_pointer
+ i32.store $37=, 0($35), $37
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 24
+ i32.sub $37=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $37=, 0($3), $37
+ i64.const $push0=, 4625196817309499392
+ i64.store $discard=, 0($37), $pop0
+ i32.const $push67=, 16
+ i32.add $0=, $37, $pop67
+ i64.const $push1=, 4629700416936869888
+ i64.store $discard=, 0($0), $pop1
+ i32.const $push66=, 8
+ i32.add $0=, $37, $pop66
+ i32.const $push2=, 128
+ i32.store $discard=, 0($0), $pop2
+ call f1@FUNCTION, $0
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 24
+ i32.add $37=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $37=, 0($5), $37
+ block
+ i32.const $push65=, 0
+ i32.load $push3=, x($pop65)
+ i32.const $push4=, 176
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label9
+# BB#1: # %if.end
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 40
+ i32.sub $37=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $37=, 0($7), $37
+ i64.const $push7=, 30064771077
+ i64.store $discard=, 0($37):p2align=2, $pop7
+ i32.const $push8=, 32
+ i32.add $0=, $37, $pop8
+ i64.const $push9=, 4634204016564240384
+ i64.store $discard=, 0($0), $pop9
+ i32.const $push10=, 24
+ i32.add $0=, $37, $pop10
+ i32.const $push11=, 17
+ i32.store $discard=, 0($0), $pop11
+ i32.const $push70=, 16
+ i32.add $0=, $37, $pop70
+ i64.const $push12=, 4626041242239631360
+ i64.store $discard=, 0($0), $pop12
+ i32.const $push69=, 8
+ i32.add $0=, $37, $pop69
+ i64.const $push13=, 4625759767262920704
+ i64.store $discard=, 0($0), $pop13
+ call f2@FUNCTION, $0
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 40
+ i32.add $37=, $8, $9
+ i32.const $9=, __stack_pointer
+ i32.store $37=, 0($9), $37
+ block
+ i32.const $push68=, 0
+ i32.load $push14=, x($pop68)
+ i32.const $push15=, 100
+ i32.ne $push16=, $pop14, $pop15
+ br_if $pop16, 0 # 0: down to label10
+# BB#2: # %if.end
+ i32.const $push71=, 0
+ i32.load $push6=, y($pop71)
+ i32.const $push17=, 30
+ i32.ne $push18=, $pop6, $pop17
+ br_if $pop18, 0 # 0: down to label10
+# BB#3: # %if.end4
+ i32.const $push19=, 0
+ i32.call $0=, f3@FUNCTION, $pop19
+ block
+ br_if $0, 0 # 0: down to label11
+# BB#4: # %if.end7
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 4
+ i32.sub $37=, $10, $11
+ i32.const $11=, __stack_pointer
+ i32.store $37=, 0($11), $37
+ i32.const $push20=, 18
+ i32.store $discard=, 0($37), $pop20
+ i32.const $push21=, 1
+ i32.call $0=, f3@FUNCTION, $pop21
+ i32.const $12=, __stack_pointer
+ i32.load $12=, 0($12)
+ i32.const $13=, 4
+ i32.add $37=, $12, $13
+ i32.const $13=, __stack_pointer
+ i32.store $37=, 0($13), $37
+ block
+ i32.const $push22=, 19
+ i32.ne $push23=, $0, $pop22
+ br_if $pop23, 0 # 0: down to label12
+# BB#5: # %if.end11
+ i32.const $14=, __stack_pointer
+ i32.load $14=, 0($14)
+ i32.const $15=, 8
+ i32.sub $37=, $14, $15
+ i32.const $15=, __stack_pointer
+ i32.store $37=, 0($15), $37
+ i64.const $push24=, 429496729618
+ i64.store $1=, 0($37):p2align=2, $pop24
+ i32.const $push25=, 2
+ i32.call $0=, f3@FUNCTION, $pop25
+ i32.const $16=, __stack_pointer
+ i32.load $16=, 0($16)
+ i32.const $17=, 8
+ i32.add $37=, $16, $17
+ i32.const $17=, __stack_pointer
+ i32.store $37=, 0($17), $37
+ block
+ i32.const $push26=, 120
+ i32.ne $push27=, $0, $pop26
+ br_if $pop27, 0 # 0: down to label13
+# BB#6: # %if.end15
+ i32.const $18=, __stack_pointer
+ i32.load $18=, 0($18)
+ i32.const $19=, 12
+ i32.sub $37=, $18, $19
+ i32.const $19=, __stack_pointer
+ i32.store $37=, 0($19), $37
+ i64.store $discard=, 0($37):p2align=2, $1
+ i32.const $push72=, 8
+ i32.add $0=, $37, $pop72
+ i32.const $push28=, 300
+ i32.store $discard=, 0($0), $pop28
+ i32.const $push29=, 3
+ i32.call $0=, f3@FUNCTION, $pop29
+ i32.const $20=, __stack_pointer
+ i32.load $20=, 0($20)
+ i32.const $21=, 12
+ i32.add $37=, $20, $21
+ i32.const $21=, __stack_pointer
+ i32.store $37=, 0($21), $37
+ block
+ i32.const $push30=, 421
+ i32.ne $push31=, $0, $pop30
+ br_if $pop31, 0 # 0: down to label14
+# BB#7: # %if.end19
+ i32.const $22=, __stack_pointer
+ i32.load $22=, 0($22)
+ i32.const $23=, 16
+ i32.sub $37=, $22, $23
+ i32.const $23=, __stack_pointer
+ i32.store $37=, 0($23), $37
+ i64.const $push32=, 304942678034
+ i64.store $discard=, 0($37):p2align=2, $pop32
+ i32.const $push74=, 8
+ i32.add $0=, $37, $pop74
+ i64.const $push33=, 369367187520
+ i64.store $discard=, 0($0):p2align=2, $pop33
+ i32.const $push73=, 4
+ i32.call $0=, f3@FUNCTION, $pop73
+ i32.const $24=, __stack_pointer
+ i32.load $24=, 0($24)
+ i32.const $25=, 16
+ i32.add $37=, $24, $25
+ i32.const $25=, __stack_pointer
+ i32.store $37=, 0($25), $37
+ block
+ i32.const $push34=, 243
+ i32.ne $push35=, $0, $pop34
+ br_if $pop35, 0 # 0: down to label15
+# BB#8: # %if.end23
+ i32.const $26=, __stack_pointer
+ i32.load $26=, 0($26)
+ i32.const $27=, 32
+ i32.sub $37=, $26, $27
+ i32.const $27=, __stack_pointer
+ i32.store $37=, 0($27), $37
+ i64.const $push37=, 4618441417868443648
+ i64.store $discard=, 0($37), $pop37
+ i32.const $push38=, 24
+ i32.add $0=, $37, $pop38
+ i64.const $push39=, 4625759767262920704
+ i64.store $discard=, 0($0), $pop39
+ i32.const $push40=, 16
+ i32.add $0=, $37, $pop40
+ i32.const $push77=, 16
+ i32.store $discard=, 0($0), $pop77
+ i32.const $push41=, 8
+ i32.add $0=, $37, $pop41
+ i64.const $push42=, 4621256167635550208
+ i64.store $discard=, 0($0), $pop42
+ i32.const $push76=, 4
+ call f4@FUNCTION, $pop76
+ i32.const $28=, __stack_pointer
+ i32.load $28=, 0($28)
+ i32.const $29=, 32
+ i32.add $37=, $28, $29
+ i32.const $29=, __stack_pointer
+ i32.store $37=, 0($29), $37
+ block
+ i32.const $push75=, 0
+ i32.load $push43=, x($pop75)
+ i32.const $push44=, 43
+ i32.ne $push45=, $pop43, $pop44
+ br_if $pop45, 0 # 0: down to label16
+# BB#9: # %if.end23
+ i32.const $push78=, 0
+ i32.load $push36=, y($pop78)
+ i32.const $push46=, 6
+ i32.ne $push47=, $pop36, $pop46
+ br_if $pop47, 0 # 0: down to label16
+# BB#10: # %if.end28
+ i32.const $30=, __stack_pointer
+ i32.load $30=, 0($30)
+ i32.const $31=, 40
+ i32.sub $37=, $30, $31
+ i32.const $31=, __stack_pointer
+ i32.store $37=, 0($31), $37
+ i64.const $push49=, 4619567317775286272
+ i64.store $discard=, 0($37), $pop49
+ i32.const $push50=, 32
+ i32.add $0=, $37, $pop50
+ i64.const $push51=, 4638566878703255552
+ i64.store $discard=, 0($0), $pop51
+ i32.const $push52=, 24
+ i32.add $0=, $37, $pop52
+ i32.const $push53=, 17
+ i32.store $discard=, 0($0), $pop53
+ i32.const $push54=, 16
+ i32.add $0=, $37, $pop54
+ i64.const $push55=, 4607182418800017408
+ i64.store $discard=, 0($0), $pop55
+ i32.const $push56=, 8
+ i32.add $0=, $37, $pop56
+ i64.const $push57=, 4626604192193052672
+ i64.store $discard=, 0($0), $pop57
+ i32.const $push58=, 5
+ call f4@FUNCTION, $pop58
+ i32.const $32=, __stack_pointer
+ i32.load $32=, 0($32)
+ i32.const $33=, 40
+ i32.add $37=, $32, $33
+ i32.const $33=, __stack_pointer
+ i32.store $37=, 0($33), $37
+ block
+ i32.const $push79=, 0
+ i32.load $push59=, x($pop79)
+ i32.const $push60=, 144
+ i32.ne $push61=, $pop59, $pop60
+ br_if $pop61, 0 # 0: down to label17
+# BB#11: # %if.end28
+ i32.const $push80=, 0
+ i32.load $push48=, y($pop80)
+ i32.const $push62=, 28
+ i32.ne $push63=, $pop48, $pop62
+ br_if $pop63, 0 # 0: down to label17
+# BB#12: # %if.end33
+ i32.const $push64=, 0
+ i32.const $36=, 48
+ i32.add $37=, $37, $36
+ i32.const $36=, __stack_pointer
+ i32.store $37=, 0($36), $37
+ return $pop64
+.LBB7_13: # %if.then32
+ end_block # label17:
+ call abort@FUNCTION
+ unreachable
+.LBB7_14: # %if.then27
+ end_block # label16:
+ call abort@FUNCTION
+ unreachable
+.LBB7_15: # %if.then22
+ end_block # label15:
+ call abort@FUNCTION
+ unreachable
+.LBB7_16: # %if.then18
+ end_block # label14:
+ call abort@FUNCTION
+ unreachable
+.LBB7_17: # %if.then14
+ end_block # label13:
+ call abort@FUNCTION
+ unreachable
+.LBB7_18: # %if.then10
+ end_block # label12:
+ call abort@FUNCTION
+ unreachable
+.LBB7_19: # %if.then6
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+.LBB7_20: # %if.then3
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB7_21: # %if.then
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end7:
+ .size main, .Lfunc_end7-main
+
+ .hidden x # @x
+ .type x,@object
+ .section .bss.x,"aw",@nobits
+ .globl x
+ .p2align 2
+x:
+ .int32 0 # 0x0
+ .size x, 4
+
+ .hidden y # @y
+ .type y,@object
+ .section .bss.y,"aw",@nobits
+ .globl y
+ .p2align 2
+y:
+ .int32 0 # 0x0
+ .size y, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/strcmp-1.c.s b/test/torture-s/strcmp-1.c.s
index 78987b4e5..c885caf7d 100644
--- a/test/torture-s/strcmp-1.c.s
+++ b/test/torture-s/strcmp-1.c.s
@@ -56,19 +56,14 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, 0
+ i32.const $0=, 0
i32.const $1=, u1
- copy_local $0=, $8
.LBB1_1: # %for.cond1.preheader
# =>This Loop Header: Depth=1
# Child Loop BB1_2 Depth 2
# Child Loop BB1_3 Depth 3
- # Child Loop BB1_4 Depth 4
- # Child Loop BB1_6 Depth 4
- # Child Loop BB1_9 Depth 4
- # Child Loop BB1_11 Depth 4
block
block
block
@@ -79,289 +74,214 @@ main: # @main
block
block
loop # label12:
+ i32.const $2=, 0
i32.const $3=, u2
- copy_local $2=, $8
.LBB1_2: # %for.cond4.preheader
# Parent Loop BB1_1 Depth=1
# => This Loop Header: Depth=2
# Child Loop BB1_3 Depth 3
- # Child Loop BB1_4 Depth 4
- # Child Loop BB1_6 Depth 4
- # Child Loop BB1_9 Depth 4
- # Child Loop BB1_11 Depth 4
loop # label14:
- copy_local $4=, $8
+ i32.const $4=, 0
.LBB1_3: # %for.cond7.preheader
# Parent Loop BB1_1 Depth=1
# Parent Loop BB1_2 Depth=2
- # => This Loop Header: Depth=3
- # Child Loop BB1_4 Depth 4
- # Child Loop BB1_6 Depth 4
- # Child Loop BB1_9 Depth 4
- # Child Loop BB1_11 Depth 4
+ # => This Inner Loop Header: Depth=3
loop # label16:
i32.const $5=, u1
- copy_local $15=, $8
block
- i32.const $push66=, 0
- i32.eq $push67=, $0, $pop66
- br_if $pop67, 0 # 0: down to label18
-.LBB1_4: # %for.body9
- # Parent Loop BB1_1 Depth=1
- # Parent Loop BB1_2 Depth=2
- # Parent Loop BB1_3 Depth=3
- # => This Inner Loop Header: Depth=4
- loop # label19:
- i32.const $push0=, u1
- i32.add $push1=, $pop0, $15
- i32.store8 $discard=, 0($pop1), $8
- i32.const $push2=, 1
- i32.add $15=, $15, $pop2
+ i32.const $push50=, 0
+ i32.eq $push51=, $0, $pop50
+ br_if $pop51, 0 # 0: down to label18
+# BB#4: # %for.body9.preheader
+ # in Loop: Header=BB1_3 Depth=3
+ i32.const $push29=, u1
+ i32.const $push28=, 0
+ i32.call $discard=, memset@FUNCTION, $pop29, $pop28, $0
copy_local $5=, $1
- i32.ne $push3=, $0, $15
- br_if $pop3, 0 # 0: up to label19
.LBB1_5: # %for.cond10.preheader
# in Loop: Header=BB1_3 Depth=3
- end_loop # label20:
end_block # label18:
- i32.const $15=, 0
copy_local $6=, $5
block
- i32.const $push68=, 0
- i32.eq $push69=, $4, $pop68
- br_if $pop69, 0 # 0: down to label21
-.LBB1_6: # %for.body12
- # Parent Loop BB1_1 Depth=1
- # Parent Loop BB1_2 Depth=2
- # Parent Loop BB1_3 Depth=3
- # => This Inner Loop Header: Depth=4
- loop # label22:
- i32.add $push4=, $5, $15
- i32.const $push5=, 97
- i32.store8 $discard=, 0($pop4), $pop5
- i32.const $push6=, 1
- i32.add $15=, $15, $pop6
- i32.ne $push7=, $4, $15
- br_if $pop7, 0 # 0: up to label22
-# BB#7: # %for.cond17.preheader.loopexit
+ i32.const $push52=, 0
+ i32.eq $push53=, $4, $pop52
+ br_if $pop53, 0 # 0: down to label19
+# BB#6: # %for.body12.preheader
# in Loop: Header=BB1_3 Depth=3
- end_loop # label23:
- i32.add $6=, $5, $4
-.LBB1_8: # %for.cond17.preheader
+ i32.const $push30=, 97
+ i32.call $push0=, memset@FUNCTION, $5, $pop30, $4
+ i32.add $6=, $pop0, $4
+.LBB1_7: # %for.cond17.preheader
# in Loop: Header=BB1_3 Depth=3
- end_block # label21:
- i32.const $push8=, 120
- i32.store8 $push9=, 0($6), $pop8
- i32.store8 $push10=, 1($6), $pop9
- i32.store8 $push11=, 2($6), $pop10
- i32.store8 $push12=, 3($6), $pop11
- i32.store8 $push13=, 4($6), $pop12
- i32.store8 $push14=, 5($6), $pop13
- i32.store8 $push15=, 6($6), $pop14
- i32.store8 $push16=, 7($6), $pop15
- i32.store8 $push17=, 8($6), $pop16
- i32.store8 $11=, 9($6), $pop17
- i32.const $9=, 0
+ end_block # label19:
+ i64.const $push33=, 8680820740569200760
+ i64.store $9=, 0($6):p2align=0, $pop33
+ i32.const $push32=, 8
+ i32.add $push1=, $6, $pop32
+ i32.const $push31=, 30840
+ i32.store16 $11=, 0($pop1):p2align=0, $pop31
i32.const $7=, u2
- copy_local $15=, $9
block
- i32.const $push70=, 0
- i32.eq $push71=, $2, $pop70
- br_if $pop71, 0 # 0: down to label24
-.LBB1_9: # %for.body26
- # Parent Loop BB1_1 Depth=1
- # Parent Loop BB1_2 Depth=2
- # Parent Loop BB1_3 Depth=3
- # => This Inner Loop Header: Depth=4
- loop # label25:
- i32.const $push18=, u2
- i32.add $push19=, $pop18, $15
- i32.store8 $discard=, 0($pop19), $9
- i32.const $push20=, 1
- i32.add $15=, $15, $pop20
+ i32.const $push54=, 0
+ i32.eq $push55=, $2, $pop54
+ br_if $pop55, 0 # 0: down to label20
+# BB#8: # %for.body26.preheader
+ # in Loop: Header=BB1_3 Depth=3
+ i32.const $push35=, u2
+ i32.const $push34=, 0
+ i32.call $discard=, memset@FUNCTION, $pop35, $pop34, $2
copy_local $7=, $3
- i32.ne $push21=, $2, $15
- br_if $pop21, 0 # 0: up to label25
-.LBB1_10: # %for.cond31.preheader
+.LBB1_9: # %for.cond31.preheader
# in Loop: Header=BB1_3 Depth=3
- end_loop # label26:
- end_block # label24:
- i32.const $15=, 0
- copy_local $9=, $7
+ end_block # label20:
+ copy_local $8=, $7
block
- i32.const $push72=, 0
- i32.eq $push73=, $4, $pop72
- br_if $pop73, 0 # 0: down to label27
-.LBB1_11: # %for.body33
- # Parent Loop BB1_1 Depth=1
- # Parent Loop BB1_2 Depth=2
- # Parent Loop BB1_3 Depth=3
- # => This Inner Loop Header: Depth=4
- loop # label28:
- i32.add $push22=, $7, $15
- i32.const $push23=, 97
- i32.store8 $discard=, 0($pop22), $pop23
- i32.const $push24=, 1
- i32.add $15=, $15, $pop24
- i32.ne $push25=, $4, $15
- br_if $pop25, 0 # 0: up to label28
-# BB#12: # %for.cond38.preheader.loopexit
+ i32.const $push56=, 0
+ i32.eq $push57=, $4, $pop56
+ br_if $pop57, 0 # 0: down to label21
+# BB#10: # %for.body33.preheader
# in Loop: Header=BB1_3 Depth=3
- end_loop # label29:
- i32.add $9=, $7, $4
-.LBB1_13: # %for.cond38.preheader
+ i32.const $push36=, 97
+ i32.call $push2=, memset@FUNCTION, $7, $pop36, $4
+ i32.add $8=, $pop2, $4
+.LBB1_11: # %for.cond38.preheader
# in Loop: Header=BB1_3 Depth=3
- end_block # label27:
- i32.store8 $push26=, 1($9), $11
- i32.store8 $push27=, 2($9), $pop26
- i32.store8 $push28=, 3($9), $pop27
- i32.store8 $push29=, 4($9), $pop28
- i32.store8 $push30=, 5($9), $pop29
- i32.store8 $push31=, 6($9), $pop30
- i32.store8 $push32=, 7($9), $pop31
- i32.store8 $push33=, 8($9), $pop32
- i32.store8 $discard=, 9($9), $pop33
- i32.const $push34=, 0
- i32.store8 $push35=, 0($6), $pop34
- i32.store8 $11=, 0($9), $pop35
- i32.call $push36=, strcmp@FUNCTION, $5, $7
- br_if $pop36, 14 # 14: down to label3
-# BB#14: # %test.exit
+ end_block # label21:
+ i64.store $discard=, 0($8):p2align=0, $9
+ i32.const $push38=, 8
+ i32.add $push3=, $8, $pop38
+ i32.store16 $discard=, 0($pop3):p2align=0, $11
+ i32.const $push37=, 0
+ i32.store8 $push4=, 0($6), $pop37
+ i32.store8 $11=, 0($8), $pop4
+ i32.call $push5=, strcmp@FUNCTION, $5, $7
+ br_if $pop5, 14 # 14: down to label3
+# BB#12: # %test.exit
# in Loop: Header=BB1_3 Depth=3
- i32.const $push37=, 97
- i32.store8 $12=, 0($6), $pop37
- i32.const $10=, 1
- i32.add $15=, $6, $10
- i32.store8 $push38=, 0($15), $11
- i32.store8 $11=, 0($9), $pop38
- i32.call $push39=, strcmp@FUNCTION, $5, $7
- i32.le_s $push40=, $pop39, $11
- br_if $pop40, 13 # 13: down to label4
-# BB#15: # %test.exit157
+ i32.store8 $discard=, 0($8), $11
+ i32.const $push39=, 97
+ i32.store16 $10=, 0($6):p2align=0, $pop39
+ i32.call $push6=, strcmp@FUNCTION, $5, $7
+ i32.le_s $push7=, $pop6, $11
+ br_if $pop7, 13 # 13: down to label4
+# BB#13: # %test.exit157
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($9), $12
- i32.store8 $12=, 0($6), $11
- i32.add $11=, $9, $10
- i32.store8 $discard=, 0($11), $12
- i32.call $push41=, strcmp@FUNCTION, $5, $7
- i32.ge_s $push42=, $pop41, $12
- br_if $pop42, 12 # 12: down to label5
-# BB#16: # %test.exit162
+ i32.store16 $discard=, 0($8):p2align=0, $10
+ i32.store8 $discard=, 0($6), $11
+ i32.call $push8=, strcmp@FUNCTION, $5, $7
+ i32.ge_s $push9=, $pop8, $11
+ br_if $pop9, 12 # 12: down to label5
+# BB#14: # %test.exit162
# in Loop: Header=BB1_3 Depth=3
- i32.const $push43=, 98
- i32.store8 $13=, 0($6), $pop43
- i32.store8 $discard=, 0($15), $12
- i32.const $push44=, 99
- i32.store8 $14=, 0($9), $pop44
- i32.store8 $discard=, 0($11), $12
- i32.call $push45=, strcmp@FUNCTION, $5, $7
- i32.ge_s $push46=, $pop45, $12
- br_if $pop46, 11 # 11: down to label6
-# BB#17: # %test.exit168
+ i32.const $push41=, 98
+ i32.store16 $10=, 0($6):p2align=0, $pop41
+ i32.const $push40=, 99
+ i32.store16 $12=, 0($8):p2align=0, $pop40
+ i32.call $push10=, strcmp@FUNCTION, $5, $7
+ i32.ge_s $push11=, $pop10, $11
+ br_if $pop11, 11 # 11: down to label6
+# BB#15: # %test.exit168
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($6), $14
- i32.store8 $discard=, 0($9), $13
- i32.store8 $push47=, 0($15), $12
- i32.store8 $12=, 0($11), $pop47
- i32.call $push48=, strcmp@FUNCTION, $5, $7
- i32.le_s $push49=, $pop48, $12
- br_if $pop49, 10 # 10: down to label7
-# BB#18: # %test.exit174
+ i32.store16 $discard=, 0($6):p2align=0, $12
+ i32.store16 $discard=, 0($8):p2align=0, $10
+ i32.call $push12=, strcmp@FUNCTION, $5, $7
+ i32.le_s $push13=, $pop12, $11
+ br_if $pop13, 10 # 10: down to label7
+# BB#16: # %test.exit174
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($6), $13
- i32.store8 $discard=, 0($15), $12
- i32.const $push50=, 169
- i32.store8 $14=, 0($9), $pop50
- i32.store8 $discard=, 0($11), $12
- i32.call $push51=, strcmp@FUNCTION, $5, $7
- i32.ge_s $push52=, $pop51, $12
- br_if $pop52, 9 # 9: down to label8
-# BB#19: # %test.exit180
+ i32.store16 $discard=, 0($6):p2align=0, $10
+ i32.const $push42=, 169
+ i32.store16 $12=, 0($8):p2align=0, $pop42
+ i32.call $push14=, strcmp@FUNCTION, $5, $7
+ i32.ge_s $push15=, $pop14, $11
+ br_if $pop15, 9 # 9: down to label8
+# BB#17: # %test.exit180
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($9), $13
- i32.store8 $13=, 0($6), $14
- i32.store8 $push53=, 0($15), $12
- i32.store8 $12=, 0($11), $pop53
- i32.call $push54=, strcmp@FUNCTION, $5, $7
- i32.le_s $push55=, $pop54, $12
- br_if $pop55, 8 # 8: down to label9
-# BB#20: # %test.exit186
+ i32.store16 $discard=, 0($8):p2align=0, $10
+ i32.store16 $10=, 0($6):p2align=0, $12
+ i32.call $push16=, strcmp@FUNCTION, $5, $7
+ i32.le_s $push17=, $pop16, $11
+ br_if $pop17, 8 # 8: down to label9
+# BB#18: # %test.exit186
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($6), $13
- i32.store8 $discard=, 0($15), $12
- i32.const $push56=, 170
- i32.store8 $14=, 0($9), $pop56
- i32.store8 $discard=, 0($11), $12
- i32.call $push57=, strcmp@FUNCTION, $5, $7
- i32.ge_s $push58=, $pop57, $12
- br_if $pop58, 7 # 7: down to label10
-# BB#21: # %test.exit192
+ i32.store16 $discard=, 0($6):p2align=0, $10
+ i32.const $push43=, 170
+ i32.store16 $12=, 0($8):p2align=0, $pop43
+ i32.call $push18=, strcmp@FUNCTION, $5, $7
+ i32.ge_s $push19=, $pop18, $11
+ br_if $pop19, 7 # 7: down to label10
+# BB#19: # %test.exit192
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($6), $14
- i32.store8 $discard=, 0($9), $13
- i32.store8 $push59=, 0($15), $12
- i32.store8 $15=, 0($11), $pop59
- i32.call $push60=, strcmp@FUNCTION, $5, $7
- i32.le_s $push61=, $pop60, $15
- br_if $pop61, 6 # 6: down to label11
-# BB#22: # %for.cond4
+ i32.store16 $discard=, 0($6):p2align=0, $12
+ i32.store16 $discard=, 0($8):p2align=0, $10
+ i32.call $push20=, strcmp@FUNCTION, $5, $7
+ i32.le_s $push21=, $pop20, $11
+ br_if $pop21, 6 # 6: down to label11
+# BB#20: # %for.cond4
# in Loop: Header=BB1_3 Depth=3
- i32.add $4=, $4, $10
- i32.const $push62=, 63
- i32.le_u $push63=, $4, $pop62
- br_if $pop63, 0 # 0: up to label16
-# BB#23: # %for.inc79
+ i32.const $push27=, 1
+ i32.add $4=, $4, $pop27
+ i32.const $push26=, 63
+ i32.le_u $push22=, $4, $pop26
+ br_if $pop22, 0 # 0: up to label16
+# BB#21: # %for.inc79
# in Loop: Header=BB1_2 Depth=2
end_loop # label17:
- i32.add $2=, $2, $10
- i32.add $3=, $3, $10
- i32.const $5=, 8
- i32.lt_u $push64=, $2, $5
- br_if $pop64, 0 # 0: up to label14
-# BB#24: # %for.inc82
+ i32.const $push46=, 1
+ i32.add $2=, $2, $pop46
+ i32.const $push45=, 1
+ i32.add $3=, $3, $pop45
+ i32.const $push44=, 8
+ i32.lt_u $push23=, $2, $pop44
+ br_if $pop23, 0 # 0: up to label14
+# BB#22: # %for.inc82
# in Loop: Header=BB1_1 Depth=1
end_loop # label15:
- i32.add $0=, $0, $10
- i32.add $1=, $1, $10
- i32.lt_u $push65=, $0, $5
- br_if $pop65, 0 # 0: up to label12
-# BB#25: # %for.end84
+ i32.const $push49=, 1
+ i32.add $0=, $0, $pop49
+ i32.const $push48=, 1
+ i32.add $1=, $1, $pop48
+ i32.const $push47=, 8
+ i32.lt_u $push24=, $0, $pop47
+ br_if $pop24, 0 # 0: up to label12
+# BB#23: # %for.end84
end_loop # label13:
- call exit@FUNCTION, $15
+ i32.const $push25=, 0
+ call exit@FUNCTION, $pop25
unreachable
-.LBB1_26: # %if.then10.i197
+.LBB1_24: # %if.then10.i197
end_block # label11:
call abort@FUNCTION
unreachable
-.LBB1_27: # %if.then.i189
+.LBB1_25: # %if.then.i189
end_block # label10:
call abort@FUNCTION
unreachable
-.LBB1_28: # %if.then10.i185
+.LBB1_26: # %if.then10.i185
end_block # label9:
call abort@FUNCTION
unreachable
-.LBB1_29: # %if.then.i177
+.LBB1_27: # %if.then.i177
end_block # label8:
call abort@FUNCTION
unreachable
-.LBB1_30: # %if.then10.i173
+.LBB1_28: # %if.then10.i173
end_block # label7:
call abort@FUNCTION
unreachable
-.LBB1_31: # %if.then.i165
+.LBB1_29: # %if.then.i165
end_block # label6:
call abort@FUNCTION
unreachable
-.LBB1_32: # %if.then.i
+.LBB1_30: # %if.then.i
end_block # label5:
call abort@FUNCTION
unreachable
-.LBB1_33: # %if.then10.i
+.LBB1_31: # %if.then10.i
end_block # label4:
call abort@FUNCTION
unreachable
-.LBB1_34: # %if.then5.i
+.LBB1_32: # %if.then5.i
end_block # label3:
call abort@FUNCTION
unreachable
diff --git a/test/torture-s/strcpy-1.c.s b/test/torture-s/strcpy-1.c.s
index 2c0478ee9..d52671df4 100644
--- a/test/torture-s/strcpy-1.c.s
+++ b/test/torture-s/strcpy-1.c.s
@@ -6,10 +6,9 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $6=, 0
- copy_local $0=, $6
+ i32.const $0=, 0
.LBB0_1: # %for.cond1.preheader
# =>This Loop Header: Depth=1
# Child Loop BB0_2 Depth 2
@@ -22,9 +21,9 @@ main: # @main
block
block
loop # label4:
- i32.const $7=, u1
- i32.add $1=, $7, $0
- copy_local $2=, $6
+ i32.const $push51=, u1
+ i32.add $1=, $0, $pop51
+ i32.const $2=, 0
.LBB0_2: # %for.cond4.preheader
# Parent Loop BB0_1 Depth=1
# => This Loop Header: Depth=2
@@ -33,10 +32,10 @@ main: # @main
# Child Loop BB0_7 Depth 4
# Child Loop BB0_11 Depth 4
loop # label6:
- i32.const $8=, u2
- i32.add $3=, $8, $2
- i32.const $9=, 65
- i32.add $4=, $2, $9
+ i32.const $push53=, u2
+ i32.add $3=, $2, $pop53
+ i32.const $push52=, 65
+ i32.add $4=, $2, $pop52
i32.const $5=, 1
.LBB0_3: # %for.cond7.preheader
# Parent Loop BB0_1 Depth=1
@@ -46,64 +45,68 @@ main: # @main
# Child Loop BB0_7 Depth 4
# Child Loop BB0_11 Depth 4
loop # label8:
- i32.const $14=, -97
- copy_local $15=, $9
+ i32.const $push56=, u1
+ i32.const $push55=, 97
+ i32.const $push54=, 97
+ i32.call $discard=, memset@FUNCTION, $pop56, $pop55, $pop54
+ i32.const $6=, 65
+ i32.const $8=, -97
.LBB0_4: # %for.body9
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# Parent Loop BB0_3 Depth=3
# => This Inner Loop Header: Depth=4
loop # label10:
- i32.const $13=, 97
- i32.add $push0=, $7, $14
- i32.add $push1=, $pop0, $13
- i32.store8 $10=, 0($pop1), $13
- i32.const $11=, 24
- i32.const $12=, 95
- i32.add $push6=, $8, $14
- i32.add $push7=, $pop6, $10
- i32.shl $push2=, $15, $11
- i32.shr_s $push3=, $pop2, $11
- i32.gt_s $push4=, $pop3, $12
- i32.select $push5=, $pop4, $9, $15
- i32.store8 $15=, 0($pop7), $pop5
- i32.const $13=, 1
- i32.add $15=, $15, $13
- i32.add $14=, $14, $13
- br_if $14, 0 # 0: up to label10
+ i32.const $push62=, 24
+ i32.shl $push2=, $6, $pop62
+ i32.const $push61=, 24
+ i32.shr_s $push3=, $pop2, $pop61
+ i32.const $push60=, 95
+ i32.gt_s $push4=, $pop3, $pop60
+ i32.const $push59=, 65
+ i32.select $push5=, $pop4, $pop59, $6
+ i32.store8 $push6=, u2+97($8), $pop5
+ i32.const $push58=, 1
+ i32.add $6=, $pop6, $pop58
+ i32.const $push57=, 1
+ i32.add $8=, $8, $pop57
+ br_if $8, 0 # 0: up to label10
# BB#5: # %for.end
# in Loop: Header=BB0_3 Depth=3
end_loop # label11:
- i32.add $push8=, $5, $2
- i32.add $push9=, $8, $pop8
- i32.const $push10=, 0
- i32.store8 $14=, 0($pop9), $pop10
- i32.call $push11=, strcpy@FUNCTION, $1, $3
- i32.ne $push12=, $pop11, $1
- br_if $pop12, 9 # 9: down to label0
+ i32.add $push7=, $5, $2
+ i32.const $push63=, 0
+ i32.store8 $discard=, u2($pop7), $pop63
+ i32.call $push8=, strcpy@FUNCTION, $1, $3
+ i32.ne $push9=, $pop8, $1
+ br_if $pop9, 9 # 9: down to label0
# BB#6: # %for.cond21.preheader
# in Loop: Header=BB0_3 Depth=3
- copy_local $16=, $7
+ i32.const $8=, 0
+ i32.const $7=, u1
block
- i32.le_s $push13=, $0, $14
- br_if $pop13, 0 # 0: down to label12
+ i32.const $push64=, 0
+ i32.le_s $push10=, $0, $pop64
+ br_if $pop10, 0 # 0: down to label12
.LBB0_7: # %for.body24
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# Parent Loop BB0_3 Depth=3
# => This Inner Loop Header: Depth=4
loop # label13:
- i32.const $15=, u1
- i32.add $push14=, $15, $14
- i32.load8_u $push15=, 0($pop14)
- i32.ne $push16=, $pop15, $10
- br_if $pop16, 1 # 1: down to label14
+ i32.load8_u $push11=, u1($8)
+ i32.const $push65=, 97
+ i32.ne $push12=, $pop11, $pop65
+ br_if $pop12, 1 # 1: down to label14
# BB#8: # %for.inc30
# in Loop: Header=BB0_7 Depth=4
- i32.add $14=, $14, $13
- i32.add $16=, $15, $14
- i32.lt_s $push17=, $14, $0
- br_if $pop17, 0 # 0: up to label13
+ i32.const $push67=, u1+1
+ i32.add $7=, $8, $pop67
+ i32.const $push66=, 1
+ i32.add $6=, $8, $pop66
+ copy_local $8=, $6
+ i32.lt_s $push13=, $6, $0
+ br_if $pop13, 0 # 0: up to label13
br 2 # 2: down to label12
.LBB0_9: # %if.then28
end_loop # label14:
@@ -112,114 +115,135 @@ main: # @main
.LBB0_10: # %for.body38.preheader
# in Loop: Header=BB0_3 Depth=3
end_block # label12:
- i32.const $14=, 0
- copy_local $15=, $4
+ i32.const $8=, 0
+ copy_local $6=, $4
.LBB0_11: # %for.body38
# Parent Loop BB0_1 Depth=1
# Parent Loop BB0_2 Depth=2
# Parent Loop BB0_3 Depth=3
# => This Inner Loop Header: Depth=4
loop # label15:
- i32.shl $push18=, $15, $11
- i32.shr_s $push19=, $pop18, $11
- i32.gt_s $push20=, $pop19, $12
- i32.const $push21=, 65
- i32.select $15=, $pop20, $pop21, $15
- i32.add $push24=, $16, $14
- i32.load8_u $push25=, 0($pop24)
- i32.const $push22=, 255
- i32.and $push23=, $15, $pop22
- i32.ne $push26=, $pop25, $pop23
- br_if $pop26, 10 # 10: down to label1
+ i32.add $push18=, $7, $8
+ i32.load8_u $push19=, 0($pop18)
+ i32.const $push73=, 24
+ i32.shl $push14=, $6, $pop73
+ i32.const $push72=, 24
+ i32.shr_s $push15=, $pop14, $pop72
+ i32.const $push71=, 95
+ i32.gt_s $push16=, $pop15, $pop71
+ i32.const $push70=, 65
+ i32.select $push0=, $pop16, $pop70, $6
+ tee_local $push69=, $6=, $pop0
+ i32.const $push68=, 255
+ i32.and $push17=, $pop69, $pop68
+ i32.ne $push20=, $pop19, $pop17
+ br_if $pop20, 10 # 10: down to label1
# BB#12: # %for.inc50
# in Loop: Header=BB0_11 Depth=4
- i32.add $14=, $14, $13
- i32.add $15=, $15, $13
- i32.lt_s $push27=, $14, $5
- br_if $pop27, 0 # 0: up to label15
+ i32.const $push75=, 1
+ i32.add $8=, $8, $pop75
+ i32.const $push74=, 1
+ i32.add $6=, $6, $pop74
+ i32.lt_s $push21=, $8, $5
+ br_if $pop21, 0 # 0: up to label15
# BB#13: # %for.end54
# in Loop: Header=BB0_3 Depth=3
end_loop # label16:
- i32.add $14=, $16, $14
- i32.load8_u $push28=, 0($14)
- br_if $pop28, 7 # 7: down to label2
+ i32.add $push1=, $7, $8
+ tee_local $push76=, $8=, $pop1
+ i32.load8_u $push22=, 0($pop76)
+ br_if $pop22, 7 # 7: down to label2
# BB#14: # %for.cond61.preheader
# in Loop: Header=BB0_3 Depth=3
- i32.add $push29=, $14, $13
- i32.load8_u $push30=, 0($pop29)
- i32.ne $push31=, $pop30, $10
- br_if $pop31, 6 # 6: down to label3
+ i32.const $push78=, 1
+ i32.add $push23=, $8, $pop78
+ i32.load8_u $push24=, 0($pop23)
+ i32.const $push77=, 97
+ i32.ne $push25=, $pop24, $pop77
+ br_if $pop25, 6 # 6: down to label3
# BB#15: # %for.cond61
# in Loop: Header=BB0_3 Depth=3
- i32.const $push32=, 2
- i32.add $push33=, $14, $pop32
- i32.load8_u $push34=, 0($pop33)
- i32.ne $push35=, $pop34, $10
- br_if $pop35, 6 # 6: down to label3
+ i32.const $push80=, 2
+ i32.add $push26=, $8, $pop80
+ i32.load8_u $push27=, 0($pop26)
+ i32.const $push79=, 97
+ i32.ne $push28=, $pop27, $pop79
+ br_if $pop28, 6 # 6: down to label3
# BB#16: # %for.cond61.1
# in Loop: Header=BB0_3 Depth=3
- i32.const $push36=, 3
- i32.add $push37=, $14, $pop36
- i32.load8_u $push38=, 0($pop37)
- i32.ne $push39=, $pop38, $10
- br_if $pop39, 6 # 6: down to label3
+ i32.const $push86=, 3
+ i32.add $push29=, $8, $pop86
+ i32.load8_u $push30=, 0($pop29)
+ i32.const $push85=, 97
+ i32.ne $push31=, $pop30, $pop85
+ br_if $pop31, 6 # 6: down to label3
# BB#17: # %for.cond61.2
# in Loop: Header=BB0_3 Depth=3
- i32.const $push40=, 4
- i32.add $push41=, $14, $pop40
- i32.load8_u $push42=, 0($pop41)
- i32.ne $push43=, $pop42, $10
- br_if $pop43, 6 # 6: down to label3
+ i32.const $push88=, 4
+ i32.add $push32=, $8, $pop88
+ i32.load8_u $push33=, 0($pop32)
+ i32.const $push87=, 97
+ i32.ne $push34=, $pop33, $pop87
+ br_if $pop34, 6 # 6: down to label3
# BB#18: # %for.cond61.3
# in Loop: Header=BB0_3 Depth=3
- i32.const $push44=, 5
- i32.add $push45=, $14, $pop44
- i32.load8_u $push46=, 0($pop45)
- i32.ne $push47=, $pop46, $10
- br_if $pop47, 6 # 6: down to label3
+ i32.const $push90=, 5
+ i32.add $push35=, $8, $pop90
+ i32.load8_u $push36=, 0($pop35)
+ i32.const $push89=, 97
+ i32.ne $push37=, $pop36, $pop89
+ br_if $pop37, 6 # 6: down to label3
# BB#19: # %for.cond61.4
# in Loop: Header=BB0_3 Depth=3
- i32.const $push48=, 6
- i32.add $push49=, $14, $pop48
- i32.load8_u $push50=, 0($pop49)
- i32.ne $push51=, $pop50, $10
- br_if $pop51, 6 # 6: down to label3
+ i32.const $push92=, 6
+ i32.add $push38=, $8, $pop92
+ i32.load8_u $push39=, 0($pop38)
+ i32.const $push91=, 97
+ i32.ne $push40=, $pop39, $pop91
+ br_if $pop40, 6 # 6: down to label3
# BB#20: # %for.cond61.5
# in Loop: Header=BB0_3 Depth=3
- i32.const $push52=, 7
- i32.add $push53=, $14, $pop52
- i32.load8_u $push54=, 0($pop53)
- i32.ne $push55=, $pop54, $10
- br_if $pop55, 6 # 6: down to label3
+ i32.const $push94=, 7
+ i32.add $push41=, $8, $pop94
+ i32.load8_u $push42=, 0($pop41)
+ i32.const $push93=, 97
+ i32.ne $push43=, $pop42, $pop93
+ br_if $pop43, 6 # 6: down to label3
# BB#21: # %for.cond61.6
# in Loop: Header=BB0_3 Depth=3
- i32.const $11=, 8
- i32.add $push56=, $14, $11
- i32.load8_u $push57=, 0($pop56)
- i32.ne $push58=, $pop57, $10
- br_if $pop58, 6 # 6: down to label3
+ i32.const $push96=, 8
+ i32.add $push44=, $8, $pop96
+ i32.load8_u $push45=, 0($pop44)
+ i32.const $push95=, 97
+ i32.ne $push46=, $pop45, $pop95
+ br_if $pop46, 6 # 6: down to label3
# BB#22: # %for.cond61.7
# in Loop: Header=BB0_3 Depth=3
- i32.add $5=, $5, $13
- i32.const $push59=, 80
- i32.lt_u $push60=, $5, $pop59
- br_if $pop60, 0 # 0: up to label8
+ i32.const $push98=, 1
+ i32.add $5=, $5, $pop98
+ i32.const $push97=, 80
+ i32.lt_u $push47=, $5, $pop97
+ br_if $pop47, 0 # 0: up to label8
# BB#23: # %for.inc77
# in Loop: Header=BB0_2 Depth=2
end_loop # label9:
- i32.add $2=, $2, $13
- i32.lt_u $push61=, $2, $11
- br_if $pop61, 0 # 0: up to label6
+ i32.const $push82=, 1
+ i32.add $2=, $2, $pop82
+ i32.const $push81=, 8
+ i32.lt_u $push48=, $2, $pop81
+ br_if $pop48, 0 # 0: up to label6
# BB#24: # %for.inc80
# in Loop: Header=BB0_1 Depth=1
end_loop # label7:
- i32.add $0=, $0, $13
- i32.lt_u $push62=, $0, $11
- br_if $pop62, 0 # 0: up to label4
+ i32.const $push84=, 1
+ i32.add $0=, $0, $pop84
+ i32.const $push83=, 8
+ i32.lt_u $push49=, $0, $pop83
+ br_if $pop49, 0 # 0: up to label4
# BB#25: # %for.end82
end_loop # label5:
- i32.const $push63=, 0
- call exit@FUNCTION, $pop63
+ i32.const $push50=, 0
+ call exit@FUNCTION, $pop50
unreachable
.LBB0_26: # %if.then68
end_block # label3:
diff --git a/test/torture-s/strct-pack-1.c.s b/test/torture-s/strct-pack-1.c.s
index 3c8bdb0b3..7c0167099 100644
--- a/test/torture-s/strct-pack-1.c.s
+++ b/test/torture-s/strct-pack-1.c.s
@@ -7,41 +7,24 @@
check: # @check
.param i32
.result i32
- .local i64, i32
+ .local i32
# BB#0: # %entry
- i32.const $2=, 1
+ i32.const $1=, 1
block
i32.load16_u $push0=, 0($0)
- i32.ne $push1=, $pop0, $2
+ i32.const $push5=, 1
+ i32.ne $push1=, $pop0, $pop5
br_if $pop1, 0 # 0: down to label0
# BB#1: # %lor.lhs.false
- i64.const $1=, 16
- i32.const $push2=, 8
- i32.add $push3=, $0, $pop2
- i64.load16_u $push4=, 0($pop3)
- i64.shl $push5=, $pop4, $1
- i32.const $push6=, 6
- i32.add $push7=, $0, $pop6
- i64.load16_u $push8=, 0($pop7)
- i64.or $push9=, $pop5, $pop8
- i64.const $push10=, 32
- i64.shl $push11=, $pop9, $pop10
- i32.const $push12=, 4
- i32.add $push13=, $0, $pop12
- i64.load16_u $push14=, 0($pop13)
- i64.shl $push15=, $pop14, $1
- i64.load16_u $push16=, 2($0)
- i64.or $push17=, $pop15, $pop16
- i64.or $push18=, $pop11, $pop17
- f64.reinterpret/i64 $push19=, $pop18
- f64.const $push20=, 0x1p4
- f64.ne $push21=, $pop19, $pop20
- br_if $pop21, 0 # 0: down to label0
+ f64.load $push2=, 2($0):p2align=1
+ f64.const $push3=, 0x1p4
+ f64.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label0
# BB#2: # %if.end
- i32.const $2=, 0
+ i32.const $1=, 0
.LBB0_3: # %return
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end0:
.size check, .Lfunc_end0-check
diff --git a/test/torture-s/strct-pack-3.c.s b/test/torture-s/strct-pack-3.c.s
index 819b77e12..aba1122ed 100644
--- a/test/torture-s/strct-pack-3.c.s
+++ b/test/torture-s/strct-pack-3.c.s
@@ -7,26 +7,24 @@
f: # @f
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 16
- i32.const $push2=, 8
- i32.add $push3=, $0, $pop2
- i32.load16_u $push4=, 0($pop3)
- i32.shl $push5=, $pop4, $1
i32.const $push0=, 6
i32.add $push1=, $0, $pop0
- i32.load16_u $push6=, 0($pop1)
- i32.or $2=, $pop5, $pop6
- i32.shl $push12=, $2, $1
- i32.load16_u $push9=, 2($0)
- i32.shl $push10=, $pop9, $1
- i32.const $push7=, 17
- i32.shl $push8=, $2, $pop7
- i32.add $push11=, $pop10, $pop8
- i32.add $push13=, $pop12, $pop11
- i32.shr_s $push14=, $pop13, $1
- return $pop14
+ i32.load $push2=, 0($pop1):p2align=1
+ tee_local $push14=, $1=, $pop2
+ i32.const $push6=, 16
+ i32.shl $push9=, $pop14, $pop6
+ i32.load $push5=, 2($0):p2align=1
+ i32.const $push13=, 16
+ i32.shl $push7=, $pop5, $pop13
+ i32.const $push3=, 17
+ i32.shl $push4=, $1, $pop3
+ i32.add $push8=, $pop7, $pop4
+ i32.add $push10=, $pop9, $pop8
+ i32.const $push12=, 16
+ i32.shr_s $push11=, $pop10, $pop12
+ return $pop11
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/string-opt-17.c.s b/test/torture-s/string-opt-17.c.s
index e4a6f8a31..9a22e8765 100644
--- a/test/torture-s/string-opt-17.c.s
+++ b/test/torture-s/string-opt-17.c.s
@@ -9,7 +9,7 @@ test1: # @test1
.result i32
# BB#0: # %entry
i32.const $push2=, .L.str
- i32.add $push3=, $pop2, $1
+ i32.add $push3=, $1, $pop2
i32.call $discard=, strcpy@FUNCTION, $0, $pop3
i32.const $push0=, 1
i32.add $push1=, $1, $pop0
@@ -24,17 +24,17 @@ test1: # @test1
.type check2,@function
check2: # @check2
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, check2.r($0)
+ i32.const $push5=, 0
+ i32.load $push0=, check2.r($pop5)
i32.const $push1=, 5
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
+ i32.const $push6=, 0
i32.const $push3=, 6
- i32.store $push4=, check2.r($0), $pop3
+ i32.store $push4=, check2.r($pop6), $pop3
return $pop4
.LBB1_2: # %if.then
end_block # label0:
@@ -50,30 +50,19 @@ check2: # @check2
.type test2,@function
test2: # @test2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
block
- i32.load $push0=, check2.r($1)
+ i32.const $push5=, 0
+ i32.load $push0=, check2.r($pop5)
i32.const $push1=, 5
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label1
# BB#1: # %check2.exit
+ i32.const $push6=, 0
i32.const $push3=, 6
- i32.store $discard=, check2.r($1), $pop3
- i32.const $push4=, 3
- i32.add $push5=, $0, $pop4
- i32.store8 $discard=, 0($pop5), $1
- i32.const $push6=, 2
- i32.add $push7=, $0, $pop6
- i32.const $push8=, 122
- i32.store8 $discard=, 0($pop7), $pop8
- i32.const $push9=, 1
- i32.add $push10=, $0, $pop9
- i32.const $push11=, 97
- i32.store8 $discard=, 0($pop10), $pop11
- i32.const $push12=, 98
- i32.store8 $discard=, 0($0), $pop12
+ i32.store $discard=, check2.r($pop6), $pop3
+ i32.const $push4=, 8020322
+ i32.store $discard=, 0($0):p2align=0, $pop4
return
.LBB2_2: # %if.then.i
end_block # label1:
@@ -89,54 +78,52 @@ test2: # @test2
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32
# BB#0: # %lor.lhs.false
- i32.const $2=, __stack_pointer
- i32.load $2=, 0($2)
- i32.const $3=, 16
- i32.sub $6=, $2, $3
- i32.const $3=, __stack_pointer
- i32.store $6=, 0($3), $6
- i32.const $0=, 0
- i32.const $1=, 1
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $4=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $4=, 0($1), $4
i32.const $push1=, 2
- i32.const $4=, 4
- i32.add $4=, $6, $4
- i32.or $push2=, $4, $pop1
- i32.load8_u $push0=, .L.str+9($0)
- i32.store8 $discard=, 0($pop2), $pop0
- i32.const $push3=, .L.str+7
- i32.add $push4=, $pop3, $1
- i32.load8_u $push5=, 0($pop4)
- i32.const $push6=, 8
- i32.shl $push7=, $pop5, $pop6
- i32.load8_u $push8=, .L.str+7($0)
- i32.or $push9=, $pop7, $pop8
- i32.store16 $discard=, 4($6), $pop9
- i32.const $push10=, .L.str.1
- i32.const $push11=, 3
- i32.const $5=, 4
- i32.add $5=, $6, $5
+ i32.const $2=, 4
+ i32.add $2=, $4, $2
+ i32.or $push2=, $2, $pop1
+ i32.const $push14=, 0
+ i32.load8_u $push0=, .L.str+9($pop14)
+ i32.store8 $discard=, 0($pop2):p2align=1, $pop0
+ i32.const $push13=, 0
+ i32.load16_u $push3=, .L.str+7($pop13):p2align=0
+ i32.store16 $discard=, 4($4):p2align=2, $pop3
+ i32.const $push4=, .L.str.1
+ i32.const $push5=, 3
+ i32.const $3=, 4
+ i32.add $3=, $4, $3
block
- i32.call $push12=, memcmp@FUNCTION, $5, $pop10, $pop11
- br_if $pop12, 0 # 0: down to label2
+ i32.call $push6=, memcmp@FUNCTION, $3, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label2
# BB#1: # %if.end
block
- i32.load $push13=, check2.r($0)
- i32.const $push14=, 5
- i32.ne $push15=, $pop13, $pop14
- br_if $pop15, 0 # 0: down to label3
+ i32.const $push15=, 0
+ i32.load $push7=, check2.r($pop15)
+ i32.const $push8=, 5
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label3
# BB#2: # %test2.exit
+ i32.const $push16=, 0
+ i32.const $push10=, 6
+ i32.store $discard=, check2.r($pop16), $pop10
+ i32.const $push11=, 8020322
+ i32.store $discard=, 4($4), $pop11
block
- i32.const $push16=, 6
- i32.store $discard=, check2.r($0), $pop16
- i32.const $push17=, 8020322
- i32.store $discard=, 4($6), $pop17
+ i32.const $push12=, 1
i32.const $push18=, 0
- i32.eq $push19=, $1, $pop18
+ i32.eq $push19=, $pop12, $pop18
br_if $pop19, 0 # 0: down to label4
# BB#3: # %if.end8
- call exit@FUNCTION, $0
+ i32.const $push17=, 0
+ call exit@FUNCTION, $pop17
unreachable
.LBB3_4: # %if.then7
end_block # label4:
@@ -162,7 +149,7 @@ main: # @main
.type check2.r,@object # @check2.r
.section .data.check2.r,"aw",@progbits
- .align 2
+ .p2align 2
check2.r:
.int32 5 # 0x5
.size check2.r, 4
diff --git a/test/torture-s/string-opt-18.c.s b/test/torture-s/string-opt-18.c.s
index 2bbdea20c..096bea5c9 100644
--- a/test/torture-s/string-opt-18.c.s
+++ b/test/torture-s/string-opt-18.c.s
@@ -18,14 +18,14 @@ test1: # @test1
.type test2,@function
test2: # @test2
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 8
block
- i32.call $push0=, mempcpy@FUNCTION, $0, $0, $1
- i32.add $push1=, $0, $1
- i32.ne $push2=, $pop0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push0=, 8
+ i32.call $push1=, mempcpy@FUNCTION, $0, $0, $pop0
+ i32.const $push4=, 8
+ i32.add $push2=, $0, $pop4
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
return
.LBB1_2: # %if.then
@@ -102,33 +102,34 @@ test7: # @test7
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $6=, $0, $1
i32.const $1=, __stack_pointer
- i32.load $1=, 0($1)
- i32.const $2=, 16
- i32.sub $7=, $1, $2
- i32.const $2=, __stack_pointer
- i32.store $7=, 0($2), $7
- i32.const $0=, 8
+ i32.store $6=, 0($1), $6
+ i32.const $push0=, 8
+ i32.const $3=, 6
+ i32.add $3=, $6, $3
i32.const $4=, 6
- i32.add $4=, $7, $4
+ i32.add $4=, $6, $4
+ i32.call $push1=, mempcpy@FUNCTION, $3, $4, $pop0
+ i32.const $push5=, 8
i32.const $5=, 6
- i32.add $5=, $7, $5
- i32.call $push0=, mempcpy@FUNCTION, $4, $5, $0
- i32.const $6=, 6
- i32.add $6=, $7, $6
+ i32.add $5=, $6, $5
block
- i32.add $push1=, $6, $0
- i32.ne $push2=, $pop0, $pop1
- br_if $pop2, 0 # 0: down to label1
+ i32.add $push2=, $5, $pop5
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label1
# BB#1: # %test2.exit
- i32.const $push3=, 0
- i32.const $3=, 16
- i32.add $7=, $7, $3
- i32.const $3=, __stack_pointer
- i32.store $7=, 0($3), $7
- return $pop3
+ i32.const $push4=, 0
+ i32.const $2=, 16
+ i32.add $6=, $6, $2
+ i32.const $2=, __stack_pointer
+ i32.store $6=, 0($2), $6
+ return $pop4
.LBB7_2: # %if.then.i
end_block # label1:
call abort@FUNCTION
diff --git a/test/torture-s/string-opt-5.c.s b/test/torture-s/string-opt-5.c.s
index df77bbdef..2f7af36b5 100644
--- a/test/torture-s/string-opt-5.c.s
+++ b/test/torture-s/string-opt-5.c.s
@@ -6,320 +6,297 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $21=, __stack_pointer
- i32.load $21=, 0($21)
- i32.const $22=, 64
- i32.sub $39=, $21, $22
- i32.const $22=, __stack_pointer
- i32.store $39=, 0($22), $39
- i32.const $16=, 0
- i32.load $0=, bar($16)
- i32.call $8=, strlen@FUNCTION, $0
- i32.const $3=, 8
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 64
+ i32.sub $7=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
block
- i32.ne $push5=, $8, $3
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push144=, 0
+ i32.load $push0=, bar($pop144)
+ tee_local $push143=, $1=, $pop0
+ i32.call $push9=, strlen@FUNCTION, $pop143
+ i32.const $push10=, 8
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label0
# BB#1: # %if.end
- i32.load $1=, x($16)
- i32.const $4=, 1
- i32.add $push0=, $1, $4
- i32.store $8=, x($16), $pop0
- i32.const $5=, 2
- i32.and $push6=, $8, $5
- i32.add $push7=, $0, $pop6
- i32.call $9=, strlen@FUNCTION, $pop7
- i32.const $6=, 6
block
- i32.ne $push8=, $9, $6
- br_if $pop8, 0 # 0: down to label1
+ i32.const $push148=, 0
+ i32.const $push147=, 0
+ i32.load $push1=, x($pop147)
+ tee_local $push146=, $3=, $pop1
+ i32.const $push12=, 1
+ i32.add $push2=, $pop146, $pop12
+ i32.store $push13=, x($pop148), $pop2
+ tee_local $push145=, $2=, $pop13
+ i32.const $push14=, 2
+ i32.and $push15=, $pop145, $pop14
+ i32.add $push16=, $1, $pop15
+ i32.call $push17=, strlen@FUNCTION, $pop16
+ i32.const $push18=, 6
+ i32.ne $push19=, $pop17, $pop18
+ br_if $pop19, 0 # 0: down to label1
# BB#2: # %if.end4
- i32.const $7=, 7
block
- i32.ne $push9=, $8, $7
- br_if $pop9, 0 # 0: down to label2
+ i32.const $push20=, 7
+ i32.ne $push21=, $2, $pop20
+ br_if $pop21, 0 # 0: down to label2
# BB#3: # %if.end16
- i32.const $8=, 3
- i32.add $push10=, $1, $8
- i32.store $13=, x($16), $pop10
- i32.const $9=, .L.str.1
- i32.and $push11=, $13, $4
- i32.add $push12=, $9, $pop11
- i32.call $13=, strlen@FUNCTION, $pop12
- i32.const $10=, 10
block
- i32.ne $push13=, $13, $10
- br_if $pop13, 0 # 0: down to label3
+ i32.const $push149=, 0
+ i32.const $push22=, 3
+ i32.add $push23=, $3, $pop22
+ i32.store $push24=, x($pop149), $pop23
+ i32.const $push25=, 1
+ i32.and $push26=, $pop24, $pop25
+ i32.const $push27=, .L.str.1
+ i32.add $push28=, $pop26, $pop27
+ i32.call $push29=, strlen@FUNCTION, $pop28
+ i32.const $push30=, 10
+ i32.ne $push31=, $pop29, $pop30
+ br_if $pop31, 0 # 0: down to label3
# BB#4: # %if.end26
+ i32.const $push150=, 0
+ i32.const $push32=, -3
+ i32.add $push3=, $3, $pop32
+ i32.store $2=, x($pop150), $pop3
block
- i32.const $push14=, -3
- i32.add $push1=, $1, $pop14
- i32.store $13=, x($16), $pop1
- i32.add $push15=, $9, $13
- i32.const $push16=, .L.str.2
- i32.call $push17=, strcmp@FUNCTION, $pop15, $pop16
- br_if $pop17, 0 # 0: down to label4
+ i32.const $push33=, .L.str.1-3
+ i32.add $push34=, $3, $pop33
+ i32.const $push35=, .L.str.2
+ i32.call $push36=, strcmp@FUNCTION, $pop34, $pop35
+ br_if $pop36, 0 # 0: down to label4
# BB#5: # %if.end33
block
- i32.call $push18=, strcmp@FUNCTION, $9, $0
- i32.ge_s $push19=, $pop18, $16
- br_if $pop19, 0 # 0: down to label5
+ i32.const $push152=, .L.str.1
+ i32.call $push37=, strcmp@FUNCTION, $pop152, $1
+ i32.const $push151=, 0
+ i32.ge_s $push38=, $pop37, $pop151
+ br_if $pop38, 0 # 0: down to label5
# BB#6: # %if.end37
+ i32.const $push155=, 0
+ i32.const $push39=, -2
+ i32.add $push4=, $3, $pop39
+ i32.store $0=, x($pop155), $pop4
block
- i32.const $push20=, -2
- i32.add $push2=, $1, $pop20
- i32.store $2=, x($16), $pop2
- i32.and $push21=, $13, $4
- i32.add $push22=, $0, $pop21
- i32.call $push23=, strcmp@FUNCTION, $9, $pop22
- i32.ge_s $push24=, $pop23, $16
- br_if $pop24, 0 # 0: down to label6
+ i32.const $push154=, .L.str.1
+ i32.const $push40=, 1
+ i32.and $push41=, $2, $pop40
+ i32.add $push42=, $1, $pop41
+ i32.call $push43=, strcmp@FUNCTION, $pop154, $pop42
+ i32.const $push153=, 0
+ i32.ge_s $push44=, $pop43, $pop153
+ br_if $pop44, 0 # 0: down to label6
# BB#7: # %if.end47
- i32.const $11=, -1
- i32.const $12=, 108
+ i32.const $push46=, 0
+ i32.const $push45=, -1
+ i32.add $push5=, $3, $pop45
+ i32.store $2=, x($pop46), $pop5
block
- i32.add $push3=, $1, $11
- i32.store $19=, x($16), $pop3
- i32.and $push25=, $2, $7
- i32.add $push26=, $9, $pop25
- i32.call $push27=, strchr@FUNCTION, $pop26, $12
- i32.const $push28=, .L.str.1+9
- i32.ne $push29=, $pop27, $pop28
- br_if $pop29, 0 # 0: down to label7
+ i32.const $push47=, 7
+ i32.and $push48=, $0, $pop47
+ i32.const $push49=, .L.str.1
+ i32.add $push50=, $pop48, $pop49
+ i32.const $push51=, 108
+ i32.call $push52=, strchr@FUNCTION, $pop50, $pop51
+ i32.const $push53=, .L.str.1+9
+ i32.ne $push54=, $pop52, $pop53
+ br_if $pop54, 0 # 0: down to label7
# BB#8: # %if.end58
- i32.const $13=, 111
- i32.call $2=, strchr@FUNCTION, $0, $13
- i32.const $14=, 4
block
- i32.add $push30=, $0, $14
- i32.ne $push31=, $2, $pop30
- br_if $pop31, 0 # 0: down to label8
+ i32.const $push55=, 111
+ i32.call $push6=, strchr@FUNCTION, $1, $pop55
+ tee_local $push156=, $0=, $pop6
+ i32.const $push56=, 4
+ i32.add $push57=, $1, $pop56
+ i32.ne $push58=, $pop156, $pop57
+ br_if $pop58, 0 # 0: down to label8
# BB#9: # %if.end63
block
- i32.call $push32=, strlen@FUNCTION, $0
- i32.ne $push33=, $pop32, $3
- br_if $pop33, 0 # 0: down to label9
+ i32.call $push59=, strlen@FUNCTION, $1
+ i32.const $push60=, 8
+ i32.ne $push61=, $pop59, $pop60
+ br_if $pop61, 0 # 0: down to label9
# BB#10: # %if.end68
block
- i32.const $push34=, 120
- i32.call $push35=, strrchr@FUNCTION, $0, $pop34
- br_if $pop35, 0 # 0: down to label10
+ i32.const $push62=, 120
+ i32.call $push63=, strrchr@FUNCTION, $1, $pop62
+ br_if $pop63, 0 # 0: down to label10
# BB#11: # %if.end72
block
- i32.call $push36=, strrchr@FUNCTION, $0, $13
- i32.ne $push37=, $pop36, $2
- br_if $pop37, 0 # 0: down to label11
+ i32.const $push64=, 111
+ i32.call $push65=, strrchr@FUNCTION, $1, $pop64
+ i32.ne $push66=, $pop65, $0
+ br_if $pop66, 0 # 0: down to label11
# BB#12: # %if.end77
- i32.load $push40=, y($16)
- i32.add $push4=, $pop40, $11
- i32.store $0=, y($16), $pop4
- i32.store $discard=, x($16), $1
+ i32.const $push67=, 0
+ i32.const $push159=, 0
+ i32.load $push72=, y($pop159)
+ i32.const $push73=, -1
+ i32.add $push7=, $pop72, $pop73
+ i32.store $1=, y($pop67), $pop7
+ i32.const $push158=, 0
+ i32.store $discard=, x($pop158), $3
block
- i32.and $push38=, $19, $4
- i32.add $push39=, $9, $pop38
- i32.const $push42=, .L.str.3
- i32.and $push41=, $0, $4
- i32.add $push43=, $pop42, $pop41
- i32.call $push44=, strcmp@FUNCTION, $pop39, $pop43
- br_if $pop44, 0 # 0: down to label12
+ i32.const $push68=, 1
+ i32.and $push69=, $2, $pop68
+ i32.const $push70=, .L.str.1
+ i32.add $push71=, $pop69, $pop70
+ i32.const $push157=, 1
+ i32.and $push74=, $1, $pop157
+ i32.const $push75=, .L.str.3
+ i32.add $push76=, $pop74, $pop75
+ i32.call $push77=, strcmp@FUNCTION, $pop71, $pop76
+ br_if $pop77, 0 # 0: down to label12
# BB#13: # %if.end86
block
- br_if $0, 0 # 0: down to label13
+ br_if $1, 0 # 0: down to label13
# BB#14: # %if.end86
- i32.ne $push45=, $1, $6
- br_if $pop45, 0 # 0: down to label13
+ i32.const $push160=, 6
+ i32.ne $push78=, $3, $pop160
+ br_if $pop78, 0 # 0: down to label13
# BB#15: # %if.end90
- i32.const $24=, 0
- i32.add $24=, $39, $24
- i32.or $push48=, $24, $6
- i32.store8 $discard=, 0($pop48), $16
- i32.const $25=, 0
- i32.add $25=, $39, $25
- i32.or $push49=, $25, $8
- i32.store8 $9=, 0($pop49), $12
- i32.store $1=, y($16), $4
- i32.const $26=, 0
- i32.add $26=, $39, $26
- i32.or $0=, $26, $1
- i32.const $push50=, 101
- i32.store8 $discard=, 0($0), $pop50
- i32.add $push51=, $0, $8
- i32.store8 $discard=, 0($pop51), $13
- i32.add $push52=, $0, $1
- i32.store8 $discard=, 0($pop52), $9
- i32.const $4=, 5
- i32.const $27=, 0
- i32.add $27=, $39, $27
- i32.or $push46=, $27, $4
- i32.const $push47=, 32
- i32.store8 $15=, 0($pop46), $pop47
- i32.store $17=, x($16), $6
+ i32.const $push79=, 5
+ i32.or $push80=, $7, $pop79
+ i32.const $push81=, 32
+ i32.store8 $2=, 0($pop80), $pop81
+ i32.const $push164=, 6
+ i32.or $push82=, $7, $pop164
+ i32.const $push83=, 0
+ i32.store8 $push84=, 0($pop82):p2align=1, $pop83
+ tee_local $push163=, $1=, $pop84
+ i32.const $push162=, 6
+ i32.store $discard=, x($pop163), $pop162
+ i32.const $push85=, 1
+ i32.store $push86=, y($1), $pop85
+ i32.or $push8=, $7, $pop86
+ tee_local $push161=, $3=, $pop8
+ i32.const $push87=, 1869376613
+ i32.store $discard=, 0($pop161):p2align=0, $pop87
block
- i32.const $push53=, .L.str.4
- i32.call $push54=, strcmp@FUNCTION, $0, $pop53
- br_if $pop54, 0 # 0: down to label14
+ i32.const $push88=, .L.str.4
+ i32.call $push89=, strcmp@FUNCTION, $3, $pop88
+ br_if $pop89, 0 # 0: down to label14
# BB#16: # %if.end108
- i32.const $push57=, 56
- i32.const $28=, 0
- i32.add $28=, $39, $28
- i32.add $9=, $28, $pop57
- i64.const $push58=, 2314885530818453536
- i64.store $18=, 0($9), $pop58
- i32.const $push59=, 48
- i32.const $29=, 0
- i32.add $29=, $39, $29
- i32.add $13=, $29, $pop59
- i64.store $discard=, 0($13), $18
- i32.const $push60=, 40
- i32.const $30=, 0
- i32.add $30=, $39, $30
- i32.add $11=, $30, $pop60
- i64.store $discard=, 0($11), $18
- i32.const $31=, 0
- i32.add $31=, $39, $31
- i32.add $2=, $31, $15
- i64.store $discard=, 0($2), $18
- i32.const $push61=, 24
- i32.const $32=, 0
- i32.add $32=, $39, $32
- i32.add $12=, $32, $pop61
- i64.store $discard=, 0($12), $18
- i32.const $push62=, 16
- i32.const $33=, 0
- i32.add $33=, $39, $33
- i32.add $19=, $33, $pop62
- i64.store $discard=, 0($19), $18
- i32.const $34=, 0
- i32.add $34=, $39, $34
- i32.or $20=, $34, $3
- i64.store $push63=, 0($20), $18
- i64.store $18=, 0($39), $pop63
- i32.store $6=, x($16), $7
- i32.store $7=, y($16), $5
+ i32.const $push92=, 64
+ i32.call $discard=, memset@FUNCTION, $7, $2, $pop92
+ i32.const $push94=, 2
+ i32.store $discard=, y($1), $pop94
+ i32.const $push93=, 7
+ i32.store $2=, x($1), $pop93
block
- i32.const $push64=, .L.str.5+1
- i32.call $push65=, strncpy@FUNCTION, $0, $pop64, $10
- i32.ne $push66=, $pop65, $0
- br_if $pop66, 0 # 0: down to label15
+ i32.const $push96=, .L.str.5+1
+ i32.const $push95=, 10
+ i32.call $push97=, strncpy@FUNCTION, $3, $pop96, $pop95
+ i32.ne $push98=, $pop97, $3
+ br_if $pop98, 0 # 0: down to label15
# BB#17: # %if.end108
- i32.load $push55=, x($16)
- i32.ne $push67=, $pop55, $6
- br_if $pop67, 0 # 0: down to label15
+ i32.load $push90=, x($1)
+ i32.ne $push99=, $pop90, $2
+ br_if $pop99, 0 # 0: down to label15
# BB#18: # %if.end108
- i32.load $push56=, y($16)
- i32.ne $push68=, $pop56, $7
- br_if $pop68, 0 # 0: down to label15
+ i32.load $push91=, y($1)
+ i32.const $push100=, 2
+ i32.ne $push101=, $pop91, $pop100
+ br_if $pop101, 0 # 0: down to label15
# BB#19: # %lor.lhs.false125
- i32.const $push69=, .L.str.6
- i32.const $push70=, 12
- i32.const $35=, 0
- i32.add $35=, $39, $35
- i32.call $push71=, memcmp@FUNCTION, $35, $pop69, $pop70
- br_if $pop71, 0 # 0: down to label15
+ i32.const $push102=, .L.str.6
+ i32.const $push103=, 12
+ i32.call $push104=, memcmp@FUNCTION, $7, $pop102, $pop103
+ br_if $pop104, 0 # 0: down to label15
# BB#20: # %if.end130
- i64.store $push72=, 0($9), $18
- i64.store $push73=, 0($13), $pop72
- i64.store $push74=, 0($11), $pop73
- i64.store $push75=, 0($2), $pop74
- i64.store $push76=, 0($12), $pop75
- i64.store $push77=, 0($19), $pop76
- i64.store $push78=, 0($20), $pop77
- i64.store $discard=, 0($39), $pop78
- i32.const $push79=, .L.str.7
- i32.const $36=, 0
- i32.add $36=, $39, $36
- i32.call $push80=, strncpy@FUNCTION, $36, $pop79, $3
- i32.const $37=, 0
- i32.add $37=, $39, $37
+ i32.const $push106=, 32
+ i32.const $push105=, 64
+ i32.call $discard=, memset@FUNCTION, $7, $pop106, $pop105
block
- i32.ne $push81=, $pop80, $37
- br_if $pop81, 0 # 0: down to label16
+ i32.const $push107=, .L.str.7
+ i32.const $push108=, 8
+ i32.call $push109=, strncpy@FUNCTION, $7, $pop107, $pop108
+ i32.ne $push110=, $pop109, $7
+ br_if $pop110, 0 # 0: down to label16
# BB#21: # %lor.lhs.false136
- i32.const $push82=, .L.str.8
- i32.const $push83=, 9
- i32.const $38=, 0
- i32.add $38=, $39, $38
- i32.call $push84=, memcmp@FUNCTION, $38, $pop82, $pop83
- br_if $pop84, 0 # 0: down to label16
+ i32.const $push111=, .L.str.8
+ i32.const $push112=, 9
+ i32.call $push113=, memcmp@FUNCTION, $7, $pop111, $pop112
+ br_if $pop113, 0 # 0: down to label16
# BB#22: # %if.end141
- i32.const $9=, buf
+ i32.const $push114=, buf
+ i32.const $push116=, 32
+ i32.const $push115=, 64
+ i32.call $3=, memset@FUNCTION, $pop114, $pop116, $pop115
+ i32.const $push117=, 0
+ i32.const $push167=, 0
+ i32.load $push119=, y($pop167)
+ i32.const $push120=, 1
+ i32.add $push121=, $pop119, $pop120
+ i32.store $1=, y($pop117), $pop121
+ i32.const $push166=, 0
+ i32.const $push118=, 34
+ i32.store $discard=, x($pop166), $pop118
+ i32.const $push122=, 33
+ i32.call $discard=, memset@FUNCTION, $3, $pop122, $1
block
- i32.const $push85=, 64
- call memset@FUNCTION, $9, $15, $pop85
- i32.load $push87=, y($16)
- i32.add $push88=, $pop87, $1
- i32.store $0=, y($16), $pop88
- i32.const $push86=, 34
- i32.store $discard=, x($16), $pop86
- i32.const $push89=, 33
- call memset@FUNCTION, $9, $pop89, $0
- i32.ne $push90=, $0, $8
- br_if $pop90, 0 # 0: down to label17
+ i32.const $push165=, 3
+ i32.ne $push123=, $1, $pop165
+ br_if $pop123, 0 # 0: down to label17
# BB#23: # %lor.lhs.false148
- i32.const $push91=, .L.str.9
- i32.call $push92=, memcmp@FUNCTION, $9, $pop91, $8
- br_if $pop92, 0 # 0: down to label17
+ i32.const $push124=, .L.str.9
+ i32.const $push168=, 3
+ i32.call $push125=, memcmp@FUNCTION, $3, $pop124, $pop168
+ br_if $pop125, 0 # 0: down to label17
# BB#24: # %lor.lhs.false158
- i64.const $push94=, 45
- i64.store8 $18=, buf+3($16), $pop94
- i32.const $0=, buf+3
- i32.add $push95=, $0, $6
- i64.store8 $discard=, 0($pop95), $18
- i32.add $push96=, $0, $17
- i64.store8 $discard=, 0($pop96), $18
- i32.add $push97=, $0, $4
- i64.store8 $discard=, 0($pop97), $18
- i32.store $push93=, y($16), $14
- i32.add $push98=, $0, $pop93
- i64.store8 $discard=, 0($pop98), $18
- i32.add $push99=, $0, $8
- i64.store8 $discard=, 0($pop99), $18
- i32.add $push100=, $0, $7
- i64.store8 $discard=, 0($pop100), $18
- i32.const $3=, 11
+ i32.const $push171=, 0
+ i32.const $push126=, 4
+ i32.store $discard=, y($pop171), $pop126
+ i32.const $push170=, 0
+ i64.const $push127=, 3255307777713450285
+ i64.store $discard=, buf+3($pop170):p2align=0, $pop127
block
- i32.add $push101=, $0, $1
- i64.store8 $discard=, 0($pop101), $18
- i32.const $push102=, .L.str.10
- i32.call $push103=, memcmp@FUNCTION, $9, $pop102, $3
- br_if $pop103, 0 # 0: down to label18
+ i32.const $push128=, buf
+ i32.const $push129=, .L.str.10
+ i32.const $push169=, 11
+ i32.call $push130=, memcmp@FUNCTION, $pop128, $pop129, $pop169
+ br_if $pop130, 0 # 0: down to label18
# BB#25: # %lor.lhs.false171
- i32.store $discard=, y($16), $4
- i32.store $9=, x($16), $3
- i32.const $0=, buf+11
- i32.add $push104=, $0, $8
- i32.store8 $discard=, 0($pop104), $16
- i32.add $push105=, $0, $7
- i32.store8 $discard=, 0($pop105), $16
- i32.add $push106=, $0, $1
- i32.store8 $discard=, 0($pop106), $16
- i32.store8 $discard=, buf+11($16), $16
+ i32.const $push176=, 0
+ i32.const $push175=, 11
+ i32.store $discard=, x($pop176), $pop175
+ i32.const $push174=, 0
+ i32.const $push131=, 5
+ i32.store $discard=, y($pop174), $pop131
+ i32.const $push173=, 0
+ i32.const $push172=, 0
+ i32.store $discard=, buf+11($pop173):p2align=0, $pop172
block
- i32.const $push108=, buf+8
- i32.const $push107=, .L.str.11
- i32.call $push109=, memcmp@FUNCTION, $pop108, $pop107, $6
- br_if $pop109, 0 # 0: down to label19
+ i32.const $push134=, buf+8
+ i32.const $push132=, .L.str.11
+ i32.const $push133=, 7
+ i32.call $push135=, memcmp@FUNCTION, $pop134, $pop132, $pop133
+ br_if $pop135, 0 # 0: down to label19
# BB#26: # %lor.lhs.false180
- i32.const $push110=, 15
- i32.store $discard=, x($16), $pop110
- i32.store8 $discard=, buf+20($16), $16
- i32.store8 $discard=, buf+19($16), $16
- i32.store8 $discard=, buf+18($16), $16
- i32.store8 $discard=, buf+17($16), $16
- i32.store8 $discard=, buf+16($16), $16
- i32.store8 $discard=, buf+15($16), $16
+ i32.const $push137=, 0
+ i32.const $push136=, 15
+ i32.store $discard=, x($pop137), $pop136
+ i32.const $push179=, 0
+ i32.const $push178=, 0
+ i32.store16 $push138=, buf+19($pop179):p2align=0, $pop178
+ tee_local $push177=, $1=, $pop138
+ i32.store $discard=, buf+15($pop177):p2align=0, $1
block
- i32.const $push112=, buf+10
- i32.const $push111=, .L.str.12
- i32.call $push113=, memcmp@FUNCTION, $pop112, $pop111, $9
- br_if $pop113, 0 # 0: down to label20
+ i32.const $push141=, buf+10
+ i32.const $push139=, .L.str.12
+ i32.const $push140=, 11
+ i32.call $push142=, memcmp@FUNCTION, $pop141, $pop139, $pop140
+ br_if $pop142, 0 # 0: down to label20
# BB#27: # %if.end184
- i32.const $23=, 64
- i32.add $39=, $39, $23
- i32.const $23=, __stack_pointer
- i32.store $39=, 0($23), $39
- return $16
+ i32.const $6=, 64
+ i32.add $7=, $7, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ return $1
.LBB0_28: # %if.then183
end_block # label20:
call abort@FUNCTION
@@ -412,7 +389,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int32 6 # 0x6
.size x, 4
@@ -421,7 +398,7 @@ x:
.type y,@object
.section .data.y,"aw",@progbits
.globl y
- .align 2
+ .p2align 2
y:
.int32 1 # 0x1
.size y, 4
@@ -436,7 +413,7 @@ y:
.type bar,@object
.section .data.bar,"aw",@progbits
.globl bar
- .align 2
+ .p2align 2
bar:
.int32 .L.str
.size bar, 4
@@ -489,7 +466,7 @@ bar:
.type buf,@object
.section .bss.buf,"aw",@nobits
.globl buf
- .align 4
+ .p2align 4
buf:
.skip 64
.size buf, 64
diff --git a/test/torture-s/strlen-1.c.s b/test/torture-s/strlen-1.c.s
index 4dcc53377..dd4bc2e06 100644
--- a/test/torture-s/strlen-1.c.s
+++ b/test/torture-s/strlen-1.c.s
@@ -6,113 +6,82 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $2=, u
i32.const $1=, 0
- copy_local $4=, $1
- copy_local $5=, $2
+ i32.const $2=, u
.LBB0_1: # %for.cond1.preheader
# =>This Loop Header: Depth=1
# Child Loop BB0_2 Depth 2
- # Child Loop BB0_3 Depth 3
- # Child Loop BB0_6 Depth 3
block
loop # label1:
- i32.add $0=, $2, $4
- i32.const $7=, 1
- copy_local $6=, $1
+ i32.const $push6=, u
+ i32.add $0=, $1, $pop6
+ i32.const $3=, 0
.LBB0_2: # %for.cond4.preheader
# Parent Loop BB0_1 Depth=1
- # => This Loop Header: Depth=2
- # Child Loop BB0_3 Depth 3
- # Child Loop BB0_6 Depth 3
+ # => This Inner Loop Header: Depth=2
loop # label3:
- i32.const $8=, u
- copy_local $9=, $1
+ i32.const $5=, u
block
- i32.const $push22=, 0
- i32.eq $push23=, $4, $pop22
- br_if $pop23, 0 # 0: down to label5
-.LBB0_3: # %for.body6
- # Parent Loop BB0_1 Depth=1
- # Parent Loop BB0_2 Depth=2
- # => This Inner Loop Header: Depth=3
- loop # label6:
- i32.const $push0=, u
- i32.add $push1=, $pop0, $9
- i32.store8 $discard=, 0($pop1), $1
- i32.const $push2=, 1
- i32.add $9=, $9, $pop2
- copy_local $8=, $5
- i32.ne $push3=, $4, $9
- br_if $pop3, 0 # 0: up to label6
+ i32.const $push19=, 0
+ i32.eq $push20=, $1, $pop19
+ br_if $pop20, 0 # 0: down to label5
+# BB#3: # %for.body6.preheader
+ # in Loop: Header=BB0_2 Depth=2
+ i32.const $push10=, u
+ i32.const $push9=, 0
+ i32.call $discard=, memset@FUNCTION, $pop10, $pop9, $1
+ copy_local $5=, $2
.LBB0_4: # %for.cond7.preheader
# in Loop: Header=BB0_2 Depth=2
- end_loop # label7:
end_block # label5:
- i32.const $3=, 1
- i32.add $10=, $8, $3
+ i32.const $push11=, 1
+ i32.add $4=, $5, $pop11
block
- i32.const $push24=, 0
- i32.eq $push25=, $6, $pop24
- br_if $pop25, 0 # 0: down to label8
+ i32.const $push21=, 0
+ i32.eq $push22=, $3, $pop21
+ br_if $pop22, 0 # 0: down to label6
# BB#5: # %for.body9.preheader
# in Loop: Header=BB0_2 Depth=2
- i32.add $10=, $8, $7
- i32.const $9=, 0
-.LBB0_6: # %for.body9
- # Parent Loop BB0_1 Depth=1
- # Parent Loop BB0_2 Depth=2
- # => This Inner Loop Header: Depth=3
- loop # label9:
- i32.add $push4=, $8, $9
- i32.const $push5=, 97
- i32.store8 $discard=, 0($pop4), $pop5
- i32.add $9=, $9, $3
- i32.ne $push6=, $6, $9
- br_if $pop6, 0 # 0: up to label9
-# BB#7: # %for.end13.loopexit
- # in Loop: Header=BB0_2 Depth=2
- end_loop # label10:
- i32.add $8=, $8, $6
-.LBB0_8: # %for.end13
+ i32.const $push13=, 97
+ i32.call $push0=, memset@FUNCTION, $5, $pop13, $3
+ i32.add $5=, $pop0, $3
+ i32.const $push12=, 1
+ i32.add $4=, $5, $pop12
+.LBB0_6: # %for.end13
# in Loop: Header=BB0_2 Depth=2
- end_block # label8:
- i32.const $push7=, 0
- i32.store8 $9=, 0($8), $pop7
- i32.const $push8=, 98
- i32.store8 $push9=, 0($10), $pop8
- i32.store8 $push10=, 1($10), $pop9
- i32.store8 $push11=, 2($10), $pop10
- i32.store8 $push12=, 3($10), $pop11
- i32.store8 $push13=, 4($10), $pop12
- i32.store8 $push14=, 5($10), $pop13
- i32.store8 $push15=, 6($10), $pop14
- i32.store8 $discard=, 7($10), $pop15
- i32.call $push16=, strlen@FUNCTION, $0
- i32.ne $push17=, $6, $pop16
- br_if $pop17, 4 # 4: down to label0
-# BB#9: # %for.cond1
+ end_block # label6:
+ i32.const $push15=, 0
+ i32.store8 $discard=, 0($5), $pop15
+ i64.const $push14=, 7089336938131513954
+ i64.store $discard=, 0($4):p2align=0, $pop14
+ i32.call $push1=, strlen@FUNCTION, $0
+ i32.ne $push2=, $3, $pop1
+ br_if $pop2, 4 # 4: down to label0
+# BB#7: # %for.cond1
# in Loop: Header=BB0_2 Depth=2
- i32.add $6=, $6, $3
- i32.add $7=, $7, $3
- i32.const $push18=, 63
- i32.le_u $push19=, $6, $pop18
- br_if $pop19, 0 # 0: up to label3
-# BB#10: # %for.inc26
+ i32.const $push8=, 1
+ i32.add $3=, $3, $pop8
+ i32.const $push7=, 63
+ i32.le_u $push3=, $3, $pop7
+ br_if $pop3, 0 # 0: up to label3
+# BB#8: # %for.inc26
# in Loop: Header=BB0_1 Depth=1
end_loop # label4:
- i32.add $4=, $4, $3
- i32.add $5=, $5, $3
- i32.const $push20=, 8
- i32.lt_u $push21=, $4, $pop20
- br_if $pop21, 0 # 0: up to label1
-# BB#11: # %for.end28
+ i32.const $push18=, 1
+ i32.add $1=, $1, $pop18
+ i32.const $push17=, 1
+ i32.add $2=, $2, $pop17
+ i32.const $push16=, 8
+ i32.lt_u $push4=, $1, $pop16
+ br_if $pop4, 0 # 0: up to label1
+# BB#9: # %for.end28
end_loop # label2:
- call exit@FUNCTION, $9
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
unreachable
-.LBB0_12: # %if.then
+.LBB0_10: # %if.then
end_block # label0:
call abort@FUNCTION
unreachable
diff --git a/test/torture-s/strncmp-1.c.s b/test/torture-s/strncmp-1.c.s
index 354bb99df..9f0620944 100644
--- a/test/torture-s/strncmp-1.c.s
+++ b/test/torture-s/strncmp-1.c.s
@@ -56,19 +56,14 @@ test: # @test
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i32, i32, i32
# BB#0: # %entry
- i32.const $8=, 0
+ i32.const $0=, 0
i32.const $1=, u1
- copy_local $0=, $8
.LBB1_1: # %for.cond1.preheader
# =>This Loop Header: Depth=1
# Child Loop BB1_2 Depth 2
# Child Loop BB1_3 Depth 3
- # Child Loop BB1_4 Depth 4
- # Child Loop BB1_6 Depth 4
- # Child Loop BB1_9 Depth 4
- # Child Loop BB1_11 Depth 4
block
block
block
@@ -88,358 +83,288 @@ main: # @main
block
block
loop # label21:
+ i32.const $2=, 0
i32.const $3=, u2
- copy_local $2=, $8
.LBB1_2: # %for.cond4.preheader
# Parent Loop BB1_1 Depth=1
# => This Loop Header: Depth=2
# Child Loop BB1_3 Depth 3
- # Child Loop BB1_4 Depth 4
- # Child Loop BB1_6 Depth 4
- # Child Loop BB1_9 Depth 4
- # Child Loop BB1_11 Depth 4
loop # label23:
- copy_local $4=, $8
+ i32.const $4=, 0
.LBB1_3: # %for.cond7.preheader
# Parent Loop BB1_1 Depth=1
# Parent Loop BB1_2 Depth=2
- # => This Loop Header: Depth=3
- # Child Loop BB1_4 Depth 4
- # Child Loop BB1_6 Depth 4
- # Child Loop BB1_9 Depth 4
- # Child Loop BB1_11 Depth 4
+ # => This Inner Loop Header: Depth=3
loop # label25:
i32.const $5=, u1
- copy_local $16=, $8
block
- i32.const $push70=, 0
- i32.eq $push71=, $0, $pop70
- br_if $pop71, 0 # 0: down to label27
-.LBB1_4: # %for.body9
- # Parent Loop BB1_1 Depth=1
- # Parent Loop BB1_2 Depth=2
- # Parent Loop BB1_3 Depth=3
- # => This Inner Loop Header: Depth=4
- loop # label28:
- i32.const $push0=, u1
- i32.add $push1=, $pop0, $16
- i32.store8 $discard=, 0($pop1), $8
- i32.const $push2=, 1
- i32.add $16=, $16, $pop2
+ i32.const $push63=, 0
+ i32.eq $push64=, $0, $pop63
+ br_if $pop64, 0 # 0: down to label27
+# BB#4: # %for.body9.preheader
+ # in Loop: Header=BB1_3 Depth=3
+ i32.const $push36=, u1
+ i32.const $push35=, 0
+ i32.call $discard=, memset@FUNCTION, $pop36, $pop35, $0
copy_local $5=, $1
- i32.ne $push3=, $0, $16
- br_if $pop3, 0 # 0: up to label28
.LBB1_5: # %for.cond10.preheader
# in Loop: Header=BB1_3 Depth=3
- end_loop # label29:
end_block # label27:
- i32.const $16=, 0
copy_local $6=, $5
block
- i32.const $push72=, 0
- i32.eq $push73=, $4, $pop72
- br_if $pop73, 0 # 0: down to label30
-.LBB1_6: # %for.body12
- # Parent Loop BB1_1 Depth=1
- # Parent Loop BB1_2 Depth=2
- # Parent Loop BB1_3 Depth=3
- # => This Inner Loop Header: Depth=4
- loop # label31:
- i32.add $push4=, $5, $16
- i32.const $push5=, 97
- i32.store8 $discard=, 0($pop4), $pop5
- i32.const $push6=, 1
- i32.add $16=, $16, $pop6
- i32.ne $push7=, $4, $16
- br_if $pop7, 0 # 0: up to label31
-# BB#7: # %for.cond17.preheader.loopexit
+ i32.const $push65=, 0
+ i32.eq $push66=, $4, $pop65
+ br_if $pop66, 0 # 0: down to label28
+# BB#6: # %for.body12.preheader
# in Loop: Header=BB1_3 Depth=3
- end_loop # label32:
- i32.add $6=, $5, $4
-.LBB1_8: # %for.cond17.preheader
+ i32.const $push37=, 97
+ i32.call $push0=, memset@FUNCTION, $5, $pop37, $4
+ i32.add $6=, $pop0, $4
+.LBB1_7: # %for.cond17.preheader
# in Loop: Header=BB1_3 Depth=3
- end_block # label30:
- i32.const $push8=, 120
- i32.store8 $push9=, 0($6), $pop8
- i32.store8 $push10=, 1($6), $pop9
- i32.store8 $push11=, 2($6), $pop10
- i32.store8 $push12=, 3($6), $pop11
- i32.store8 $push13=, 4($6), $pop12
- i32.store8 $push14=, 5($6), $pop13
- i32.store8 $push15=, 6($6), $pop14
- i32.store8 $11=, 7($6), $pop15
- i32.const $9=, 0
+ end_block # label28:
+ i64.const $push38=, 8680820740569200760
+ i64.store $9=, 0($6):p2align=0, $pop38
i32.const $7=, u2
- copy_local $16=, $9
block
- i32.const $push74=, 0
- i32.eq $push75=, $2, $pop74
- br_if $pop75, 0 # 0: down to label33
-.LBB1_9: # %for.body26
- # Parent Loop BB1_1 Depth=1
- # Parent Loop BB1_2 Depth=2
- # Parent Loop BB1_3 Depth=3
- # => This Inner Loop Header: Depth=4
- loop # label34:
- i32.const $push16=, u2
- i32.add $push17=, $pop16, $16
- i32.store8 $discard=, 0($pop17), $9
- i32.const $push18=, 1
- i32.add $16=, $16, $pop18
+ i32.const $push67=, 0
+ i32.eq $push68=, $2, $pop67
+ br_if $pop68, 0 # 0: down to label29
+# BB#8: # %for.body26.preheader
+ # in Loop: Header=BB1_3 Depth=3
+ i32.const $push40=, u2
+ i32.const $push39=, 0
+ i32.call $discard=, memset@FUNCTION, $pop40, $pop39, $2
copy_local $7=, $3
- i32.ne $push19=, $2, $16
- br_if $pop19, 0 # 0: up to label34
-.LBB1_10: # %for.cond31.preheader
+.LBB1_9: # %for.cond31.preheader
# in Loop: Header=BB1_3 Depth=3
- end_loop # label35:
- end_block # label33:
- i32.const $16=, 0
- copy_local $9=, $7
+ end_block # label29:
+ copy_local $8=, $7
block
- i32.const $push76=, 0
- i32.eq $push77=, $4, $pop76
- br_if $pop77, 0 # 0: down to label36
-.LBB1_11: # %for.body33
- # Parent Loop BB1_1 Depth=1
- # Parent Loop BB1_2 Depth=2
- # Parent Loop BB1_3 Depth=3
- # => This Inner Loop Header: Depth=4
- loop # label37:
- i32.add $push20=, $7, $16
- i32.const $push21=, 97
- i32.store8 $discard=, 0($pop20), $pop21
- i32.const $push22=, 1
- i32.add $16=, $16, $pop22
- i32.ne $push23=, $4, $16
- br_if $pop23, 0 # 0: up to label37
-# BB#12: # %for.cond38.preheader.loopexit
+ i32.const $push69=, 0
+ i32.eq $push70=, $4, $pop69
+ br_if $pop70, 0 # 0: down to label30
+# BB#10: # %for.body33.preheader
# in Loop: Header=BB1_3 Depth=3
- end_loop # label38:
- i32.add $9=, $7, $4
-.LBB1_13: # %for.cond38.preheader
+ i32.const $push41=, 97
+ i32.call $push1=, memset@FUNCTION, $7, $pop41, $4
+ i32.add $8=, $pop1, $4
+.LBB1_11: # %for.cond38.preheader
# in Loop: Header=BB1_3 Depth=3
- end_block # label36:
- i32.store8 $push24=, 1($9), $11
- i32.store8 $push25=, 2($9), $pop24
- i32.store8 $push26=, 3($9), $pop25
- i32.store8 $push27=, 4($9), $pop26
- i32.store8 $push28=, 5($9), $pop27
- i32.store8 $push29=, 6($9), $pop28
- i32.store8 $discard=, 7($9), $pop29
- i32.const $push30=, 0
- i32.store8 $11=, 0($6), $pop30
- i32.const $16=, 80
- i32.store8 $12=, 0($9), $11
- i32.call $push31=, strncmp@FUNCTION, $5, $7, $16
- br_if $pop31, 23 # 23: down to label3
-# BB#14: # %test.exit
+ end_block # label30:
+ i64.store $discard=, 0($8):p2align=0, $9
+ i32.const $push43=, 0
+ i32.store8 $push2=, 0($6), $pop43
+ i32.store8 $11=, 0($8), $pop2
+ i32.const $push42=, 80
+ i32.call $push3=, strncmp@FUNCTION, $5, $7, $pop42
+ br_if $pop3, 23 # 23: down to label3
+# BB#12: # %test.exit
# in Loop: Header=BB1_3 Depth=3
- i32.call $push32=, strncmp@FUNCTION, $5, $7, $4
- br_if $pop32, 22 # 22: down to label4
-# BB#15: # %test.exit185
+ i32.call $push4=, strncmp@FUNCTION, $5, $7, $4
+ br_if $pop4, 22 # 22: down to label4
+# BB#13: # %test.exit185
# in Loop: Header=BB1_3 Depth=3
- i32.const $push33=, 97
- i32.store8 $13=, 0($6), $pop33
- i32.const $10=, 1
- i32.add $11=, $6, $10
- i32.store8 $push34=, 0($11), $12
- i32.store8 $12=, 0($9), $pop34
- i32.call $push35=, strncmp@FUNCTION, $5, $7, $16
- i32.le_s $push36=, $pop35, $12
- br_if $pop36, 21 # 21: down to label5
-# BB#16: # %test.exit190
+ i32.store8 $discard=, 0($8), $11
+ i32.const $push45=, 97
+ i32.store16 $10=, 0($6):p2align=0, $pop45
+ i32.const $push44=, 80
+ i32.call $push5=, strncmp@FUNCTION, $5, $7, $pop44
+ i32.le_s $push6=, $pop5, $11
+ br_if $pop6, 21 # 21: down to label5
+# BB#14: # %test.exit190
# in Loop: Header=BB1_3 Depth=3
- i32.call $push37=, strncmp@FUNCTION, $5, $7, $4
- br_if $pop37, 20 # 20: down to label6
-# BB#17: # %test.exit196
+ i32.call $push7=, strncmp@FUNCTION, $5, $7, $4
+ br_if $pop7, 20 # 20: down to label6
+# BB#15: # %test.exit196
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($9), $13
- i32.store8 $13=, 0($6), $12
- i32.add $12=, $9, $10
- i32.store8 $discard=, 0($12), $13
- i32.call $push38=, strncmp@FUNCTION, $5, $7, $16
- i32.ge_s $push39=, $pop38, $13
- br_if $pop39, 19 # 19: down to label7
-# BB#18: # %test.exit201
+ i32.store16 $discard=, 0($8):p2align=0, $10
+ i32.store8 $discard=, 0($6), $11
+ i32.const $push46=, 80
+ i32.call $push8=, strncmp@FUNCTION, $5, $7, $pop46
+ i32.ge_s $push9=, $pop8, $11
+ br_if $pop9, 19 # 19: down to label7
+# BB#16: # %test.exit201
# in Loop: Header=BB1_3 Depth=3
- i32.call $push40=, strncmp@FUNCTION, $5, $7, $4
- br_if $pop40, 18 # 18: down to label8
-# BB#19: # %test.exit207
+ i32.call $push10=, strncmp@FUNCTION, $5, $7, $4
+ br_if $pop10, 18 # 18: down to label8
+# BB#17: # %test.exit207
# in Loop: Header=BB1_3 Depth=3
- i32.const $push41=, 98
- i32.store8 $14=, 0($6), $pop41
- i32.store8 $discard=, 0($11), $13
- i32.const $push42=, 99
- i32.store8 $15=, 0($9), $pop42
- i32.store8 $discard=, 0($12), $13
- i32.call $push43=, strncmp@FUNCTION, $5, $7, $16
- i32.ge_s $push44=, $pop43, $13
- br_if $pop44, 17 # 17: down to label9
-# BB#20: # %test.exit213
+ i32.const $push49=, 98
+ i32.store16 $10=, 0($6):p2align=0, $pop49
+ i32.const $push48=, 99
+ i32.store16 $12=, 0($8):p2align=0, $pop48
+ i32.const $push47=, 80
+ i32.call $push11=, strncmp@FUNCTION, $5, $7, $pop47
+ i32.ge_s $push12=, $pop11, $11
+ br_if $pop12, 17 # 17: down to label9
+# BB#18: # %test.exit213
# in Loop: Header=BB1_3 Depth=3
- i32.call $push45=, strncmp@FUNCTION, $5, $7, $4
- br_if $pop45, 16 # 16: down to label10
-# BB#21: # %test.exit219
+ i32.call $push13=, strncmp@FUNCTION, $5, $7, $4
+ br_if $pop13, 16 # 16: down to label10
+# BB#19: # %test.exit219
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($6), $15
- i32.store8 $discard=, 0($9), $14
- i32.store8 $push46=, 0($11), $13
- i32.store8 $13=, 0($12), $pop46
- i32.call $push47=, strncmp@FUNCTION, $5, $7, $16
- i32.le_s $push48=, $pop47, $13
- br_if $pop48, 15 # 15: down to label11
-# BB#22: # %test.exit225
+ i32.store16 $discard=, 0($6):p2align=0, $12
+ i32.store16 $discard=, 0($8):p2align=0, $10
+ i32.const $push50=, 80
+ i32.call $push14=, strncmp@FUNCTION, $5, $7, $pop50
+ i32.le_s $push15=, $pop14, $11
+ br_if $pop15, 15 # 15: down to label11
+# BB#20: # %test.exit225
# in Loop: Header=BB1_3 Depth=3
- i32.call $push49=, strncmp@FUNCTION, $5, $7, $4
- br_if $pop49, 14 # 14: down to label12
-# BB#23: # %test.exit231
+ i32.call $push16=, strncmp@FUNCTION, $5, $7, $4
+ br_if $pop16, 14 # 14: down to label12
+# BB#21: # %test.exit231
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($6), $14
- i32.store8 $discard=, 0($11), $13
- i32.const $push50=, 169
- i32.store8 $15=, 0($9), $pop50
- i32.store8 $discard=, 0($12), $13
- i32.call $push51=, strncmp@FUNCTION, $5, $7, $16
- i32.ge_s $push52=, $pop51, $13
- br_if $pop52, 13 # 13: down to label13
-# BB#24: # %test.exit237
+ i32.store16 $discard=, 0($6):p2align=0, $10
+ i32.const $push52=, 169
+ i32.store16 $12=, 0($8):p2align=0, $pop52
+ i32.const $push51=, 80
+ i32.call $push17=, strncmp@FUNCTION, $5, $7, $pop51
+ i32.ge_s $push18=, $pop17, $11
+ br_if $pop18, 13 # 13: down to label13
+# BB#22: # %test.exit237
# in Loop: Header=BB1_3 Depth=3
- i32.call $push53=, strncmp@FUNCTION, $5, $7, $4
- br_if $pop53, 12 # 12: down to label14
-# BB#25: # %test.exit243
+ i32.call $push19=, strncmp@FUNCTION, $5, $7, $4
+ br_if $pop19, 12 # 12: down to label14
+# BB#23: # %test.exit243
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($9), $14
- i32.store8 $14=, 0($6), $15
- i32.store8 $push54=, 0($11), $13
- i32.store8 $13=, 0($12), $pop54
- i32.call $push55=, strncmp@FUNCTION, $5, $7, $16
- i32.le_s $push56=, $pop55, $13
- br_if $pop56, 11 # 11: down to label15
-# BB#26: # %test.exit249
+ i32.store16 $discard=, 0($8):p2align=0, $10
+ i32.store16 $10=, 0($6):p2align=0, $12
+ i32.const $push53=, 80
+ i32.call $push20=, strncmp@FUNCTION, $5, $7, $pop53
+ i32.le_s $push21=, $pop20, $11
+ br_if $pop21, 11 # 11: down to label15
+# BB#24: # %test.exit249
# in Loop: Header=BB1_3 Depth=3
- i32.call $push57=, strncmp@FUNCTION, $5, $7, $4
- br_if $pop57, 10 # 10: down to label16
-# BB#27: # %test.exit255
+ i32.call $push22=, strncmp@FUNCTION, $5, $7, $4
+ br_if $pop22, 10 # 10: down to label16
+# BB#25: # %test.exit255
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($6), $14
- i32.store8 $discard=, 0($11), $13
- i32.const $push58=, 170
- i32.store8 $15=, 0($9), $pop58
- i32.store8 $discard=, 0($12), $13
- i32.call $push59=, strncmp@FUNCTION, $5, $7, $16
- i32.ge_s $push60=, $pop59, $13
- br_if $pop60, 9 # 9: down to label17
-# BB#28: # %test.exit261
+ i32.store16 $discard=, 0($6):p2align=0, $10
+ i32.const $push55=, 170
+ i32.store16 $12=, 0($8):p2align=0, $pop55
+ i32.const $push54=, 80
+ i32.call $push23=, strncmp@FUNCTION, $5, $7, $pop54
+ i32.ge_s $push24=, $pop23, $11
+ br_if $pop24, 9 # 9: down to label17
+# BB#26: # %test.exit261
# in Loop: Header=BB1_3 Depth=3
- i32.call $push61=, strncmp@FUNCTION, $5, $7, $4
- br_if $pop61, 8 # 8: down to label18
-# BB#29: # %test.exit267
+ i32.call $push25=, strncmp@FUNCTION, $5, $7, $4
+ br_if $pop25, 8 # 8: down to label18
+# BB#27: # %test.exit267
# in Loop: Header=BB1_3 Depth=3
- i32.store8 $discard=, 0($6), $15
- i32.store8 $discard=, 0($9), $14
- i32.store8 $push62=, 0($11), $13
- i32.store8 $9=, 0($12), $pop62
- i32.call $push63=, strncmp@FUNCTION, $5, $7, $16
- i32.le_s $push64=, $pop63, $9
- br_if $pop64, 7 # 7: down to label19
-# BB#30: # %test.exit273
+ i32.store16 $discard=, 0($6):p2align=0, $12
+ i32.store16 $discard=, 0($8):p2align=0, $10
+ i32.const $push56=, 80
+ i32.call $push26=, strncmp@FUNCTION, $5, $7, $pop56
+ i32.le_s $push27=, $pop26, $11
+ br_if $pop27, 7 # 7: down to label19
+# BB#28: # %test.exit273
# in Loop: Header=BB1_3 Depth=3
- i32.call $push65=, strncmp@FUNCTION, $5, $7, $4
- br_if $pop65, 6 # 6: down to label20
-# BB#31: # %for.cond4
+ i32.call $push28=, strncmp@FUNCTION, $5, $7, $4
+ br_if $pop28, 6 # 6: down to label20
+# BB#29: # %for.cond4
# in Loop: Header=BB1_3 Depth=3
- i32.add $4=, $4, $10
- i32.const $push66=, 63
- i32.le_u $push67=, $4, $pop66
- br_if $pop67, 0 # 0: up to label25
-# BB#32: # %for.inc79
+ i32.const $push34=, 1
+ i32.add $4=, $4, $pop34
+ i32.const $push33=, 63
+ i32.le_u $push29=, $4, $pop33
+ br_if $pop29, 0 # 0: up to label25
+# BB#30: # %for.inc79
# in Loop: Header=BB1_2 Depth=2
end_loop # label26:
- i32.add $2=, $2, $10
- i32.add $3=, $3, $10
- i32.const $16=, 8
- i32.lt_u $push68=, $2, $16
- br_if $pop68, 0 # 0: up to label23
-# BB#33: # %for.inc82
+ i32.const $push59=, 1
+ i32.add $2=, $2, $pop59
+ i32.const $push58=, 1
+ i32.add $3=, $3, $pop58
+ i32.const $push57=, 8
+ i32.lt_u $push30=, $2, $pop57
+ br_if $pop30, 0 # 0: up to label23
+# BB#31: # %for.inc82
# in Loop: Header=BB1_1 Depth=1
end_loop # label24:
- i32.add $0=, $0, $10
- i32.add $1=, $1, $10
- i32.lt_u $push69=, $0, $16
- br_if $pop69, 0 # 0: up to label21
-# BB#34: # %for.end84
+ i32.const $push62=, 1
+ i32.add $0=, $0, $pop62
+ i32.const $push61=, 1
+ i32.add $1=, $1, $pop61
+ i32.const $push60=, 8
+ i32.lt_u $push31=, $0, $pop60
+ br_if $pop31, 0 # 0: up to label21
+# BB#32: # %for.end84
end_loop # label22:
- call exit@FUNCTION, $9
+ i32.const $push32=, 0
+ call exit@FUNCTION, $pop32
unreachable
-.LBB1_35: # %if.then5.i277
+.LBB1_33: # %if.then5.i277
end_block # label20:
call abort@FUNCTION
unreachable
-.LBB1_36: # %if.then10.i272
+.LBB1_34: # %if.then10.i272
end_block # label19:
call abort@FUNCTION
unreachable
-.LBB1_37: # %if.then5.i265
+.LBB1_35: # %if.then5.i265
end_block # label18:
call abort@FUNCTION
unreachable
-.LBB1_38: # %if.then.i258
+.LBB1_36: # %if.then.i258
end_block # label17:
call abort@FUNCTION
unreachable
-.LBB1_39: # %if.then5.i253
+.LBB1_37: # %if.then5.i253
end_block # label16:
call abort@FUNCTION
unreachable
-.LBB1_40: # %if.then10.i248
+.LBB1_38: # %if.then10.i248
end_block # label15:
call abort@FUNCTION
unreachable
-.LBB1_41: # %if.then5.i241
+.LBB1_39: # %if.then5.i241
end_block # label14:
call abort@FUNCTION
unreachable
-.LBB1_42: # %if.then.i234
+.LBB1_40: # %if.then.i234
end_block # label13:
call abort@FUNCTION
unreachable
-.LBB1_43: # %if.then5.i229
+.LBB1_41: # %if.then5.i229
end_block # label12:
call abort@FUNCTION
unreachable
-.LBB1_44: # %if.then10.i224
+.LBB1_42: # %if.then10.i224
end_block # label11:
call abort@FUNCTION
unreachable
-.LBB1_45: # %if.then5.i217
+.LBB1_43: # %if.then5.i217
end_block # label10:
call abort@FUNCTION
unreachable
-.LBB1_46: # %if.then.i210
+.LBB1_44: # %if.then.i210
end_block # label9:
call abort@FUNCTION
unreachable
-.LBB1_47: # %if.then5.i205
+.LBB1_45: # %if.then5.i205
end_block # label8:
call abort@FUNCTION
unreachable
-.LBB1_48: # %if.then.i
+.LBB1_46: # %if.then.i
end_block # label7:
call abort@FUNCTION
unreachable
-.LBB1_49: # %if.then5.i194
+.LBB1_47: # %if.then5.i194
end_block # label6:
call abort@FUNCTION
unreachable
-.LBB1_50: # %if.then10.i
+.LBB1_48: # %if.then10.i
end_block # label5:
call abort@FUNCTION
unreachable
-.LBB1_51: # %if.then5.i183
+.LBB1_49: # %if.then5.i183
end_block # label4:
call abort@FUNCTION
unreachable
-.LBB1_52: # %if.then5.i
+.LBB1_50: # %if.then5.i
end_block # label3:
call abort@FUNCTION
unreachable
diff --git a/test/torture-s/struct-aliasing-1.c.s b/test/torture-s/struct-aliasing-1.c.s
index 92c2795c8..e36e7b5ce 100644
--- a/test/torture-s/struct-aliasing-1.c.s
+++ b/test/torture-s/struct-aliasing-1.c.s
@@ -13,7 +13,7 @@ foo: # @foo
i32.const $push0=, 0
i32.store $discard=, 0($0), $pop0
i32.load $push1=, 0($1)
- i32.add $push2=, $pop1, $2
+ i32.add $push2=, $2, $pop1
return $pop2
.endfunc
.Lfunc_end0:
@@ -33,15 +33,15 @@ main: # @main
i32.sub $5=, $0, $1
i32.const $1=, __stack_pointer
i32.store $5=, 0($1), $5
+ i32.const $push0=, 1
+ i32.store $push1=, 12($5), $pop0
i32.const $3=, 12
i32.add $3=, $5, $3
i32.const $4=, 12
i32.add $4=, $5, $4
block
i32.call $push2=, foo@FUNCTION, $3, $4
- i32.const $push0=, 1
- i32.store $push1=, 12($5), $pop0
- i32.ne $push3=, $pop2, $pop1
+ i32.ne $push3=, $pop1, $pop2
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
i32.const $push4=, 0
diff --git a/test/torture-s/struct-cpy-1.c.s b/test/torture-s/struct-cpy-1.c.s
index f5bab3eef..fc7a750a1 100644
--- a/test/torture-s/struct-cpy-1.c.s
+++ b/test/torture-s/struct-cpy-1.c.s
@@ -5,19 +5,17 @@
.globl ini
.type ini,@function
ini: # @ini
- .local i32
# BB#0: # %entry
i32.const $push2=, pty+40
- i32.const $push0=, zero_t
- i32.const $push1=, 44
- call memcpy@FUNCTION, $pop2, $pop0, $pop1
- i32.const $0=, 0
- i32.const $push4=, 3
- i32.store $discard=, pty+48($0), $pop4
- i32.const $push5=, 4
- i32.store $discard=, pty+52($0), $pop5
+ i32.const $push1=, 0
+ i32.const $push0=, 44
+ i32.call $discard=, memset@FUNCTION, $pop2, $pop1, $pop0
+ i32.const $push6=, 0
i64.const $push3=, 8589934593
- i64.store $discard=, pty+40($0), $pop3
+ i64.store $discard=, pty+40($pop6), $pop3
+ i32.const $push5=, 0
+ i64.const $push4=, 17179869187
+ i64.store $discard=, pty+48($pop5), $pop4
return
.endfunc
.Lfunc_end0:
@@ -29,32 +27,24 @@ ini: # @ini
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
i32.const $push2=, pty+40
- i32.const $push0=, zero_t
- i32.const $push1=, 44
- call memcpy@FUNCTION, $pop2, $pop0, $pop1
- i32.const $0=, 0
- i32.const $push4=, 3
- i32.store $discard=, pty+48($0), $pop4
- i32.const $push5=, 4
- i32.store $discard=, pty+52($0), $pop5
+ i32.const $push1=, 0
+ i32.const $push0=, 44
+ i32.call $discard=, memset@FUNCTION, $pop2, $pop1, $pop0
+ i32.const $push7=, 0
i64.const $push3=, 8589934593
- i64.store $discard=, pty+40($0), $pop3
- return $0
+ i64.store $discard=, pty+40($pop7), $pop3
+ i32.const $push6=, 0
+ i64.const $push4=, 17179869187
+ i64.store $discard=, pty+48($pop6), $pop4
+ i32.const $push5=, 0
+ return $pop5
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
.type pty,@object # @pty
.lcomm pty,88,3
- .type zero_t,@object # @zero_t
- .section .rodata.zero_t,"a",@progbits
- .align 2
-zero_t:
- .skip 44
- .size zero_t, 44
-
.ident "clang version 3.9.0 "
diff --git a/test/torture-s/struct-ini-1.c.s b/test/torture-s/struct-ini-1.c.s
index 17b9d9ec5..a42391150 100644
--- a/test/torture-s/struct-ini-1.c.s
+++ b/test/torture-s/struct-ini-1.c.s
@@ -6,26 +6,28 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load8_u $push2=, object($0)
+ i32.const $push10=, 0
+ i32.load8_u $push2=, object($pop10):p2align=2
i32.const $push3=, 88
i32.ne $push4=, $pop2, $pop3
br_if $pop4, 0 # 0: down to label0
# BB#1: # %entry
- i32.load $push0=, object+4($0)
+ i32.const $push11=, 0
+ i32.load $push0=, object+4($pop11)
i32.const $push5=, 8
i32.ne $push6=, $pop0, $pop5
br_if $pop6, 0 # 0: down to label0
# BB#2: # %entry
- i32.load $push1=, object+8($0)
+ i32.const $push12=, 0
+ i32.load $push1=, object+8($pop12)
i32.const $push7=, 9
i32.ne $push8=, $pop1, $pop7
br_if $pop8, 0 # 0: down to label0
# BB#3: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push9=, 0
+ call exit@FUNCTION, $pop9
unreachable
.LBB0_4: # %if.then
end_block # label0:
@@ -39,7 +41,7 @@ main: # @main
.type object,@object
.section .data.object,"aw",@progbits
.globl object
- .align 2
+ .p2align 2
object:
.int8 88 # 0x58
.skip 3
diff --git a/test/torture-s/struct-ini-2.c.s b/test/torture-s/struct-ini-2.c.s
index ca5c3dd1f..4121c4bc4 100644
--- a/test/torture-s/struct-ini-2.c.s
+++ b/test/torture-s/struct-ini-2.c.s
@@ -6,32 +6,34 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load16_u $0=, x($1)
block
- i32.const $push0=, 15
- i32.and $push1=, $0, $pop0
- i32.const $push2=, 2
- i32.ne $push3=, $pop1, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push1=, 0
+ i32.load16_u $push0=, x($pop1):p2align=2
+ tee_local $push15=, $0=, $pop0
+ i32.const $push2=, 15
+ i32.and $push3=, $pop15, $pop2
+ i32.const $push4=, 2
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.const $push4=, 3840
- i32.and $push5=, $0, $pop4
- i32.const $push6=, 768
- i32.ne $push7=, $pop5, $pop6
- br_if $pop7, 0 # 0: down to label1
+ i32.const $push6=, 3840
+ i32.and $push7=, $0, $pop6
+ i32.const $push8=, 768
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label1
# BB#2: # %if.end7
block
- i32.const $push8=, 61440
- i32.and $push9=, $0, $pop8
- i32.const $push10=, 16384
- i32.ne $push11=, $pop9, $pop10
- br_if $pop11, 0 # 0: down to label2
+ i32.const $push10=, 61440
+ i32.and $push11=, $0, $pop10
+ i32.const $push12=, 16384
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label2
# BB#3: # %if.end13
- call exit@FUNCTION, $1
+ i32.const $push14=, 0
+ call exit@FUNCTION, $pop14
unreachable
.LBB0_4: # %if.then12
end_block # label2:
@@ -53,7 +55,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int8 2 # 0x2
.int8 67 # 0x43
diff --git a/test/torture-s/struct-ini-3.c.s b/test/torture-s/struct-ini-3.c.s
index b8deaba8a..fc24560f2 100644
--- a/test/torture-s/struct-ini-3.c.s
+++ b/test/torture-s/struct-ini-3.c.s
@@ -18,7 +18,7 @@ main: # @main
.type result,@object
.section .data.result,"aw",@progbits
.globl result
- .align 2
+ .p2align 2
result:
.int8 255 # 0xff
.int8 15 # 0xf
diff --git a/test/torture-s/struct-ini-4.c.s b/test/torture-s/struct-ini-4.c.s
index 87c197875..58ff549a7 100644
--- a/test/torture-s/struct-ini-4.c.s
+++ b/test/torture-s/struct-ini-4.c.s
@@ -6,16 +6,16 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
block
- i32.load $push0=, s+12($0)
+ i32.const $push3=, 0
+ i32.load $push0=, s+12($pop3)
i32.const $push1=, 1
i32.ne $push2=, $pop0, $pop1
br_if $pop2, 0 # 0: down to label0
# BB#1: # %if.end
- call exit@FUNCTION, $0
+ i32.const $push4=, 0
+ call exit@FUNCTION, $pop4
unreachable
.LBB0_2: # %if.then
end_block # label0:
@@ -29,7 +29,7 @@ main: # @main
.type s,@object
.section .data.s,"aw",@progbits
.globl s
- .align 2
+ .p2align 2
s:
.skip 12
.int32 1 # 0x1
diff --git a/test/torture-s/struct-ret-1.c.s b/test/torture-s/struct-ret-1.c.s
new file mode 100644
index 000000000..4f0608473
--- /dev/null
+++ b/test/torture-s/struct-ret-1.c.s
@@ -0,0 +1,446 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32, i32, f64, i32
+ .local i64, i32, f64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $14=, __stack_pointer
+ i32.load $14=, 0($14)
+ i32.const $15=, 64
+ i32.sub $17=, $14, $15
+ i32.const $15=, __stack_pointer
+ i32.store $17=, 0($15), $17
+ i32.const $push3=, 16
+ i32.add $push4=, $1, $pop3
+ i32.load $6=, 0($pop4):p2align=3
+ i32.const $push21=, 16
+ i32.add $push6=, $4, $pop21
+ i32.load $9=, 0($pop6):p2align=3
+ i64.load $5=, 8($1)
+ i64.load $8=, 8($4)
+ f64.load $7=, 0($4)
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 56
+ i32.sub $17=, $10, $11
+ i32.const $11=, __stack_pointer
+ i32.store $17=, 0($11), $17
+ f64.load $push0=, 0($1)
+ f64.store $discard=, 0($17), $pop0
+ i32.const $push7=, 48
+ i32.add $4=, $17, $pop7
+ i32.store $discard=, 0($4), $9
+ i32.const $push8=, 44
+ i32.add $4=, $17, $pop8
+ i64.const $push1=, 32
+ i64.shr_u $push5=, $8, $pop1
+ i64.store32 $discard=, 0($4), $pop5
+ i32.const $push9=, 40
+ i32.add $4=, $17, $pop9
+ i64.store32 $discard=, 0($4), $8
+ i32.const $push10=, 32
+ i32.add $4=, $17, $pop10
+ f64.store $discard=, 0($4), $7
+ i32.const $push11=, 24
+ i32.add $4=, $17, $pop11
+ f64.store $discard=, 0($4), $3
+ i32.const $push12=, 20
+ i32.add $4=, $17, $pop12
+ i32.store $4=, 0($4), $2
+ i32.const $push20=, 16
+ i32.add $1=, $17, $pop20
+ i32.store $discard=, 0($1), $6
+ i32.const $push13=, 12
+ i32.add $1=, $17, $pop13
+ i64.const $push19=, 32
+ i64.shr_u $push2=, $5, $pop19
+ i64.store32 $discard=, 0($1), $pop2
+ i32.const $push14=, 8
+ i32.add $1=, $17, $pop14
+ i64.store32 $discard=, 0($1), $5
+ i32.const $push16=, out
+ i32.const $push15=, .L.str
+ i32.call $discard=, sprintf@FUNCTION, $pop16, $pop15
+ i32.const $12=, __stack_pointer
+ i32.load $12=, 0($12)
+ i32.const $13=, 56
+ i32.add $17=, $12, $13
+ i32.const $13=, __stack_pointer
+ i32.store $17=, 0($13), $17
+ i32.const $push17=, f.xr
+ i32.const $push18=, 33
+ i32.call $1=, memcpy@FUNCTION, $0, $pop17, $pop18
+ i32.store8 $discard=, 33($1), $4
+ i32.const $16=, 64
+ i32.add $17=, $17, $16
+ i32.const $16=, __stack_pointer
+ i32.store $17=, 0($16), $17
+ return
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local f64, f64, i64, i32, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $12=, __stack_pointer
+ i32.load $12=, 0($12)
+ i32.const $13=, 256
+ i32.sub $24=, $12, $13
+ i32.const $13=, __stack_pointer
+ i32.store $24=, 0($13), $24
+ i32.const $push52=, 0
+ f64.load $0=, d3($pop52)
+ i32.const $push51=, 0
+ i64.load $2=, B2+8($pop51)
+ i32.const $push50=, 0
+ i64.load $4=, B1+8($pop50)
+ i32.const $push49=, 0
+ i32.load $3=, B2+16($pop49):p2align=3
+ i32.const $push48=, 0
+ i32.load $5=, B1+16($pop48):p2align=3
+ i32.const $push47=, 0
+ i32.load8_s $6=, c2($pop47)
+ i32.const $push46=, 0
+ f64.load $1=, B2($pop46)
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 56
+ i32.sub $24=, $8, $9
+ i32.const $9=, __stack_pointer
+ i32.store $24=, 0($9), $24
+ i32.const $push45=, 0
+ f64.load $push0=, B1($pop45)
+ f64.store $discard=, 0($24), $pop0
+ i32.const $push4=, 48
+ i32.add $7=, $24, $pop4
+ i32.store $discard=, 0($7), $3
+ i32.const $push5=, 44
+ i32.add $3=, $24, $pop5
+ i64.const $push1=, 32
+ i64.shr_u $push3=, $2, $pop1
+ i64.store32 $discard=, 0($3), $pop3
+ i32.const $push6=, 40
+ i32.add $3=, $24, $pop6
+ i64.store32 $discard=, 0($3), $2
+ i32.const $push7=, 32
+ i32.add $3=, $24, $pop7
+ f64.store $discard=, 0($3), $1
+ i32.const $push8=, 24
+ i32.add $3=, $24, $pop8
+ f64.store $discard=, 0($3), $0
+ i32.const $push9=, 20
+ i32.add $3=, $24, $pop9
+ i32.store $discard=, 0($3), $6
+ i32.const $push10=, 16
+ i32.add $3=, $24, $pop10
+ i32.store $discard=, 0($3), $5
+ i32.const $push11=, 12
+ i32.add $3=, $24, $pop11
+ i64.const $push44=, 32
+ i64.shr_u $push2=, $4, $pop44
+ i64.store32 $discard=, 0($3), $pop2
+ i32.const $push12=, 8
+ i32.add $3=, $24, $pop12
+ i64.store32 $discard=, 0($3), $4
+ i32.const $push14=, out
+ i32.const $push13=, .L.str
+ i32.call $discard=, sprintf@FUNCTION, $pop14, $pop13
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 56
+ i32.add $24=, $10, $11
+ i32.const $11=, __stack_pointer
+ i32.store $24=, 0($11), $24
+ i32.const $push43=, out
+ i32.const $14=, 144
+ i32.add $14=, $24, $14
+ i32.call $discard=, strcpy@FUNCTION, $14, $pop43
+ i32.const $push42=, 0
+ f64.load $0=, d3($pop42)
+ i32.const $push41=, 0
+ i32.load $3=, fp($pop41)
+ i32.const $push40=, 0
+ i32.load8_s $5=, c2($pop40)
+ i32.const $push39=, 20
+ i32.const $15=, 80
+ i32.add $15=, $24, $15
+ i32.add $push15=, $15, $pop39
+ i32.const $push38=, 0
+ i32.load $push16=, B1+20($pop38)
+ i32.store $discard=, 0($pop15), $pop16
+ i32.const $push37=, 16
+ i32.const $16=, 80
+ i32.add $16=, $24, $16
+ i32.add $push17=, $16, $pop37
+ i32.const $push36=, 0
+ i32.load $push18=, B1+16($pop36):p2align=3
+ i32.store $discard=, 0($pop17):p2align=3, $pop18
+ i32.const $push35=, 8
+ i32.const $17=, 80
+ i32.add $17=, $24, $17
+ i32.add $push19=, $17, $pop35
+ i32.const $push34=, 0
+ i64.load $push20=, B1+8($pop34)
+ i64.store $discard=, 0($pop19), $pop20
+ i32.const $push33=, 0
+ i64.load $push21=, B1($pop33)
+ i64.store $discard=, 80($24), $pop21
+ i32.const $push32=, 16
+ i32.const $18=, 56
+ i32.add $18=, $24, $18
+ i32.add $push22=, $18, $pop32
+ i32.const $push31=, 0
+ i64.load $push23=, B2+16($pop31)
+ i64.store $discard=, 0($pop22), $pop23
+ i32.const $push30=, 8
+ i32.const $19=, 56
+ i32.add $19=, $24, $19
+ i32.add $push24=, $19, $pop30
+ i32.const $push29=, 0
+ i64.load $push25=, B2+8($pop29)
+ i64.store $discard=, 0($pop24), $pop25
+ i32.const $push28=, 0
+ i64.load $push26=, B2($pop28)
+ i64.store $discard=, 56($24), $pop26
+ i32.const $20=, 104
+ i32.add $20=, $24, $20
+ i32.const $21=, 80
+ i32.add $21=, $24, $21
+ i32.const $22=, 56
+ i32.add $22=, $24, $22
+ call_indirect $3, $20, $21, $5, $0, $22
+ i32.const $push27=, out
+ i32.const $23=, 144
+ i32.add $23=, $24, $23
+ i32.call $3=, strcmp@FUNCTION, $23, $pop27
+ block
+ br_if $3, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push53=, 0
+ call exit@FUNCTION, $pop53
+ unreachable
+.LBB1_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden c1 # @c1
+ .type c1,@object
+ .section .data.c1,"aw",@progbits
+ .globl c1
+c1:
+ .int8 97 # 0x61
+ .size c1, 1
+
+ .hidden c2 # @c2
+ .type c2,@object
+ .section .data.c2,"aw",@progbits
+ .globl c2
+c2:
+ .int8 127 # 0x7f
+ .size c2, 1
+
+ .hidden c3 # @c3
+ .type c3,@object
+ .section .data.c3,"aw",@progbits
+ .globl c3
+c3:
+ .int8 128 # 0x80
+ .size c3, 1
+
+ .hidden c4 # @c4
+ .type c4,@object
+ .section .data.c4,"aw",@progbits
+ .globl c4
+c4:
+ .int8 255 # 0xff
+ .size c4, 1
+
+ .hidden c5 # @c5
+ .type c5,@object
+ .section .data.c5,"aw",@progbits
+ .globl c5
+c5:
+ .int8 255 # 0xff
+ .size c5, 1
+
+ .hidden d1 # @d1
+ .type d1,@object
+ .section .data.d1,"aw",@progbits
+ .globl d1
+ .p2align 3
+d1:
+ .int64 4591870180066957722 # double 0.10000000000000001
+ .size d1, 8
+
+ .hidden d2 # @d2
+ .type d2,@object
+ .section .data.d2,"aw",@progbits
+ .globl d2
+ .p2align 3
+d2:
+ .int64 4596373779694328218 # double 0.20000000000000001
+ .size d2, 8
+
+ .hidden d3 # @d3
+ .type d3,@object
+ .section .data.d3,"aw",@progbits
+ .globl d3
+ .p2align 3
+d3:
+ .int64 4599075939470750515 # double 0.29999999999999999
+ .size d3, 8
+
+ .hidden d4 # @d4
+ .type d4,@object
+ .section .data.d4,"aw",@progbits
+ .globl d4
+ .p2align 3
+d4:
+ .int64 4600877379321698714 # double 0.40000000000000002
+ .size d4, 8
+
+ .hidden d5 # @d5
+ .type d5,@object
+ .section .data.d5,"aw",@progbits
+ .globl d5
+ .p2align 3
+d5:
+ .int64 4602678819172646912 # double 0.5
+ .size d5, 8
+
+ .hidden d6 # @d6
+ .type d6,@object
+ .section .data.d6,"aw",@progbits
+ .globl d6
+ .p2align 3
+d6:
+ .int64 4603579539098121011 # double 0.59999999999999998
+ .size d6, 8
+
+ .hidden d7 # @d7
+ .type d7,@object
+ .section .data.d7,"aw",@progbits
+ .globl d7
+ .p2align 3
+d7:
+ .int64 4604480259023595110 # double 0.69999999999999996
+ .size d7, 8
+
+ .hidden d8 # @d8
+ .type d8,@object
+ .section .data.d8,"aw",@progbits
+ .globl d8
+ .p2align 3
+d8:
+ .int64 4605380978949069210 # double 0.80000000000000004
+ .size d8, 8
+
+ .hidden d9 # @d9
+ .type d9,@object
+ .section .data.d9,"aw",@progbits
+ .globl d9
+ .p2align 3
+d9:
+ .int64 4606281698874543309 # double 0.90000000000000002
+ .size d9, 8
+
+ .hidden B1 # @B1
+ .type B1,@object
+ .section .data.B1,"aw",@progbits
+ .globl B1
+ .p2align 3
+B1:
+ .int64 4591870180066957722 # double 0.10000000000000001
+ .int32 1 # 0x1
+ .int32 2 # 0x2
+ .int32 3 # 0x3
+ .skip 4
+ .size B1, 24
+
+ .hidden B2 # @B2
+ .type B2,@object
+ .section .data.B2,"aw",@progbits
+ .globl B2
+ .p2align 3
+B2:
+ .int64 4596373779694328218 # double 0.20000000000000001
+ .int32 5 # 0x5
+ .int32 4 # 0x4
+ .int32 3 # 0x3
+ .skip 4
+ .size B2, 24
+
+ .hidden X1 # @X1
+ .type X1,@object
+ .section .data.X1,"aw",@progbits
+ .globl X1
+X1:
+ .asciz "abcdefghijklmnopqrstuvwxyzABCDEF"
+ .int8 71 # 0x47
+ .size X1, 34
+
+ .hidden X2 # @X2
+ .type X2,@object
+ .section .data.X2,"aw",@progbits
+ .globl X2
+X2:
+ .asciz "123\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ .int8 57 # 0x39
+ .size X2, 34
+
+ .hidden X3 # @X3
+ .type X3,@object
+ .section .data.X3,"aw",@progbits
+ .globl X3
+X3:
+ .asciz "return-return-return\000\000\000\000\000\000\000\000\000\000\000\000"
+ .int8 82 # 0x52
+ .size X3, 34
+
+ .type f.xr,@object # @f.xr
+ .section .rodata.f.xr,"a",@progbits
+f.xr:
+ .asciz "return val\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ .int8 82 # 0x52
+ .size f.xr, 34
+
+ .hidden out # @out
+ .type out,@object
+ .section .bss.out,"aw",@nobits
+ .globl out
+ .p2align 4
+out:
+ .skip 100
+ .size out, 100
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "X f(B,char,double,B):({%g,{%d,%d,%d}},'%c',%g,{%g,{%d,%d,%d}})"
+ .size .L.str, 63
+
+ .hidden fp # @fp
+ .type fp,@object
+ .section .data.fp,"aw",@progbits
+ .globl fp
+ .p2align 2
+fp:
+ .int32 f@FUNCTION
+ .size fp, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/switch-1.c.s b/test/torture-s/switch-1.c.s
index ddf2916d6..ee4254056 100644
--- a/test/torture-s/switch-1.c.s
+++ b/test/torture-s/switch-1.c.s
@@ -9,22 +9,21 @@ foo: # @foo
.result i32
# BB#0: # %entry
block
- i32.const $push0=, -4
- i32.add $0=, $0, $pop0
- i32.const $push1=, 7
- i32.gt_u $push2=, $0, $pop1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push1=, -4
+ i32.add $push0=, $0, $pop1
+ tee_local $push8=, $0=, $pop0
+ i32.const $push2=, 7
+ i32.gt_u $push3=, $pop8, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %switch.lookup
- i32.const $push6=, .Lswitch.table
- i32.const $push4=, 2
- i32.shl $push5=, $0, $pop4
- i32.add $push7=, $pop6, $pop5
- i32.load $push8=, 0($pop7)
- return $pop8
+ i32.const $push5=, 2
+ i32.shl $push6=, $0, $pop5
+ i32.load $push7=, .Lswitch.table($pop6)
+ return $pop7
.LBB0_2: # %return
end_block # label0:
- i32.const $push3=, 31
- return $pop3
+ i32.const $push4=, 31
+ return $pop4
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
@@ -43,25 +42,25 @@ main: # @main
# =>This Inner Loop Header: Depth=1
block
loop # label2:
- i32.const $push0=, -4
- i32.add $2=, $1, $pop0
- i32.const $push1=, 7
- i32.gt_u $4=, $2, $pop1
- i32.const $3=, 31
+ i32.const $2=, 31
block
- br_if $4, 0 # 0: down to label4
+ i32.const $push13=, -4
+ i32.add $push0=, $1, $pop13
+ tee_local $push12=, $4=, $pop0
+ i32.const $push11=, 7
+ i32.gt_u $push1=, $pop12, $pop11
+ tee_local $push10=, $3=, $pop1
+ br_if $pop10, 0 # 0: down to label4
# BB#2: # %switch.lookup.i
# in Loop: Header=BB1_1 Depth=1
- i32.const $push4=, .Lswitch.table
- i32.const $push2=, 2
- i32.shl $push3=, $2, $pop2
- i32.add $push5=, $pop4, $pop3
- i32.load $3=, 0($pop5)
+ i32.const $push14=, 2
+ i32.shl $push2=, $4, $pop14
+ i32.load $2=, .Lswitch.table($pop2)
.LBB1_3: # %foo.exit
# in Loop: Header=BB1_1 Depth=1
end_block # label4:
block
- br_if $4, 0 # 0: down to label5
+ br_if $3, 0 # 0: down to label5
# BB#4: # %foo.exit
# in Loop: Header=BB1_1 Depth=1
block
@@ -70,7 +69,7 @@ main: # @main
block
block
block
- tableswitch $2, 0, 0, 6, 1, 6, 6, 2, 6, 3 # 0: down to label11
+ tableswitch $4, 0, 0, 6, 1, 6, 6, 2, 6, 3 # 0: down to label11
# 6: down to label5
# 1: down to label10
# 2: down to label9
@@ -78,41 +77,41 @@ main: # @main
.LBB1_5: # %if.then
# in Loop: Header=BB1_1 Depth=1
end_block # label11:
- i32.const $push12=, 30
- i32.eq $push13=, $3, $pop12
- br_if $pop13, 3 # 3: down to label7
+ i32.const $push15=, 30
+ i32.eq $push6=, $2, $pop15
+ br_if $pop6, 3 # 3: down to label7
# BB#6: # %if.then3
call abort@FUNCTION
unreachable
.LBB1_7: # %if.then5
# in Loop: Header=BB1_1 Depth=1
end_block # label10:
- i32.const $push10=, 30
- i32.eq $push11=, $3, $pop10
- br_if $pop11, 2 # 2: down to label7
+ i32.const $push16=, 30
+ i32.eq $push5=, $2, $pop16
+ br_if $pop5, 2 # 2: down to label7
# BB#8: # %if.then7
call abort@FUNCTION
unreachable
.LBB1_9: # %if.then11
# in Loop: Header=BB1_1 Depth=1
end_block # label9:
- i32.const $push8=, 30
- i32.eq $push9=, $3, $pop8
- br_if $pop9, 1 # 1: down to label7
+ i32.const $push17=, 30
+ i32.eq $push4=, $2, $pop17
+ br_if $pop4, 1 # 1: down to label7
# BB#10: # %if.then13
call abort@FUNCTION
unreachable
.LBB1_11: # %if.then17
# in Loop: Header=BB1_1 Depth=1
end_block # label8:
- i32.const $push6=, 30
- i32.ne $push7=, $3, $pop6
- br_if $pop7, 1 # 1: down to label6
+ i32.const $push18=, 30
+ i32.ne $push3=, $2, $pop18
+ br_if $pop3, 1 # 1: down to label6
.LBB1_12: # %for.inc.thread
# in Loop: Header=BB1_1 Depth=1
end_block # label7:
- i32.const $push14=, 1
- i32.add $1=, $1, $pop14
+ i32.const $push20=, 1
+ i32.add $1=, $1, $pop20
br 2 # 2: up to label2
.LBB1_13: # %if.then19
end_block # label6:
@@ -121,20 +120,20 @@ main: # @main
.LBB1_14: # %if.else21
# in Loop: Header=BB1_1 Depth=1
end_block # label5:
- i32.const $push15=, 31
- i32.ne $push16=, $3, $pop15
- br_if $pop16, 2 # 2: down to label1
+ i32.const $push19=, 31
+ i32.ne $push7=, $2, $pop19
+ br_if $pop7, 2 # 2: down to label1
# BB#15: # %for.inc
# in Loop: Header=BB1_1 Depth=1
- i32.const $push17=, 1
- i32.add $1=, $1, $pop17
- i32.const $push18=, 66
- i32.lt_s $push19=, $1, $pop18
- br_if $pop19, 0 # 0: up to label2
+ i32.const $push22=, 1
+ i32.add $1=, $1, $pop22
+ i32.const $push21=, 66
+ i32.lt_s $push8=, $1, $pop21
+ br_if $pop8, 0 # 0: up to label2
# BB#16: # %for.end
end_loop # label3:
- i32.const $push20=, 0
- return $pop20
+ i32.const $push9=, 0
+ return $pop9
.LBB1_17: # %if.then23
end_block # label1:
call abort@FUNCTION
@@ -145,7 +144,7 @@ main: # @main
.type .Lswitch.table,@object # @switch.table
.section .rodata..Lswitch.table,"a",@progbits
- .align 4
+ .p2align 4
.Lswitch.table:
.int32 30 # 0x1e
.int32 31 # 0x1f
diff --git a/test/torture-s/usmul.c.s b/test/torture-s/usmul.c.s
index e40b3ea59..968cc1e2d 100644
--- a/test/torture-s/usmul.c.s
+++ b/test/torture-s/usmul.c.s
@@ -34,60 +34,73 @@ bar: # @bar
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
- i32.const $0=, 65535
- i32.const $1=, -2
- i32.call $2=, foo@FUNCTION, $1, $0
- i32.const $3=, -131070
block
- i32.ne $push0=, $2, $3
- br_if $pop0, 0 # 0: down to label0
+ i32.const $push0=, -2
+ i32.const $push33=, 65535
+ i32.call $push1=, foo@FUNCTION, $pop0, $pop33
+ i32.const $push2=, -131070
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.end
- i32.const $2=, 2
- i32.call $4=, foo@FUNCTION, $2, $0
- i32.const $5=, 131070
block
- i32.ne $push1=, $4, $5
- br_if $pop1, 0 # 0: down to label1
+ i32.const $push4=, 2
+ i32.const $push34=, 65535
+ i32.call $push5=, foo@FUNCTION, $pop4, $pop34
+ i32.const $push6=, 131070
+ i32.ne $push7=, $pop5, $pop6
+ br_if $pop7, 0 # 0: down to label1
# BB#2: # %if.end4
- i32.const $4=, 32768
- i32.const $6=, -32768
- i32.call $7=, foo@FUNCTION, $6, $4
- i32.const $8=, -1073741824
block
- i32.ne $push2=, $7, $8
- br_if $pop2, 0 # 0: down to label2
+ i32.const $push8=, -32768
+ i32.const $push35=, 32768
+ i32.call $push9=, foo@FUNCTION, $pop8, $pop35
+ i32.const $push10=, -1073741824
+ i32.ne $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label2
# BB#3: # %if.end8
- i32.const $7=, 32767
- i32.call $9=, foo@FUNCTION, $7, $4
- i32.const $10=, 1073709056
block
- i32.ne $push3=, $9, $10
- br_if $pop3, 0 # 0: down to label3
+ i32.const $push12=, 32767
+ i32.const $push36=, 32768
+ i32.call $push13=, foo@FUNCTION, $pop12, $pop36
+ i32.const $push14=, 1073709056
+ i32.ne $push15=, $pop13, $pop14
+ br_if $pop15, 0 # 0: down to label3
# BB#4: # %if.end12
block
- i32.call $push4=, bar@FUNCTION, $0, $1
- i32.ne $push5=, $pop4, $3
- br_if $pop5, 0 # 0: down to label4
+ i32.const $push37=, 65535
+ i32.const $push16=, -2
+ i32.call $push17=, bar@FUNCTION, $pop37, $pop16
+ i32.const $push18=, -131070
+ i32.ne $push19=, $pop17, $pop18
+ br_if $pop19, 0 # 0: down to label4
# BB#5: # %if.end16
block
- i32.call $push6=, bar@FUNCTION, $0, $2
- i32.ne $push7=, $pop6, $5
- br_if $pop7, 0 # 0: down to label5
+ i32.const $push38=, 65535
+ i32.const $push20=, 2
+ i32.call $push21=, bar@FUNCTION, $pop38, $pop20
+ i32.const $push22=, 131070
+ i32.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label5
# BB#6: # %if.end20
block
- i32.call $push8=, bar@FUNCTION, $4, $6
- i32.ne $push9=, $pop8, $8
- br_if $pop9, 0 # 0: down to label6
+ i32.const $push39=, 32768
+ i32.const $push24=, -32768
+ i32.call $push25=, bar@FUNCTION, $pop39, $pop24
+ i32.const $push26=, -1073741824
+ i32.ne $push27=, $pop25, $pop26
+ br_if $pop27, 0 # 0: down to label6
# BB#7: # %if.end24
block
- i32.call $push10=, bar@FUNCTION, $4, $7
- i32.ne $push11=, $pop10, $10
- br_if $pop11, 0 # 0: down to label7
+ i32.const $push40=, 32768
+ i32.const $push28=, 32767
+ i32.call $push29=, bar@FUNCTION, $pop40, $pop28
+ i32.const $push30=, 1073709056
+ i32.ne $push31=, $pop29, $pop30
+ br_if $pop31, 0 # 0: down to label7
# BB#8: # %if.end28
- i32.const $push12=, 0
- call exit@FUNCTION, $pop12
+ i32.const $push32=, 0
+ call exit@FUNCTION, $pop32
unreachable
.LBB2_9: # %if.then27
end_block # label7:
diff --git a/test/torture-s/va-arg-1.c.s b/test/torture-s/va-arg-1.c.s
new file mode 100644
index 000000000..dd0ff0783
--- /dev/null
+++ b/test/torture-s/va-arg-1.c.s
@@ -0,0 +1,123 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-1.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .result i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 16
+ i32.sub $13=, $10, $11
+ copy_local $14=, $13
+ i32.const $11=, __stack_pointer
+ i32.store $13=, 0($11), $13
+ i32.store $push0=, 12($13), $14
+ i32.const $push25=, 3
+ i32.add $push1=, $pop0, $pop25
+ i32.const $push24=, -4
+ i32.and $push2=, $pop1, $pop24
+ tee_local $push23=, $9=, $pop2
+ i32.const $push22=, 4
+ i32.add $push3=, $pop23, $pop22
+ i32.store $discard=, 12($13), $pop3
+ block
+ i32.load $push4=, 0($9)
+ i32.const $push5=, 10
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push7=, 12($13)
+ i32.const $push29=, 3
+ i32.add $push8=, $pop7, $pop29
+ i32.const $push28=, -4
+ i32.and $push9=, $pop8, $pop28
+ tee_local $push27=, $9=, $pop9
+ i32.const $push26=, 4
+ i32.add $push10=, $pop27, $pop26
+ i32.store $discard=, 12($13), $pop10
+ block
+ i32.load $push11=, 0($9)
+ i32.const $push12=, 11
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push14=, 12($13)
+ i32.const $push15=, 3
+ i32.add $push16=, $pop14, $pop15
+ i32.const $push17=, -4
+ i32.and $push18=, $pop16, $pop17
+ tee_local $push30=, $9=, $pop18
+ i32.const $push19=, 4
+ i32.add $push20=, $pop30, $pop19
+ i32.store $discard=, 12($13), $pop20
+ block
+ i32.load $push21=, 0($9)
+ br_if $pop21, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.const $12=, 16
+ i32.add $13=, $14, $12
+ i32.const $12=, __stack_pointer
+ i32.store $13=, 0($12), $13
+ return $9
+.LBB0_4: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_5: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_6: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 12
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i64.const $push0=, 47244640266
+ i64.store $discard=, 0($7):p2align=2, $pop0
+ i32.const $push1=, 8
+ i32.add $0=, $7, $pop1
+ i32.const $push2=, 0
+ i32.store $0=, 0($0), $pop2
+ i32.call $discard=, f@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 12
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ call exit@FUNCTION, $0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-11.c.s b/test/torture-s/va-arg-11.c.s
new file mode 100644
index 000000000..e771488f7
--- /dev/null
+++ b/test/torture-s/va-arg-11.c.s
@@ -0,0 +1,119 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-11.c"
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 32
+ i32.sub $8=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 20
+ i32.sub $8=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $8=, 0($3), $8
+ i64.const $push0=, 12884901892
+ i64.store $discard=, 0($8):p2align=2, $pop0
+ i32.const $push1=, 16
+ i32.add $0=, $8, $pop1
+ i32.const $push2=, 0
+ i32.store $1=, 0($0), $pop2
+ i32.const $push3=, 8
+ i32.add $0=, $8, $pop3
+ i64.const $push4=, 4294967298
+ i64.store $discard=, 0($0):p2align=2, $pop4
+ i32.call $0=, foo@FUNCTION, $0
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 20
+ i32.add $8=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $8=, 0($5), $8
+ block
+ br_if $0, 0 # 0: down to label0
+# BB#1: # %if.end
+ call exit@FUNCTION, $1
+ unreachable
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+
+ .section .text.foo,"ax",@progbits
+ .type foo,@function
+foo: # @foo
+ .param i32
+ .result i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push0=, 12($5), $6
+ i32.const $push1=, 3
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -4
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push36=, $1=, $pop4
+ i32.const $push5=, 4
+ i32.add $push6=, $pop36, $pop5
+ i32.store $discard=, 12($5), $pop6
+ i32.const $push7=, 7
+ i32.add $push8=, $1, $pop7
+ i32.const $push35=, -4
+ i32.and $push9=, $pop8, $pop35
+ tee_local $push34=, $1=, $pop9
+ i32.const $push33=, 4
+ i32.add $push10=, $pop34, $pop33
+ i32.store $discard=, 12($5), $pop10
+ i32.const $push32=, 7
+ i32.add $push11=, $1, $pop32
+ i32.const $push31=, -4
+ i32.and $push12=, $pop11, $pop31
+ tee_local $push30=, $1=, $pop12
+ i32.const $push29=, 4
+ i32.add $push13=, $pop30, $pop29
+ i32.store $discard=, 12($5), $pop13
+ i32.const $push28=, 7
+ i32.add $push14=, $1, $pop28
+ i32.const $push27=, -4
+ i32.and $push15=, $pop14, $pop27
+ tee_local $push26=, $1=, $pop15
+ i32.const $push25=, 4
+ i32.add $push16=, $pop26, $pop25
+ i32.store $discard=, 12($5), $pop16
+ i32.const $push24=, 7
+ i32.add $push17=, $1, $pop24
+ i32.const $push23=, -4
+ i32.and $push18=, $pop17, $pop23
+ tee_local $push22=, $1=, $pop18
+ i32.const $push21=, 4
+ i32.add $push19=, $pop22, $pop21
+ i32.store $discard=, 12($5), $pop19
+ i32.load $push20=, 0($1)
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return $pop20
+ .endfunc
+.Lfunc_end1:
+ .size foo, .Lfunc_end1-foo
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-12.c.s b/test/torture-s/va-arg-12.c.s
new file mode 100644
index 000000000..d4c1c29c5
--- /dev/null
+++ b/test/torture-s/va-arg-12.c.s
@@ -0,0 +1,129 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-12.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param f64, f64, f64, f64, f64, f64, f64, f64, f64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 16
+ i32.sub $13=, $10, $11
+ copy_local $14=, $13
+ i32.const $11=, __stack_pointer
+ i32.store $13=, 0($11), $13
+ i32.store $push0=, 12($13), $14
+ i32.const $push27=, 7
+ i32.add $push1=, $pop0, $pop27
+ i32.const $push26=, -8
+ i32.and $push2=, $pop1, $pop26
+ tee_local $push25=, $9=, $pop2
+ i32.const $push24=, 8
+ i32.add $push3=, $pop25, $pop24
+ i32.store $discard=, 12($13), $pop3
+ block
+ f64.load $push4=, 0($9)
+ f64.const $push5=, 0x1.4p3
+ f64.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push7=, 12($13)
+ i32.const $push31=, 7
+ i32.add $push8=, $pop7, $pop31
+ i32.const $push30=, -8
+ i32.and $push9=, $pop8, $pop30
+ tee_local $push29=, $9=, $pop9
+ i32.const $push28=, 8
+ i32.add $push10=, $pop29, $pop28
+ i32.store $discard=, 12($13), $pop10
+ block
+ f64.load $push11=, 0($9)
+ f64.const $push12=, 0x1.6p3
+ f64.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push14=, 12($13)
+ i32.const $push15=, 7
+ i32.add $push16=, $pop14, $pop15
+ i32.const $push17=, -8
+ i32.and $push18=, $pop16, $pop17
+ tee_local $push32=, $9=, $pop18
+ i32.const $push19=, 8
+ i32.add $push20=, $pop32, $pop19
+ i32.store $discard=, 12($13), $pop20
+ block
+ f64.load $push21=, 0($9)
+ f64.const $push22=, 0x0p0
+ f64.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.const $12=, 16
+ i32.add $13=, $14, $12
+ i32.const $12=, __stack_pointer
+ i32.store $13=, 0($12), $13
+ return
+.LBB0_4: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_5: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_6: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, f64, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 32
+ i32.sub $8=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 24
+ i32.sub $8=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $8=, 0($3), $8
+ i64.const $push0=, 4621819117588971520
+ i64.store $discard=, 0($8), $pop0
+ i32.const $push1=, 16
+ i32.add $0=, $8, $pop1
+ i64.const $push2=, 0
+ i64.store $discard=, 0($0), $pop2
+ i32.const $push3=, 8
+ i32.add $0=, $8, $pop3
+ i64.const $push4=, 4622382067542392832
+ i64.store $discard=, 0($0), $pop4
+ call f@FUNCTION, $1, $1, $1, $1, $1, $1, $1, $1, $1
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 24
+ i32.add $8=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $8=, 0($5), $8
+ i32.const $push5=, 0
+ call exit@FUNCTION, $pop5
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-13.c.s b/test/torture-s/va-arg-13.c.s
new file mode 100644
index 000000000..ff68e7a2b
--- /dev/null
+++ b/test/torture-s/va-arg-13.c.s
@@ -0,0 +1,150 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-13.c"
+ .section .text.dummy,"ax",@progbits
+ .hidden dummy
+ .globl dummy
+ .type dummy,@function
+dummy: # @dummy
+ .param i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.store $push0=, 12($4), $0
+ i32.const $push1=, 3
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -4
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push10=, $0=, $pop4
+ i32.const $push5=, 4
+ i32.add $push6=, $pop10, $pop5
+ i32.store $discard=, 12($4), $pop6
+ block
+ i32.load $push7=, 0($0)
+ i32.const $push8=, 1234
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $3=, 16
+ i32.add $4=, $4, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size dummy, .Lfunc_end0-dummy
+
+ .section .text.test,"ax",@progbits
+ .hidden test
+ .globl test
+ .type test,@function
+test: # @test
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.const $push21=, 4
+ i32.or $push0=, $6, $pop21
+ tee_local $push20=, $2=, $pop0
+ i32.store $push1=, 0($pop20), $7
+ i32.store $push2=, 12($6), $pop1
+ i32.const $push19=, 3
+ i32.add $push3=, $pop2, $pop19
+ i32.const $push18=, -4
+ i32.and $push4=, $pop3, $pop18
+ tee_local $push17=, $1=, $pop4
+ i32.const $push16=, 4
+ i32.add $push5=, $pop17, $pop16
+ i32.store $discard=, 12($6), $pop5
+ block
+ i32.load $push6=, 0($1)
+ i32.const $push15=, 1234
+ i32.ne $push7=, $pop6, $pop15
+ br_if $pop7, 0 # 0: down to label1
+# BB#1: # %dummy.exit
+ i32.store $discard=, 0($2), $7
+ i32.load $push8=, 0($2)
+ i32.store $push9=, 12($6), $pop8
+ i32.const $push26=, 3
+ i32.add $push10=, $pop9, $pop26
+ i32.const $push25=, -4
+ i32.and $push11=, $pop10, $pop25
+ tee_local $push24=, $2=, $pop11
+ i32.const $push23=, 4
+ i32.add $push12=, $pop24, $pop23
+ i32.store $discard=, 12($6), $pop12
+ block
+ i32.load $push13=, 0($2)
+ i32.const $push22=, 1234
+ i32.ne $push14=, $pop13, $pop22
+ br_if $pop14, 0 # 0: down to label2
+# BB#2: # %dummy.exit16
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+.LBB1_3: # %if.then.i15
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB1_4: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size test, .Lfunc_end1-test
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i32.const $push0=, 1234
+ i32.store $discard=, 0($7), $pop0
+ call test@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-14.c.s b/test/torture-s/va-arg-14.c.s
new file mode 100644
index 000000000..4a1e11388
--- /dev/null
+++ b/test/torture-s/va-arg-14.c.s
@@ -0,0 +1,220 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-14.c"
+ .section .text.vat,"ax",@progbits
+ .hidden vat
+ .globl vat
+ .type vat,@function
+vat: # @vat
+ .param i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ copy_local $5=, $4
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.store $discard=, 12($4), $0
+ i32.load $0=, 8($4)
+ i32.const $push56=, 0
+ i32.store $push0=, 8($4), $5
+ i32.store $push1=, global($pop56), $pop0
+ i32.store $discard=, 12($4), $pop1
+ i32.const $push55=, 3
+ i32.add $push2=, $0, $pop55
+ i32.const $push54=, -4
+ i32.and $push3=, $pop2, $pop54
+ tee_local $push53=, $0=, $pop3
+ i32.const $push52=, 4
+ i32.add $push4=, $pop53, $pop52
+ i32.store $discard=, 8($4), $pop4
+ block
+ i32.load $push5=, 0($0)
+ i32.const $push51=, 1
+ i32.ne $push6=, $pop5, $pop51
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push63=, 0
+ i32.const $push62=, 0
+ i32.load $push7=, global($pop62)
+ i32.const $push61=, 3
+ i32.add $push8=, $pop7, $pop61
+ i32.const $push60=, -4
+ i32.and $push9=, $pop8, $pop60
+ tee_local $push59=, $0=, $pop9
+ i32.const $push58=, 4
+ i32.add $push10=, $pop59, $pop58
+ i32.store $discard=, global($pop63), $pop10
+ block
+ i32.load $push11=, 0($0)
+ i32.const $push57=, 1
+ i32.ne $push12=, $pop11, $pop57
+ br_if $pop12, 0 # 0: down to label1
+# BB#2: # %if.end5
+ i32.load $push13=, 12($4)
+ i32.const $push68=, 3
+ i32.add $push14=, $pop13, $pop68
+ i32.const $push67=, -4
+ i32.and $push15=, $pop14, $pop67
+ tee_local $push66=, $0=, $pop15
+ i32.const $push65=, 4
+ i32.add $push16=, $pop66, $pop65
+ i32.store $discard=, 12($4), $pop16
+ block
+ i32.load $push17=, 0($0)
+ i32.const $push64=, 1
+ i32.ne $push18=, $pop17, $pop64
+ br_if $pop18, 0 # 0: down to label2
+# BB#3: # %if.end8
+ i32.const $push74=, 0
+ i32.store $push19=, 12($4), $5
+ i32.store $push20=, global($pop74), $pop19
+ i32.store $push21=, 8($4), $pop20
+ i32.const $push73=, 3
+ i32.add $push22=, $pop21, $pop73
+ i32.const $push72=, -4
+ i32.and $push23=, $pop22, $pop72
+ tee_local $push71=, $0=, $pop23
+ i32.const $push70=, 4
+ i32.add $push24=, $pop71, $pop70
+ i32.store $discard=, 8($4), $pop24
+ block
+ i32.load $push25=, 0($0)
+ i32.const $push69=, 1
+ i32.ne $push26=, $pop25, $pop69
+ br_if $pop26, 0 # 0: down to label3
+# BB#4: # %if.end13
+ i32.const $push80=, 0
+ i32.load $push27=, global($pop80)
+ i32.store $push28=, 8($4), $pop27
+ i32.const $push79=, 3
+ i32.add $push29=, $pop28, $pop79
+ i32.const $push78=, -4
+ i32.and $push30=, $pop29, $pop78
+ tee_local $push77=, $0=, $pop30
+ i32.const $push76=, 4
+ i32.add $push31=, $pop77, $pop76
+ i32.store $discard=, 8($4), $pop31
+ block
+ i32.load $push32=, 0($0)
+ i32.const $push75=, 1
+ i32.ne $push33=, $pop32, $pop75
+ br_if $pop33, 0 # 0: down to label4
+# BB#5: # %if.end17
+ i32.const $push34=, 0
+ i32.const $push86=, 0
+ i32.load $push35=, global($pop86)
+ i32.const $push85=, 3
+ i32.add $push36=, $pop35, $pop85
+ i32.const $push84=, -4
+ i32.and $push37=, $pop36, $pop84
+ tee_local $push83=, $0=, $pop37
+ i32.const $push82=, 4
+ i32.add $push38=, $pop83, $pop82
+ i32.store $discard=, global($pop34), $pop38
+ block
+ i32.load $push39=, 0($0)
+ i32.const $push81=, 1
+ i32.ne $push40=, $pop39, $pop81
+ br_if $pop40, 0 # 0: down to label5
+# BB#6: # %if.end21
+ i32.load $push41=, 12($4)
+ i32.const $push42=, 3
+ i32.add $push43=, $pop41, $pop42
+ i32.const $push44=, -4
+ i32.and $push45=, $pop43, $pop44
+ tee_local $push87=, $0=, $pop45
+ i32.const $push46=, 4
+ i32.add $push47=, $pop87, $pop46
+ i32.store $discard=, 12($4), $pop47
+ block
+ i32.load $push48=, 0($0)
+ i32.const $push49=, 1
+ i32.ne $push50=, $pop48, $pop49
+ br_if $pop50, 0 # 0: down to label6
+# BB#7: # %if.end24
+ i32.const $3=, 16
+ i32.add $4=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return
+.LBB0_8: # %if.then23
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB0_9: # %if.then20
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB0_10: # %if.then16
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_11: # %if.then12
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_12: # %if.then7
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_13: # %if.then4
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_14: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size vat, .Lfunc_end0-vat
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i32.const $push0=, 1
+ i32.store $discard=, 0($7), $pop0
+ call vat@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .hidden global # @global
+ .type global,@object
+ .section .bss.global,"aw",@nobits
+ .globl global
+ .p2align 2
+global:
+ .int32 0
+ .size global, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-15.c.s b/test/torture-s/va-arg-15.c.s
new file mode 100644
index 000000000..7f5d7ec29
--- /dev/null
+++ b/test/torture-s/va-arg-15.c.s
@@ -0,0 +1,192 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-15.c"
+ .section .text.vafunction,"ax",@progbits
+ .hidden vafunction
+ .globl vafunction
+ .type vafunction,@function
+vafunction: # @vafunction
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $discard=, 12($6), $7
+ i32.const $1=, 1
+.LBB0_1: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ block
+ loop # label1:
+ block
+ block
+ i32.const $push17=, -1
+ i32.add $push0=, $1, $pop17
+ i32.const $push16=, 1
+ i32.and $push1=, $pop0, $pop16
+ br_if $pop1, 0 # 0: down to label4
+# BB#2: # %if.else
+ # in Loop: Header=BB0_1 Depth=1
+ i32.load $push9=, 12($6)
+ i32.const $push25=, 3
+ i32.add $push10=, $pop9, $pop25
+ i32.const $push24=, -4
+ i32.and $push11=, $pop10, $pop24
+ tee_local $push23=, $2=, $pop11
+ i32.const $push22=, 4
+ i32.add $push12=, $pop23, $pop22
+ i32.store $discard=, 12($6), $pop12
+ i32.load $push13=, 0($2)
+ i32.eq $push14=, $1, $pop13
+ br_if $pop14, 1 # 1: down to label3
+# BB#3: # %if.then7
+ call abort@FUNCTION
+ unreachable
+.LBB0_4: # %if.then
+ # in Loop: Header=BB0_1 Depth=1
+ end_block # label4:
+ i32.load $push2=, 12($6)
+ i32.const $push21=, 7
+ i32.add $push3=, $pop2, $pop21
+ i32.const $push20=, -8
+ i32.and $push4=, $pop3, $pop20
+ tee_local $push19=, $2=, $pop4
+ i32.const $push18=, 8
+ i32.add $push5=, $pop19, $pop18
+ i32.store $discard=, 12($6), $pop5
+ f64.load $push6=, 0($2)
+ f64.convert_s/i32 $push7=, $1
+ f64.ne $push8=, $pop6, $pop7
+ br_if $pop8, 3 # 3: down to label0
+.LBB0_5: # %for.inc
+ # in Loop: Header=BB0_1 Depth=1
+ end_block # label3:
+ i32.const $push27=, 1
+ i32.add $1=, $1, $pop27
+ i32.const $push26=, 19
+ i32.lt_s $push15=, $1, $pop26
+ br_if $pop15, 0 # 0: up to label1
+# BB#6: # %for.end
+ end_loop # label2:
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+.LBB0_7: # %if.then4
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size vafunction, .Lfunc_end0-vafunction
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 144
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 144
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i32.const $push0=, 1
+ i32.store $discard=, 0($7), $pop0
+ i32.const $push1=, 136
+ i32.add $0=, $7, $pop1
+ i64.const $push2=, 4625759767262920704
+ i64.store $discard=, 0($0), $pop2
+ i32.const $push3=, 128
+ i32.add $0=, $7, $pop3
+ i32.const $push4=, 17
+ i32.store $discard=, 0($0), $pop4
+ i32.const $push5=, 120
+ i32.add $0=, $7, $pop5
+ i64.const $push6=, 4625196817309499392
+ i64.store $discard=, 0($0), $pop6
+ i32.const $push7=, 112
+ i32.add $0=, $7, $pop7
+ i32.const $push8=, 15
+ i32.store $discard=, 0($0), $pop8
+ i32.const $push9=, 104
+ i32.add $0=, $7, $pop9
+ i64.const $push10=, 4624070917402656768
+ i64.store $discard=, 0($0), $pop10
+ i32.const $push11=, 96
+ i32.add $0=, $7, $pop11
+ i32.const $push12=, 13
+ i32.store $discard=, 0($0), $pop12
+ i32.const $push13=, 88
+ i32.add $0=, $7, $pop13
+ i64.const $push14=, 4622945017495814144
+ i64.store $discard=, 0($0), $pop14
+ i32.const $push15=, 80
+ i32.add $0=, $7, $pop15
+ i32.const $push16=, 11
+ i32.store $discard=, 0($0), $pop16
+ i32.const $push17=, 72
+ i32.add $0=, $7, $pop17
+ i64.const $push18=, 4621819117588971520
+ i64.store $discard=, 0($0), $pop18
+ i32.const $push19=, 64
+ i32.add $0=, $7, $pop19
+ i32.const $push20=, 9
+ i32.store $discard=, 0($0), $pop20
+ i32.const $push21=, 56
+ i32.add $0=, $7, $pop21
+ i64.const $push22=, 4620693217682128896
+ i64.store $discard=, 0($0), $pop22
+ i32.const $push23=, 48
+ i32.add $0=, $7, $pop23
+ i32.const $push24=, 7
+ i32.store $discard=, 0($0), $pop24
+ i32.const $push25=, 40
+ i32.add $0=, $7, $pop25
+ i64.const $push26=, 4618441417868443648
+ i64.store $discard=, 0($0), $pop26
+ i32.const $push27=, 32
+ i32.add $0=, $7, $pop27
+ i32.const $push28=, 5
+ i32.store $discard=, 0($0), $pop28
+ i32.const $push29=, 24
+ i32.add $0=, $7, $pop29
+ i64.const $push30=, 4616189618054758400
+ i64.store $discard=, 0($0), $pop30
+ i32.const $push31=, 16
+ i32.add $0=, $7, $pop31
+ i32.const $push32=, 3
+ i32.store $discard=, 0($0), $pop32
+ i32.const $push33=, 8
+ i32.add $0=, $7, $pop33
+ i64.const $push34=, 4611686018427387904
+ i64.store $discard=, 0($0), $pop34
+ call vafunction@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 144
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push35=, 0
+ call exit@FUNCTION, $pop35
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-16.c.s b/test/torture-s/va-arg-16.c.s
new file mode 100644
index 000000000..4e1a6551f
--- /dev/null
+++ b/test/torture-s/va-arg-16.c.s
@@ -0,0 +1,288 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-16.c"
+ .section .text.vafunction,"ax",@progbits
+ .hidden vafunction
+ .globl vafunction
+ .type vafunction,@function
+vafunction: # @vafunction
+ .param f64, f64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $discard=, 12($6), $7
+ block
+ f64.const $push0=, 0x1.bcp9
+ f64.ne $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %if.end
+ block
+ f64.const $push2=, 0x1.f38p9
+ f64.ne $push3=, $1, $pop2
+ br_if $pop3, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push4=, 12($6)
+ i32.const $push73=, 7
+ i32.add $push5=, $pop4, $pop73
+ i32.const $push72=, -8
+ i32.and $push6=, $pop5, $pop72
+ tee_local $push71=, $2=, $pop6
+ i32.const $push70=, 8
+ i32.add $push7=, $pop71, $pop70
+ i32.store $discard=, 12($6), $pop7
+ block
+ f64.load $push8=, 0($2)
+ f64.const $push9=, 0x1p0
+ f64.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.load $push11=, 12($6)
+ i32.const $push77=, 7
+ i32.add $push12=, $pop11, $pop77
+ i32.const $push76=, -8
+ i32.and $push13=, $pop12, $pop76
+ tee_local $push75=, $2=, $pop13
+ i32.const $push74=, 8
+ i32.add $push14=, $pop75, $pop74
+ i32.store $discard=, 12($6), $pop14
+ block
+ f64.load $push15=, 0($2)
+ f64.const $push16=, 0x1p1
+ f64.ne $push17=, $pop15, $pop16
+ br_if $pop17, 0 # 0: down to label3
+# BB#4: # %if.end10
+ i32.load $push18=, 12($6)
+ i32.const $push81=, 7
+ i32.add $push19=, $pop18, $pop81
+ i32.const $push80=, -8
+ i32.and $push20=, $pop19, $pop80
+ tee_local $push79=, $2=, $pop20
+ i32.const $push78=, 8
+ i32.add $push21=, $pop79, $pop78
+ i32.store $discard=, 12($6), $pop21
+ block
+ f64.load $push22=, 0($2)
+ f64.const $push23=, 0x1.8p1
+ f64.ne $push24=, $pop22, $pop23
+ br_if $pop24, 0 # 0: down to label4
+# BB#5: # %if.end13
+ i32.load $push25=, 12($6)
+ i32.const $push85=, 7
+ i32.add $push26=, $pop25, $pop85
+ i32.const $push84=, -8
+ i32.and $push27=, $pop26, $pop84
+ tee_local $push83=, $2=, $pop27
+ i32.const $push82=, 8
+ i32.add $push28=, $pop83, $pop82
+ i32.store $discard=, 12($6), $pop28
+ block
+ f64.load $push29=, 0($2)
+ f64.const $push30=, 0x1p2
+ f64.ne $push31=, $pop29, $pop30
+ br_if $pop31, 0 # 0: down to label5
+# BB#6: # %if.end16
+ i32.load $push32=, 12($6)
+ i32.const $push89=, 7
+ i32.add $push33=, $pop32, $pop89
+ i32.const $push88=, -8
+ i32.and $push34=, $pop33, $pop88
+ tee_local $push87=, $2=, $pop34
+ i32.const $push86=, 8
+ i32.add $push35=, $pop87, $pop86
+ i32.store $discard=, 12($6), $pop35
+ block
+ f64.load $push36=, 0($2)
+ f64.const $push37=, 0x1.4p2
+ f64.ne $push38=, $pop36, $pop37
+ br_if $pop38, 0 # 0: down to label6
+# BB#7: # %if.end19
+ i32.load $push39=, 12($6)
+ i32.const $push93=, 7
+ i32.add $push40=, $pop39, $pop93
+ i32.const $push92=, -8
+ i32.and $push41=, $pop40, $pop92
+ tee_local $push91=, $2=, $pop41
+ i32.const $push90=, 8
+ i32.add $push42=, $pop91, $pop90
+ i32.store $discard=, 12($6), $pop42
+ block
+ f64.load $push43=, 0($2)
+ f64.const $push44=, 0x1.8p2
+ f64.ne $push45=, $pop43, $pop44
+ br_if $pop45, 0 # 0: down to label7
+# BB#8: # %if.end22
+ i32.load $push46=, 12($6)
+ i32.const $push97=, 7
+ i32.add $push47=, $pop46, $pop97
+ i32.const $push96=, -8
+ i32.and $push48=, $pop47, $pop96
+ tee_local $push95=, $2=, $pop48
+ i32.const $push94=, 8
+ i32.add $push49=, $pop95, $pop94
+ i32.store $discard=, 12($6), $pop49
+ block
+ f64.load $push50=, 0($2)
+ f64.const $push51=, 0x1.cp2
+ f64.ne $push52=, $pop50, $pop51
+ br_if $pop52, 0 # 0: down to label8
+# BB#9: # %if.end25
+ i32.load $push53=, 12($6)
+ i32.const $push101=, 7
+ i32.add $push54=, $pop53, $pop101
+ i32.const $push100=, -8
+ i32.and $push55=, $pop54, $pop100
+ tee_local $push99=, $2=, $pop55
+ i32.const $push98=, 8
+ i32.add $push56=, $pop99, $pop98
+ i32.store $discard=, 12($6), $pop56
+ block
+ f64.load $push57=, 0($2)
+ f64.const $push58=, 0x1p3
+ f64.ne $push59=, $pop57, $pop58
+ br_if $pop59, 0 # 0: down to label9
+# BB#10: # %if.end28
+ i32.load $push60=, 12($6)
+ i32.const $push61=, 7
+ i32.add $push62=, $pop60, $pop61
+ i32.const $push63=, -8
+ i32.and $push64=, $pop62, $pop63
+ tee_local $push102=, $2=, $pop64
+ i32.const $push65=, 8
+ i32.add $push66=, $pop102, $pop65
+ i32.store $discard=, 12($6), $pop66
+ block
+ f64.load $push67=, 0($2)
+ f64.const $push68=, 0x1.2p3
+ f64.ne $push69=, $pop67, $pop68
+ br_if $pop69, 0 # 0: down to label10
+# BB#11: # %if.end31
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+.LBB0_12: # %if.then30
+ end_block # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB0_13: # %if.then27
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB0_14: # %if.then24
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB0_15: # %if.then21
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB0_16: # %if.then18
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB0_17: # %if.then15
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB0_18: # %if.then12
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_19: # %if.then9
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_20: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_21: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_22: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size vafunction, .Lfunc_end0-vafunction
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 80
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 72
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i64.const $push0=, 4607182418800017408
+ i64.store $discard=, 0($7), $pop0
+ i32.const $push1=, 64
+ i32.add $0=, $7, $pop1
+ i64.const $push2=, 4621256167635550208
+ i64.store $discard=, 0($0), $pop2
+ i32.const $push3=, 56
+ i32.add $0=, $7, $pop3
+ i64.const $push4=, 4620693217682128896
+ i64.store $discard=, 0($0), $pop4
+ i32.const $push5=, 48
+ i32.add $0=, $7, $pop5
+ i64.const $push6=, 4619567317775286272
+ i64.store $discard=, 0($0), $pop6
+ i32.const $push7=, 40
+ i32.add $0=, $7, $pop7
+ i64.const $push8=, 4618441417868443648
+ i64.store $discard=, 0($0), $pop8
+ i32.const $push9=, 32
+ i32.add $0=, $7, $pop9
+ i64.const $push10=, 4617315517961601024
+ i64.store $discard=, 0($0), $pop10
+ i32.const $push11=, 24
+ i32.add $0=, $7, $pop11
+ i64.const $push12=, 4616189618054758400
+ i64.store $discard=, 0($0), $pop12
+ i32.const $push13=, 16
+ i32.add $0=, $7, $pop13
+ i64.const $push14=, 4613937818241073152
+ i64.store $discard=, 0($0), $pop14
+ i32.const $push15=, 8
+ i32.add $0=, $7, $pop15
+ i64.const $push16=, 4611686018427387904
+ i64.store $discard=, 0($0), $pop16
+ f64.const $push18=, 0x1.bcp9
+ f64.const $push17=, 0x1.f38p9
+ call vafunction@FUNCTION, $pop18, $pop17
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 72
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push19=, 0
+ call exit@FUNCTION, $pop19
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-17.c.s b/test/torture-s/va-arg-17.c.s
new file mode 100644
index 000000000..b2e4e0cd3
--- /dev/null
+++ b/test/torture-s/va-arg-17.c.s
@@ -0,0 +1,267 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c"
+ .section .text.vafunction,"ax",@progbits
+ .hidden vafunction
+ .globl vafunction
+ .type vafunction,@function
+vafunction: # @vafunction
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push0=, 12($5), $6
+ i32.const $push69=, 7
+ i32.add $push1=, $pop0, $pop69
+ i32.const $push68=, -8
+ i32.and $push2=, $pop1, $pop68
+ tee_local $push67=, $1=, $pop2
+ i32.const $push66=, 8
+ i32.add $push3=, $pop67, $pop66
+ i32.store $discard=, 12($5), $pop3
+ block
+ f64.load $push4=, 0($1)
+ f64.const $push5=, 0x1p0
+ f64.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push7=, 12($5)
+ i32.const $push73=, 7
+ i32.add $push8=, $pop7, $pop73
+ i32.const $push72=, -8
+ i32.and $push9=, $pop8, $pop72
+ tee_local $push71=, $1=, $pop9
+ i32.const $push70=, 8
+ i32.add $push10=, $pop71, $pop70
+ i32.store $discard=, 12($5), $pop10
+ block
+ f64.load $push11=, 0($1)
+ f64.const $push12=, 0x1p1
+ f64.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push14=, 12($5)
+ i32.const $push77=, 7
+ i32.add $push15=, $pop14, $pop77
+ i32.const $push76=, -8
+ i32.and $push16=, $pop15, $pop76
+ tee_local $push75=, $1=, $pop16
+ i32.const $push74=, 8
+ i32.add $push17=, $pop75, $pop74
+ i32.store $discard=, 12($5), $pop17
+ block
+ f64.load $push18=, 0($1)
+ f64.const $push19=, 0x1.8p1
+ f64.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.load $push21=, 12($5)
+ i32.const $push81=, 7
+ i32.add $push22=, $pop21, $pop81
+ i32.const $push80=, -8
+ i32.and $push23=, $pop22, $pop80
+ tee_local $push79=, $1=, $pop23
+ i32.const $push78=, 8
+ i32.add $push24=, $pop79, $pop78
+ i32.store $discard=, 12($5), $pop24
+ block
+ f64.load $push25=, 0($1)
+ f64.const $push26=, 0x1p2
+ f64.ne $push27=, $pop25, $pop26
+ br_if $pop27, 0 # 0: down to label3
+# BB#4: # %if.end10
+ i32.load $push28=, 12($5)
+ i32.const $push85=, 7
+ i32.add $push29=, $pop28, $pop85
+ i32.const $push84=, -8
+ i32.and $push30=, $pop29, $pop84
+ tee_local $push83=, $1=, $pop30
+ i32.const $push82=, 8
+ i32.add $push31=, $pop83, $pop82
+ i32.store $discard=, 12($5), $pop31
+ block
+ f64.load $push32=, 0($1)
+ f64.const $push33=, 0x1.4p2
+ f64.ne $push34=, $pop32, $pop33
+ br_if $pop34, 0 # 0: down to label4
+# BB#5: # %if.end13
+ i32.load $push35=, 12($5)
+ i32.const $push89=, 7
+ i32.add $push36=, $pop35, $pop89
+ i32.const $push88=, -8
+ i32.and $push37=, $pop36, $pop88
+ tee_local $push87=, $1=, $pop37
+ i32.const $push86=, 8
+ i32.add $push38=, $pop87, $pop86
+ i32.store $discard=, 12($5), $pop38
+ block
+ f64.load $push39=, 0($1)
+ f64.const $push40=, 0x1.8p2
+ f64.ne $push41=, $pop39, $pop40
+ br_if $pop41, 0 # 0: down to label5
+# BB#6: # %if.end16
+ i32.load $push42=, 12($5)
+ i32.const $push93=, 7
+ i32.add $push43=, $pop42, $pop93
+ i32.const $push92=, -8
+ i32.and $push44=, $pop43, $pop92
+ tee_local $push91=, $1=, $pop44
+ i32.const $push90=, 8
+ i32.add $push45=, $pop91, $pop90
+ i32.store $discard=, 12($5), $pop45
+ block
+ f64.load $push46=, 0($1)
+ f64.const $push47=, 0x1.cp2
+ f64.ne $push48=, $pop46, $pop47
+ br_if $pop48, 0 # 0: down to label6
+# BB#7: # %if.end19
+ i32.load $push49=, 12($5)
+ i32.const $push97=, 7
+ i32.add $push50=, $pop49, $pop97
+ i32.const $push96=, -8
+ i32.and $push51=, $pop50, $pop96
+ tee_local $push95=, $1=, $pop51
+ i32.const $push94=, 8
+ i32.add $push52=, $pop95, $pop94
+ i32.store $discard=, 12($5), $pop52
+ block
+ f64.load $push53=, 0($1)
+ f64.const $push54=, 0x1p3
+ f64.ne $push55=, $pop53, $pop54
+ br_if $pop55, 0 # 0: down to label7
+# BB#8: # %if.end22
+ i32.load $push56=, 12($5)
+ i32.const $push57=, 7
+ i32.add $push58=, $pop56, $pop57
+ i32.const $push59=, -8
+ i32.and $push60=, $pop58, $pop59
+ tee_local $push98=, $1=, $pop60
+ i32.const $push61=, 8
+ i32.add $push62=, $pop98, $pop61
+ i32.store $discard=, 12($5), $pop62
+ block
+ f64.load $push63=, 0($1)
+ f64.const $push64=, 0x1.2p3
+ f64.ne $push65=, $pop63, $pop64
+ br_if $pop65, 0 # 0: down to label8
+# BB#9: # %if.end25
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB0_10: # %if.then24
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB0_11: # %if.then21
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB0_12: # %if.then18
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB0_13: # %if.then15
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB0_14: # %if.then12
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_15: # %if.then9
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_16: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_17: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_18: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size vafunction, .Lfunc_end0-vafunction
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 80
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 72
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i64.const $push0=, 4607182418800017408
+ i64.store $discard=, 0($7), $pop0
+ i32.const $push1=, 64
+ i32.add $0=, $7, $pop1
+ i64.const $push2=, 4621256167635550208
+ i64.store $discard=, 0($0), $pop2
+ i32.const $push3=, 56
+ i32.add $0=, $7, $pop3
+ i64.const $push4=, 4620693217682128896
+ i64.store $discard=, 0($0), $pop4
+ i32.const $push5=, 48
+ i32.add $0=, $7, $pop5
+ i64.const $push6=, 4619567317775286272
+ i64.store $discard=, 0($0), $pop6
+ i32.const $push7=, 40
+ i32.add $0=, $7, $pop7
+ i64.const $push8=, 4618441417868443648
+ i64.store $discard=, 0($0), $pop8
+ i32.const $push9=, 32
+ i32.add $0=, $7, $pop9
+ i64.const $push10=, 4617315517961601024
+ i64.store $discard=, 0($0), $pop10
+ i32.const $push11=, 24
+ i32.add $0=, $7, $pop11
+ i64.const $push12=, 4616189618054758400
+ i64.store $discard=, 0($0), $pop12
+ i32.const $push13=, 16
+ i32.add $0=, $7, $pop13
+ i64.const $push14=, 4613937818241073152
+ i64.store $discard=, 0($0), $pop14
+ i32.const $push15=, 8
+ i32.add $0=, $7, $pop15
+ i64.const $push16=, 4611686018427387904
+ i64.store $discard=, 0($0), $pop16
+ call vafunction@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 72
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push17=, 0
+ call exit@FUNCTION, $pop17
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-18.c.s b/test/torture-s/va-arg-18.c.s
new file mode 100644
index 000000000..f6dfeb172
--- /dev/null
+++ b/test/torture-s/va-arg-18.c.s
@@ -0,0 +1,125 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-18.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param f64, f64, f64, f64, f64, f64, f64, f64, f64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 16
+ i32.sub $13=, $10, $11
+ copy_local $14=, $13
+ i32.const $11=, __stack_pointer
+ i32.store $13=, 0($11), $13
+ i32.store $push0=, 12($13), $14
+ i32.const $push27=, 3
+ i32.add $push1=, $pop0, $pop27
+ i32.const $push26=, -4
+ i32.and $push2=, $pop1, $pop26
+ tee_local $push25=, $9=, $pop2
+ i32.const $push24=, 4
+ i32.add $push3=, $pop25, $pop24
+ i32.store $discard=, 12($13), $pop3
+ block
+ i32.load $push4=, 0($9)
+ i32.const $push5=, 10
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push7=, 12($13)
+ i32.const $push31=, 3
+ i32.add $push8=, $pop7, $pop31
+ i32.const $push30=, -4
+ i32.and $push9=, $pop8, $pop30
+ tee_local $push29=, $9=, $pop9
+ i32.const $push28=, 4
+ i32.add $push10=, $pop29, $pop28
+ i32.store $discard=, 12($13), $pop10
+ block
+ i32.load $push11=, 0($9)
+ i32.const $push12=, 11
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push14=, 12($13)
+ i32.const $push15=, 3
+ i32.add $push16=, $pop14, $pop15
+ i32.const $push17=, -4
+ i32.and $push18=, $pop16, $pop17
+ tee_local $push32=, $9=, $pop18
+ i32.const $push19=, 4
+ i32.add $push20=, $pop32, $pop19
+ i32.store $discard=, 12($13), $pop20
+ block
+ i32.load $push21=, 0($9)
+ i32.const $push22=, 12
+ i32.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.const $12=, 16
+ i32.add $13=, $14, $12
+ i32.const $12=, __stack_pointer
+ i32.store $13=, 0($12), $13
+ return
+.LBB0_4: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_5: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_6: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, f64, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $8=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 12
+ i32.sub $8=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $8=, 0($3), $8
+ i64.const $push0=, 47244640266
+ i64.store $discard=, 0($8):p2align=2, $pop0
+ i32.const $push1=, 8
+ i32.add $0=, $8, $pop1
+ i32.const $push2=, 12
+ i32.store $discard=, 0($0), $pop2
+ call f@FUNCTION, $1, $1, $1, $1, $1, $1, $1, $1, $1
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 12
+ i32.add $8=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $8=, 0($5), $8
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-19.c.s b/test/torture-s/va-arg-19.c.s
new file mode 100644
index 000000000..64287d001
--- /dev/null
+++ b/test/torture-s/va-arg-19.c.s
@@ -0,0 +1,251 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-19.c"
+ .section .text.vafunction,"ax",@progbits
+ .hidden vafunction
+ .globl vafunction
+ .type vafunction,@function
+vafunction: # @vafunction
+ .param i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push0=, 12($5), $6
+ i32.const $push67=, 3
+ i32.add $push1=, $pop0, $pop67
+ i32.const $push66=, -4
+ i32.and $push2=, $pop1, $pop66
+ tee_local $push65=, $1=, $pop2
+ i32.const $push64=, 4
+ i32.add $push3=, $pop65, $pop64
+ i32.store $discard=, 12($5), $pop3
+ block
+ i32.load $push4=, 0($1)
+ i32.const $push5=, 1
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push7=, 12($5)
+ i32.const $push71=, 3
+ i32.add $push8=, $pop7, $pop71
+ i32.const $push70=, -4
+ i32.and $push9=, $pop8, $pop70
+ tee_local $push69=, $1=, $pop9
+ i32.const $push68=, 4
+ i32.add $push10=, $pop69, $pop68
+ i32.store $discard=, 12($5), $pop10
+ block
+ i32.load $push11=, 0($1)
+ i32.const $push12=, 2
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push14=, 12($5)
+ i32.const $push76=, 3
+ i32.add $push15=, $pop14, $pop76
+ i32.const $push75=, -4
+ i32.and $push16=, $pop15, $pop75
+ tee_local $push74=, $1=, $pop16
+ i32.const $push73=, 4
+ i32.add $push17=, $pop74, $pop73
+ i32.store $discard=, 12($5), $pop17
+ block
+ i32.load $push18=, 0($1)
+ i32.const $push72=, 3
+ i32.ne $push19=, $pop18, $pop72
+ br_if $pop19, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.load $push20=, 12($5)
+ i32.const $push81=, 3
+ i32.add $push21=, $pop20, $pop81
+ i32.const $push80=, -4
+ i32.and $push22=, $pop21, $pop80
+ tee_local $push79=, $1=, $pop22
+ i32.const $push78=, 4
+ i32.add $push23=, $pop79, $pop78
+ i32.store $discard=, 12($5), $pop23
+ block
+ i32.load $push24=, 0($1)
+ i32.const $push77=, 4
+ i32.ne $push25=, $pop24, $pop77
+ br_if $pop25, 0 # 0: down to label3
+# BB#4: # %if.end10
+ i32.load $push26=, 12($5)
+ i32.const $push85=, 3
+ i32.add $push27=, $pop26, $pop85
+ i32.const $push84=, -4
+ i32.and $push28=, $pop27, $pop84
+ tee_local $push83=, $1=, $pop28
+ i32.const $push82=, 4
+ i32.add $push29=, $pop83, $pop82
+ i32.store $discard=, 12($5), $pop29
+ block
+ i32.load $push30=, 0($1)
+ i32.const $push31=, 5
+ i32.ne $push32=, $pop30, $pop31
+ br_if $pop32, 0 # 0: down to label4
+# BB#5: # %if.end13
+ i32.load $push33=, 12($5)
+ i32.const $push89=, 3
+ i32.add $push34=, $pop33, $pop89
+ i32.const $push88=, -4
+ i32.and $push35=, $pop34, $pop88
+ tee_local $push87=, $1=, $pop35
+ i32.const $push86=, 4
+ i32.add $push36=, $pop87, $pop86
+ i32.store $discard=, 12($5), $pop36
+ block
+ i32.load $push37=, 0($1)
+ i32.const $push38=, 6
+ i32.ne $push39=, $pop37, $pop38
+ br_if $pop39, 0 # 0: down to label5
+# BB#6: # %if.end16
+ i32.load $push40=, 12($5)
+ i32.const $push93=, 3
+ i32.add $push41=, $pop40, $pop93
+ i32.const $push92=, -4
+ i32.and $push42=, $pop41, $pop92
+ tee_local $push91=, $1=, $pop42
+ i32.const $push90=, 4
+ i32.add $push43=, $pop91, $pop90
+ i32.store $discard=, 12($5), $pop43
+ block
+ i32.load $push44=, 0($1)
+ i32.const $push45=, 7
+ i32.ne $push46=, $pop44, $pop45
+ br_if $pop46, 0 # 0: down to label6
+# BB#7: # %if.end19
+ i32.load $push47=, 12($5)
+ i32.const $push97=, 3
+ i32.add $push48=, $pop47, $pop97
+ i32.const $push96=, -4
+ i32.and $push49=, $pop48, $pop96
+ tee_local $push95=, $1=, $pop49
+ i32.const $push94=, 4
+ i32.add $push50=, $pop95, $pop94
+ i32.store $discard=, 12($5), $pop50
+ block
+ i32.load $push51=, 0($1)
+ i32.const $push52=, 8
+ i32.ne $push53=, $pop51, $pop52
+ br_if $pop53, 0 # 0: down to label7
+# BB#8: # %if.end22
+ i32.load $push54=, 12($5)
+ i32.const $push55=, 3
+ i32.add $push56=, $pop54, $pop55
+ i32.const $push57=, -4
+ i32.and $push58=, $pop56, $pop57
+ tee_local $push98=, $1=, $pop58
+ i32.const $push59=, 4
+ i32.add $push60=, $pop98, $pop59
+ i32.store $discard=, 12($5), $pop60
+ block
+ i32.load $push61=, 0($1)
+ i32.const $push62=, 9
+ i32.ne $push63=, $pop61, $pop62
+ br_if $pop63, 0 # 0: down to label8
+# BB#9: # %if.end25
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB0_10: # %if.then24
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB0_11: # %if.then21
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB0_12: # %if.then18
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB0_13: # %if.then15
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB0_14: # %if.then12
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_15: # %if.then9
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_16: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_17: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_18: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size vafunction, .Lfunc_end0-vafunction
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 48
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 36
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i64.const $push0=, 8589934593
+ i64.store $discard=, 0($7):p2align=2, $pop0
+ i32.const $push1=, 32
+ i32.add $0=, $7, $pop1
+ i32.const $push2=, 9
+ i32.store $discard=, 0($0), $pop2
+ i32.const $push3=, 24
+ i32.add $0=, $7, $pop3
+ i64.const $push4=, 34359738375
+ i64.store $discard=, 0($0):p2align=2, $pop4
+ i32.const $push5=, 16
+ i32.add $0=, $7, $pop5
+ i64.const $push6=, 25769803781
+ i64.store $discard=, 0($0):p2align=2, $pop6
+ i32.const $push7=, 8
+ i32.add $0=, $7, $pop7
+ i64.const $push8=, 17179869187
+ i64.store $discard=, 0($0):p2align=2, $pop8
+ call vafunction@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 36
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push9=, 0
+ call exit@FUNCTION, $pop9
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-2.c.s b/test/torture-s/va-arg-2.c.s
new file mode 100644
index 000000000..493a0cc30
--- /dev/null
+++ b/test/torture-s/va-arg-2.c.s
@@ -0,0 +1,1711 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-2.c"
+ .section .text.to_hex,"ax",@progbits
+ .hidden to_hex
+ .globl to_hex
+ .type to_hex,@function
+to_hex: # @to_hex
+ .param i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push0=, 16
+ i32.ge_u $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load8_s $push2=, .L.str($0)
+ return $pop2
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size to_hex, .Lfunc_end0-to_hex
+
+ .section .text.f0,"ax",@progbits
+ .hidden f0
+ .globl f0
+ .type f0,@function
+f0: # @f0
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $discard=, 12($6), $7
+ block
+ i32.call $push2=, strlen@FUNCTION, $0
+ i32.const $push3=, 16
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label1
+.LBB1_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label4:
+ i32.load8_u $push0=, 0($0)
+ tee_local $push17=, $1=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label2
+# BB#2: # %while.body
+ # in Loop: Header=BB1_1 Depth=1
+ i32.load $push5=, 12($6)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $2=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($6), $pop11
+ i32.load $push1=, 0($2)
+ tee_local $push18=, $2=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label3
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB1_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $0=, $0, $pop14
+ i32.load8_u $push15=, .L.str($2)
+ i32.eq $push16=, $1, $pop15
+ br_if $pop16, 0 # 0: up to label4
+# BB#4: # %if.then5
+ end_loop # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB1_5: # %if.then.i
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB1_6: # %while.end
+ end_block # label2:
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+.LBB1_7: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size f0, .Lfunc_end1-f0
+
+ .section .text.f1,"ax",@progbits
+ .hidden f1
+ .globl f1
+ .type f1,@function
+f1: # @f1
+ .param i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $7=, $4, $5
+ copy_local $8=, $7
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
+ i32.store $discard=, 12($7), $8
+ block
+ i32.call $push2=, strlen@FUNCTION, $1
+ i32.const $push3=, 15
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label6
+.LBB2_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label9:
+ i32.load8_u $push0=, 0($1)
+ tee_local $push17=, $2=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label7
+# BB#2: # %while.body
+ # in Loop: Header=BB2_1 Depth=1
+ i32.load $push5=, 12($7)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $3=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($7), $pop11
+ i32.load $push1=, 0($3)
+ tee_local $push18=, $3=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label8
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB2_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $1=, $1, $pop14
+ i32.load8_u $push15=, .L.str($3)
+ i32.eq $push16=, $2, $pop15
+ br_if $pop16, 0 # 0: up to label9
+# BB#4: # %if.then5
+ end_loop # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB2_5: # %if.then.i
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB2_6: # %while.end
+ end_block # label7:
+ i32.const $6=, 16
+ i32.add $7=, $8, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ return
+.LBB2_7: # %if.then
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size f1, .Lfunc_end2-f1
+
+ .section .text.f2,"ax",@progbits
+ .hidden f2
+ .globl f2
+ .type f2,@function
+f2: # @f2
+ .param i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $8=, $5, $6
+ copy_local $9=, $8
+ i32.const $6=, __stack_pointer
+ i32.store $8=, 0($6), $8
+ i32.store $discard=, 12($8), $9
+ block
+ i32.call $push2=, strlen@FUNCTION, $2
+ i32.const $push3=, 14
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label11
+.LBB3_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label14:
+ i32.load8_u $push0=, 0($2)
+ tee_local $push17=, $3=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label12
+# BB#2: # %while.body
+ # in Loop: Header=BB3_1 Depth=1
+ i32.load $push5=, 12($8)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $4=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($8), $pop11
+ i32.load $push1=, 0($4)
+ tee_local $push18=, $4=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label13
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB3_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $2=, $2, $pop14
+ i32.load8_u $push15=, .L.str($4)
+ i32.eq $push16=, $3, $pop15
+ br_if $pop16, 0 # 0: up to label14
+# BB#4: # %if.then5
+ end_loop # label15:
+ call abort@FUNCTION
+ unreachable
+.LBB3_5: # %if.then.i
+ end_block # label13:
+ call abort@FUNCTION
+ unreachable
+.LBB3_6: # %while.end
+ end_block # label12:
+ i32.const $7=, 16
+ i32.add $8=, $9, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ return
+.LBB3_7: # %if.then
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size f2, .Lfunc_end3-f2
+
+ .section .text.f3,"ax",@progbits
+ .hidden f3
+ .globl f3
+ .type f3,@function
+f3: # @f3
+ .param i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $9=, $6, $7
+ copy_local $10=, $9
+ i32.const $7=, __stack_pointer
+ i32.store $9=, 0($7), $9
+ i32.store $discard=, 12($9), $10
+ block
+ i32.call $push2=, strlen@FUNCTION, $3
+ i32.const $push3=, 13
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label16
+.LBB4_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label19:
+ i32.load8_u $push0=, 0($3)
+ tee_local $push17=, $4=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label17
+# BB#2: # %while.body
+ # in Loop: Header=BB4_1 Depth=1
+ i32.load $push5=, 12($9)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $5=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($9), $pop11
+ i32.load $push1=, 0($5)
+ tee_local $push18=, $5=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label18
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB4_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $3=, $3, $pop14
+ i32.load8_u $push15=, .L.str($5)
+ i32.eq $push16=, $4, $pop15
+ br_if $pop16, 0 # 0: up to label19
+# BB#4: # %if.then5
+ end_loop # label20:
+ call abort@FUNCTION
+ unreachable
+.LBB4_5: # %if.then.i
+ end_block # label18:
+ call abort@FUNCTION
+ unreachable
+.LBB4_6: # %while.end
+ end_block # label17:
+ i32.const $8=, 16
+ i32.add $9=, $10, $8
+ i32.const $8=, __stack_pointer
+ i32.store $9=, 0($8), $9
+ return
+.LBB4_7: # %if.then
+ end_block # label16:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end4:
+ .size f3, .Lfunc_end4-f3
+
+ .section .text.f4,"ax",@progbits
+ .hidden f4
+ .globl f4
+ .type f4,@function
+f4: # @f4
+ .param i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 16
+ i32.sub $10=, $7, $8
+ copy_local $11=, $10
+ i32.const $8=, __stack_pointer
+ i32.store $10=, 0($8), $10
+ i32.store $discard=, 12($10), $11
+ block
+ i32.call $push2=, strlen@FUNCTION, $4
+ i32.const $push3=, 12
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label21
+.LBB5_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label24:
+ i32.load8_u $push0=, 0($4)
+ tee_local $push17=, $5=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label22
+# BB#2: # %while.body
+ # in Loop: Header=BB5_1 Depth=1
+ i32.load $push5=, 12($10)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $6=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($10), $pop11
+ i32.load $push1=, 0($6)
+ tee_local $push18=, $6=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label23
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB5_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $4=, $4, $pop14
+ i32.load8_u $push15=, .L.str($6)
+ i32.eq $push16=, $5, $pop15
+ br_if $pop16, 0 # 0: up to label24
+# BB#4: # %if.then5
+ end_loop # label25:
+ call abort@FUNCTION
+ unreachable
+.LBB5_5: # %if.then.i
+ end_block # label23:
+ call abort@FUNCTION
+ unreachable
+.LBB5_6: # %while.end
+ end_block # label22:
+ i32.const $9=, 16
+ i32.add $10=, $11, $9
+ i32.const $9=, __stack_pointer
+ i32.store $10=, 0($9), $10
+ return
+.LBB5_7: # %if.then
+ end_block # label21:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end5:
+ .size f4, .Lfunc_end5-f4
+
+ .section .text.f5,"ax",@progbits
+ .hidden f5
+ .globl f5
+ .type f5,@function
+f5: # @f5
+ .param i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 16
+ i32.sub $11=, $8, $9
+ copy_local $12=, $11
+ i32.const $9=, __stack_pointer
+ i32.store $11=, 0($9), $11
+ i32.store $discard=, 12($11), $12
+ block
+ i32.call $push2=, strlen@FUNCTION, $5
+ i32.const $push3=, 11
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label26
+.LBB6_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label29:
+ i32.load8_u $push0=, 0($5)
+ tee_local $push17=, $6=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label27
+# BB#2: # %while.body
+ # in Loop: Header=BB6_1 Depth=1
+ i32.load $push5=, 12($11)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $7=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($11), $pop11
+ i32.load $push1=, 0($7)
+ tee_local $push18=, $7=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label28
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB6_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $5=, $5, $pop14
+ i32.load8_u $push15=, .L.str($7)
+ i32.eq $push16=, $6, $pop15
+ br_if $pop16, 0 # 0: up to label29
+# BB#4: # %if.then5
+ end_loop # label30:
+ call abort@FUNCTION
+ unreachable
+.LBB6_5: # %if.then.i
+ end_block # label28:
+ call abort@FUNCTION
+ unreachable
+.LBB6_6: # %while.end
+ end_block # label27:
+ i32.const $10=, 16
+ i32.add $11=, $12, $10
+ i32.const $10=, __stack_pointer
+ i32.store $11=, 0($10), $11
+ return
+.LBB6_7: # %if.then
+ end_block # label26:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end6:
+ .size f5, .Lfunc_end6-f5
+
+ .section .text.f6,"ax",@progbits
+ .hidden f6
+ .globl f6
+ .type f6,@function
+f6: # @f6
+ .param i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 16
+ i32.sub $12=, $9, $10
+ copy_local $13=, $12
+ i32.const $10=, __stack_pointer
+ i32.store $12=, 0($10), $12
+ i32.store $discard=, 12($12), $13
+ block
+ i32.call $push2=, strlen@FUNCTION, $6
+ i32.const $push3=, 10
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label31
+.LBB7_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label34:
+ i32.load8_u $push0=, 0($6)
+ tee_local $push17=, $7=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label32
+# BB#2: # %while.body
+ # in Loop: Header=BB7_1 Depth=1
+ i32.load $push5=, 12($12)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $8=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($12), $pop11
+ i32.load $push1=, 0($8)
+ tee_local $push18=, $8=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label33
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB7_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $6=, $6, $pop14
+ i32.load8_u $push15=, .L.str($8)
+ i32.eq $push16=, $7, $pop15
+ br_if $pop16, 0 # 0: up to label34
+# BB#4: # %if.then5
+ end_loop # label35:
+ call abort@FUNCTION
+ unreachable
+.LBB7_5: # %if.then.i
+ end_block # label33:
+ call abort@FUNCTION
+ unreachable
+.LBB7_6: # %while.end
+ end_block # label32:
+ i32.const $11=, 16
+ i32.add $12=, $13, $11
+ i32.const $11=, __stack_pointer
+ i32.store $12=, 0($11), $12
+ return
+.LBB7_7: # %if.then
+ end_block # label31:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end7:
+ .size f6, .Lfunc_end7-f6
+
+ .section .text.f7,"ax",@progbits
+ .hidden f7
+ .globl f7
+ .type f7,@function
+f7: # @f7
+ .param i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 16
+ i32.sub $13=, $10, $11
+ copy_local $14=, $13
+ i32.const $11=, __stack_pointer
+ i32.store $13=, 0($11), $13
+ i32.store $discard=, 12($13), $14
+ block
+ i32.call $push2=, strlen@FUNCTION, $7
+ i32.const $push3=, 9
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label36
+.LBB8_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label39:
+ i32.load8_u $push0=, 0($7)
+ tee_local $push17=, $8=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label37
+# BB#2: # %while.body
+ # in Loop: Header=BB8_1 Depth=1
+ i32.load $push5=, 12($13)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $9=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($13), $pop11
+ i32.load $push1=, 0($9)
+ tee_local $push18=, $9=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label38
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB8_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $7=, $7, $pop14
+ i32.load8_u $push15=, .L.str($9)
+ i32.eq $push16=, $8, $pop15
+ br_if $pop16, 0 # 0: up to label39
+# BB#4: # %if.then5
+ end_loop # label40:
+ call abort@FUNCTION
+ unreachable
+.LBB8_5: # %if.then.i
+ end_block # label38:
+ call abort@FUNCTION
+ unreachable
+.LBB8_6: # %while.end
+ end_block # label37:
+ i32.const $12=, 16
+ i32.add $13=, $14, $12
+ i32.const $12=, __stack_pointer
+ i32.store $13=, 0($12), $13
+ return
+.LBB8_7: # %if.then
+ end_block # label36:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end8:
+ .size f7, .Lfunc_end8-f7
+
+ .section .text.f8,"ax",@progbits
+ .hidden f8
+ .globl f8
+ .type f8,@function
+f8: # @f8
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 16
+ i32.sub $14=, $11, $12
+ copy_local $15=, $14
+ i32.const $12=, __stack_pointer
+ i32.store $14=, 0($12), $14
+ i32.store $discard=, 12($14), $15
+ block
+ i32.call $push2=, strlen@FUNCTION, $8
+ i32.const $push3=, 8
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label41
+.LBB9_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label44:
+ i32.load8_u $push0=, 0($8)
+ tee_local $push17=, $9=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label42
+# BB#2: # %while.body
+ # in Loop: Header=BB9_1 Depth=1
+ i32.load $push5=, 12($14)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $10=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($14), $pop11
+ i32.load $push1=, 0($10)
+ tee_local $push18=, $10=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label43
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB9_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $8=, $8, $pop14
+ i32.load8_u $push15=, .L.str($10)
+ i32.eq $push16=, $9, $pop15
+ br_if $pop16, 0 # 0: up to label44
+# BB#4: # %if.then5
+ end_loop # label45:
+ call abort@FUNCTION
+ unreachable
+.LBB9_5: # %if.then.i
+ end_block # label43:
+ call abort@FUNCTION
+ unreachable
+.LBB9_6: # %while.end
+ end_block # label42:
+ i32.const $13=, 16
+ i32.add $14=, $15, $13
+ i32.const $13=, __stack_pointer
+ i32.store $14=, 0($13), $14
+ return
+.LBB9_7: # %if.then
+ end_block # label41:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end9:
+ .size f8, .Lfunc_end9-f8
+
+ .section .text.f9,"ax",@progbits
+ .hidden f9
+ .globl f9
+ .type f9,@function
+f9: # @f9
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $12=, __stack_pointer
+ i32.load $12=, 0($12)
+ i32.const $13=, 16
+ i32.sub $15=, $12, $13
+ copy_local $16=, $15
+ i32.const $13=, __stack_pointer
+ i32.store $15=, 0($13), $15
+ i32.store $discard=, 12($15), $16
+ block
+ i32.call $push2=, strlen@FUNCTION, $9
+ i32.const $push3=, 7
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label46
+.LBB10_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label49:
+ i32.load8_u $push0=, 0($9)
+ tee_local $push17=, $10=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label47
+# BB#2: # %while.body
+ # in Loop: Header=BB10_1 Depth=1
+ i32.load $push5=, 12($15)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $11=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($15), $pop11
+ i32.load $push1=, 0($11)
+ tee_local $push18=, $11=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label48
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB10_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $9=, $9, $pop14
+ i32.load8_u $push15=, .L.str($11)
+ i32.eq $push16=, $10, $pop15
+ br_if $pop16, 0 # 0: up to label49
+# BB#4: # %if.then5
+ end_loop # label50:
+ call abort@FUNCTION
+ unreachable
+.LBB10_5: # %if.then.i
+ end_block # label48:
+ call abort@FUNCTION
+ unreachable
+.LBB10_6: # %while.end
+ end_block # label47:
+ i32.const $14=, 16
+ i32.add $15=, $16, $14
+ i32.const $14=, __stack_pointer
+ i32.store $15=, 0($14), $15
+ return
+.LBB10_7: # %if.then
+ end_block # label46:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end10:
+ .size f9, .Lfunc_end10-f9
+
+ .section .text.f10,"ax",@progbits
+ .hidden f10
+ .globl f10
+ .type f10,@function
+f10: # @f10
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 16
+ i32.sub $16=, $13, $14
+ copy_local $17=, $16
+ i32.const $14=, __stack_pointer
+ i32.store $16=, 0($14), $16
+ i32.store $discard=, 12($16), $17
+ block
+ i32.call $push2=, strlen@FUNCTION, $10
+ i32.const $push3=, 6
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label51
+.LBB11_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label54:
+ i32.load8_u $push0=, 0($10)
+ tee_local $push17=, $11=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label52
+# BB#2: # %while.body
+ # in Loop: Header=BB11_1 Depth=1
+ i32.load $push5=, 12($16)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $12=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($16), $pop11
+ i32.load $push1=, 0($12)
+ tee_local $push18=, $12=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label53
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB11_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $10=, $10, $pop14
+ i32.load8_u $push15=, .L.str($12)
+ i32.eq $push16=, $11, $pop15
+ br_if $pop16, 0 # 0: up to label54
+# BB#4: # %if.then5
+ end_loop # label55:
+ call abort@FUNCTION
+ unreachable
+.LBB11_5: # %if.then.i
+ end_block # label53:
+ call abort@FUNCTION
+ unreachable
+.LBB11_6: # %while.end
+ end_block # label52:
+ i32.const $15=, 16
+ i32.add $16=, $17, $15
+ i32.const $15=, __stack_pointer
+ i32.store $16=, 0($15), $16
+ return
+.LBB11_7: # %if.then
+ end_block # label51:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end11:
+ .size f10, .Lfunc_end11-f10
+
+ .section .text.f11,"ax",@progbits
+ .hidden f11
+ .globl f11
+ .type f11,@function
+f11: # @f11
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $14=, __stack_pointer
+ i32.load $14=, 0($14)
+ i32.const $15=, 16
+ i32.sub $17=, $14, $15
+ copy_local $18=, $17
+ i32.const $15=, __stack_pointer
+ i32.store $17=, 0($15), $17
+ i32.store $discard=, 12($17), $18
+ block
+ i32.call $push2=, strlen@FUNCTION, $11
+ i32.const $push3=, 5
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label56
+.LBB12_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label59:
+ i32.load8_u $push0=, 0($11)
+ tee_local $push17=, $12=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label57
+# BB#2: # %while.body
+ # in Loop: Header=BB12_1 Depth=1
+ i32.load $push5=, 12($17)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $13=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($17), $pop11
+ i32.load $push1=, 0($13)
+ tee_local $push18=, $13=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label58
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB12_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $11=, $11, $pop14
+ i32.load8_u $push15=, .L.str($13)
+ i32.eq $push16=, $12, $pop15
+ br_if $pop16, 0 # 0: up to label59
+# BB#4: # %if.then5
+ end_loop # label60:
+ call abort@FUNCTION
+ unreachable
+.LBB12_5: # %if.then.i
+ end_block # label58:
+ call abort@FUNCTION
+ unreachable
+.LBB12_6: # %while.end
+ end_block # label57:
+ i32.const $16=, 16
+ i32.add $17=, $18, $16
+ i32.const $16=, __stack_pointer
+ i32.store $17=, 0($16), $17
+ return
+.LBB12_7: # %if.then
+ end_block # label56:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end12:
+ .size f11, .Lfunc_end12-f11
+
+ .section .text.f12,"ax",@progbits
+ .hidden f12
+ .globl f12
+ .type f12,@function
+f12: # @f12
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 16
+ i32.sub $18=, $15, $16
+ copy_local $19=, $18
+ i32.const $16=, __stack_pointer
+ i32.store $18=, 0($16), $18
+ i32.store $discard=, 12($18), $19
+ block
+ i32.call $push2=, strlen@FUNCTION, $12
+ i32.const $push3=, 4
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label61
+.LBB13_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label64:
+ i32.load8_u $push0=, 0($12)
+ tee_local $push17=, $13=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label62
+# BB#2: # %while.body
+ # in Loop: Header=BB13_1 Depth=1
+ i32.load $push5=, 12($18)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $14=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($18), $pop11
+ i32.load $push1=, 0($14)
+ tee_local $push18=, $14=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label63
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB13_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $12=, $12, $pop14
+ i32.load8_u $push15=, .L.str($14)
+ i32.eq $push16=, $13, $pop15
+ br_if $pop16, 0 # 0: up to label64
+# BB#4: # %if.then5
+ end_loop # label65:
+ call abort@FUNCTION
+ unreachable
+.LBB13_5: # %if.then.i
+ end_block # label63:
+ call abort@FUNCTION
+ unreachable
+.LBB13_6: # %while.end
+ end_block # label62:
+ i32.const $17=, 16
+ i32.add $18=, $19, $17
+ i32.const $17=, __stack_pointer
+ i32.store $18=, 0($17), $18
+ return
+.LBB13_7: # %if.then
+ end_block # label61:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end13:
+ .size f12, .Lfunc_end13-f12
+
+ .section .text.f13,"ax",@progbits
+ .hidden f13
+ .globl f13
+ .type f13,@function
+f13: # @f13
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $16=, __stack_pointer
+ i32.load $16=, 0($16)
+ i32.const $17=, 16
+ i32.sub $19=, $16, $17
+ copy_local $20=, $19
+ i32.const $17=, __stack_pointer
+ i32.store $19=, 0($17), $19
+ i32.store $discard=, 12($19), $20
+ block
+ i32.call $push2=, strlen@FUNCTION, $13
+ i32.const $push3=, 3
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label66
+.LBB14_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label69:
+ i32.load8_u $push0=, 0($13)
+ tee_local $push17=, $14=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label67
+# BB#2: # %while.body
+ # in Loop: Header=BB14_1 Depth=1
+ i32.load $push5=, 12($19)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $15=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($19), $pop11
+ i32.load $push1=, 0($15)
+ tee_local $push18=, $15=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label68
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB14_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $13=, $13, $pop14
+ i32.load8_u $push15=, .L.str($15)
+ i32.eq $push16=, $14, $pop15
+ br_if $pop16, 0 # 0: up to label69
+# BB#4: # %if.then5
+ end_loop # label70:
+ call abort@FUNCTION
+ unreachable
+.LBB14_5: # %if.then.i
+ end_block # label68:
+ call abort@FUNCTION
+ unreachable
+.LBB14_6: # %while.end
+ end_block # label67:
+ i32.const $18=, 16
+ i32.add $19=, $20, $18
+ i32.const $18=, __stack_pointer
+ i32.store $19=, 0($18), $19
+ return
+.LBB14_7: # %if.then
+ end_block # label66:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end14:
+ .size f13, .Lfunc_end14-f13
+
+ .section .text.f14,"ax",@progbits
+ .hidden f14
+ .globl f14
+ .type f14,@function
+f14: # @f14
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 16
+ i32.sub $20=, $17, $18
+ copy_local $21=, $20
+ i32.const $18=, __stack_pointer
+ i32.store $20=, 0($18), $20
+ i32.store $discard=, 12($20), $21
+ block
+ i32.call $push2=, strlen@FUNCTION, $14
+ i32.const $push3=, 2
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label71
+.LBB15_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label74:
+ i32.load8_u $push0=, 0($14)
+ tee_local $push17=, $15=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label72
+# BB#2: # %while.body
+ # in Loop: Header=BB15_1 Depth=1
+ i32.load $push5=, 12($20)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $16=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($20), $pop11
+ i32.load $push1=, 0($16)
+ tee_local $push18=, $16=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label73
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB15_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $14=, $14, $pop14
+ i32.load8_u $push15=, .L.str($16)
+ i32.eq $push16=, $15, $pop15
+ br_if $pop16, 0 # 0: up to label74
+# BB#4: # %if.then5
+ end_loop # label75:
+ call abort@FUNCTION
+ unreachable
+.LBB15_5: # %if.then.i
+ end_block # label73:
+ call abort@FUNCTION
+ unreachable
+.LBB15_6: # %while.end
+ end_block # label72:
+ i32.const $19=, 16
+ i32.add $20=, $21, $19
+ i32.const $19=, __stack_pointer
+ i32.store $20=, 0($19), $20
+ return
+.LBB15_7: # %if.then
+ end_block # label71:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end15:
+ .size f14, .Lfunc_end15-f14
+
+ .section .text.f15,"ax",@progbits
+ .hidden f15
+ .globl f15
+ .type f15,@function
+f15: # @f15
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $18=, __stack_pointer
+ i32.load $18=, 0($18)
+ i32.const $19=, 16
+ i32.sub $21=, $18, $19
+ copy_local $22=, $21
+ i32.const $19=, __stack_pointer
+ i32.store $21=, 0($19), $21
+ i32.store $discard=, 12($21), $22
+ block
+ i32.call $push2=, strlen@FUNCTION, $15
+ i32.const $push3=, 1
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label76
+.LBB16_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label79:
+ i32.load8_u $push0=, 0($15)
+ tee_local $push17=, $16=, $pop0
+ i32.const $push20=, 0
+ i32.eq $push21=, $pop17, $pop20
+ br_if $pop21, 3 # 3: down to label77
+# BB#2: # %while.body
+ # in Loop: Header=BB16_1 Depth=1
+ i32.load $push5=, 12($21)
+ i32.const $push6=, 3
+ i32.add $push7=, $pop5, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push19=, $17=, $pop9
+ i32.const $push10=, 4
+ i32.add $push11=, $pop19, $pop10
+ i32.store $discard=, 12($21), $pop11
+ i32.load $push1=, 0($17)
+ tee_local $push18=, $17=, $pop1
+ i32.const $push12=, 16
+ i32.ge_u $push13=, $pop18, $pop12
+ br_if $pop13, 2 # 2: down to label78
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB16_1 Depth=1
+ i32.const $push14=, 1
+ i32.add $15=, $15, $pop14
+ i32.load8_u $push15=, .L.str($17)
+ i32.eq $push16=, $16, $pop15
+ br_if $pop16, 0 # 0: up to label79
+# BB#4: # %if.then5
+ end_loop # label80:
+ call abort@FUNCTION
+ unreachable
+.LBB16_5: # %if.then.i
+ end_block # label78:
+ call abort@FUNCTION
+ unreachable
+.LBB16_6: # %while.end
+ end_block # label77:
+ i32.const $20=, 16
+ i32.add $21=, $22, $20
+ i32.const $20=, __stack_pointer
+ i32.store $21=, 0($20), $21
+ return
+.LBB16_7: # %if.then
+ end_block # label76:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end16:
+ .size f15, .Lfunc_end16-f15
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $79=, __stack_pointer
+ i32.load $79=, 0($79)
+ i32.const $80=, 64
+ i32.sub $81=, $79, $80
+ i32.const $80=, __stack_pointer
+ i32.store $81=, 0($80), $81
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 64
+ i32.sub $81=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $81=, 0($16), $81
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 0($81):p2align=2, $pop0
+ i32.const $push1=, 56
+ i32.add $0=, $81, $pop1
+ i64.const $push2=, 64424509454
+ i64.store $1=, 0($0):p2align=2, $pop2
+ i32.const $push3=, 48
+ i32.add $0=, $81, $pop3
+ i64.const $push4=, 55834574860
+ i64.store $2=, 0($0):p2align=2, $pop4
+ i32.const $push5=, 40
+ i32.add $0=, $81, $pop5
+ i64.const $push6=, 47244640266
+ i64.store $3=, 0($0):p2align=2, $pop6
+ i32.const $push7=, 32
+ i32.add $0=, $81, $pop7
+ i64.const $push8=, 38654705672
+ i64.store $4=, 0($0):p2align=2, $pop8
+ i32.const $push9=, 24
+ i32.add $0=, $81, $pop9
+ i64.const $push10=, 30064771078
+ i64.store $5=, 0($0):p2align=2, $pop10
+ i32.const $push11=, 16
+ i32.add $0=, $81, $pop11
+ i64.const $push12=, 21474836484
+ i64.store $6=, 0($0):p2align=2, $pop12
+ i32.const $push13=, 8
+ i32.add $0=, $81, $pop13
+ i64.const $push14=, 12884901890
+ i64.store $7=, 0($0):p2align=2, $pop14
+ i32.const $push15=, .L.str
+ call f0@FUNCTION, $pop15
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 64
+ i32.add $81=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $81=, 0($18), $81
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 60
+ i32.sub $81=, $19, $20
+ i32.const $20=, __stack_pointer
+ i32.store $81=, 0($20), $81
+ i64.const $push16=, 8589934593
+ i64.store $discard=, 0($81):p2align=2, $pop16
+ i32.const $push88=, 56
+ i32.add $0=, $81, $pop88
+ i32.const $push17=, 15
+ i32.store $0=, 0($0), $pop17
+ i32.const $push87=, 48
+ i32.add $8=, $81, $pop87
+ i64.const $push18=, 60129542157
+ i64.store $9=, 0($8):p2align=2, $pop18
+ i32.const $push86=, 40
+ i32.add $8=, $81, $pop86
+ i64.const $push19=, 51539607563
+ i64.store $10=, 0($8):p2align=2, $pop19
+ i32.const $push85=, 32
+ i32.add $8=, $81, $pop85
+ i64.const $push20=, 42949672969
+ i64.store $11=, 0($8):p2align=2, $pop20
+ i32.const $push84=, 24
+ i32.add $8=, $81, $pop84
+ i64.const $push21=, 34359738375
+ i64.store $12=, 0($8):p2align=2, $pop21
+ i32.const $push83=, 16
+ i32.add $8=, $81, $pop83
+ i64.const $push22=, 25769803781
+ i64.store $13=, 0($8):p2align=2, $pop22
+ i32.const $push82=, 8
+ i32.add $8=, $81, $pop82
+ i64.const $push23=, 17179869187
+ i64.store $14=, 0($8):p2align=2, $pop23
+ i32.const $push24=, .L.str+1
+ call f1@FUNCTION, $0, $pop24
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 60
+ i32.add $81=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $81=, 0($22), $81
+ i32.const $23=, __stack_pointer
+ i32.load $23=, 0($23)
+ i32.const $24=, 56
+ i32.sub $81=, $23, $24
+ i32.const $24=, __stack_pointer
+ i32.store $81=, 0($24), $81
+ i64.store $discard=, 0($81):p2align=2, $7
+ i32.const $push81=, 48
+ i32.add $8=, $81, $pop81
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push80=, 40
+ i32.add $8=, $81, $pop80
+ i64.store $discard=, 0($8):p2align=2, $2
+ i32.const $push79=, 32
+ i32.add $8=, $81, $pop79
+ i64.store $discard=, 0($8):p2align=2, $3
+ i32.const $push78=, 24
+ i32.add $8=, $81, $pop78
+ i64.store $discard=, 0($8):p2align=2, $4
+ i32.const $push77=, 16
+ i32.add $8=, $81, $pop77
+ i64.store $discard=, 0($8):p2align=2, $5
+ i32.const $push76=, 8
+ i32.add $8=, $81, $pop76
+ i64.store $discard=, 0($8):p2align=2, $6
+ i32.const $push25=, .L.str+2
+ call f2@FUNCTION, $0, $0, $pop25
+ i32.const $25=, __stack_pointer
+ i32.load $25=, 0($25)
+ i32.const $26=, 56
+ i32.add $81=, $25, $26
+ i32.const $26=, __stack_pointer
+ i32.store $81=, 0($26), $81
+ i32.const $27=, __stack_pointer
+ i32.load $27=, 0($27)
+ i32.const $28=, 52
+ i32.sub $81=, $27, $28
+ i32.const $28=, __stack_pointer
+ i32.store $81=, 0($28), $81
+ i64.store $discard=, 0($81):p2align=2, $14
+ i32.const $push75=, 48
+ i32.add $8=, $81, $pop75
+ i32.store $discard=, 0($8), $0
+ i32.const $push74=, 40
+ i32.add $8=, $81, $pop74
+ i64.store $7=, 0($8):p2align=2, $9
+ i32.const $push73=, 32
+ i32.add $8=, $81, $pop73
+ i64.store $9=, 0($8):p2align=2, $10
+ i32.const $push72=, 24
+ i32.add $8=, $81, $pop72
+ i64.store $10=, 0($8):p2align=2, $11
+ i32.const $push71=, 16
+ i32.add $8=, $81, $pop71
+ i64.store $11=, 0($8):p2align=2, $12
+ i32.const $push70=, 8
+ i32.add $8=, $81, $pop70
+ i64.store $12=, 0($8):p2align=2, $13
+ i32.const $push26=, .L.str+3
+ call f3@FUNCTION, $0, $0, $0, $pop26
+ i32.const $29=, __stack_pointer
+ i32.load $29=, 0($29)
+ i32.const $30=, 52
+ i32.add $81=, $29, $30
+ i32.const $30=, __stack_pointer
+ i32.store $81=, 0($30), $81
+ i32.const $31=, __stack_pointer
+ i32.load $31=, 0($31)
+ i32.const $32=, 48
+ i32.sub $81=, $31, $32
+ i32.const $32=, __stack_pointer
+ i32.store $81=, 0($32), $81
+ i64.store $discard=, 0($81):p2align=2, $6
+ i32.const $push69=, 40
+ i32.add $8=, $81, $pop69
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push68=, 32
+ i32.add $8=, $81, $pop68
+ i64.store $discard=, 0($8):p2align=2, $2
+ i32.const $push67=, 24
+ i32.add $8=, $81, $pop67
+ i64.store $discard=, 0($8):p2align=2, $3
+ i32.const $push66=, 16
+ i32.add $8=, $81, $pop66
+ i64.store $discard=, 0($8):p2align=2, $4
+ i32.const $push65=, 8
+ i32.add $8=, $81, $pop65
+ i64.store $discard=, 0($8):p2align=2, $5
+ i32.const $push27=, .L.str+4
+ call f4@FUNCTION, $0, $0, $0, $0, $pop27
+ i32.const $33=, __stack_pointer
+ i32.load $33=, 0($33)
+ i32.const $34=, 48
+ i32.add $81=, $33, $34
+ i32.const $34=, __stack_pointer
+ i32.store $81=, 0($34), $81
+ i32.const $35=, __stack_pointer
+ i32.load $35=, 0($35)
+ i32.const $36=, 44
+ i32.sub $81=, $35, $36
+ i32.const $36=, __stack_pointer
+ i32.store $81=, 0($36), $81
+ i64.store $discard=, 0($81):p2align=2, $12
+ i32.const $push64=, 40
+ i32.add $8=, $81, $pop64
+ i32.store $discard=, 0($8), $0
+ i32.const $push63=, 32
+ i32.add $8=, $81, $pop63
+ i64.store $6=, 0($8):p2align=2, $7
+ i32.const $push62=, 24
+ i32.add $8=, $81, $pop62
+ i64.store $7=, 0($8):p2align=2, $9
+ i32.const $push61=, 16
+ i32.add $8=, $81, $pop61
+ i64.store $9=, 0($8):p2align=2, $10
+ i32.const $push60=, 8
+ i32.add $8=, $81, $pop60
+ i64.store $10=, 0($8):p2align=2, $11
+ i32.const $push28=, .L.str+5
+ call f5@FUNCTION, $0, $0, $0, $0, $0, $pop28
+ i32.const $37=, __stack_pointer
+ i32.load $37=, 0($37)
+ i32.const $38=, 44
+ i32.add $81=, $37, $38
+ i32.const $38=, __stack_pointer
+ i32.store $81=, 0($38), $81
+ i32.const $39=, __stack_pointer
+ i32.load $39=, 0($39)
+ i32.const $40=, 40
+ i32.sub $81=, $39, $40
+ i32.const $40=, __stack_pointer
+ i32.store $81=, 0($40), $81
+ i64.store $discard=, 0($81):p2align=2, $5
+ i32.const $push59=, 32
+ i32.add $8=, $81, $pop59
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push58=, 24
+ i32.add $8=, $81, $pop58
+ i64.store $discard=, 0($8):p2align=2, $2
+ i32.const $push57=, 16
+ i32.add $8=, $81, $pop57
+ i64.store $discard=, 0($8):p2align=2, $3
+ i32.const $push56=, 8
+ i32.add $8=, $81, $pop56
+ i64.store $discard=, 0($8):p2align=2, $4
+ i32.const $push29=, .L.str+6
+ call f6@FUNCTION, $0, $0, $0, $0, $0, $0, $pop29
+ i32.const $41=, __stack_pointer
+ i32.load $41=, 0($41)
+ i32.const $42=, 40
+ i32.add $81=, $41, $42
+ i32.const $42=, __stack_pointer
+ i32.store $81=, 0($42), $81
+ i32.const $43=, __stack_pointer
+ i32.load $43=, 0($43)
+ i32.const $44=, 36
+ i32.sub $81=, $43, $44
+ i32.const $44=, __stack_pointer
+ i32.store $81=, 0($44), $81
+ i64.store $discard=, 0($81):p2align=2, $10
+ i32.const $push55=, 32
+ i32.add $8=, $81, $pop55
+ i32.store $discard=, 0($8), $0
+ i32.const $push54=, 24
+ i32.add $8=, $81, $pop54
+ i64.store $5=, 0($8):p2align=2, $6
+ i32.const $push53=, 16
+ i32.add $8=, $81, $pop53
+ i64.store $6=, 0($8):p2align=2, $7
+ i32.const $push52=, 8
+ i32.add $8=, $81, $pop52
+ i64.store $7=, 0($8):p2align=2, $9
+ i32.const $push30=, .L.str+7
+ call f7@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $pop30
+ i32.const $45=, __stack_pointer
+ i32.load $45=, 0($45)
+ i32.const $46=, 36
+ i32.add $81=, $45, $46
+ i32.const $46=, __stack_pointer
+ i32.store $81=, 0($46), $81
+ i32.const $47=, __stack_pointer
+ i32.load $47=, 0($47)
+ i32.const $48=, 32
+ i32.sub $81=, $47, $48
+ i32.const $48=, __stack_pointer
+ i32.store $81=, 0($48), $81
+ i64.store $discard=, 0($81):p2align=2, $4
+ i32.const $push51=, 24
+ i32.add $8=, $81, $pop51
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push50=, 16
+ i32.add $8=, $81, $pop50
+ i64.store $discard=, 0($8):p2align=2, $2
+ i32.const $push49=, 8
+ i32.add $8=, $81, $pop49
+ i64.store $discard=, 0($8):p2align=2, $3
+ i32.const $push31=, .L.str+8
+ call f8@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $pop31
+ i32.const $49=, __stack_pointer
+ i32.load $49=, 0($49)
+ i32.const $50=, 32
+ i32.add $81=, $49, $50
+ i32.const $50=, __stack_pointer
+ i32.store $81=, 0($50), $81
+ i32.const $51=, __stack_pointer
+ i32.load $51=, 0($51)
+ i32.const $52=, 28
+ i32.sub $81=, $51, $52
+ i32.const $52=, __stack_pointer
+ i32.store $81=, 0($52), $81
+ i64.store $discard=, 0($81):p2align=2, $7
+ i32.const $push48=, 24
+ i32.add $8=, $81, $pop48
+ i32.store $discard=, 0($8), $0
+ i32.const $push47=, 16
+ i32.add $8=, $81, $pop47
+ i64.store $4=, 0($8):p2align=2, $5
+ i32.const $push46=, 8
+ i32.add $8=, $81, $pop46
+ i64.store $5=, 0($8):p2align=2, $6
+ i32.const $push32=, .L.str+9
+ call f9@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop32
+ i32.const $53=, __stack_pointer
+ i32.load $53=, 0($53)
+ i32.const $54=, 28
+ i32.add $81=, $53, $54
+ i32.const $54=, __stack_pointer
+ i32.store $81=, 0($54), $81
+ i32.const $55=, __stack_pointer
+ i32.load $55=, 0($55)
+ i32.const $56=, 24
+ i32.sub $81=, $55, $56
+ i32.const $56=, __stack_pointer
+ i32.store $81=, 0($56), $81
+ i64.store $discard=, 0($81):p2align=2, $3
+ i32.const $push45=, 16
+ i32.add $8=, $81, $pop45
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push44=, 8
+ i32.add $8=, $81, $pop44
+ i64.store $discard=, 0($8):p2align=2, $2
+ i32.const $push33=, .L.str+10
+ call f10@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop33
+ i32.const $57=, __stack_pointer
+ i32.load $57=, 0($57)
+ i32.const $58=, 24
+ i32.add $81=, $57, $58
+ i32.const $58=, __stack_pointer
+ i32.store $81=, 0($58), $81
+ i32.const $59=, __stack_pointer
+ i32.load $59=, 0($59)
+ i32.const $60=, 20
+ i32.sub $81=, $59, $60
+ i32.const $60=, __stack_pointer
+ i32.store $81=, 0($60), $81
+ i64.store $discard=, 0($81):p2align=2, $5
+ i32.const $push43=, 16
+ i32.add $8=, $81, $pop43
+ i32.store $discard=, 0($8), $0
+ i32.const $push42=, 8
+ i32.add $8=, $81, $pop42
+ i64.store $3=, 0($8):p2align=2, $4
+ i32.const $push34=, .L.str+11
+ call f11@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop34
+ i32.const $61=, __stack_pointer
+ i32.load $61=, 0($61)
+ i32.const $62=, 20
+ i32.add $81=, $61, $62
+ i32.const $62=, __stack_pointer
+ i32.store $81=, 0($62), $81
+ i32.const $63=, __stack_pointer
+ i32.load $63=, 0($63)
+ i32.const $64=, 16
+ i32.sub $81=, $63, $64
+ i32.const $64=, __stack_pointer
+ i32.store $81=, 0($64), $81
+ i64.store $discard=, 0($81):p2align=2, $2
+ i32.const $push41=, 8
+ i32.add $8=, $81, $pop41
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push35=, .L.str+12
+ call f12@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop35
+ i32.const $65=, __stack_pointer
+ i32.load $65=, 0($65)
+ i32.const $66=, 16
+ i32.add $81=, $65, $66
+ i32.const $66=, __stack_pointer
+ i32.store $81=, 0($66), $81
+ i32.const $67=, __stack_pointer
+ i32.load $67=, 0($67)
+ i32.const $68=, 12
+ i32.sub $81=, $67, $68
+ i32.const $68=, __stack_pointer
+ i32.store $81=, 0($68), $81
+ i64.store $discard=, 0($81):p2align=2, $3
+ i32.const $push40=, 8
+ i32.add $8=, $81, $pop40
+ i32.store $discard=, 0($8), $0
+ i32.const $push36=, .L.str+13
+ call f13@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop36
+ i32.const $69=, __stack_pointer
+ i32.load $69=, 0($69)
+ i32.const $70=, 12
+ i32.add $81=, $69, $70
+ i32.const $70=, __stack_pointer
+ i32.store $81=, 0($70), $81
+ i32.const $71=, __stack_pointer
+ i32.load $71=, 0($71)
+ i32.const $72=, 8
+ i32.sub $81=, $71, $72
+ i32.const $72=, __stack_pointer
+ i32.store $81=, 0($72), $81
+ i64.store $discard=, 0($81):p2align=2, $1
+ i32.const $push37=, .L.str+14
+ call f14@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop37
+ i32.const $73=, __stack_pointer
+ i32.load $73=, 0($73)
+ i32.const $74=, 8
+ i32.add $81=, $73, $74
+ i32.const $74=, __stack_pointer
+ i32.store $81=, 0($74), $81
+ i32.const $75=, __stack_pointer
+ i32.load $75=, 0($75)
+ i32.const $76=, 4
+ i32.sub $81=, $75, $76
+ i32.const $76=, __stack_pointer
+ i32.store $81=, 0($76), $81
+ i32.store $discard=, 0($81), $0
+ i32.const $push38=, .L.str+15
+ call f15@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop38
+ i32.const $77=, __stack_pointer
+ i32.load $77=, 0($77)
+ i32.const $78=, 4
+ i32.add $81=, $77, $78
+ i32.const $78=, __stack_pointer
+ i32.store $81=, 0($78), $81
+ i32.const $push39=, 0
+ call exit@FUNCTION, $pop39
+ unreachable
+ .endfunc
+.Lfunc_end17:
+ .size main, .Lfunc_end17-main
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.16,"aMS",@progbits,1
+ .p2align 4
+.L.str:
+ .asciz "0123456789abcdef"
+ .size .L.str, 17
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-20.c.s b/test/torture-s/va-arg-20.c.s
new file mode 100644
index 000000000..e0976868b
--- /dev/null
+++ b/test/torture-s/va-arg-20.c.s
@@ -0,0 +1,128 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-20.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.store $push0=, 12($4), $0
+ i32.const $push1=, 7
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -8
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push10=, $0=, $pop4
+ i32.const $push5=, 8
+ i32.add $push6=, $pop10, $pop5
+ i32.store $discard=, 12($4), $pop6
+ block
+ i64.load $push7=, 0($0)
+ i64.const $push8=, 16
+ i64.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $3=, 16
+ i32.add $4=, $4, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $push0=, 8($6), $7
+ i32.store $push1=, 12($6), $pop0
+ i32.const $push2=, 7
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -8
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push11=, $2=, $pop5
+ i32.const $push6=, 8
+ i32.add $push7=, $pop11, $pop6
+ i32.store $discard=, 12($6), $pop7
+ block
+ i64.load $push8=, 0($2)
+ i64.const $push9=, 16
+ i64.ne $push10=, $pop8, $pop9
+ br_if $pop10, 0 # 0: down to label1
+# BB#1: # %foo.exit
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+.LBB1_2: # %if.then.i
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $6=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 8
+ i32.sub $6=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $6=, 0($1), $6
+ i64.const $push0=, 16
+ i64.store $discard=, 0($6), $pop0
+ i32.const $push1=, 0
+ i32.const $push3=, 0
+ call bar@FUNCTION, $pop1, $pop3
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 8
+ i32.add $6=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $6=, 0($3), $6
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-21.c.s b/test/torture-s/va-arg-21.c.s
new file mode 100644
index 000000000..9ebacc5b7
--- /dev/null
+++ b/test/torture-s/va-arg-21.c.s
@@ -0,0 +1,86 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-21.c"
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i32.const $push0=, .L.str.1
+ i32.store $discard=, 0($7), $pop0
+ call doit@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push1=, 0
+ call exit@FUNCTION, $pop1
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+
+ .section .text.doit,"ax",@progbits
+ .type doit,@function
+doit: # @doit
+ .param i32
+ .local i32, i32, i32
+# BB#0: # %entry
+ i32.const $push0=, 4
+ i32.call $1=, malloc@FUNCTION, $pop0
+ i32.const $push10=, 4
+ i32.call $2=, malloc@FUNCTION, $pop10
+ i32.const $push2=, 0
+ i32.load $push3=, stdout($pop2)
+ i32.const $push4=, .L.str
+ i32.store $push1=, 0($1), $3
+ tee_local $push9=, $1=, $pop1
+ i32.call $discard=, vfprintf@FUNCTION, $pop3, $pop4, $pop9
+ i32.const $push8=, 0
+ i32.load $push6=, stdout($pop8)
+ i32.const $push7=, .L.str
+ i32.store $push5=, 0($2), $1
+ i32.call $discard=, vfprintf@FUNCTION, $pop6, $pop7, $pop5
+ block
+ i32.const $push11=, 0
+ i32.eq $push12=, $2, $pop11
+ br_if $pop12, 0 # 0: down to label0
+# BB#1: # %if.end
+ return
+.LBB1_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size doit, .Lfunc_end1-doit
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "%s"
+ .size .L.str, 3
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "hello world\n"
+ .size .L.str.1, 13
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-23.c.s b/test/torture-s/va-arg-23.c.s
new file mode 100644
index 000000000..3ef98ee85
--- /dev/null
+++ b/test/torture-s/va-arg-23.c.s
@@ -0,0 +1,95 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 16
+ i32.sub $11=, $8, $9
+ copy_local $12=, $11
+ i32.const $9=, __stack_pointer
+ i32.store $11=, 0($9), $11
+ i32.store $push1=, 12($11), $12
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -4
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push12=, $7=, $pop5
+ i32.const $push6=, 4
+ i32.add $push7=, $pop12, $pop6
+ i32.store $discard=, 12($11), $pop7
+ block
+ i32.const $push8=, 1
+ i32.ne $push9=, $6, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.load $push0=, 0($7)
+ i32.const $push10=, 2
+ i32.ne $push11=, $pop0, $pop10
+ br_if $pop11, 0 # 0: down to label0
+# BB#2: # %if.end
+ i32.const $10=, 16
+ i32.add $11=, $12, $10
+ i32.const $10=, __stack_pointer
+ i32.store $11=, 0($10), $11
+ return
+.LBB0_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 32
+ i32.sub $9=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $9=, 0($6), $9
+ i64.load $push0=, 24($9)
+ i64.store $discard=, 16($9):p2align=2, $pop0
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $9=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $9=, 0($2), $9
+ i32.const $push1=, 2
+ i32.store $discard=, 0($9), $pop1
+ i32.const $push2=, 1
+ i32.const $8=, 16
+ i32.add $8=, $9, $8
+ call foo@FUNCTION, $0, $0, $0, $0, $0, $8, $pop2
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $9=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $9=, 0($4), $9
+ i32.const $push3=, 0
+ i32.const $7=, 32
+ i32.add $9=, $9, $7
+ i32.const $7=, __stack_pointer
+ i32.store $9=, 0($7), $9
+ return $pop3
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-24.c.s b/test/torture-s/va-arg-24.c.s
new file mode 100644
index 000000000..63361aeda
--- /dev/null
+++ b/test/torture-s/va-arg-24.c.s
@@ -0,0 +1,1812 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-24.c"
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i64, i64, i64, i64, i32, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $49=, __stack_pointer
+ i32.load $49=, 0($49)
+ i32.const $50=, 48
+ i32.sub $51=, $49, $50
+ i32.const $50=, __stack_pointer
+ i32.store $51=, 0($50), $51
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 40
+ i32.sub $51=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $51=, 0($10), $51
+ i64.const $push0=, 8589934593
+ i64.store $discard=, 0($51):p2align=2, $pop0
+ i32.const $push1=, 32
+ i32.add $0=, $51, $pop1
+ i64.const $push2=, 42949672969
+ i64.store $1=, 0($0):p2align=2, $pop2
+ i32.const $push3=, 24
+ i32.add $0=, $51, $pop3
+ i64.const $push4=, 34359738375
+ i64.store $2=, 0($0):p2align=2, $pop4
+ i32.const $push5=, 16
+ i32.add $0=, $51, $pop5
+ i64.const $push6=, 25769803781
+ i64.store $3=, 0($0):p2align=2, $pop6
+ i32.const $push7=, 8
+ i32.add $0=, $51, $pop7
+ i64.const $push8=, 17179869187
+ i64.store $4=, 0($0):p2align=2, $pop8
+ call varargs0@FUNCTION, $0
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 40
+ i32.add $51=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $51=, 0($12), $51
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 36
+ i32.sub $51=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $51=, 0($14), $51
+ i64.const $push9=, 12884901890
+ i64.store $discard=, 0($51):p2align=2, $pop9
+ i32.const $push31=, 32
+ i32.add $0=, $51, $pop31
+ i32.const $push10=, 10
+ i32.store $0=, 0($0), $pop10
+ i32.const $push30=, 24
+ i32.add $5=, $51, $pop30
+ i64.const $push11=, 38654705672
+ i64.store $6=, 0($5):p2align=2, $pop11
+ i32.const $push29=, 16
+ i32.add $5=, $51, $pop29
+ i64.const $push12=, 30064771078
+ i64.store $7=, 0($5):p2align=2, $pop12
+ i32.const $push28=, 8
+ i32.add $5=, $51, $pop28
+ i64.const $push13=, 21474836484
+ i64.store $8=, 0($5):p2align=2, $pop13
+ call varargs1@FUNCTION, $0, $0
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 36
+ i32.add $51=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $51=, 0($16), $51
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 32
+ i32.sub $51=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $51=, 0($18), $51
+ i64.store $discard=, 0($51):p2align=2, $4
+ i32.const $push27=, 24
+ i32.add $5=, $51, $pop27
+ i64.store $discard=, 0($5):p2align=2, $1
+ i32.const $push26=, 16
+ i32.add $5=, $51, $pop26
+ i64.store $discard=, 0($5):p2align=2, $2
+ i32.const $push25=, 8
+ i32.add $5=, $51, $pop25
+ i64.store $discard=, 0($5):p2align=2, $3
+ call varargs2@FUNCTION, $0, $0, $0
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 32
+ i32.add $51=, $19, $20
+ i32.const $20=, __stack_pointer
+ i32.store $51=, 0($20), $51
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 28
+ i32.sub $51=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $51=, 0($22), $51
+ i64.store $discard=, 0($51):p2align=2, $8
+ i32.const $push24=, 24
+ i32.add $5=, $51, $pop24
+ i32.store $discard=, 0($5), $0
+ i32.const $push23=, 16
+ i32.add $5=, $51, $pop23
+ i64.store $4=, 0($5):p2align=2, $6
+ i32.const $push22=, 8
+ i32.add $5=, $51, $pop22
+ i64.store $6=, 0($5):p2align=2, $7
+ call varargs3@FUNCTION, $0, $0, $0, $0
+ i32.const $23=, __stack_pointer
+ i32.load $23=, 0($23)
+ i32.const $24=, 28
+ i32.add $51=, $23, $24
+ i32.const $24=, __stack_pointer
+ i32.store $51=, 0($24), $51
+ i32.const $25=, __stack_pointer
+ i32.load $25=, 0($25)
+ i32.const $26=, 24
+ i32.sub $51=, $25, $26
+ i32.const $26=, __stack_pointer
+ i32.store $51=, 0($26), $51
+ i64.store $discard=, 0($51):p2align=2, $3
+ i32.const $push21=, 16
+ i32.add $5=, $51, $pop21
+ i64.store $discard=, 0($5):p2align=2, $1
+ i32.const $push20=, 8
+ i32.add $5=, $51, $pop20
+ i64.store $discard=, 0($5):p2align=2, $2
+ call varargs4@FUNCTION, $0, $0, $0, $0, $0
+ i32.const $27=, __stack_pointer
+ i32.load $27=, 0($27)
+ i32.const $28=, 24
+ i32.add $51=, $27, $28
+ i32.const $28=, __stack_pointer
+ i32.store $51=, 0($28), $51
+ i32.const $29=, __stack_pointer
+ i32.load $29=, 0($29)
+ i32.const $30=, 20
+ i32.sub $51=, $29, $30
+ i32.const $30=, __stack_pointer
+ i32.store $51=, 0($30), $51
+ i64.store $discard=, 0($51):p2align=2, $6
+ i32.const $push19=, 16
+ i32.add $5=, $51, $pop19
+ i32.store $discard=, 0($5), $0
+ i32.const $push18=, 8
+ i32.add $5=, $51, $pop18
+ i64.store $3=, 0($5):p2align=2, $4
+ call varargs5@FUNCTION, $0, $0, $0, $0, $0, $0
+ i32.const $31=, __stack_pointer
+ i32.load $31=, 0($31)
+ i32.const $32=, 20
+ i32.add $51=, $31, $32
+ i32.const $32=, __stack_pointer
+ i32.store $51=, 0($32), $51
+ i32.const $33=, __stack_pointer
+ i32.load $33=, 0($33)
+ i32.const $34=, 16
+ i32.sub $51=, $33, $34
+ i32.const $34=, __stack_pointer
+ i32.store $51=, 0($34), $51
+ i64.store $discard=, 0($51):p2align=2, $2
+ i32.const $push17=, 8
+ i32.add $5=, $51, $pop17
+ i64.store $discard=, 0($5):p2align=2, $1
+ call varargs6@FUNCTION, $0, $0, $0, $0, $0, $0, $0
+ i32.const $35=, __stack_pointer
+ i32.load $35=, 0($35)
+ i32.const $36=, 16
+ i32.add $51=, $35, $36
+ i32.const $36=, __stack_pointer
+ i32.store $51=, 0($36), $51
+ i32.const $37=, __stack_pointer
+ i32.load $37=, 0($37)
+ i32.const $38=, 12
+ i32.sub $51=, $37, $38
+ i32.const $38=, __stack_pointer
+ i32.store $51=, 0($38), $51
+ i64.store $discard=, 0($51):p2align=2, $3
+ i32.const $push16=, 8
+ i32.add $5=, $51, $pop16
+ i32.store $discard=, 0($5), $0
+ call varargs7@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0
+ i32.const $39=, __stack_pointer
+ i32.load $39=, 0($39)
+ i32.const $40=, 12
+ i32.add $51=, $39, $40
+ i32.const $40=, __stack_pointer
+ i32.store $51=, 0($40), $51
+ i32.const $41=, __stack_pointer
+ i32.load $41=, 0($41)
+ i32.const $42=, 8
+ i32.sub $51=, $41, $42
+ i32.const $42=, __stack_pointer
+ i32.store $51=, 0($42), $51
+ i64.store $discard=, 0($51):p2align=2, $1
+ call varargs8@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0
+ i32.const $43=, __stack_pointer
+ i32.load $43=, 0($43)
+ i32.const $44=, 8
+ i32.add $51=, $43, $44
+ i32.const $44=, __stack_pointer
+ i32.store $51=, 0($44), $51
+ i32.const $45=, __stack_pointer
+ i32.load $45=, 0($45)
+ i32.const $46=, 4
+ i32.sub $51=, $45, $46
+ i32.const $46=, __stack_pointer
+ i32.store $51=, 0($46), $51
+ i32.store $discard=, 0($51), $0
+ call varargs9@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0
+ i32.const $47=, __stack_pointer
+ i32.load $47=, 0($47)
+ i32.const $48=, 4
+ i32.add $51=, $47, $48
+ i32.const $48=, __stack_pointer
+ i32.store $51=, 0($48), $51
+ block
+ i32.const $push15=, 0
+ i32.load $push14=, errors($pop15)
+ br_if $pop14, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push32=, 0
+ call exit@FUNCTION, $pop32
+ unreachable
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+
+ .section .text.varargs0,"ax",@progbits
+ .type varargs0,@function
+varargs0: # @varargs0
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 64
+ i32.sub $17=, $11, $12
+ copy_local $18=, $17
+ i32.const $12=, __stack_pointer
+ i32.store $17=, 0($12), $17
+ i32.store $discard=, 60($17), $18
+ i32.load $push1=, 60($17)
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -4
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push92=, $5=, $pop5
+ i32.const $push91=, 4
+ i32.add $push6=, $pop92, $pop91
+ i32.store $discard=, 60($17), $pop6
+ i32.const $push0=, 0
+ i32.store $1=, 16($17):p2align=4, $pop0
+ i32.const $push90=, 4
+ i32.const $14=, 16
+ i32.add $14=, $17, $14
+ i32.or $push51=, $14, $pop90
+ tee_local $push89=, $6=, $pop51
+ i32.load $push7=, 0($5)
+ i32.store $discard=, 0($pop89), $pop7
+ i32.const $push8=, 7
+ i32.add $push9=, $5, $pop8
+ i32.const $push88=, -4
+ i32.and $push10=, $pop9, $pop88
+ tee_local $push87=, $5=, $pop10
+ i32.const $push86=, 4
+ i32.add $push11=, $pop87, $pop86
+ i32.store $discard=, 60($17), $pop11
+ i32.const $push85=, 8
+ i32.const $15=, 16
+ i32.add $15=, $17, $15
+ i32.or $push13=, $15, $pop85
+ i32.load $push12=, 0($5)
+ i32.store $discard=, 0($pop13):p2align=3, $pop12
+ i32.const $push84=, 7
+ i32.add $push14=, $5, $pop84
+ i32.const $push83=, -4
+ i32.and $push15=, $pop14, $pop83
+ tee_local $push82=, $5=, $pop15
+ i32.const $push81=, 4
+ i32.add $push16=, $pop82, $pop81
+ i32.store $discard=, 60($17), $pop16
+ i32.const $push80=, 12
+ i32.const $16=, 16
+ i32.add $16=, $17, $16
+ i32.or $push18=, $16, $pop80
+ i32.load $push17=, 0($5)
+ i32.store $discard=, 0($pop18), $pop17
+ i32.const $push79=, 7
+ i32.add $push19=, $5, $pop79
+ i32.const $push78=, -4
+ i32.and $push20=, $pop19, $pop78
+ tee_local $push77=, $5=, $pop20
+ i32.const $push76=, 4
+ i32.add $push21=, $pop77, $pop76
+ i32.store $discard=, 60($17), $pop21
+ i32.load $push22=, 0($5)
+ i32.store $discard=, 32($17):p2align=4, $pop22
+ i32.const $push75=, 7
+ i32.add $push23=, $5, $pop75
+ i32.const $push74=, -4
+ i32.and $push24=, $pop23, $pop74
+ tee_local $push73=, $5=, $pop24
+ i32.const $push72=, 4
+ i32.add $push25=, $pop73, $pop72
+ i32.store $discard=, 60($17), $pop25
+ i32.load $push26=, 0($5)
+ i32.store $discard=, 36($17), $pop26
+ i32.const $push71=, 7
+ i32.add $push27=, $5, $pop71
+ i32.const $push70=, -4
+ i32.and $push28=, $pop27, $pop70
+ tee_local $push69=, $5=, $pop28
+ i32.const $push68=, 4
+ i32.add $push29=, $pop69, $pop68
+ i32.store $discard=, 60($17), $pop29
+ i32.load $push30=, 0($5)
+ i32.store $discard=, 40($17):p2align=3, $pop30
+ i32.const $push67=, 7
+ i32.add $push31=, $5, $pop67
+ i32.const $push66=, -4
+ i32.and $push32=, $pop31, $pop66
+ tee_local $push65=, $5=, $pop32
+ i32.const $push64=, 4
+ i32.add $push33=, $pop65, $pop64
+ i32.store $discard=, 60($17), $pop33
+ i32.load $push34=, 0($5)
+ i32.store $discard=, 44($17), $pop34
+ i32.const $push63=, 7
+ i32.add $push35=, $5, $pop63
+ i32.const $push62=, -4
+ i32.and $push36=, $pop35, $pop62
+ tee_local $push61=, $5=, $pop36
+ i32.const $push60=, 4
+ i32.add $push37=, $pop61, $pop60
+ i32.store $discard=, 60($17), $pop37
+ i32.load $push38=, 0($5)
+ i32.store $discard=, 48($17):p2align=4, $pop38
+ i32.const $push59=, 7
+ i32.add $push39=, $5, $pop59
+ i32.const $push58=, -4
+ i32.and $push40=, $pop39, $pop58
+ tee_local $push57=, $5=, $pop40
+ i32.const $push56=, 4
+ i32.add $push41=, $pop57, $pop56
+ i32.store $discard=, 60($17), $pop41
+ i32.load $push42=, 0($5)
+ i32.store $discard=, 52($17), $pop42
+ i32.const $push55=, 7
+ i32.add $push43=, $5, $pop55
+ i32.const $push54=, -4
+ i32.and $push44=, $pop43, $pop54
+ tee_local $push53=, $5=, $pop44
+ i32.const $push52=, 4
+ i32.add $push45=, $pop53, $pop52
+ i32.store $discard=, 60($17), $pop45
+ i32.load $push46=, 0($5)
+ i32.store $discard=, 56($17):p2align=3, $pop46
+ copy_local $4=, $1
+ copy_local $5=, $1
+.LBB1_1: # %for.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label1:
+ block
+ i32.eq $push47=, $5, $4
+ br_if $pop47, 0 # 0: down to label3
+# BB#2: # %if.then.i
+ # in Loop: Header=BB1_1 Depth=1
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 16
+ i32.sub $17=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $17=, 0($8), $17
+ i32.const $push98=, .L.str
+ i32.store $discard=, 0($17), $pop98
+ i32.const $push97=, 12
+ i32.add $2=, $17, $pop97
+ i32.store $2=, 0($2), $5
+ i32.const $push96=, 8
+ i32.add $3=, $17, $pop96
+ i32.store $discard=, 0($3), $4
+ i32.const $push95=, 4
+ i32.add $4=, $17, $pop95
+ i32.store $discard=, 0($4), $2
+ i32.const $push94=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop94
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 16
+ i32.add $17=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $17=, 0($10), $17
+ i32.load $push48=, errors($1)
+ i32.const $push93=, 1
+ i32.add $push49=, $pop48, $pop93
+ i32.store $discard=, errors($1), $pop49
+.LBB1_3: # %for.inc.i
+ # in Loop: Header=BB1_1 Depth=1
+ end_block # label3:
+ i32.const $push99=, 10
+ i32.eq $push50=, $5, $pop99
+ br_if $pop50, 1 # 1: down to label2
+# BB#4: # %for.inc.i.for.body.i_crit_edge
+ # in Loop: Header=BB1_1 Depth=1
+ i32.load $4=, 0($6)
+ i32.const $push101=, 1
+ i32.add $5=, $5, $pop101
+ i32.const $push100=, 4
+ i32.add $6=, $6, $pop100
+ br 0 # 0: up to label1
+.LBB1_5: # %verify.exit
+ end_loop # label2:
+ i32.const $13=, 64
+ i32.add $17=, $18, $13
+ i32.const $13=, __stack_pointer
+ i32.store $17=, 0($13), $17
+ return
+ .endfunc
+.Lfunc_end1:
+ .size varargs0, .Lfunc_end1-varargs0
+
+ .section .text.varargs1,"ax",@progbits
+ .type varargs1,@function
+varargs1: # @varargs1
+ .param i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 64
+ i32.sub $17=, $11, $12
+ copy_local $18=, $17
+ i32.const $12=, __stack_pointer
+ i32.store $17=, 0($12), $17
+ i32.store $discard=, 60($17), $18
+ i32.load $push1=, 60($17)
+ i32.const $push2=, 3
+ i32.add $push3=, $pop1, $pop2
+ i32.const $push4=, -4
+ i32.and $push5=, $pop3, $pop4
+ tee_local $push82=, $6=, $pop5
+ i32.const $push81=, 4
+ i32.add $push6=, $pop82, $pop81
+ i32.store $discard=, 60($17), $pop6
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 16($17):p2align=4, $pop0
+ i32.const $push80=, 8
+ i32.const $14=, 16
+ i32.add $14=, $17, $14
+ i32.or $push8=, $14, $pop80
+ i32.load $push7=, 0($6)
+ i32.store $discard=, 0($pop8):p2align=3, $pop7
+ i32.const $push9=, 7
+ i32.add $push10=, $6, $pop9
+ i32.const $push79=, -4
+ i32.and $push11=, $pop10, $pop79
+ tee_local $push78=, $6=, $pop11
+ i32.const $push77=, 4
+ i32.add $push12=, $pop78, $pop77
+ i32.store $discard=, 60($17), $pop12
+ i32.const $push76=, 12
+ i32.const $15=, 16
+ i32.add $15=, $17, $15
+ i32.or $push14=, $15, $pop76
+ i32.load $push13=, 0($6)
+ i32.store $discard=, 0($pop14), $pop13
+ i32.const $push75=, 7
+ i32.add $push15=, $6, $pop75
+ i32.const $push74=, -4
+ i32.and $push16=, $pop15, $pop74
+ tee_local $push73=, $6=, $pop16
+ i32.const $push72=, 4
+ i32.add $push17=, $pop73, $pop72
+ i32.store $discard=, 60($17), $pop17
+ i32.load $push18=, 0($6)
+ i32.store $discard=, 32($17):p2align=4, $pop18
+ i32.const $push71=, 7
+ i32.add $push19=, $6, $pop71
+ i32.const $push70=, -4
+ i32.and $push20=, $pop19, $pop70
+ tee_local $push69=, $6=, $pop20
+ i32.const $push68=, 4
+ i32.add $push21=, $pop69, $pop68
+ i32.store $discard=, 60($17), $pop21
+ i32.load $push22=, 0($6)
+ i32.store $discard=, 36($17), $pop22
+ i32.const $push67=, 7
+ i32.add $push23=, $6, $pop67
+ i32.const $push66=, -4
+ i32.and $push24=, $pop23, $pop66
+ tee_local $push65=, $6=, $pop24
+ i32.const $push64=, 4
+ i32.add $push25=, $pop65, $pop64
+ i32.store $discard=, 60($17), $pop25
+ i32.load $push26=, 0($6)
+ i32.store $discard=, 40($17):p2align=3, $pop26
+ i32.const $push63=, 7
+ i32.add $push27=, $6, $pop63
+ i32.const $push62=, -4
+ i32.and $push28=, $pop27, $pop62
+ tee_local $push61=, $6=, $pop28
+ i32.const $push60=, 4
+ i32.add $push29=, $pop61, $pop60
+ i32.store $discard=, 60($17), $pop29
+ i32.load $push30=, 0($6)
+ i32.store $discard=, 44($17), $pop30
+ i32.const $push59=, 7
+ i32.add $push31=, $6, $pop59
+ i32.const $push58=, -4
+ i32.and $push32=, $pop31, $pop58
+ tee_local $push57=, $6=, $pop32
+ i32.const $push56=, 4
+ i32.add $push33=, $pop57, $pop56
+ i32.store $discard=, 60($17), $pop33
+ i32.load $push34=, 0($6)
+ i32.store $discard=, 48($17):p2align=4, $pop34
+ i32.const $push55=, 7
+ i32.add $push35=, $6, $pop55
+ i32.const $push54=, -4
+ i32.and $push36=, $pop35, $pop54
+ tee_local $push53=, $6=, $pop36
+ i32.const $push52=, 4
+ i32.add $push37=, $pop53, $pop52
+ i32.store $discard=, 60($17), $pop37
+ i32.load $push38=, 0($6)
+ i32.store $discard=, 52($17), $pop38
+ i32.const $push51=, 7
+ i32.add $push39=, $6, $pop51
+ i32.const $push50=, -4
+ i32.and $push40=, $pop39, $pop50
+ tee_local $push49=, $6=, $pop40
+ i32.const $push48=, 4
+ i32.add $push41=, $pop49, $pop48
+ i32.store $discard=, 60($17), $pop41
+ i32.load $push42=, 0($6)
+ i32.store $discard=, 56($17):p2align=3, $pop42
+ i32.const $push47=, 4
+ i32.const $16=, 16
+ i32.add $16=, $17, $16
+ i32.or $4=, $16, $pop47
+ i32.const $5=, 0
+ i32.const $6=, 0
+.LBB2_1: # %for.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label4:
+ block
+ i32.eq $push43=, $6, $5
+ br_if $pop43, 0 # 0: down to label6
+# BB#2: # %if.then.i
+ # in Loop: Header=BB2_1 Depth=1
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 16
+ i32.sub $17=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $17=, 0($8), $17
+ i32.const $push90=, .L.str.2
+ i32.store $discard=, 0($17), $pop90
+ i32.const $push89=, 12
+ i32.add $2=, $17, $pop89
+ i32.store $2=, 0($2), $6
+ i32.const $push88=, 8
+ i32.add $3=, $17, $pop88
+ i32.store $discard=, 0($3), $5
+ i32.const $push87=, 4
+ i32.add $5=, $17, $pop87
+ i32.store $discard=, 0($5), $2
+ i32.const $push86=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop86
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 16
+ i32.add $17=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $17=, 0($10), $17
+ i32.const $push85=, 0
+ i32.const $push84=, 0
+ i32.load $push44=, errors($pop84)
+ i32.const $push83=, 1
+ i32.add $push45=, $pop44, $pop83
+ i32.store $discard=, errors($pop85), $pop45
+.LBB2_3: # %for.inc.i
+ # in Loop: Header=BB2_1 Depth=1
+ end_block # label6:
+ i32.const $push91=, 10
+ i32.eq $push46=, $6, $pop91
+ br_if $pop46, 1 # 1: down to label5
+# BB#4: # %for.inc.i.for.body.i_crit_edge
+ # in Loop: Header=BB2_1 Depth=1
+ i32.load $5=, 0($4)
+ i32.const $push93=, 1
+ i32.add $6=, $6, $pop93
+ i32.const $push92=, 4
+ i32.add $4=, $4, $pop92
+ br 0 # 0: up to label4
+.LBB2_5: # %verify.exit
+ end_loop # label5:
+ i32.const $13=, 64
+ i32.add $17=, $18, $13
+ i32.const $13=, __stack_pointer
+ i32.store $17=, 0($13), $17
+ return
+ .endfunc
+.Lfunc_end2:
+ .size varargs1, .Lfunc_end2-varargs1
+
+ .section .text.varargs2,"ax",@progbits
+ .type varargs2,@function
+varargs2: # @varargs2
+ .param i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $12=, __stack_pointer
+ i32.load $12=, 0($12)
+ i32.const $13=, 64
+ i32.sub $18=, $12, $13
+ copy_local $19=, $18
+ i32.const $13=, __stack_pointer
+ i32.store $18=, 0($13), $18
+ i32.store $discard=, 60($18), $19
+ i32.load $7=, 60($18)
+ i32.const $push74=, 8
+ i32.const $15=, 16
+ i32.add $15=, $18, $15
+ i32.or $push1=, $15, $pop74
+ i32.const $push2=, 2
+ i32.store $discard=, 0($pop1):p2align=3, $pop2
+ i32.const $push3=, 3
+ i32.add $push4=, $7, $pop3
+ i32.const $push5=, -4
+ i32.and $push6=, $pop4, $pop5
+ tee_local $push73=, $7=, $pop6
+ i32.const $push72=, 4
+ i32.add $push7=, $pop73, $pop72
+ i32.store $discard=, 60($18), $pop7
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 16($18):p2align=4, $pop0
+ i32.load $5=, 60($18)
+ i32.const $push71=, 12
+ i32.const $16=, 16
+ i32.add $16=, $18, $16
+ i32.or $push9=, $16, $pop71
+ i32.load $push8=, 0($7)
+ i32.store $discard=, 0($pop9), $pop8
+ i32.const $push70=, 3
+ i32.add $push10=, $5, $pop70
+ i32.const $push69=, -4
+ i32.and $push11=, $pop10, $pop69
+ tee_local $push68=, $7=, $pop11
+ i32.const $push67=, 4
+ i32.add $push12=, $pop68, $pop67
+ i32.store $discard=, 60($18), $pop12
+ i32.load $push13=, 0($7)
+ i32.store $discard=, 32($18):p2align=4, $pop13
+ i32.const $push14=, 7
+ i32.add $push15=, $7, $pop14
+ i32.const $push66=, -4
+ i32.and $push16=, $pop15, $pop66
+ tee_local $push65=, $7=, $pop16
+ i32.const $push64=, 4
+ i32.add $push17=, $pop65, $pop64
+ i32.store $discard=, 60($18), $pop17
+ i32.load $push18=, 0($7)
+ i32.store $discard=, 36($18), $pop18
+ i32.const $push63=, 7
+ i32.add $push19=, $7, $pop63
+ i32.const $push62=, -4
+ i32.and $push20=, $pop19, $pop62
+ tee_local $push61=, $7=, $pop20
+ i32.const $push60=, 4
+ i32.add $push21=, $pop61, $pop60
+ i32.store $discard=, 60($18), $pop21
+ i32.load $push22=, 0($7)
+ i32.store $discard=, 40($18):p2align=3, $pop22
+ i32.const $push59=, 7
+ i32.add $push23=, $7, $pop59
+ i32.const $push58=, -4
+ i32.and $push24=, $pop23, $pop58
+ tee_local $push57=, $7=, $pop24
+ i32.const $push56=, 4
+ i32.add $push25=, $pop57, $pop56
+ i32.store $discard=, 60($18), $pop25
+ i32.load $push26=, 0($7)
+ i32.store $discard=, 44($18), $pop26
+ i32.const $push55=, 7
+ i32.add $push27=, $7, $pop55
+ i32.const $push54=, -4
+ i32.and $push28=, $pop27, $pop54
+ tee_local $push53=, $7=, $pop28
+ i32.const $push52=, 4
+ i32.add $push29=, $pop53, $pop52
+ i32.store $discard=, 60($18), $pop29
+ i32.load $push30=, 0($7)
+ i32.store $discard=, 48($18):p2align=4, $pop30
+ i32.const $push51=, 7
+ i32.add $push31=, $7, $pop51
+ i32.const $push50=, -4
+ i32.and $push32=, $pop31, $pop50
+ tee_local $push49=, $7=, $pop32
+ i32.const $push48=, 4
+ i32.add $push33=, $pop49, $pop48
+ i32.store $discard=, 60($18), $pop33
+ i32.load $push34=, 0($7)
+ i32.store $discard=, 52($18), $pop34
+ i32.const $push47=, 7
+ i32.add $push35=, $7, $pop47
+ i32.const $push46=, -4
+ i32.and $push36=, $pop35, $pop46
+ tee_local $push45=, $7=, $pop36
+ i32.const $push44=, 4
+ i32.add $push37=, $pop45, $pop44
+ i32.store $discard=, 60($18), $pop37
+ i32.load $push38=, 0($7)
+ i32.store $discard=, 56($18):p2align=3, $pop38
+ i32.const $push43=, 4
+ i32.const $17=, 16
+ i32.add $17=, $18, $17
+ i32.or $5=, $17, $pop43
+ i32.const $6=, 0
+ i32.const $7=, 0
+.LBB3_1: # %for.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label7:
+ block
+ i32.eq $push39=, $7, $6
+ br_if $pop39, 0 # 0: down to label9
+# BB#2: # %if.then.i
+ # in Loop: Header=BB3_1 Depth=1
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 16
+ i32.sub $18=, $8, $9
+ i32.const $9=, __stack_pointer
+ i32.store $18=, 0($9), $18
+ i32.const $push82=, .L.str.3
+ i32.store $discard=, 0($18), $pop82
+ i32.const $push81=, 12
+ i32.add $3=, $18, $pop81
+ i32.store $3=, 0($3), $7
+ i32.const $push80=, 8
+ i32.add $4=, $18, $pop80
+ i32.store $discard=, 0($4), $6
+ i32.const $push79=, 4
+ i32.add $6=, $18, $pop79
+ i32.store $discard=, 0($6), $3
+ i32.const $push78=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop78
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 16
+ i32.add $18=, $10, $11
+ i32.const $11=, __stack_pointer
+ i32.store $18=, 0($11), $18
+ i32.const $push77=, 0
+ i32.const $push76=, 0
+ i32.load $push40=, errors($pop76)
+ i32.const $push75=, 1
+ i32.add $push41=, $pop40, $pop75
+ i32.store $discard=, errors($pop77), $pop41
+.LBB3_3: # %for.inc.i
+ # in Loop: Header=BB3_1 Depth=1
+ end_block # label9:
+ i32.const $push83=, 10
+ i32.eq $push42=, $7, $pop83
+ br_if $pop42, 1 # 1: down to label8
+# BB#4: # %for.inc.i.for.body.i_crit_edge
+ # in Loop: Header=BB3_1 Depth=1
+ i32.load $6=, 0($5)
+ i32.const $push85=, 1
+ i32.add $7=, $7, $pop85
+ i32.const $push84=, 4
+ i32.add $5=, $5, $pop84
+ br 0 # 0: up to label7
+.LBB3_5: # %verify.exit
+ end_loop # label8:
+ i32.const $14=, 64
+ i32.add $18=, $19, $14
+ i32.const $14=, __stack_pointer
+ i32.store $18=, 0($14), $18
+ return
+ .endfunc
+.Lfunc_end3:
+ .size varargs2, .Lfunc_end3-varargs2
+
+ .section .text.varargs3,"ax",@progbits
+ .type varargs3,@function
+varargs3: # @varargs3
+ .param i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 64
+ i32.sub $18=, $13, $14
+ copy_local $19=, $18
+ i32.const $14=, __stack_pointer
+ i32.store $18=, 0($14), $18
+ i32.store $discard=, 60($18), $19
+ i32.load $8=, 60($18)
+ i32.const $push64=, 8
+ i32.const $16=, 16
+ i32.add $16=, $18, $16
+ i32.or $push1=, $16, $pop64
+ i64.const $push2=, 12884901890
+ i64.store $discard=, 0($pop1), $pop2
+ i32.const $push3=, 3
+ i32.add $push4=, $8, $pop3
+ i32.const $push5=, -4
+ i32.and $push6=, $pop4, $pop5
+ tee_local $push63=, $8=, $pop6
+ i32.const $push62=, 4
+ i32.add $push7=, $pop63, $pop62
+ i32.store $discard=, 60($18), $pop7
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 16($18):p2align=4, $pop0
+ i32.load $6=, 60($18)
+ i32.load $push8=, 0($8)
+ i32.store $discard=, 32($18):p2align=4, $pop8
+ i32.const $push61=, 3
+ i32.add $push9=, $6, $pop61
+ i32.const $push60=, -4
+ i32.and $push10=, $pop9, $pop60
+ tee_local $push59=, $8=, $pop10
+ i32.const $push58=, 4
+ i32.add $push11=, $pop59, $pop58
+ i32.store $discard=, 60($18), $pop11
+ i32.load $push12=, 0($8)
+ i32.store $discard=, 36($18), $pop12
+ i32.const $push13=, 7
+ i32.add $push14=, $8, $pop13
+ i32.const $push57=, -4
+ i32.and $push15=, $pop14, $pop57
+ tee_local $push56=, $8=, $pop15
+ i32.const $push55=, 4
+ i32.add $push16=, $pop56, $pop55
+ i32.store $discard=, 60($18), $pop16
+ i32.load $push17=, 0($8)
+ i32.store $discard=, 40($18):p2align=3, $pop17
+ i32.const $push54=, 7
+ i32.add $push18=, $8, $pop54
+ i32.const $push53=, -4
+ i32.and $push19=, $pop18, $pop53
+ tee_local $push52=, $8=, $pop19
+ i32.const $push51=, 4
+ i32.add $push20=, $pop52, $pop51
+ i32.store $discard=, 60($18), $pop20
+ i32.load $push21=, 0($8)
+ i32.store $discard=, 44($18), $pop21
+ i32.const $push50=, 7
+ i32.add $push22=, $8, $pop50
+ i32.const $push49=, -4
+ i32.and $push23=, $pop22, $pop49
+ tee_local $push48=, $8=, $pop23
+ i32.const $push47=, 4
+ i32.add $push24=, $pop48, $pop47
+ i32.store $discard=, 60($18), $pop24
+ i32.load $push25=, 0($8)
+ i32.store $discard=, 48($18):p2align=4, $pop25
+ i32.const $push46=, 7
+ i32.add $push26=, $8, $pop46
+ i32.const $push45=, -4
+ i32.and $push27=, $pop26, $pop45
+ tee_local $push44=, $8=, $pop27
+ i32.const $push43=, 4
+ i32.add $push28=, $pop44, $pop43
+ i32.store $discard=, 60($18), $pop28
+ i32.load $push29=, 0($8)
+ i32.store $discard=, 52($18), $pop29
+ i32.const $push42=, 7
+ i32.add $push30=, $8, $pop42
+ i32.const $push41=, -4
+ i32.and $push31=, $pop30, $pop41
+ tee_local $push40=, $8=, $pop31
+ i32.const $push39=, 4
+ i32.add $push32=, $pop40, $pop39
+ i32.store $discard=, 60($18), $pop32
+ i32.load $push33=, 0($8)
+ i32.store $discard=, 56($18):p2align=3, $pop33
+ i32.const $push38=, 4
+ i32.const $17=, 16
+ i32.add $17=, $18, $17
+ i32.or $6=, $17, $pop38
+ i32.const $7=, 0
+ i32.const $8=, 0
+.LBB4_1: # %for.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label10:
+ block
+ i32.eq $push34=, $8, $7
+ br_if $pop34, 0 # 0: down to label12
+# BB#2: # %if.then.i
+ # in Loop: Header=BB4_1 Depth=1
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 16
+ i32.sub $18=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $18=, 0($10), $18
+ i32.const $push72=, .L.str.4
+ i32.store $discard=, 0($18), $pop72
+ i32.const $push71=, 12
+ i32.add $4=, $18, $pop71
+ i32.store $4=, 0($4), $8
+ i32.const $push70=, 8
+ i32.add $5=, $18, $pop70
+ i32.store $discard=, 0($5), $7
+ i32.const $push69=, 4
+ i32.add $7=, $18, $pop69
+ i32.store $discard=, 0($7), $4
+ i32.const $push68=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop68
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 16
+ i32.add $18=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $18=, 0($12), $18
+ i32.const $push67=, 0
+ i32.const $push66=, 0
+ i32.load $push35=, errors($pop66)
+ i32.const $push65=, 1
+ i32.add $push36=, $pop35, $pop65
+ i32.store $discard=, errors($pop67), $pop36
+.LBB4_3: # %for.inc.i
+ # in Loop: Header=BB4_1 Depth=1
+ end_block # label12:
+ i32.const $push73=, 10
+ i32.eq $push37=, $8, $pop73
+ br_if $pop37, 1 # 1: down to label11
+# BB#4: # %for.inc.i.for.body.i_crit_edge
+ # in Loop: Header=BB4_1 Depth=1
+ i32.load $7=, 0($6)
+ i32.const $push75=, 1
+ i32.add $8=, $8, $pop75
+ i32.const $push74=, 4
+ i32.add $6=, $6, $pop74
+ br 0 # 0: up to label10
+.LBB4_5: # %verify.exit
+ end_loop # label11:
+ i32.const $15=, 64
+ i32.add $18=, $19, $15
+ i32.const $15=, __stack_pointer
+ i32.store $18=, 0($15), $18
+ return
+ .endfunc
+.Lfunc_end4:
+ .size varargs3, .Lfunc_end4-varargs3
+
+ .section .text.varargs4,"ax",@progbits
+ .type varargs4,@function
+varargs4: # @varargs4
+ .param i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 64
+ i32.sub $20=, $15, $16
+ copy_local $21=, $20
+ i32.const $16=, __stack_pointer
+ i32.store $20=, 0($16), $20
+ i32.store $discard=, 60($20), $21
+ i32.load $9=, 60($20)
+ i32.const $push53=, 8
+ i32.const $18=, 16
+ i32.add $18=, $20, $18
+ i32.or $push2=, $18, $pop53
+ i64.const $push3=, 12884901890
+ i64.store $discard=, 0($pop2), $pop3
+ i32.const $push5=, 3
+ i32.add $push6=, $9, $pop5
+ i32.const $push7=, -4
+ i32.and $push8=, $pop6, $pop7
+ tee_local $push52=, $9=, $pop8
+ i32.const $push1=, 4
+ i32.store $push4=, 32($20):p2align=4, $pop1
+ tee_local $push51=, $10=, $pop4
+ i32.add $push9=, $pop52, $pop51
+ i32.store $discard=, 60($20), $pop9
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 16($20):p2align=4, $pop0
+ i32.load $7=, 60($20)
+ i32.load $push10=, 0($9)
+ i32.store $discard=, 36($20), $pop10
+ i32.const $push50=, 3
+ i32.add $push11=, $7, $pop50
+ i32.const $push49=, -4
+ i32.and $push12=, $pop11, $pop49
+ tee_local $push48=, $9=, $pop12
+ i32.add $push13=, $10, $pop48
+ i32.store $discard=, 60($20), $pop13
+ i32.load $push14=, 0($9)
+ i32.store $discard=, 40($20):p2align=3, $pop14
+ i32.const $push15=, 7
+ i32.add $push16=, $9, $pop15
+ i32.const $push47=, -4
+ i32.and $push17=, $pop16, $pop47
+ tee_local $push46=, $9=, $pop17
+ i32.add $push18=, $10, $pop46
+ i32.store $discard=, 60($20), $pop18
+ i32.load $push19=, 0($9)
+ i32.store $discard=, 44($20), $pop19
+ i32.const $push45=, 7
+ i32.add $push20=, $9, $pop45
+ i32.const $push44=, -4
+ i32.and $push21=, $pop20, $pop44
+ tee_local $push43=, $9=, $pop21
+ i32.add $push22=, $10, $pop43
+ i32.store $discard=, 60($20), $pop22
+ i32.load $push23=, 0($9)
+ i32.store $discard=, 48($20):p2align=4, $pop23
+ i32.const $push42=, 7
+ i32.add $push24=, $9, $pop42
+ i32.const $push41=, -4
+ i32.and $push25=, $pop24, $pop41
+ tee_local $push40=, $9=, $pop25
+ i32.add $push26=, $10, $pop40
+ i32.store $discard=, 60($20), $pop26
+ i32.load $push27=, 0($9)
+ i32.store $discard=, 52($20), $pop27
+ i32.const $push39=, 7
+ i32.add $push28=, $9, $pop39
+ i32.const $push38=, -4
+ i32.and $push29=, $pop28, $pop38
+ tee_local $push37=, $9=, $pop29
+ i32.add $push30=, $10, $pop37
+ i32.store $discard=, 60($20), $pop30
+ i32.load $push31=, 0($9)
+ i32.store $discard=, 56($20):p2align=3, $pop31
+ i32.const $push36=, 4
+ i32.const $19=, 16
+ i32.add $19=, $20, $19
+ i32.or $7=, $19, $pop36
+ i32.const $8=, 0
+ i32.const $9=, 0
+.LBB5_1: # %for.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label13:
+ block
+ i32.eq $push32=, $9, $8
+ br_if $pop32, 0 # 0: down to label15
+# BB#2: # %if.then.i
+ # in Loop: Header=BB5_1 Depth=1
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 16
+ i32.sub $20=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $20=, 0($12), $20
+ i32.const $push60=, .L.str.5
+ i32.store $discard=, 0($20), $pop60
+ i32.const $push59=, 12
+ i32.add $5=, $20, $pop59
+ i32.store $5=, 0($5), $9
+ i32.const $push58=, 8
+ i32.add $6=, $20, $pop58
+ i32.store $discard=, 0($6), $8
+ i32.add $8=, $20, $10
+ i32.store $discard=, 0($8), $5
+ i32.const $push57=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop57
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 16
+ i32.add $20=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $20=, 0($14), $20
+ i32.const $push56=, 0
+ i32.const $push55=, 0
+ i32.load $push33=, errors($pop55)
+ i32.const $push54=, 1
+ i32.add $push34=, $pop33, $pop54
+ i32.store $discard=, errors($pop56), $pop34
+.LBB5_3: # %for.inc.i
+ # in Loop: Header=BB5_1 Depth=1
+ end_block # label15:
+ i32.const $push61=, 10
+ i32.eq $push35=, $9, $pop61
+ br_if $pop35, 1 # 1: down to label14
+# BB#4: # %for.inc.i.for.body.i_crit_edge
+ # in Loop: Header=BB5_1 Depth=1
+ i32.load $8=, 0($7)
+ i32.const $push62=, 1
+ i32.add $9=, $9, $pop62
+ i32.add $7=, $7, $10
+ br 0 # 0: up to label13
+.LBB5_5: # %verify.exit
+ end_loop # label14:
+ i32.const $17=, 64
+ i32.add $20=, $21, $17
+ i32.const $17=, __stack_pointer
+ i32.store $20=, 0($17), $20
+ return
+ .endfunc
+.Lfunc_end5:
+ .size varargs4, .Lfunc_end5-varargs4
+
+ .section .text.varargs5,"ax",@progbits
+ .type varargs5,@function
+varargs5: # @varargs5
+ .param i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 64
+ i32.sub $20=, $15, $16
+ copy_local $21=, $20
+ i32.const $16=, __stack_pointer
+ i32.store $20=, 0($16), $20
+ i32.store $discard=, 60($20), $21
+ i32.load $10=, 60($20)
+ i32.const $push49=, 8
+ i32.const $18=, 16
+ i32.add $18=, $20, $18
+ i32.or $push1=, $18, $pop49
+ i64.const $push2=, 12884901890
+ i64.store $discard=, 0($pop1), $pop2
+ i32.const $push4=, 3
+ i32.add $push5=, $10, $pop4
+ i32.const $push6=, -4
+ i32.and $push7=, $pop5, $pop6
+ tee_local $push48=, $10=, $pop7
+ i32.const $push47=, 4
+ i32.add $push8=, $pop48, $pop47
+ i32.store $discard=, 60($20), $pop8
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 16($20):p2align=4, $pop0
+ i64.const $push3=, 21474836484
+ i64.store $discard=, 32($20):p2align=4, $pop3
+ i32.load $8=, 60($20)
+ i32.load $push9=, 0($10)
+ i32.store $discard=, 40($20):p2align=3, $pop9
+ i32.const $push46=, 3
+ i32.add $push10=, $8, $pop46
+ i32.const $push45=, -4
+ i32.and $push11=, $pop10, $pop45
+ tee_local $push44=, $10=, $pop11
+ i32.const $push43=, 4
+ i32.add $push12=, $pop44, $pop43
+ i32.store $discard=, 60($20), $pop12
+ i32.load $push13=, 0($10)
+ i32.store $discard=, 44($20), $pop13
+ i32.const $push14=, 7
+ i32.add $push15=, $10, $pop14
+ i32.const $push42=, -4
+ i32.and $push16=, $pop15, $pop42
+ tee_local $push41=, $10=, $pop16
+ i32.const $push40=, 4
+ i32.add $push17=, $pop41, $pop40
+ i32.store $discard=, 60($20), $pop17
+ i32.load $push18=, 0($10)
+ i32.store $discard=, 48($20):p2align=4, $pop18
+ i32.const $push39=, 7
+ i32.add $push19=, $10, $pop39
+ i32.const $push38=, -4
+ i32.and $push20=, $pop19, $pop38
+ tee_local $push37=, $10=, $pop20
+ i32.const $push36=, 4
+ i32.add $push21=, $pop37, $pop36
+ i32.store $discard=, 60($20), $pop21
+ i32.load $push22=, 0($10)
+ i32.store $discard=, 52($20), $pop22
+ i32.const $push35=, 7
+ i32.add $push23=, $10, $pop35
+ i32.const $push34=, -4
+ i32.and $push24=, $pop23, $pop34
+ tee_local $push33=, $10=, $pop24
+ i32.const $push32=, 4
+ i32.add $push25=, $pop33, $pop32
+ i32.store $discard=, 60($20), $pop25
+ i32.load $push26=, 0($10)
+ i32.store $discard=, 56($20):p2align=3, $pop26
+ i32.const $push31=, 4
+ i32.const $19=, 16
+ i32.add $19=, $20, $19
+ i32.or $8=, $19, $pop31
+ i32.const $9=, 0
+ i32.const $10=, 0
+.LBB6_1: # %for.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label16:
+ block
+ i32.eq $push27=, $10, $9
+ br_if $pop27, 0 # 0: down to label18
+# BB#2: # %if.then.i
+ # in Loop: Header=BB6_1 Depth=1
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 16
+ i32.sub $20=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $20=, 0($12), $20
+ i32.const $push57=, .L.str.6
+ i32.store $discard=, 0($20), $pop57
+ i32.const $push56=, 12
+ i32.add $6=, $20, $pop56
+ i32.store $6=, 0($6), $10
+ i32.const $push55=, 8
+ i32.add $7=, $20, $pop55
+ i32.store $discard=, 0($7), $9
+ i32.const $push54=, 4
+ i32.add $9=, $20, $pop54
+ i32.store $discard=, 0($9), $6
+ i32.const $push53=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop53
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 16
+ i32.add $20=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $20=, 0($14), $20
+ i32.const $push52=, 0
+ i32.const $push51=, 0
+ i32.load $push28=, errors($pop51)
+ i32.const $push50=, 1
+ i32.add $push29=, $pop28, $pop50
+ i32.store $discard=, errors($pop52), $pop29
+.LBB6_3: # %for.inc.i
+ # in Loop: Header=BB6_1 Depth=1
+ end_block # label18:
+ i32.const $push58=, 10
+ i32.eq $push30=, $10, $pop58
+ br_if $pop30, 1 # 1: down to label17
+# BB#4: # %for.inc.i.for.body.i_crit_edge
+ # in Loop: Header=BB6_1 Depth=1
+ i32.load $9=, 0($8)
+ i32.const $push60=, 1
+ i32.add $10=, $10, $pop60
+ i32.const $push59=, 4
+ i32.add $8=, $8, $pop59
+ br 0 # 0: up to label16
+.LBB6_5: # %verify.exit
+ end_loop # label17:
+ i32.const $17=, 64
+ i32.add $20=, $21, $17
+ i32.const $17=, __stack_pointer
+ i32.store $20=, 0($17), $20
+ return
+ .endfunc
+.Lfunc_end6:
+ .size varargs5, .Lfunc_end6-varargs5
+
+ .section .text.varargs6,"ax",@progbits
+ .type varargs6,@function
+varargs6: # @varargs6
+ .param i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $16=, __stack_pointer
+ i32.load $16=, 0($16)
+ i32.const $17=, 64
+ i32.sub $21=, $16, $17
+ copy_local $22=, $21
+ i32.const $17=, __stack_pointer
+ i32.store $21=, 0($17), $21
+ i32.const $push42=, 8
+ i32.const $19=, 16
+ i32.add $19=, $21, $19
+ i32.or $push1=, $19, $pop42
+ i64.const $push2=, 12884901890
+ i64.store $discard=, 0($pop1), $pop2
+ i32.store $discard=, 60($21), $22
+ i32.load $11=, 60($21)
+ i32.const $push4=, 6
+ i32.store $discard=, 40($21):p2align=3, $pop4
+ i32.const $push5=, 3
+ i32.add $push6=, $11, $pop5
+ i32.const $push7=, -4
+ i32.and $push8=, $pop6, $pop7
+ tee_local $push41=, $11=, $pop8
+ i32.const $push40=, 4
+ i32.add $push9=, $pop41, $pop40
+ i32.store $discard=, 60($21), $pop9
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 16($21):p2align=4, $pop0
+ i64.const $push3=, 21474836484
+ i64.store $discard=, 32($21):p2align=4, $pop3
+ i32.load $9=, 60($21)
+ i32.load $push10=, 0($11)
+ i32.store $discard=, 44($21), $pop10
+ i32.const $push39=, 3
+ i32.add $push11=, $9, $pop39
+ i32.const $push38=, -4
+ i32.and $push12=, $pop11, $pop38
+ tee_local $push37=, $11=, $pop12
+ i32.const $push36=, 4
+ i32.add $push13=, $pop37, $pop36
+ i32.store $discard=, 60($21), $pop13
+ i32.load $push14=, 0($11)
+ i32.store $discard=, 48($21):p2align=4, $pop14
+ i32.const $push15=, 7
+ i32.add $push16=, $11, $pop15
+ i32.const $push35=, -4
+ i32.and $push17=, $pop16, $pop35
+ tee_local $push34=, $11=, $pop17
+ i32.const $push33=, 4
+ i32.add $push18=, $pop34, $pop33
+ i32.store $discard=, 60($21), $pop18
+ i32.load $push19=, 0($11)
+ i32.store $discard=, 52($21), $pop19
+ i32.const $push32=, 7
+ i32.add $push20=, $11, $pop32
+ i32.const $push31=, -4
+ i32.and $push21=, $pop20, $pop31
+ tee_local $push30=, $11=, $pop21
+ i32.const $push29=, 4
+ i32.add $push22=, $pop30, $pop29
+ i32.store $discard=, 60($21), $pop22
+ i32.load $push23=, 0($11)
+ i32.store $discard=, 56($21):p2align=3, $pop23
+ i32.const $push28=, 4
+ i32.const $20=, 16
+ i32.add $20=, $21, $20
+ i32.or $9=, $20, $pop28
+ i32.const $10=, 0
+ i32.const $11=, 0
+.LBB7_1: # %for.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label19:
+ block
+ i32.eq $push24=, $11, $10
+ br_if $pop24, 0 # 0: down to label21
+# BB#2: # %if.then.i
+ # in Loop: Header=BB7_1 Depth=1
+ i32.const $12=, __stack_pointer
+ i32.load $12=, 0($12)
+ i32.const $13=, 16
+ i32.sub $21=, $12, $13
+ i32.const $13=, __stack_pointer
+ i32.store $21=, 0($13), $21
+ i32.const $push50=, .L.str.7
+ i32.store $discard=, 0($21), $pop50
+ i32.const $push49=, 12
+ i32.add $7=, $21, $pop49
+ i32.store $7=, 0($7), $11
+ i32.const $push48=, 8
+ i32.add $8=, $21, $pop48
+ i32.store $discard=, 0($8), $10
+ i32.const $push47=, 4
+ i32.add $10=, $21, $pop47
+ i32.store $discard=, 0($10), $7
+ i32.const $push46=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop46
+ i32.const $14=, __stack_pointer
+ i32.load $14=, 0($14)
+ i32.const $15=, 16
+ i32.add $21=, $14, $15
+ i32.const $15=, __stack_pointer
+ i32.store $21=, 0($15), $21
+ i32.const $push45=, 0
+ i32.const $push44=, 0
+ i32.load $push25=, errors($pop44)
+ i32.const $push43=, 1
+ i32.add $push26=, $pop25, $pop43
+ i32.store $discard=, errors($pop45), $pop26
+.LBB7_3: # %for.inc.i
+ # in Loop: Header=BB7_1 Depth=1
+ end_block # label21:
+ i32.const $push51=, 10
+ i32.eq $push27=, $11, $pop51
+ br_if $pop27, 1 # 1: down to label20
+# BB#4: # %for.inc.i.for.body.i_crit_edge
+ # in Loop: Header=BB7_1 Depth=1
+ i32.load $10=, 0($9)
+ i32.const $push53=, 1
+ i32.add $11=, $11, $pop53
+ i32.const $push52=, 4
+ i32.add $9=, $9, $pop52
+ br 0 # 0: up to label19
+.LBB7_5: # %verify.exit
+ end_loop # label20:
+ i32.const $18=, 64
+ i32.add $21=, $22, $18
+ i32.const $18=, __stack_pointer
+ i32.store $21=, 0($18), $21
+ return
+ .endfunc
+.Lfunc_end7:
+ .size varargs6, .Lfunc_end7-varargs6
+
+ .section .text.varargs7,"ax",@progbits
+ .type varargs7,@function
+varargs7: # @varargs7
+ .param i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 64
+ i32.sub $22=, $17, $18
+ copy_local $23=, $22
+ i32.const $18=, __stack_pointer
+ i32.store $22=, 0($18), $22
+ i32.store $discard=, 60($22), $23
+ i32.load $12=, 60($22)
+ i32.const $push34=, 8
+ i32.const $20=, 16
+ i32.add $20=, $22, $20
+ i32.or $push1=, $20, $pop34
+ i64.const $push2=, 12884901890
+ i64.store $discard=, 0($pop1), $pop2
+ i32.const $push5=, 3
+ i32.add $push6=, $12, $pop5
+ i32.const $push7=, -4
+ i32.and $push8=, $pop6, $pop7
+ tee_local $push33=, $12=, $pop8
+ i32.const $push32=, 4
+ i32.add $push9=, $pop33, $pop32
+ i32.store $discard=, 60($22), $pop9
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 16($22):p2align=4, $pop0
+ i64.const $push3=, 21474836484
+ i64.store $discard=, 32($22):p2align=4, $pop3
+ i64.const $push4=, 30064771078
+ i64.store $discard=, 40($22), $pop4
+ i32.load $10=, 60($22)
+ i32.load $push10=, 0($12)
+ i32.store $discard=, 48($22):p2align=4, $pop10
+ i32.const $push31=, 3
+ i32.add $push11=, $10, $pop31
+ i32.const $push30=, -4
+ i32.and $push12=, $pop11, $pop30
+ tee_local $push29=, $12=, $pop12
+ i32.const $push28=, 4
+ i32.add $push13=, $pop29, $pop28
+ i32.store $discard=, 60($22), $pop13
+ i32.load $push14=, 0($12)
+ i32.store $discard=, 52($22), $pop14
+ i32.const $push15=, 7
+ i32.add $push16=, $12, $pop15
+ i32.const $push27=, -4
+ i32.and $push17=, $pop16, $pop27
+ tee_local $push26=, $12=, $pop17
+ i32.const $push25=, 4
+ i32.add $push18=, $pop26, $pop25
+ i32.store $discard=, 60($22), $pop18
+ i32.load $push19=, 0($12)
+ i32.store $discard=, 56($22):p2align=3, $pop19
+ i32.const $push24=, 4
+ i32.const $21=, 16
+ i32.add $21=, $22, $21
+ i32.or $10=, $21, $pop24
+ i32.const $11=, 0
+ i32.const $12=, 0
+.LBB8_1: # %for.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label22:
+ block
+ i32.eq $push20=, $12, $11
+ br_if $pop20, 0 # 0: down to label24
+# BB#2: # %if.then.i
+ # in Loop: Header=BB8_1 Depth=1
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 16
+ i32.sub $22=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $22=, 0($14), $22
+ i32.const $push42=, .L.str.8
+ i32.store $discard=, 0($22), $pop42
+ i32.const $push41=, 12
+ i32.add $8=, $22, $pop41
+ i32.store $8=, 0($8), $12
+ i32.const $push40=, 8
+ i32.add $9=, $22, $pop40
+ i32.store $discard=, 0($9), $11
+ i32.const $push39=, 4
+ i32.add $11=, $22, $pop39
+ i32.store $discard=, 0($11), $8
+ i32.const $push38=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop38
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 16
+ i32.add $22=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $22=, 0($16), $22
+ i32.const $push37=, 0
+ i32.const $push36=, 0
+ i32.load $push21=, errors($pop36)
+ i32.const $push35=, 1
+ i32.add $push22=, $pop21, $pop35
+ i32.store $discard=, errors($pop37), $pop22
+.LBB8_3: # %for.inc.i
+ # in Loop: Header=BB8_1 Depth=1
+ end_block # label24:
+ i32.const $push43=, 10
+ i32.eq $push23=, $12, $pop43
+ br_if $pop23, 1 # 1: down to label23
+# BB#4: # %for.inc.i.for.body.i_crit_edge
+ # in Loop: Header=BB8_1 Depth=1
+ i32.load $11=, 0($10)
+ i32.const $push45=, 1
+ i32.add $12=, $12, $pop45
+ i32.const $push44=, 4
+ i32.add $10=, $10, $pop44
+ br 0 # 0: up to label22
+.LBB8_5: # %verify.exit
+ end_loop # label23:
+ i32.const $19=, 64
+ i32.add $22=, $23, $19
+ i32.const $19=, __stack_pointer
+ i32.store $22=, 0($19), $22
+ return
+ .endfunc
+.Lfunc_end8:
+ .size varargs7, .Lfunc_end8-varargs7
+
+ .section .text.varargs8,"ax",@progbits
+ .type varargs8,@function
+varargs8: # @varargs8
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 64
+ i32.sub $24=, $19, $20
+ copy_local $25=, $24
+ i32.const $20=, __stack_pointer
+ i32.store $24=, 0($20), $24
+ i32.store $discard=, 60($24), $25
+ i32.load $14=, 60($24)
+ i32.const $push1=, 8
+ i32.const $22=, 16
+ i32.add $22=, $24, $22
+ i32.or $push2=, $22, $pop1
+ i64.const $push3=, 12884901890
+ i64.store $discard=, 0($pop2), $pop3
+ i32.const $push6=, 3
+ i32.add $push7=, $14, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push27=, $14=, $pop9
+ i32.const $push26=, 4
+ i32.add $push10=, $pop27, $pop26
+ i32.store $discard=, 60($24), $pop10
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 16($24):p2align=4, $pop0
+ i64.const $push4=, 21474836484
+ i64.store $discard=, 32($24):p2align=4, $pop4
+ i64.const $push5=, 30064771078
+ i64.store $discard=, 40($24), $pop5
+ i32.const $push25=, 8
+ i32.store $9=, 48($24):p2align=4, $pop25
+ i32.load $12=, 60($24)
+ i32.load $push11=, 0($14)
+ i32.store $discard=, 52($24), $pop11
+ i32.const $push24=, 3
+ i32.add $push12=, $12, $pop24
+ i32.const $push23=, -4
+ i32.and $push13=, $pop12, $pop23
+ tee_local $push22=, $14=, $pop13
+ i32.const $push21=, 4
+ i32.add $push14=, $pop22, $pop21
+ i32.store $discard=, 60($24), $pop14
+ i32.load $push15=, 0($14)
+ i32.store $discard=, 56($24):p2align=3, $pop15
+ i32.const $push20=, 4
+ i32.const $23=, 16
+ i32.add $23=, $24, $23
+ i32.or $12=, $23, $pop20
+ i32.const $13=, 0
+ i32.const $14=, 0
+.LBB9_1: # %for.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label25:
+ block
+ i32.eq $push16=, $14, $13
+ br_if $pop16, 0 # 0: down to label27
+# BB#2: # %if.then.i
+ # in Loop: Header=BB9_1 Depth=1
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 16
+ i32.sub $24=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $24=, 0($16), $24
+ i32.const $push34=, .L.str.9
+ i32.store $discard=, 0($24), $pop34
+ i32.const $push33=, 12
+ i32.add $10=, $24, $pop33
+ i32.store $10=, 0($10), $14
+ i32.add $11=, $24, $9
+ i32.store $discard=, 0($11), $13
+ i32.const $push32=, 4
+ i32.add $13=, $24, $pop32
+ i32.store $discard=, 0($13), $10
+ i32.const $push31=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop31
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 16
+ i32.add $24=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $24=, 0($18), $24
+ i32.const $push30=, 0
+ i32.const $push29=, 0
+ i32.load $push17=, errors($pop29)
+ i32.const $push28=, 1
+ i32.add $push18=, $pop17, $pop28
+ i32.store $discard=, errors($pop30), $pop18
+.LBB9_3: # %for.inc.i
+ # in Loop: Header=BB9_1 Depth=1
+ end_block # label27:
+ i32.const $push35=, 10
+ i32.eq $push19=, $14, $pop35
+ br_if $pop19, 1 # 1: down to label26
+# BB#4: # %for.inc.i.for.body.i_crit_edge
+ # in Loop: Header=BB9_1 Depth=1
+ i32.load $13=, 0($12)
+ i32.const $push37=, 1
+ i32.add $14=, $14, $pop37
+ i32.const $push36=, 4
+ i32.add $12=, $12, $pop36
+ br 0 # 0: up to label25
+.LBB9_5: # %verify.exit
+ end_loop # label26:
+ i32.const $21=, 64
+ i32.add $24=, $25, $21
+ i32.const $21=, __stack_pointer
+ i32.store $24=, 0($21), $24
+ return
+ .endfunc
+.Lfunc_end9:
+ .size varargs8, .Lfunc_end9-varargs8
+
+ .section .text.varargs9,"ax",@progbits
+ .type varargs9,@function
+varargs9: # @varargs9
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 64
+ i32.sub $24=, $19, $20
+ copy_local $25=, $24
+ i32.const $20=, __stack_pointer
+ i32.store $24=, 0($20), $24
+ i32.store $discard=, 60($24), $25
+ i32.load $14=, 60($24)
+ i32.const $push19=, 8
+ i32.const $22=, 16
+ i32.add $22=, $24, $22
+ i32.or $push1=, $22, $pop19
+ i64.const $push2=, 12884901890
+ i64.store $discard=, 0($pop1), $pop2
+ i32.const $push6=, 3
+ i32.add $push7=, $14, $pop6
+ i32.const $push8=, -4
+ i32.and $push9=, $pop7, $pop8
+ tee_local $push18=, $14=, $pop9
+ i32.const $push17=, 4
+ i32.add $push10=, $pop18, $pop17
+ i32.store $discard=, 60($24), $pop10
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 16($24):p2align=4, $pop0
+ i64.const $push3=, 21474836484
+ i64.store $discard=, 32($24):p2align=4, $pop3
+ i64.const $push4=, 30064771078
+ i64.store $discard=, 40($24), $pop4
+ i64.const $push5=, 38654705672
+ i64.store $discard=, 48($24):p2align=4, $pop5
+ i32.load $push11=, 0($14)
+ i32.store $discard=, 56($24):p2align=3, $pop11
+ i32.const $push16=, 4
+ i32.const $23=, 16
+ i32.add $23=, $24, $23
+ i32.or $12=, $23, $pop16
+ i32.const $13=, 0
+ i32.const $14=, 0
+.LBB10_1: # %for.body.i
+ # =>This Inner Loop Header: Depth=1
+ loop # label28:
+ block
+ i32.eq $push12=, $14, $13
+ br_if $pop12, 0 # 0: down to label30
+# BB#2: # %if.then.i
+ # in Loop: Header=BB10_1 Depth=1
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 16
+ i32.sub $24=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $24=, 0($16), $24
+ i32.const $push27=, .L.str.10
+ i32.store $discard=, 0($24), $pop27
+ i32.const $push26=, 12
+ i32.add $10=, $24, $pop26
+ i32.store $10=, 0($10), $14
+ i32.const $push25=, 8
+ i32.add $11=, $24, $pop25
+ i32.store $discard=, 0($11), $13
+ i32.const $push24=, 4
+ i32.add $13=, $24, $pop24
+ i32.store $discard=, 0($13), $10
+ i32.const $push23=, .L.str.1
+ i32.call $discard=, printf@FUNCTION, $pop23
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 16
+ i32.add $24=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $24=, 0($18), $24
+ i32.const $push22=, 0
+ i32.const $push21=, 0
+ i32.load $push13=, errors($pop21)
+ i32.const $push20=, 1
+ i32.add $push14=, $pop13, $pop20
+ i32.store $discard=, errors($pop22), $pop14
+.LBB10_3: # %for.inc.i
+ # in Loop: Header=BB10_1 Depth=1
+ end_block # label30:
+ i32.const $push28=, 10
+ i32.eq $push15=, $14, $pop28
+ br_if $pop15, 1 # 1: down to label29
+# BB#4: # %for.inc.i.for.body.i_crit_edge
+ # in Loop: Header=BB10_1 Depth=1
+ i32.load $13=, 0($12)
+ i32.const $push30=, 1
+ i32.add $14=, $14, $pop30
+ i32.const $push29=, 4
+ i32.add $12=, $12, $pop29
+ br 0 # 0: up to label28
+.LBB10_5: # %verify.exit
+ end_loop # label29:
+ i32.const $21=, 64
+ i32.add $24=, $25, $21
+ i32.const $21=, __stack_pointer
+ i32.store $24=, 0($21), $24
+ return
+ .endfunc
+.Lfunc_end10:
+ .size varargs9, .Lfunc_end10-varargs9
+
+ .type errors,@object # @errors
+ .lcomm errors,4,2
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "varargs0"
+ .size .L.str, 9
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz " %s: n[%d] = %d expected %d\n"
+ .size .L.str.1, 29
+
+ .type .L.str.2,@object # @.str.2
+.L.str.2:
+ .asciz "varargs1"
+ .size .L.str.2, 9
+
+ .type .L.str.3,@object # @.str.3
+.L.str.3:
+ .asciz "varargs2"
+ .size .L.str.3, 9
+
+ .type .L.str.4,@object # @.str.4
+.L.str.4:
+ .asciz "varargs3"
+ .size .L.str.4, 9
+
+ .type .L.str.5,@object # @.str.5
+.L.str.5:
+ .asciz "varargs4"
+ .size .L.str.5, 9
+
+ .type .L.str.6,@object # @.str.6
+.L.str.6:
+ .asciz "varargs5"
+ .size .L.str.6, 9
+
+ .type .L.str.7,@object # @.str.7
+.L.str.7:
+ .asciz "varargs6"
+ .size .L.str.7, 9
+
+ .type .L.str.8,@object # @.str.8
+.L.str.8:
+ .asciz "varargs7"
+ .size .L.str.8, 9
+
+ .type .L.str.9,@object # @.str.9
+.L.str.9:
+ .asciz "varargs8"
+ .size .L.str.9, 9
+
+ .type .L.str.10,@object # @.str.10
+.L.str.10:
+ .asciz "varargs9"
+ .size .L.str.10, 9
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-26.c.s b/test/torture-s/va-arg-26.c.s
new file mode 100644
index 000000000..f014a03b9
--- /dev/null
+++ b/test/torture-s/va-arg-26.c.s
@@ -0,0 +1,84 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-26.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param f32, f32, f32, f32, f32, f32
+ .result f64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 16
+ i32.sub $10=, $7, $8
+ copy_local $11=, $10
+ i32.const $8=, __stack_pointer
+ i32.store $10=, 0($8), $10
+ i32.store $push0=, 12($10), $11
+ i32.const $push1=, 7
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -8
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push8=, $6=, $pop4
+ i32.const $push5=, 8
+ i32.add $push6=, $pop8, $pop5
+ i32.store $discard=, 12($10), $pop6
+ f64.load $push7=, 0($6)
+ i32.const $9=, 16
+ i32.add $10=, $11, $9
+ i32.const $9=, __stack_pointer
+ i32.store $10=, 0($9), $10
+ return $pop7
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local f64, f32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $8=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 8
+ i32.sub $8=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $8=, 0($3), $8
+ i64.const $push0=, 4619567317775286272
+ i64.store $discard=, 0($8), $pop0
+ f64.call $0=, f@FUNCTION, $1, $1, $1, $1, $1, $1
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 8
+ i32.add $8=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $8=, 0($5), $8
+ block
+ f64.const $push1=, 0x1.cp2
+ f64.eq $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %if.then
+ call abort@FUNCTION
+ unreachable
+.LBB1_2: # %if.end
+ end_block # label0:
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-4.c.s b/test/torture-s/va-arg-4.c.s
new file mode 100644
index 000000000..1b3bd4f17
--- /dev/null
+++ b/test/torture-s/va-arg-4.c.s
@@ -0,0 +1,174 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-4.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32, i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ block
+ i32.load8_u $push0=, 0($0)
+ i32.const $push1=, 97
+ i32.ne $push2=, $pop0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %lor.lhs.false
+ i32.load8_u $push3=, 1($0)
+ i32.const $push4=, 98
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label0
+# BB#2: # %lor.lhs.false7
+ i32.load8_u $push6=, 2($0)
+ i32.const $push7=, 99
+ i32.ne $push8=, $pop6, $pop7
+ br_if $pop8, 0 # 0: down to label0
+# BB#3: # %if.end
+ i32.store $push9=, 12($5), $6
+ i32.const $push34=, 3
+ i32.add $push10=, $pop9, $pop34
+ i32.const $push33=, -4
+ i32.and $push11=, $pop10, $pop33
+ tee_local $push32=, $0=, $pop11
+ i32.const $push31=, 4
+ i32.add $push12=, $pop32, $pop31
+ i32.store $discard=, 12($5), $pop12
+ block
+ i32.load $push13=, 0($0)
+ i32.const $push14=, 42
+ i32.ne $push15=, $pop13, $pop14
+ br_if $pop15, 0 # 0: down to label1
+# BB#4: # %if.end17
+ i32.load $push16=, 12($5)
+ i32.const $push38=, 3
+ i32.add $push17=, $pop16, $pop38
+ i32.const $push37=, -4
+ i32.and $push18=, $pop17, $pop37
+ tee_local $push36=, $0=, $pop18
+ i32.const $push35=, 4
+ i32.add $push19=, $pop36, $pop35
+ i32.store $discard=, 12($5), $pop19
+ block
+ i32.load $push20=, 0($0)
+ i32.const $push21=, 120
+ i32.ne $push22=, $pop20, $pop21
+ br_if $pop22, 0 # 0: down to label2
+# BB#5: # %if.end21
+ i32.load $push23=, 12($5)
+ i32.const $push24=, 3
+ i32.add $push25=, $pop23, $pop24
+ i32.const $push26=, -4
+ i32.and $push27=, $pop25, $pop26
+ tee_local $push39=, $0=, $pop27
+ i32.const $push28=, 4
+ i32.add $push29=, $pop39, $pop28
+ i32.store $discard=, 12($5), $pop29
+ block
+ i32.load $push30=, 0($0)
+ br_if $pop30, 0 # 0: down to label3
+# BB#6: # %if.end25
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return
+.LBB0_7: # %if.then24
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_8: # %if.then20
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_9: # %if.then16
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_10: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 48
+ i32.sub $11=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $11=, 0($6), $11
+ i32.const $push2=, 24
+ i32.const $7=, 16
+ i32.add $7=, $11, $7
+ i32.add $push3=, $7, $pop2
+ i32.const $push0=, 0
+ i64.load $push1=, main.x+24($pop0):p2align=0
+ i64.store $discard=, 0($pop3):p2align=2, $pop1
+ i32.const $push5=, 16
+ i32.const $8=, 16
+ i32.add $8=, $11, $8
+ i32.add $push6=, $8, $pop5
+ i32.const $push16=, 0
+ i64.load $push4=, main.x+16($pop16):p2align=0
+ i64.store $discard=, 0($pop6):p2align=2, $pop4
+ i32.const $push8=, 8
+ i32.const $9=, 16
+ i32.add $9=, $11, $9
+ i32.add $push9=, $9, $pop8
+ i32.const $push15=, 0
+ i64.load $push7=, main.x+8($pop15):p2align=0
+ i64.store $discard=, 0($pop9):p2align=2, $pop7
+ i32.const $push14=, 0
+ i64.load $push10=, main.x($pop14):p2align=0
+ i64.store $discard=, 16($11):p2align=2, $pop10
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 12
+ i32.sub $11=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $11=, 0($2), $11
+ i64.const $push11=, 515396075562
+ i64.store $discard=, 0($11):p2align=2, $pop11
+ i32.const $push13=, 8
+ i32.add $0=, $11, $pop13
+ i32.const $push12=, 0
+ i32.store $0=, 0($0), $pop12
+ i32.const $10=, 16
+ i32.add $10=, $11, $10
+ call f@FUNCTION, $10, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 12
+ i32.add $11=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $11=, 0($4), $11
+ call exit@FUNCTION, $0
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .type main.x,@object # @main.x
+ .section .data.main.x,"aw",@progbits
+main.x:
+ .asciz "abc\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ .size main.x, 32
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-5.c.s b/test/torture-s/va-arg-5.c.s
new file mode 100644
index 000000000..54e991ed7
--- /dev/null
+++ b/test/torture-s/va-arg-5.c.s
@@ -0,0 +1,321 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-5.c"
+ .section .text.va_double,"ax",@progbits
+ .hidden va_double
+ .globl va_double
+ .type va_double,@function
+va_double: # @va_double
+ .param i32
+ .result i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 16
+ i32.sub $5=, $2, $3
+ copy_local $6=, $5
+ i32.const $3=, __stack_pointer
+ i32.store $5=, 0($3), $5
+ i32.store $push0=, 12($5), $6
+ i32.const $push31=, 7
+ i32.add $push1=, $pop0, $pop31
+ i32.const $push30=, -8
+ i32.and $push2=, $pop1, $pop30
+ tee_local $push29=, $1=, $pop2
+ i32.const $push28=, 8
+ i32.add $push3=, $pop29, $pop28
+ i32.store $discard=, 12($5), $pop3
+ block
+ f64.load $push4=, 0($1)
+ f64.const $push5=, 0x1.921fafc8b007ap1
+ f64.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push7=, 12($5)
+ i32.const $push35=, 7
+ i32.add $push8=, $pop7, $pop35
+ i32.const $push34=, -8
+ i32.and $push9=, $pop8, $pop34
+ tee_local $push33=, $1=, $pop9
+ i32.const $push32=, 8
+ i32.add $push10=, $pop33, $pop32
+ i32.store $discard=, 12($5), $pop10
+ block
+ f64.load $push11=, 0($1)
+ f64.const $push12=, 0x1.5bf04577d9557p1
+ f64.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push14=, 12($5)
+ i32.const $push39=, 7
+ i32.add $push15=, $pop14, $pop39
+ i32.const $push38=, -8
+ i32.and $push16=, $pop15, $pop38
+ tee_local $push37=, $1=, $pop16
+ i32.const $push36=, 8
+ i32.add $push17=, $pop37, $pop36
+ i32.store $discard=, 12($5), $pop17
+ block
+ f64.load $push18=, 0($1)
+ f64.const $push19=, 0x1.1e3779131154cp1
+ f64.ne $push20=, $pop18, $pop19
+ br_if $pop20, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.load $push21=, 12($5)
+ i32.const $push43=, 7
+ i32.add $push22=, $pop21, $pop43
+ i32.const $push42=, -8
+ i32.and $push23=, $pop22, $pop42
+ tee_local $push41=, $1=, $pop23
+ i32.const $push40=, 8
+ i32.add $push24=, $pop41, $pop40
+ i32.store $discard=, 12($5), $pop24
+ block
+ f64.load $push25=, 0($1)
+ f64.const $push26=, 0x1.12e0be1b5921ep1
+ f64.ne $push27=, $pop25, $pop26
+ br_if $pop27, 0 # 0: down to label3
+# BB#4: # %if.end10
+ i32.const $4=, 16
+ i32.add $5=, $6, $4
+ i32.const $4=, __stack_pointer
+ i32.store $5=, 0($4), $5
+ return $1
+.LBB0_5: # %if.then9
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_6: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_7: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_8: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size va_double, .Lfunc_end0-va_double
+
+ .section .text.va_long_double,"ax",@progbits
+ .hidden va_long_double
+ .globl va_long_double
+ .type va_long_double,@function
+va_long_double: # @va_long_double
+ .param i32
+ .result i32
+ .local i64, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $push0=, 12($6), $7
+ i32.const $push45=, 15
+ i32.add $push1=, $pop0, $pop45
+ i32.const $push44=, -16
+ i32.and $push2=, $pop1, $pop44
+ tee_local $push43=, $2=, $pop2
+ i64.load $1=, 0($pop43)
+ i32.const $push42=, 8
+ i32.or $push3=, $2, $pop42
+ i32.store $push4=, 12($6), $pop3
+ tee_local $push41=, $2=, $pop4
+ i32.const $push40=, 8
+ i32.add $push5=, $pop41, $pop40
+ i32.store $discard=, 12($6), $pop5
+ block
+ i64.load $push6=, 0($2)
+ i64.const $push8=, -7338557514379428662
+ i64.const $push7=, 4611846683218194439
+ i32.call $push9=, __eqtf2@FUNCTION, $1, $pop6, $pop8, $pop7
+ br_if $pop9, 0 # 0: down to label4
+# BB#1: # %if.end
+ i32.load $push10=, 12($6)
+ i32.const $push51=, 15
+ i32.add $push11=, $pop10, $pop51
+ i32.const $push50=, -16
+ i32.and $push12=, $pop11, $pop50
+ tee_local $push49=, $2=, $pop12
+ i64.load $1=, 0($pop49)
+ i32.const $push48=, 8
+ i32.or $push13=, $2, $pop48
+ i32.store $push14=, 12($6), $pop13
+ tee_local $push47=, $2=, $pop14
+ i32.const $push46=, 8
+ i32.add $push15=, $pop47, $pop46
+ i32.store $discard=, 12($6), $pop15
+ block
+ i64.load $push16=, 0($2)
+ i64.const $push18=, 8163791057260899163
+ i64.const $push17=, 4611787105943148885
+ i32.call $push19=, __eqtf2@FUNCTION, $1, $pop16, $pop18, $pop17
+ br_if $pop19, 0 # 0: down to label5
+# BB#2: # %if.end4
+ i32.load $push20=, 12($6)
+ i32.const $push57=, 15
+ i32.add $push21=, $pop20, $pop57
+ i32.const $push56=, -16
+ i32.and $push22=, $pop21, $pop56
+ tee_local $push55=, $2=, $pop22
+ i64.load $1=, 0($pop55)
+ i32.const $push54=, 8
+ i32.or $push23=, $2, $pop54
+ i32.store $push24=, 12($6), $pop23
+ tee_local $push53=, $2=, $pop24
+ i32.const $push52=, 8
+ i32.add $push25=, $pop53, $pop52
+ i32.store $discard=, 12($6), $pop25
+ block
+ i64.load $push26=, 0($2)
+ i64.const $push28=, -4892607794577095924
+ i64.const $push27=, 4611719242030715220
+ i32.call $push29=, __eqtf2@FUNCTION, $1, $pop26, $pop28, $pop27
+ br_if $pop29, 0 # 0: down to label6
+# BB#3: # %if.end7
+ i32.load $push30=, 12($6)
+ i32.const $push63=, 15
+ i32.add $push31=, $pop30, $pop63
+ i32.const $push62=, -16
+ i32.and $push32=, $pop31, $pop62
+ tee_local $push61=, $2=, $pop32
+ i64.load $1=, 0($pop61)
+ i32.const $push60=, 8
+ i32.or $push33=, $2, $pop60
+ i32.store $push34=, 12($6), $pop33
+ tee_local $push59=, $2=, $pop34
+ i32.const $push58=, 8
+ i32.add $push35=, $pop59, $pop58
+ i32.store $discard=, 12($6), $pop35
+ block
+ i64.load $push36=, 0($2)
+ i64.const $push38=, -2718666384188054750
+ i64.const $push37=, 4611706774898825505
+ i32.call $push39=, __eqtf2@FUNCTION, $1, $pop36, $pop38, $pop37
+ br_if $pop39, 0 # 0: down to label7
+# BB#4: # %if.end10
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return $2
+.LBB1_5: # %if.then9
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB1_6: # %if.then6
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB1_7: # %if.then3
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB1_8: # %if.then
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size va_long_double, .Lfunc_end1-va_long_double
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 64
+ i32.sub $11=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $11=, 0($10), $11
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 32
+ i32.sub $11=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $11=, 0($2), $11
+ i64.const $push0=, 4614256655080292474
+ i64.store $discard=, 0($11), $pop0
+ i32.const $push1=, 24
+ i32.add $0=, $11, $pop1
+ i64.const $push2=, 4612018121970389534
+ i64.store $discard=, 0($0), $pop2
+ i32.const $push3=, 16
+ i32.add $0=, $11, $pop3
+ i64.const $push4=, 4612217596080624972
+ i64.store $discard=, 0($0), $pop4
+ i32.const $push5=, 8
+ i32.add $0=, $11, $pop5
+ i64.const $push6=, 4613303418679563607
+ i64.store $discard=, 0($0), $pop6
+ i32.call $discard=, va_double@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 32
+ i32.add $11=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $11=, 0($4), $11
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 64
+ i32.sub $11=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $11=, 0($6), $11
+ i64.const $push7=, -7338557514379428662
+ i64.store $discard=, 0($11), $pop7
+ i32.const $push8=, 56
+ i32.add $0=, $11, $pop8
+ i64.const $push9=, 4611706774898825505
+ i64.store $discard=, 0($0), $pop9
+ i32.const $push10=, 48
+ i32.add $0=, $11, $pop10
+ i64.const $push11=, -2718666384188054750
+ i64.store $discard=, 0($0), $pop11
+ i32.const $push12=, 40
+ i32.add $0=, $11, $pop12
+ i64.const $push13=, 4611719242030715220
+ i64.store $discard=, 0($0), $pop13
+ i32.const $push14=, 32
+ i32.add $0=, $11, $pop14
+ i64.const $push15=, -4892607794577095924
+ i64.store $discard=, 0($0), $pop15
+ i32.const $push22=, 24
+ i32.add $0=, $11, $pop22
+ i64.const $push16=, 4611787105943148885
+ i64.store $discard=, 0($0), $pop16
+ i32.const $push21=, 16
+ i32.add $0=, $11, $pop21
+ i64.const $push17=, 8163791057260899163
+ i64.store $discard=, 0($0), $pop17
+ i32.const $push20=, 8
+ i32.add $0=, $11, $pop20
+ i64.const $push18=, 4611846683218194439
+ i64.store $discard=, 0($0), $pop18
+ i32.call $discard=, va_long_double@FUNCTION, $0
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 64
+ i32.add $11=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $11=, 0($8), $11
+ i32.const $push19=, 0
+ call exit@FUNCTION, $pop19
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-6.c.s b/test/torture-s/va-arg-6.c.s
new file mode 100644
index 000000000..496e5d87e
--- /dev/null
+++ b/test/torture-s/va-arg-6.c.s
@@ -0,0 +1,278 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-6.c"
+ .section .text.f,"ax",@progbits
+ .hidden f
+ .globl f
+ .type f,@function
+f: # @f
+ .param i32
+ .result i32
+ .local i64, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $push0=, 12($6), $7
+ i32.const $push1=, 3
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -4
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push87=, $2=, $pop4
+ i32.const $push5=, 4
+ i32.add $push6=, $pop87, $pop5
+ i32.store $discard=, 12($6), $pop6
+ block
+ i32.load $push7=, 0($2)
+ i32.const $push8=, 10
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push10=, 12($6)
+ i32.const $push11=, 7
+ i32.add $push12=, $pop10, $pop11
+ i32.const $push13=, -8
+ i32.and $push14=, $pop12, $pop13
+ tee_local $push88=, $2=, $pop14
+ i32.const $push15=, 8
+ i32.add $push16=, $pop88, $pop15
+ i32.store $discard=, 12($6), $pop16
+ block
+ i64.load $push17=, 0($2)
+ i64.const $push18=, 10000000000
+ i64.ne $push19=, $pop17, $pop18
+ br_if $pop19, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push20=, 12($6)
+ i32.const $push21=, 3
+ i32.add $push22=, $pop20, $pop21
+ i32.const $push23=, -4
+ i32.and $push24=, $pop22, $pop23
+ tee_local $push89=, $2=, $pop24
+ i32.const $push25=, 4
+ i32.add $push26=, $pop89, $pop25
+ i32.store $discard=, 12($6), $pop26
+ block
+ i32.load $push27=, 0($2)
+ i32.const $push28=, 11
+ i32.ne $push29=, $pop27, $pop28
+ br_if $pop29, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.load $push30=, 12($6)
+ i32.const $push31=, 15
+ i32.add $push32=, $pop30, $pop31
+ i32.const $push33=, -16
+ i32.and $push34=, $pop32, $pop33
+ tee_local $push92=, $2=, $pop34
+ i64.load $1=, 0($pop92)
+ i32.const $push35=, 8
+ i32.or $push36=, $2, $pop35
+ i32.store $push37=, 12($6), $pop36
+ tee_local $push91=, $2=, $pop37
+ i32.const $push90=, 8
+ i32.add $push38=, $pop91, $pop90
+ i32.store $discard=, 12($6), $pop38
+ block
+ i64.load $push39=, 0($2)
+ i64.const $push41=, -1475739525896764129
+ i64.const $push40=, 4611846459164112977
+ i32.call $push42=, __eqtf2@FUNCTION, $1, $pop39, $pop41, $pop40
+ br_if $pop42, 0 # 0: down to label3
+# BB#4: # %if.end10
+ i32.load $push43=, 12($6)
+ i32.const $push96=, 3
+ i32.add $push44=, $pop43, $pop96
+ i32.const $push95=, -4
+ i32.and $push45=, $pop44, $pop95
+ tee_local $push94=, $2=, $pop45
+ i32.const $push93=, 4
+ i32.add $push46=, $pop94, $pop93
+ i32.store $discard=, 12($6), $pop46
+ block
+ i32.load $push47=, 0($2)
+ i32.const $push48=, 12
+ i32.ne $push49=, $pop47, $pop48
+ br_if $pop49, 0 # 0: down to label4
+# BB#5: # %if.end13
+ i32.load $push50=, 12($6)
+ i32.const $push100=, 3
+ i32.add $push51=, $pop50, $pop100
+ i32.const $push99=, -4
+ i32.and $push52=, $pop51, $pop99
+ tee_local $push98=, $2=, $pop52
+ i32.const $push97=, 4
+ i32.add $push53=, $pop98, $pop97
+ i32.store $discard=, 12($6), $pop53
+ block
+ i32.load $push54=, 0($2)
+ i32.const $push55=, 13
+ i32.ne $push56=, $pop54, $pop55
+ br_if $pop56, 0 # 0: down to label5
+# BB#6: # %if.end16
+ i32.load $push57=, 12($6)
+ i32.const $push58=, 7
+ i32.add $push59=, $pop57, $pop58
+ i32.const $push60=, -8
+ i32.and $push61=, $pop59, $pop60
+ tee_local $push101=, $2=, $pop61
+ i32.const $push62=, 8
+ i32.add $push63=, $pop101, $pop62
+ i32.store $discard=, 12($6), $pop63
+ block
+ i64.load $push64=, 0($2)
+ i64.const $push65=, 20000000000
+ i64.ne $push66=, $pop64, $pop65
+ br_if $pop66, 0 # 0: down to label6
+# BB#7: # %if.end19
+ i32.load $push67=, 12($6)
+ i32.const $push68=, 3
+ i32.add $push69=, $pop67, $pop68
+ i32.const $push70=, -4
+ i32.and $push71=, $pop69, $pop70
+ tee_local $push102=, $2=, $pop71
+ i32.const $push72=, 4
+ i32.add $push73=, $pop102, $pop72
+ i32.store $discard=, 12($6), $pop73
+ block
+ i32.load $push74=, 0($2)
+ i32.const $push75=, 14
+ i32.ne $push76=, $pop74, $pop75
+ br_if $pop76, 0 # 0: down to label7
+# BB#8: # %if.end22
+ i32.load $push77=, 12($6)
+ i32.const $push78=, 7
+ i32.add $push79=, $pop77, $pop78
+ i32.const $push80=, -8
+ i32.and $push81=, $pop79, $pop80
+ tee_local $push103=, $2=, $pop81
+ i32.const $push82=, 8
+ i32.add $push83=, $pop103, $pop82
+ i32.store $discard=, 12($6), $pop83
+ block
+ f64.load $push84=, 0($2)
+ f64.const $push85=, 0x1.5c28f5c28f5c3p1
+ f64.ne $push86=, $pop84, $pop85
+ br_if $pop86, 0 # 0: down to label8
+# BB#9: # %if.end25
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return $2
+.LBB0_10: # %if.then24
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB0_11: # %if.then21
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB0_12: # %if.then18
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+.LBB0_13: # %if.then15
+ end_block # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB0_14: # %if.then12
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB0_15: # %if.then9
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB0_16: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_17: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_18: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size f, .Lfunc_end0-f
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 80
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 72
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i32.const $push0=, 10
+ i32.store $discard=, 0($7), $pop0
+ i32.const $push1=, 64
+ i32.add $0=, $7, $pop1
+ i64.const $push2=, 4613307314293241283
+ i64.store $discard=, 0($0), $pop2
+ i32.const $push3=, 56
+ i32.add $0=, $7, $pop3
+ i32.const $push4=, 14
+ i32.store $discard=, 0($0), $pop4
+ i32.const $push5=, 48
+ i32.add $0=, $7, $pop5
+ i64.const $push6=, 20000000000
+ i64.store $discard=, 0($0), $pop6
+ i32.const $push7=, 44
+ i32.add $0=, $7, $pop7
+ i32.const $push8=, 13
+ i32.store $discard=, 0($0), $pop8
+ i32.const $push9=, 40
+ i32.add $0=, $7, $pop9
+ i32.const $push10=, 12
+ i32.store $discard=, 0($0), $pop10
+ i32.const $push11=, 32
+ i32.add $0=, $7, $pop11
+ i64.const $push12=, 4611846459164112977
+ i64.store $discard=, 0($0), $pop12
+ i32.const $push13=, 24
+ i32.add $0=, $7, $pop13
+ i64.const $push14=, -1475739525896764129
+ i64.store $discard=, 0($0), $pop14
+ i32.const $push15=, 16
+ i32.add $0=, $7, $pop15
+ i32.const $push16=, 11
+ i32.store $discard=, 0($0), $pop16
+ i32.const $push17=, 8
+ i32.add $0=, $7, $pop17
+ i64.const $push18=, 10000000000
+ i64.store $discard=, 0($0), $pop18
+ i32.call $discard=, f@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 72
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push19=, 0
+ call exit@FUNCTION, $pop19
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-7.c.s b/test/torture-s/va-arg-7.c.s
new file mode 100644
index 000000000..4ab4fc86a
--- /dev/null
+++ b/test/torture-s/va-arg-7.c.s
@@ -0,0 +1,125 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c"
+ .section .text.debug,"ax",@progbits
+ .hidden debug
+ .globl debug
+ .type debug,@function
+debug: # @debug
+ .param i32, i32, i32, i32, i32, i32, i32, f64, f64, f64, f64, f64, f64, f64, f64, f64
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 16
+ i32.sub $20=, $17, $18
+ copy_local $21=, $20
+ i32.const $18=, __stack_pointer
+ i32.store $20=, 0($18), $20
+ i32.store $push0=, 12($20), $21
+ i32.const $push27=, 3
+ i32.add $push1=, $pop0, $pop27
+ i32.const $push26=, -4
+ i32.and $push2=, $pop1, $pop26
+ tee_local $push25=, $16=, $pop2
+ i32.const $push24=, 4
+ i32.add $push3=, $pop25, $pop24
+ i32.store $discard=, 12($20), $pop3
+ block
+ i32.load $push4=, 0($16)
+ i32.const $push5=, 8
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push7=, 12($20)
+ i32.const $push31=, 3
+ i32.add $push8=, $pop7, $pop31
+ i32.const $push30=, -4
+ i32.and $push9=, $pop8, $pop30
+ tee_local $push29=, $16=, $pop9
+ i32.const $push28=, 4
+ i32.add $push10=, $pop29, $pop28
+ i32.store $discard=, 12($20), $pop10
+ block
+ i32.load $push11=, 0($16)
+ i32.const $push12=, 9
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.load $push14=, 12($20)
+ i32.const $push15=, 3
+ i32.add $push16=, $pop14, $pop15
+ i32.const $push17=, -4
+ i32.and $push18=, $pop16, $pop17
+ tee_local $push32=, $16=, $pop18
+ i32.const $push19=, 4
+ i32.add $push20=, $pop32, $pop19
+ i32.store $discard=, 12($20), $pop20
+ block
+ i32.load $push21=, 0($16)
+ i32.const $push22=, 10
+ i32.ne $push23=, $pop21, $pop22
+ br_if $pop23, 0 # 0: down to label2
+# BB#3: # %if.end7
+ i32.const $19=, 16
+ i32.add $20=, $21, $19
+ i32.const $19=, __stack_pointer
+ i32.store $20=, 0($19), $20
+ return
+.LBB0_4: # %if.then6
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB0_5: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_6: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size debug, .Lfunc_end0-debug
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, f64, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $8=, $6, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ i32.const $2=, __stack_pointer
+ i32.load $2=, 0($2)
+ i32.const $3=, 12
+ i32.sub $8=, $2, $3
+ i32.const $3=, __stack_pointer
+ i32.store $8=, 0($3), $8
+ i64.const $push0=, 38654705672
+ i64.store $discard=, 0($8):p2align=2, $pop0
+ i32.const $push1=, 8
+ i32.add $0=, $8, $pop1
+ i32.const $push2=, 10
+ i32.store $discard=, 0($0), $pop2
+ call debug@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $1, $1, $1, $1, $1, $1, $1, $1, $1
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 12
+ i32.add $8=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $8=, 0($5), $8
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-8.c.s b/test/torture-s/va-arg-8.c.s
new file mode 100644
index 000000000..7ce6939bc
--- /dev/null
+++ b/test/torture-s/va-arg-8.c.s
@@ -0,0 +1,106 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c"
+ .section .text.debug,"ax",@progbits
+ .hidden debug
+ .globl debug
+ .type debug,@function
+debug: # @debug
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 16
+ i32.sub $13=, $10, $11
+ copy_local $14=, $13
+ i32.const $11=, __stack_pointer
+ i32.store $13=, 0($11), $13
+ i32.store $push0=, 12($13), $14
+ i32.const $push1=, 3
+ i32.add $push2=, $pop0, $pop1
+ i32.const $push3=, -4
+ i32.and $push4=, $pop2, $pop3
+ tee_local $push20=, $9=, $pop4
+ i32.const $push5=, 4
+ i32.add $push6=, $pop20, $pop5
+ i32.store $discard=, 12($13), $pop6
+ block
+ i32.load $push7=, 0($9)
+ i32.const $push8=, 10
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load $push10=, 12($13)
+ i32.const $push11=, 7
+ i32.add $push12=, $pop10, $pop11
+ i32.const $push13=, -8
+ i32.and $push14=, $pop12, $pop13
+ tee_local $push21=, $9=, $pop14
+ i32.const $push15=, 8
+ i32.add $push16=, $pop21, $pop15
+ i32.store $discard=, 12($13), $pop16
+ block
+ i64.load $push17=, 0($9)
+ i64.const $push18=, 20014547621496
+ i64.ne $push19=, $pop17, $pop18
+ br_if $pop19, 0 # 0: down to label1
+# BB#2: # %if.end4
+ i32.const $12=, 16
+ i32.add $13=, $14, $12
+ i32.const $12=, __stack_pointer
+ i32.store $13=, 0($12), $13
+ return
+.LBB0_3: # %if.then3
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+.LBB0_4: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size debug, .Lfunc_end0-debug
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i32.const $push0=, 10
+ i32.store $discard=, 0($7), $pop0
+ i32.const $push1=, 8
+ i32.add $0=, $7, $pop1
+ i64.const $push2=, 20014547621496
+ i64.store $discard=, 0($0), $pop2
+ call debug@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ i32.const $push3=, 0
+ call exit@FUNCTION, $pop3
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-9.c.s b/test/torture-s/va-arg-9.c.s
new file mode 100644
index 000000000..cb4f38a03
--- /dev/null
+++ b/test/torture-s/va-arg-9.c.s
@@ -0,0 +1,1804 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-9.c"
+ .section .text.to_hex,"ax",@progbits
+ .hidden to_hex
+ .globl to_hex
+ .type to_hex,@function
+to_hex: # @to_hex
+ .param i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push0=, 16
+ i32.ge_u $push1=, $0, $pop0
+ br_if $pop1, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.load8_s $push2=, .L.str($0)
+ return $pop2
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size to_hex, .Lfunc_end0-to_hex
+
+ .section .text.fap,"ax",@progbits
+ .hidden fap
+ .globl fap
+ .type fap,@function
+fap: # @fap
+ .param i32, i32, i32
+ .local i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $discard=, 12($6), $2
+ block
+ i32.call $push2=, strlen@FUNCTION, $1
+ i32.const $push3=, 16
+ i32.sub $push4=, $pop3, $0
+ i32.ne $push5=, $pop2, $pop4
+ br_if $pop5, 0 # 0: down to label1
+.LBB1_1: # %while.cond
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label4:
+ i32.load8_u $push0=, 0($1)
+ tee_local $push18=, $0=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label2
+# BB#2: # %while.body
+ # in Loop: Header=BB1_1 Depth=1
+ i32.load $push6=, 12($6)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $2=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($6), $pop12
+ i32.load $push1=, 0($2)
+ tee_local $push19=, $2=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label3
+# BB#3: # %to_hex.exit
+ # in Loop: Header=BB1_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $1=, $1, $pop15
+ i32.load8_u $push16=, .L.str($2)
+ i32.eq $push17=, $0, $pop16
+ br_if $pop17, 0 # 0: up to label4
+# BB#4: # %if.then4
+ end_loop # label5:
+ call abort@FUNCTION
+ unreachable
+.LBB1_5: # %if.then.i
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB1_6: # %while.end
+ end_block # label2:
+ i32.const $5=, 16
+ i32.add $6=, $6, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+.LBB1_7: # %if.then
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size fap, .Lfunc_end1-fap
+
+ .section .text.f0,"ax",@progbits
+ .hidden f0
+ .globl f0
+ .type f0,@function
+f0: # @f0
+ .param i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 16
+ i32.sub $6=, $3, $4
+ copy_local $7=, $6
+ i32.const $4=, __stack_pointer
+ i32.store $6=, 0($4), $6
+ i32.store $push2=, 8($6), $7
+ i32.store $discard=, 12($6), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $0
+ i32.const $push4=, 16
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label6
+.LBB2_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label9:
+ i32.load8_u $push0=, 0($0)
+ tee_local $push18=, $1=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label7
+# BB#2: # %while.body.i
+ # in Loop: Header=BB2_1 Depth=1
+ i32.load $push6=, 12($6)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $2=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($6), $pop12
+ i32.load $push1=, 0($2)
+ tee_local $push19=, $2=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label8
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB2_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $0=, $0, $pop15
+ i32.load8_u $push16=, .L.str($2)
+ i32.eq $push17=, $1, $pop16
+ br_if $pop17, 0 # 0: up to label9
+# BB#4: # %if.then4.i
+ end_loop # label10:
+ call abort@FUNCTION
+ unreachable
+.LBB2_5: # %if.then.i.i
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB2_6: # %fap.exit
+ end_block # label7:
+ i32.const $5=, 16
+ i32.add $6=, $7, $5
+ i32.const $5=, __stack_pointer
+ i32.store $6=, 0($5), $6
+ return
+.LBB2_7: # %if.then.i
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size f0, .Lfunc_end2-f0
+
+ .section .text.f1,"ax",@progbits
+ .hidden f1
+ .globl f1
+ .type f1,@function
+f1: # @f1
+ .param i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 16
+ i32.sub $7=, $4, $5
+ copy_local $8=, $7
+ i32.const $5=, __stack_pointer
+ i32.store $7=, 0($5), $7
+ i32.store $push2=, 8($7), $8
+ i32.store $discard=, 12($7), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $1
+ i32.const $push4=, 15
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label11
+.LBB3_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label14:
+ i32.load8_u $push0=, 0($1)
+ tee_local $push18=, $2=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label12
+# BB#2: # %while.body.i
+ # in Loop: Header=BB3_1 Depth=1
+ i32.load $push6=, 12($7)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $3=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($7), $pop12
+ i32.load $push1=, 0($3)
+ tee_local $push19=, $3=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label13
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB3_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $1=, $1, $pop15
+ i32.load8_u $push16=, .L.str($3)
+ i32.eq $push17=, $2, $pop16
+ br_if $pop17, 0 # 0: up to label14
+# BB#4: # %if.then4.i
+ end_loop # label15:
+ call abort@FUNCTION
+ unreachable
+.LBB3_5: # %if.then.i.i
+ end_block # label13:
+ call abort@FUNCTION
+ unreachable
+.LBB3_6: # %fap.exit
+ end_block # label12:
+ i32.const $6=, 16
+ i32.add $7=, $8, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ return
+.LBB3_7: # %if.then.i
+ end_block # label11:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end3:
+ .size f1, .Lfunc_end3-f1
+
+ .section .text.f2,"ax",@progbits
+ .hidden f2
+ .globl f2
+ .type f2,@function
+f2: # @f2
+ .param i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $8=, $5, $6
+ copy_local $9=, $8
+ i32.const $6=, __stack_pointer
+ i32.store $8=, 0($6), $8
+ i32.store $push2=, 8($8), $9
+ i32.store $discard=, 12($8), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $2
+ i32.const $push4=, 14
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label16
+.LBB4_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label19:
+ i32.load8_u $push0=, 0($2)
+ tee_local $push18=, $3=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label17
+# BB#2: # %while.body.i
+ # in Loop: Header=BB4_1 Depth=1
+ i32.load $push6=, 12($8)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $4=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($8), $pop12
+ i32.load $push1=, 0($4)
+ tee_local $push19=, $4=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label18
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB4_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $2=, $2, $pop15
+ i32.load8_u $push16=, .L.str($4)
+ i32.eq $push17=, $3, $pop16
+ br_if $pop17, 0 # 0: up to label19
+# BB#4: # %if.then4.i
+ end_loop # label20:
+ call abort@FUNCTION
+ unreachable
+.LBB4_5: # %if.then.i.i
+ end_block # label18:
+ call abort@FUNCTION
+ unreachable
+.LBB4_6: # %fap.exit
+ end_block # label17:
+ i32.const $7=, 16
+ i32.add $8=, $9, $7
+ i32.const $7=, __stack_pointer
+ i32.store $8=, 0($7), $8
+ return
+.LBB4_7: # %if.then.i
+ end_block # label16:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end4:
+ .size f2, .Lfunc_end4-f2
+
+ .section .text.f3,"ax",@progbits
+ .hidden f3
+ .globl f3
+ .type f3,@function
+f3: # @f3
+ .param i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $6=, __stack_pointer
+ i32.load $6=, 0($6)
+ i32.const $7=, 16
+ i32.sub $9=, $6, $7
+ copy_local $10=, $9
+ i32.const $7=, __stack_pointer
+ i32.store $9=, 0($7), $9
+ i32.store $push2=, 8($9), $10
+ i32.store $discard=, 12($9), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $3
+ i32.const $push4=, 13
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label21
+.LBB5_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label24:
+ i32.load8_u $push0=, 0($3)
+ tee_local $push18=, $4=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label22
+# BB#2: # %while.body.i
+ # in Loop: Header=BB5_1 Depth=1
+ i32.load $push6=, 12($9)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $5=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($9), $pop12
+ i32.load $push1=, 0($5)
+ tee_local $push19=, $5=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label23
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB5_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $3=, $3, $pop15
+ i32.load8_u $push16=, .L.str($5)
+ i32.eq $push17=, $4, $pop16
+ br_if $pop17, 0 # 0: up to label24
+# BB#4: # %if.then4.i
+ end_loop # label25:
+ call abort@FUNCTION
+ unreachable
+.LBB5_5: # %if.then.i.i
+ end_block # label23:
+ call abort@FUNCTION
+ unreachable
+.LBB5_6: # %fap.exit
+ end_block # label22:
+ i32.const $8=, 16
+ i32.add $9=, $10, $8
+ i32.const $8=, __stack_pointer
+ i32.store $9=, 0($8), $9
+ return
+.LBB5_7: # %if.then.i
+ end_block # label21:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end5:
+ .size f3, .Lfunc_end5-f3
+
+ .section .text.f4,"ax",@progbits
+ .hidden f4
+ .globl f4
+ .type f4,@function
+f4: # @f4
+ .param i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 16
+ i32.sub $10=, $7, $8
+ copy_local $11=, $10
+ i32.const $8=, __stack_pointer
+ i32.store $10=, 0($8), $10
+ i32.store $push2=, 8($10), $11
+ i32.store $discard=, 12($10), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $4
+ i32.const $push4=, 12
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label26
+.LBB6_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label29:
+ i32.load8_u $push0=, 0($4)
+ tee_local $push18=, $5=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label27
+# BB#2: # %while.body.i
+ # in Loop: Header=BB6_1 Depth=1
+ i32.load $push6=, 12($10)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $6=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($10), $pop12
+ i32.load $push1=, 0($6)
+ tee_local $push19=, $6=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label28
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB6_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $4=, $4, $pop15
+ i32.load8_u $push16=, .L.str($6)
+ i32.eq $push17=, $5, $pop16
+ br_if $pop17, 0 # 0: up to label29
+# BB#4: # %if.then4.i
+ end_loop # label30:
+ call abort@FUNCTION
+ unreachable
+.LBB6_5: # %if.then.i.i
+ end_block # label28:
+ call abort@FUNCTION
+ unreachable
+.LBB6_6: # %fap.exit
+ end_block # label27:
+ i32.const $9=, 16
+ i32.add $10=, $11, $9
+ i32.const $9=, __stack_pointer
+ i32.store $10=, 0($9), $10
+ return
+.LBB6_7: # %if.then.i
+ end_block # label26:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end6:
+ .size f4, .Lfunc_end6-f4
+
+ .section .text.f5,"ax",@progbits
+ .hidden f5
+ .globl f5
+ .type f5,@function
+f5: # @f5
+ .param i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $8=, __stack_pointer
+ i32.load $8=, 0($8)
+ i32.const $9=, 16
+ i32.sub $11=, $8, $9
+ copy_local $12=, $11
+ i32.const $9=, __stack_pointer
+ i32.store $11=, 0($9), $11
+ i32.store $push2=, 8($11), $12
+ i32.store $discard=, 12($11), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $5
+ i32.const $push4=, 11
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label31
+.LBB7_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label34:
+ i32.load8_u $push0=, 0($5)
+ tee_local $push18=, $6=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label32
+# BB#2: # %while.body.i
+ # in Loop: Header=BB7_1 Depth=1
+ i32.load $push6=, 12($11)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $7=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($11), $pop12
+ i32.load $push1=, 0($7)
+ tee_local $push19=, $7=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label33
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB7_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $5=, $5, $pop15
+ i32.load8_u $push16=, .L.str($7)
+ i32.eq $push17=, $6, $pop16
+ br_if $pop17, 0 # 0: up to label34
+# BB#4: # %if.then4.i
+ end_loop # label35:
+ call abort@FUNCTION
+ unreachable
+.LBB7_5: # %if.then.i.i
+ end_block # label33:
+ call abort@FUNCTION
+ unreachable
+.LBB7_6: # %fap.exit
+ end_block # label32:
+ i32.const $10=, 16
+ i32.add $11=, $12, $10
+ i32.const $10=, __stack_pointer
+ i32.store $11=, 0($10), $11
+ return
+.LBB7_7: # %if.then.i
+ end_block # label31:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end7:
+ .size f5, .Lfunc_end7-f5
+
+ .section .text.f6,"ax",@progbits
+ .hidden f6
+ .globl f6
+ .type f6,@function
+f6: # @f6
+ .param i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 16
+ i32.sub $12=, $9, $10
+ copy_local $13=, $12
+ i32.const $10=, __stack_pointer
+ i32.store $12=, 0($10), $12
+ i32.store $push2=, 8($12), $13
+ i32.store $discard=, 12($12), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $6
+ i32.const $push4=, 10
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label36
+.LBB8_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label39:
+ i32.load8_u $push0=, 0($6)
+ tee_local $push18=, $7=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label37
+# BB#2: # %while.body.i
+ # in Loop: Header=BB8_1 Depth=1
+ i32.load $push6=, 12($12)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $8=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($12), $pop12
+ i32.load $push1=, 0($8)
+ tee_local $push19=, $8=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label38
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB8_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $6=, $6, $pop15
+ i32.load8_u $push16=, .L.str($8)
+ i32.eq $push17=, $7, $pop16
+ br_if $pop17, 0 # 0: up to label39
+# BB#4: # %if.then4.i
+ end_loop # label40:
+ call abort@FUNCTION
+ unreachable
+.LBB8_5: # %if.then.i.i
+ end_block # label38:
+ call abort@FUNCTION
+ unreachable
+.LBB8_6: # %fap.exit
+ end_block # label37:
+ i32.const $11=, 16
+ i32.add $12=, $13, $11
+ i32.const $11=, __stack_pointer
+ i32.store $12=, 0($11), $12
+ return
+.LBB8_7: # %if.then.i
+ end_block # label36:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end8:
+ .size f6, .Lfunc_end8-f6
+
+ .section .text.f7,"ax",@progbits
+ .hidden f7
+ .globl f7
+ .type f7,@function
+f7: # @f7
+ .param i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $10=, __stack_pointer
+ i32.load $10=, 0($10)
+ i32.const $11=, 16
+ i32.sub $13=, $10, $11
+ copy_local $14=, $13
+ i32.const $11=, __stack_pointer
+ i32.store $13=, 0($11), $13
+ i32.store $push2=, 8($13), $14
+ i32.store $discard=, 12($13), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $7
+ i32.const $push4=, 9
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label41
+.LBB9_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label44:
+ i32.load8_u $push0=, 0($7)
+ tee_local $push18=, $8=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label42
+# BB#2: # %while.body.i
+ # in Loop: Header=BB9_1 Depth=1
+ i32.load $push6=, 12($13)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $9=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($13), $pop12
+ i32.load $push1=, 0($9)
+ tee_local $push19=, $9=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label43
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB9_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $7=, $7, $pop15
+ i32.load8_u $push16=, .L.str($9)
+ i32.eq $push17=, $8, $pop16
+ br_if $pop17, 0 # 0: up to label44
+# BB#4: # %if.then4.i
+ end_loop # label45:
+ call abort@FUNCTION
+ unreachable
+.LBB9_5: # %if.then.i.i
+ end_block # label43:
+ call abort@FUNCTION
+ unreachable
+.LBB9_6: # %fap.exit
+ end_block # label42:
+ i32.const $12=, 16
+ i32.add $13=, $14, $12
+ i32.const $12=, __stack_pointer
+ i32.store $13=, 0($12), $13
+ return
+.LBB9_7: # %if.then.i
+ end_block # label41:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end9:
+ .size f7, .Lfunc_end9-f7
+
+ .section .text.f8,"ax",@progbits
+ .hidden f8
+ .globl f8
+ .type f8,@function
+f8: # @f8
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 16
+ i32.sub $14=, $11, $12
+ copy_local $15=, $14
+ i32.const $12=, __stack_pointer
+ i32.store $14=, 0($12), $14
+ i32.store $push2=, 8($14), $15
+ i32.store $discard=, 12($14), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $8
+ i32.const $push4=, 8
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label46
+.LBB10_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label49:
+ i32.load8_u $push0=, 0($8)
+ tee_local $push18=, $9=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label47
+# BB#2: # %while.body.i
+ # in Loop: Header=BB10_1 Depth=1
+ i32.load $push6=, 12($14)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $10=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($14), $pop12
+ i32.load $push1=, 0($10)
+ tee_local $push19=, $10=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label48
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB10_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $8=, $8, $pop15
+ i32.load8_u $push16=, .L.str($10)
+ i32.eq $push17=, $9, $pop16
+ br_if $pop17, 0 # 0: up to label49
+# BB#4: # %if.then4.i
+ end_loop # label50:
+ call abort@FUNCTION
+ unreachable
+.LBB10_5: # %if.then.i.i
+ end_block # label48:
+ call abort@FUNCTION
+ unreachable
+.LBB10_6: # %fap.exit
+ end_block # label47:
+ i32.const $13=, 16
+ i32.add $14=, $15, $13
+ i32.const $13=, __stack_pointer
+ i32.store $14=, 0($13), $14
+ return
+.LBB10_7: # %if.then.i
+ end_block # label46:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end10:
+ .size f8, .Lfunc_end10-f8
+
+ .section .text.f9,"ax",@progbits
+ .hidden f9
+ .globl f9
+ .type f9,@function
+f9: # @f9
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $12=, __stack_pointer
+ i32.load $12=, 0($12)
+ i32.const $13=, 16
+ i32.sub $15=, $12, $13
+ copy_local $16=, $15
+ i32.const $13=, __stack_pointer
+ i32.store $15=, 0($13), $15
+ i32.store $push2=, 8($15), $16
+ i32.store $discard=, 12($15), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $9
+ i32.const $push4=, 7
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label51
+.LBB11_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label54:
+ i32.load8_u $push0=, 0($9)
+ tee_local $push18=, $10=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label52
+# BB#2: # %while.body.i
+ # in Loop: Header=BB11_1 Depth=1
+ i32.load $push6=, 12($15)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $11=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($15), $pop12
+ i32.load $push1=, 0($11)
+ tee_local $push19=, $11=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label53
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB11_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $9=, $9, $pop15
+ i32.load8_u $push16=, .L.str($11)
+ i32.eq $push17=, $10, $pop16
+ br_if $pop17, 0 # 0: up to label54
+# BB#4: # %if.then4.i
+ end_loop # label55:
+ call abort@FUNCTION
+ unreachable
+.LBB11_5: # %if.then.i.i
+ end_block # label53:
+ call abort@FUNCTION
+ unreachable
+.LBB11_6: # %fap.exit
+ end_block # label52:
+ i32.const $14=, 16
+ i32.add $15=, $16, $14
+ i32.const $14=, __stack_pointer
+ i32.store $15=, 0($14), $15
+ return
+.LBB11_7: # %if.then.i
+ end_block # label51:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end11:
+ .size f9, .Lfunc_end11-f9
+
+ .section .text.f10,"ax",@progbits
+ .hidden f10
+ .globl f10
+ .type f10,@function
+f10: # @f10
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 16
+ i32.sub $16=, $13, $14
+ copy_local $17=, $16
+ i32.const $14=, __stack_pointer
+ i32.store $16=, 0($14), $16
+ i32.store $push2=, 8($16), $17
+ i32.store $discard=, 12($16), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $10
+ i32.const $push4=, 6
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label56
+.LBB12_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label59:
+ i32.load8_u $push0=, 0($10)
+ tee_local $push18=, $11=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label57
+# BB#2: # %while.body.i
+ # in Loop: Header=BB12_1 Depth=1
+ i32.load $push6=, 12($16)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $12=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($16), $pop12
+ i32.load $push1=, 0($12)
+ tee_local $push19=, $12=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label58
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB12_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $10=, $10, $pop15
+ i32.load8_u $push16=, .L.str($12)
+ i32.eq $push17=, $11, $pop16
+ br_if $pop17, 0 # 0: up to label59
+# BB#4: # %if.then4.i
+ end_loop # label60:
+ call abort@FUNCTION
+ unreachable
+.LBB12_5: # %if.then.i.i
+ end_block # label58:
+ call abort@FUNCTION
+ unreachable
+.LBB12_6: # %fap.exit
+ end_block # label57:
+ i32.const $15=, 16
+ i32.add $16=, $17, $15
+ i32.const $15=, __stack_pointer
+ i32.store $16=, 0($15), $16
+ return
+.LBB12_7: # %if.then.i
+ end_block # label56:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end12:
+ .size f10, .Lfunc_end12-f10
+
+ .section .text.f11,"ax",@progbits
+ .hidden f11
+ .globl f11
+ .type f11,@function
+f11: # @f11
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $14=, __stack_pointer
+ i32.load $14=, 0($14)
+ i32.const $15=, 16
+ i32.sub $17=, $14, $15
+ copy_local $18=, $17
+ i32.const $15=, __stack_pointer
+ i32.store $17=, 0($15), $17
+ i32.store $push2=, 8($17), $18
+ i32.store $discard=, 12($17), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $11
+ i32.const $push4=, 5
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label61
+.LBB13_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label64:
+ i32.load8_u $push0=, 0($11)
+ tee_local $push18=, $12=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label62
+# BB#2: # %while.body.i
+ # in Loop: Header=BB13_1 Depth=1
+ i32.load $push6=, 12($17)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $13=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($17), $pop12
+ i32.load $push1=, 0($13)
+ tee_local $push19=, $13=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label63
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB13_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $11=, $11, $pop15
+ i32.load8_u $push16=, .L.str($13)
+ i32.eq $push17=, $12, $pop16
+ br_if $pop17, 0 # 0: up to label64
+# BB#4: # %if.then4.i
+ end_loop # label65:
+ call abort@FUNCTION
+ unreachable
+.LBB13_5: # %if.then.i.i
+ end_block # label63:
+ call abort@FUNCTION
+ unreachable
+.LBB13_6: # %fap.exit
+ end_block # label62:
+ i32.const $16=, 16
+ i32.add $17=, $18, $16
+ i32.const $16=, __stack_pointer
+ i32.store $17=, 0($16), $17
+ return
+.LBB13_7: # %if.then.i
+ end_block # label61:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end13:
+ .size f11, .Lfunc_end13-f11
+
+ .section .text.f12,"ax",@progbits
+ .hidden f12
+ .globl f12
+ .type f12,@function
+f12: # @f12
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 16
+ i32.sub $18=, $15, $16
+ copy_local $19=, $18
+ i32.const $16=, __stack_pointer
+ i32.store $18=, 0($16), $18
+ i32.store $push2=, 8($18), $19
+ i32.store $discard=, 12($18), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $12
+ i32.const $push4=, 4
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label66
+.LBB14_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label69:
+ i32.load8_u $push0=, 0($12)
+ tee_local $push18=, $13=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label67
+# BB#2: # %while.body.i
+ # in Loop: Header=BB14_1 Depth=1
+ i32.load $push6=, 12($18)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $14=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($18), $pop12
+ i32.load $push1=, 0($14)
+ tee_local $push19=, $14=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label68
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB14_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $12=, $12, $pop15
+ i32.load8_u $push16=, .L.str($14)
+ i32.eq $push17=, $13, $pop16
+ br_if $pop17, 0 # 0: up to label69
+# BB#4: # %if.then4.i
+ end_loop # label70:
+ call abort@FUNCTION
+ unreachable
+.LBB14_5: # %if.then.i.i
+ end_block # label68:
+ call abort@FUNCTION
+ unreachable
+.LBB14_6: # %fap.exit
+ end_block # label67:
+ i32.const $17=, 16
+ i32.add $18=, $19, $17
+ i32.const $17=, __stack_pointer
+ i32.store $18=, 0($17), $18
+ return
+.LBB14_7: # %if.then.i
+ end_block # label66:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end14:
+ .size f12, .Lfunc_end14-f12
+
+ .section .text.f13,"ax",@progbits
+ .hidden f13
+ .globl f13
+ .type f13,@function
+f13: # @f13
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $16=, __stack_pointer
+ i32.load $16=, 0($16)
+ i32.const $17=, 16
+ i32.sub $19=, $16, $17
+ copy_local $20=, $19
+ i32.const $17=, __stack_pointer
+ i32.store $19=, 0($17), $19
+ i32.store $push2=, 8($19), $20
+ i32.store $discard=, 12($19), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $13
+ i32.const $push4=, 3
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label71
+.LBB15_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label74:
+ i32.load8_u $push0=, 0($13)
+ tee_local $push18=, $14=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label72
+# BB#2: # %while.body.i
+ # in Loop: Header=BB15_1 Depth=1
+ i32.load $push6=, 12($19)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $15=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($19), $pop12
+ i32.load $push1=, 0($15)
+ tee_local $push19=, $15=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label73
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB15_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $13=, $13, $pop15
+ i32.load8_u $push16=, .L.str($15)
+ i32.eq $push17=, $14, $pop16
+ br_if $pop17, 0 # 0: up to label74
+# BB#4: # %if.then4.i
+ end_loop # label75:
+ call abort@FUNCTION
+ unreachable
+.LBB15_5: # %if.then.i.i
+ end_block # label73:
+ call abort@FUNCTION
+ unreachable
+.LBB15_6: # %fap.exit
+ end_block # label72:
+ i32.const $18=, 16
+ i32.add $19=, $20, $18
+ i32.const $18=, __stack_pointer
+ i32.store $19=, 0($18), $19
+ return
+.LBB15_7: # %if.then.i
+ end_block # label71:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end15:
+ .size f13, .Lfunc_end15-f13
+
+ .section .text.f14,"ax",@progbits
+ .hidden f14
+ .globl f14
+ .type f14,@function
+f14: # @f14
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 16
+ i32.sub $20=, $17, $18
+ copy_local $21=, $20
+ i32.const $18=, __stack_pointer
+ i32.store $20=, 0($18), $20
+ i32.store $push2=, 8($20), $21
+ i32.store $discard=, 12($20), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $14
+ i32.const $push4=, 2
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label76
+.LBB16_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label79:
+ i32.load8_u $push0=, 0($14)
+ tee_local $push18=, $15=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label77
+# BB#2: # %while.body.i
+ # in Loop: Header=BB16_1 Depth=1
+ i32.load $push6=, 12($20)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $16=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($20), $pop12
+ i32.load $push1=, 0($16)
+ tee_local $push19=, $16=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label78
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB16_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $14=, $14, $pop15
+ i32.load8_u $push16=, .L.str($16)
+ i32.eq $push17=, $15, $pop16
+ br_if $pop17, 0 # 0: up to label79
+# BB#4: # %if.then4.i
+ end_loop # label80:
+ call abort@FUNCTION
+ unreachable
+.LBB16_5: # %if.then.i.i
+ end_block # label78:
+ call abort@FUNCTION
+ unreachable
+.LBB16_6: # %fap.exit
+ end_block # label77:
+ i32.const $19=, 16
+ i32.add $20=, $21, $19
+ i32.const $19=, __stack_pointer
+ i32.store $20=, 0($19), $20
+ return
+.LBB16_7: # %if.then.i
+ end_block # label76:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end16:
+ .size f14, .Lfunc_end16-f14
+
+ .section .text.f15,"ax",@progbits
+ .hidden f15
+ .globl f15
+ .type f15,@function
+f15: # @f15
+ .param i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $18=, __stack_pointer
+ i32.load $18=, 0($18)
+ i32.const $19=, 16
+ i32.sub $21=, $18, $19
+ copy_local $22=, $21
+ i32.const $19=, __stack_pointer
+ i32.store $21=, 0($19), $21
+ i32.store $push2=, 8($21), $22
+ i32.store $discard=, 12($21), $pop2
+ block
+ i32.call $push3=, strlen@FUNCTION, $15
+ i32.const $push4=, 1
+ i32.ne $push5=, $pop3, $pop4
+ br_if $pop5, 0 # 0: down to label81
+.LBB17_1: # %while.cond.i
+ # =>This Inner Loop Header: Depth=1
+ block
+ block
+ loop # label84:
+ i32.load8_u $push0=, 0($15)
+ tee_local $push18=, $16=, $pop0
+ i32.const $push21=, 0
+ i32.eq $push22=, $pop18, $pop21
+ br_if $pop22, 3 # 3: down to label82
+# BB#2: # %while.body.i
+ # in Loop: Header=BB17_1 Depth=1
+ i32.load $push6=, 12($21)
+ i32.const $push7=, 3
+ i32.add $push8=, $pop6, $pop7
+ i32.const $push9=, -4
+ i32.and $push10=, $pop8, $pop9
+ tee_local $push20=, $17=, $pop10
+ i32.const $push11=, 4
+ i32.add $push12=, $pop20, $pop11
+ i32.store $discard=, 12($21), $pop12
+ i32.load $push1=, 0($17)
+ tee_local $push19=, $17=, $pop1
+ i32.const $push13=, 16
+ i32.ge_u $push14=, $pop19, $pop13
+ br_if $pop14, 2 # 2: down to label83
+# BB#3: # %to_hex.exit.i
+ # in Loop: Header=BB17_1 Depth=1
+ i32.const $push15=, 1
+ i32.add $15=, $15, $pop15
+ i32.load8_u $push16=, .L.str($17)
+ i32.eq $push17=, $16, $pop16
+ br_if $pop17, 0 # 0: up to label84
+# BB#4: # %if.then4.i
+ end_loop # label85:
+ call abort@FUNCTION
+ unreachable
+.LBB17_5: # %if.then.i.i
+ end_block # label83:
+ call abort@FUNCTION
+ unreachable
+.LBB17_6: # %fap.exit
+ end_block # label82:
+ i32.const $20=, 16
+ i32.add $21=, $22, $20
+ i32.const $20=, __stack_pointer
+ i32.store $21=, 0($20), $21
+ return
+.LBB17_7: # %if.then.i
+ end_block # label81:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end17:
+ .size f15, .Lfunc_end17-f15
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i64, i64, i64, i64, i64, i64, i64, i32, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $79=, __stack_pointer
+ i32.load $79=, 0($79)
+ i32.const $80=, 64
+ i32.sub $81=, $79, $80
+ i32.const $80=, __stack_pointer
+ i32.store $81=, 0($80), $81
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 64
+ i32.sub $81=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $81=, 0($16), $81
+ i64.const $push0=, 4294967296
+ i64.store $discard=, 0($81):p2align=2, $pop0
+ i32.const $push1=, 56
+ i32.add $0=, $81, $pop1
+ i64.const $push2=, 64424509454
+ i64.store $1=, 0($0):p2align=2, $pop2
+ i32.const $push3=, 48
+ i32.add $0=, $81, $pop3
+ i64.const $push4=, 55834574860
+ i64.store $2=, 0($0):p2align=2, $pop4
+ i32.const $push5=, 40
+ i32.add $0=, $81, $pop5
+ i64.const $push6=, 47244640266
+ i64.store $3=, 0($0):p2align=2, $pop6
+ i32.const $push7=, 32
+ i32.add $0=, $81, $pop7
+ i64.const $push8=, 38654705672
+ i64.store $4=, 0($0):p2align=2, $pop8
+ i32.const $push9=, 24
+ i32.add $0=, $81, $pop9
+ i64.const $push10=, 30064771078
+ i64.store $5=, 0($0):p2align=2, $pop10
+ i32.const $push11=, 16
+ i32.add $0=, $81, $pop11
+ i64.const $push12=, 21474836484
+ i64.store $6=, 0($0):p2align=2, $pop12
+ i32.const $push13=, 8
+ i32.add $0=, $81, $pop13
+ i64.const $push14=, 12884901890
+ i64.store $7=, 0($0):p2align=2, $pop14
+ i32.const $push15=, .L.str
+ call f0@FUNCTION, $pop15
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 64
+ i32.add $81=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $81=, 0($18), $81
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 60
+ i32.sub $81=, $19, $20
+ i32.const $20=, __stack_pointer
+ i32.store $81=, 0($20), $81
+ i64.const $push16=, 8589934593
+ i64.store $discard=, 0($81):p2align=2, $pop16
+ i32.const $push88=, 56
+ i32.add $0=, $81, $pop88
+ i32.const $push17=, 15
+ i32.store $0=, 0($0), $pop17
+ i32.const $push87=, 48
+ i32.add $8=, $81, $pop87
+ i64.const $push18=, 60129542157
+ i64.store $9=, 0($8):p2align=2, $pop18
+ i32.const $push86=, 40
+ i32.add $8=, $81, $pop86
+ i64.const $push19=, 51539607563
+ i64.store $10=, 0($8):p2align=2, $pop19
+ i32.const $push85=, 32
+ i32.add $8=, $81, $pop85
+ i64.const $push20=, 42949672969
+ i64.store $11=, 0($8):p2align=2, $pop20
+ i32.const $push84=, 24
+ i32.add $8=, $81, $pop84
+ i64.const $push21=, 34359738375
+ i64.store $12=, 0($8):p2align=2, $pop21
+ i32.const $push83=, 16
+ i32.add $8=, $81, $pop83
+ i64.const $push22=, 25769803781
+ i64.store $13=, 0($8):p2align=2, $pop22
+ i32.const $push82=, 8
+ i32.add $8=, $81, $pop82
+ i64.const $push23=, 17179869187
+ i64.store $14=, 0($8):p2align=2, $pop23
+ i32.const $push24=, .L.str+1
+ call f1@FUNCTION, $0, $pop24
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 60
+ i32.add $81=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $81=, 0($22), $81
+ i32.const $23=, __stack_pointer
+ i32.load $23=, 0($23)
+ i32.const $24=, 56
+ i32.sub $81=, $23, $24
+ i32.const $24=, __stack_pointer
+ i32.store $81=, 0($24), $81
+ i64.store $discard=, 0($81):p2align=2, $7
+ i32.const $push81=, 48
+ i32.add $8=, $81, $pop81
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push80=, 40
+ i32.add $8=, $81, $pop80
+ i64.store $discard=, 0($8):p2align=2, $2
+ i32.const $push79=, 32
+ i32.add $8=, $81, $pop79
+ i64.store $discard=, 0($8):p2align=2, $3
+ i32.const $push78=, 24
+ i32.add $8=, $81, $pop78
+ i64.store $discard=, 0($8):p2align=2, $4
+ i32.const $push77=, 16
+ i32.add $8=, $81, $pop77
+ i64.store $discard=, 0($8):p2align=2, $5
+ i32.const $push76=, 8
+ i32.add $8=, $81, $pop76
+ i64.store $discard=, 0($8):p2align=2, $6
+ i32.const $push25=, .L.str+2
+ call f2@FUNCTION, $0, $0, $pop25
+ i32.const $25=, __stack_pointer
+ i32.load $25=, 0($25)
+ i32.const $26=, 56
+ i32.add $81=, $25, $26
+ i32.const $26=, __stack_pointer
+ i32.store $81=, 0($26), $81
+ i32.const $27=, __stack_pointer
+ i32.load $27=, 0($27)
+ i32.const $28=, 52
+ i32.sub $81=, $27, $28
+ i32.const $28=, __stack_pointer
+ i32.store $81=, 0($28), $81
+ i64.store $discard=, 0($81):p2align=2, $14
+ i32.const $push75=, 48
+ i32.add $8=, $81, $pop75
+ i32.store $discard=, 0($8), $0
+ i32.const $push74=, 40
+ i32.add $8=, $81, $pop74
+ i64.store $7=, 0($8):p2align=2, $9
+ i32.const $push73=, 32
+ i32.add $8=, $81, $pop73
+ i64.store $9=, 0($8):p2align=2, $10
+ i32.const $push72=, 24
+ i32.add $8=, $81, $pop72
+ i64.store $10=, 0($8):p2align=2, $11
+ i32.const $push71=, 16
+ i32.add $8=, $81, $pop71
+ i64.store $11=, 0($8):p2align=2, $12
+ i32.const $push70=, 8
+ i32.add $8=, $81, $pop70
+ i64.store $12=, 0($8):p2align=2, $13
+ i32.const $push26=, .L.str+3
+ call f3@FUNCTION, $0, $0, $0, $pop26
+ i32.const $29=, __stack_pointer
+ i32.load $29=, 0($29)
+ i32.const $30=, 52
+ i32.add $81=, $29, $30
+ i32.const $30=, __stack_pointer
+ i32.store $81=, 0($30), $81
+ i32.const $31=, __stack_pointer
+ i32.load $31=, 0($31)
+ i32.const $32=, 48
+ i32.sub $81=, $31, $32
+ i32.const $32=, __stack_pointer
+ i32.store $81=, 0($32), $81
+ i64.store $discard=, 0($81):p2align=2, $6
+ i32.const $push69=, 40
+ i32.add $8=, $81, $pop69
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push68=, 32
+ i32.add $8=, $81, $pop68
+ i64.store $discard=, 0($8):p2align=2, $2
+ i32.const $push67=, 24
+ i32.add $8=, $81, $pop67
+ i64.store $discard=, 0($8):p2align=2, $3
+ i32.const $push66=, 16
+ i32.add $8=, $81, $pop66
+ i64.store $discard=, 0($8):p2align=2, $4
+ i32.const $push65=, 8
+ i32.add $8=, $81, $pop65
+ i64.store $discard=, 0($8):p2align=2, $5
+ i32.const $push27=, .L.str+4
+ call f4@FUNCTION, $0, $0, $0, $0, $pop27
+ i32.const $33=, __stack_pointer
+ i32.load $33=, 0($33)
+ i32.const $34=, 48
+ i32.add $81=, $33, $34
+ i32.const $34=, __stack_pointer
+ i32.store $81=, 0($34), $81
+ i32.const $35=, __stack_pointer
+ i32.load $35=, 0($35)
+ i32.const $36=, 44
+ i32.sub $81=, $35, $36
+ i32.const $36=, __stack_pointer
+ i32.store $81=, 0($36), $81
+ i64.store $discard=, 0($81):p2align=2, $12
+ i32.const $push64=, 40
+ i32.add $8=, $81, $pop64
+ i32.store $discard=, 0($8), $0
+ i32.const $push63=, 32
+ i32.add $8=, $81, $pop63
+ i64.store $6=, 0($8):p2align=2, $7
+ i32.const $push62=, 24
+ i32.add $8=, $81, $pop62
+ i64.store $7=, 0($8):p2align=2, $9
+ i32.const $push61=, 16
+ i32.add $8=, $81, $pop61
+ i64.store $9=, 0($8):p2align=2, $10
+ i32.const $push60=, 8
+ i32.add $8=, $81, $pop60
+ i64.store $10=, 0($8):p2align=2, $11
+ i32.const $push28=, .L.str+5
+ call f5@FUNCTION, $0, $0, $0, $0, $0, $pop28
+ i32.const $37=, __stack_pointer
+ i32.load $37=, 0($37)
+ i32.const $38=, 44
+ i32.add $81=, $37, $38
+ i32.const $38=, __stack_pointer
+ i32.store $81=, 0($38), $81
+ i32.const $39=, __stack_pointer
+ i32.load $39=, 0($39)
+ i32.const $40=, 40
+ i32.sub $81=, $39, $40
+ i32.const $40=, __stack_pointer
+ i32.store $81=, 0($40), $81
+ i64.store $discard=, 0($81):p2align=2, $5
+ i32.const $push59=, 32
+ i32.add $8=, $81, $pop59
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push58=, 24
+ i32.add $8=, $81, $pop58
+ i64.store $discard=, 0($8):p2align=2, $2
+ i32.const $push57=, 16
+ i32.add $8=, $81, $pop57
+ i64.store $discard=, 0($8):p2align=2, $3
+ i32.const $push56=, 8
+ i32.add $8=, $81, $pop56
+ i64.store $discard=, 0($8):p2align=2, $4
+ i32.const $push29=, .L.str+6
+ call f6@FUNCTION, $0, $0, $0, $0, $0, $0, $pop29
+ i32.const $41=, __stack_pointer
+ i32.load $41=, 0($41)
+ i32.const $42=, 40
+ i32.add $81=, $41, $42
+ i32.const $42=, __stack_pointer
+ i32.store $81=, 0($42), $81
+ i32.const $43=, __stack_pointer
+ i32.load $43=, 0($43)
+ i32.const $44=, 36
+ i32.sub $81=, $43, $44
+ i32.const $44=, __stack_pointer
+ i32.store $81=, 0($44), $81
+ i64.store $discard=, 0($81):p2align=2, $10
+ i32.const $push55=, 32
+ i32.add $8=, $81, $pop55
+ i32.store $discard=, 0($8), $0
+ i32.const $push54=, 24
+ i32.add $8=, $81, $pop54
+ i64.store $5=, 0($8):p2align=2, $6
+ i32.const $push53=, 16
+ i32.add $8=, $81, $pop53
+ i64.store $6=, 0($8):p2align=2, $7
+ i32.const $push52=, 8
+ i32.add $8=, $81, $pop52
+ i64.store $7=, 0($8):p2align=2, $9
+ i32.const $push30=, .L.str+7
+ call f7@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $pop30
+ i32.const $45=, __stack_pointer
+ i32.load $45=, 0($45)
+ i32.const $46=, 36
+ i32.add $81=, $45, $46
+ i32.const $46=, __stack_pointer
+ i32.store $81=, 0($46), $81
+ i32.const $47=, __stack_pointer
+ i32.load $47=, 0($47)
+ i32.const $48=, 32
+ i32.sub $81=, $47, $48
+ i32.const $48=, __stack_pointer
+ i32.store $81=, 0($48), $81
+ i64.store $discard=, 0($81):p2align=2, $4
+ i32.const $push51=, 24
+ i32.add $8=, $81, $pop51
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push50=, 16
+ i32.add $8=, $81, $pop50
+ i64.store $discard=, 0($8):p2align=2, $2
+ i32.const $push49=, 8
+ i32.add $8=, $81, $pop49
+ i64.store $discard=, 0($8):p2align=2, $3
+ i32.const $push31=, .L.str+8
+ call f8@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $pop31
+ i32.const $49=, __stack_pointer
+ i32.load $49=, 0($49)
+ i32.const $50=, 32
+ i32.add $81=, $49, $50
+ i32.const $50=, __stack_pointer
+ i32.store $81=, 0($50), $81
+ i32.const $51=, __stack_pointer
+ i32.load $51=, 0($51)
+ i32.const $52=, 28
+ i32.sub $81=, $51, $52
+ i32.const $52=, __stack_pointer
+ i32.store $81=, 0($52), $81
+ i64.store $discard=, 0($81):p2align=2, $7
+ i32.const $push48=, 24
+ i32.add $8=, $81, $pop48
+ i32.store $discard=, 0($8), $0
+ i32.const $push47=, 16
+ i32.add $8=, $81, $pop47
+ i64.store $4=, 0($8):p2align=2, $5
+ i32.const $push46=, 8
+ i32.add $8=, $81, $pop46
+ i64.store $5=, 0($8):p2align=2, $6
+ i32.const $push32=, .L.str+9
+ call f9@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop32
+ i32.const $53=, __stack_pointer
+ i32.load $53=, 0($53)
+ i32.const $54=, 28
+ i32.add $81=, $53, $54
+ i32.const $54=, __stack_pointer
+ i32.store $81=, 0($54), $81
+ i32.const $55=, __stack_pointer
+ i32.load $55=, 0($55)
+ i32.const $56=, 24
+ i32.sub $81=, $55, $56
+ i32.const $56=, __stack_pointer
+ i32.store $81=, 0($56), $81
+ i64.store $discard=, 0($81):p2align=2, $3
+ i32.const $push45=, 16
+ i32.add $8=, $81, $pop45
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push44=, 8
+ i32.add $8=, $81, $pop44
+ i64.store $discard=, 0($8):p2align=2, $2
+ i32.const $push33=, .L.str+10
+ call f10@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop33
+ i32.const $57=, __stack_pointer
+ i32.load $57=, 0($57)
+ i32.const $58=, 24
+ i32.add $81=, $57, $58
+ i32.const $58=, __stack_pointer
+ i32.store $81=, 0($58), $81
+ i32.const $59=, __stack_pointer
+ i32.load $59=, 0($59)
+ i32.const $60=, 20
+ i32.sub $81=, $59, $60
+ i32.const $60=, __stack_pointer
+ i32.store $81=, 0($60), $81
+ i64.store $discard=, 0($81):p2align=2, $5
+ i32.const $push43=, 16
+ i32.add $8=, $81, $pop43
+ i32.store $discard=, 0($8), $0
+ i32.const $push42=, 8
+ i32.add $8=, $81, $pop42
+ i64.store $3=, 0($8):p2align=2, $4
+ i32.const $push34=, .L.str+11
+ call f11@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop34
+ i32.const $61=, __stack_pointer
+ i32.load $61=, 0($61)
+ i32.const $62=, 20
+ i32.add $81=, $61, $62
+ i32.const $62=, __stack_pointer
+ i32.store $81=, 0($62), $81
+ i32.const $63=, __stack_pointer
+ i32.load $63=, 0($63)
+ i32.const $64=, 16
+ i32.sub $81=, $63, $64
+ i32.const $64=, __stack_pointer
+ i32.store $81=, 0($64), $81
+ i64.store $discard=, 0($81):p2align=2, $2
+ i32.const $push41=, 8
+ i32.add $8=, $81, $pop41
+ i64.store $discard=, 0($8):p2align=2, $1
+ i32.const $push35=, .L.str+12
+ call f12@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop35
+ i32.const $65=, __stack_pointer
+ i32.load $65=, 0($65)
+ i32.const $66=, 16
+ i32.add $81=, $65, $66
+ i32.const $66=, __stack_pointer
+ i32.store $81=, 0($66), $81
+ i32.const $67=, __stack_pointer
+ i32.load $67=, 0($67)
+ i32.const $68=, 12
+ i32.sub $81=, $67, $68
+ i32.const $68=, __stack_pointer
+ i32.store $81=, 0($68), $81
+ i64.store $discard=, 0($81):p2align=2, $3
+ i32.const $push40=, 8
+ i32.add $8=, $81, $pop40
+ i32.store $discard=, 0($8), $0
+ i32.const $push36=, .L.str+13
+ call f13@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop36
+ i32.const $69=, __stack_pointer
+ i32.load $69=, 0($69)
+ i32.const $70=, 12
+ i32.add $81=, $69, $70
+ i32.const $70=, __stack_pointer
+ i32.store $81=, 0($70), $81
+ i32.const $71=, __stack_pointer
+ i32.load $71=, 0($71)
+ i32.const $72=, 8
+ i32.sub $81=, $71, $72
+ i32.const $72=, __stack_pointer
+ i32.store $81=, 0($72), $81
+ i64.store $discard=, 0($81):p2align=2, $1
+ i32.const $push37=, .L.str+14
+ call f14@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop37
+ i32.const $73=, __stack_pointer
+ i32.load $73=, 0($73)
+ i32.const $74=, 8
+ i32.add $81=, $73, $74
+ i32.const $74=, __stack_pointer
+ i32.store $81=, 0($74), $81
+ i32.const $75=, __stack_pointer
+ i32.load $75=, 0($75)
+ i32.const $76=, 4
+ i32.sub $81=, $75, $76
+ i32.const $76=, __stack_pointer
+ i32.store $81=, 0($76), $81
+ i32.store $discard=, 0($81), $0
+ i32.const $push38=, .L.str+15
+ call f15@FUNCTION, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $0, $pop38
+ i32.const $77=, __stack_pointer
+ i32.load $77=, 0($77)
+ i32.const $78=, 4
+ i32.add $81=, $77, $78
+ i32.const $78=, __stack_pointer
+ i32.store $81=, 0($78), $81
+ i32.const $push39=, 0
+ call exit@FUNCTION, $pop39
+ unreachable
+ .endfunc
+.Lfunc_end18:
+ .size main, .Lfunc_end18-main
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.16,"aMS",@progbits,1
+ .p2align 4
+.L.str:
+ .asciz "0123456789abcdef"
+ .size .L.str, 17
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/va-arg-trap-1.c.s b/test/torture-s/va-arg-trap-1.c.s
new file mode 100644
index 000000000..fe9af4ecc
--- /dev/null
+++ b/test/torture-s/va-arg-trap-1.c.s
@@ -0,0 +1,86 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/va-arg-trap-1.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .result i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ call exit@FUNCTION, $pop0
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32
+ .local i32
+# BB#0: # %entry
+ i32.const $push0=, 0
+ i32.store $discard=, ap($pop0), $1
+ i32.call $discard=, foo@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 16
+ i32.sub $7=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $7
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $7=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $7=, 0($2), $7
+ i32.const $push0=, 0
+ i32.store $discard=, 0($7), $pop0
+ call bar@FUNCTION, $0
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $7=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $7=, 0($4), $7
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden ap # @ap
+ .type ap,@object
+ .section .bss.ap,"aw",@nobits
+ .globl ap
+ .p2align 2
+ap:
+ .int32 0
+ .size ap, 4
+
+ .hidden f # @f
+ .type f,@object
+ .section .bss.f,"aw",@nobits
+ .globl f
+ .p2align 2
+f:
+ .int32 0 # float 0
+ .size f, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/vfprintf-1.c.s b/test/torture-s/vfprintf-1.c.s
new file mode 100644
index 000000000..0d4fd84bb
--- /dev/null
+++ b/test/torture-s/vfprintf-1.c.s
@@ -0,0 +1,445 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/vfprintf-1.c"
+ .section .text.inner,"ax",@progbits
+ .hidden inner
+ .globl inner
+ .type inner,@function
+inner: # @inner
+ .param i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ copy_local $5=, $4
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.store $push0=, 12($4), $5
+ i32.store $discard=, 8($4), $pop0
+ block
+ i32.const $push1=, 10
+ i32.gt_u $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %entry
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ tableswitch $0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 # 0: down to label12
+ # 1: down to label11
+ # 2: down to label10
+ # 3: down to label9
+ # 4: down to label8
+ # 5: down to label7
+ # 6: down to label6
+ # 7: down to label5
+ # 8: down to label4
+ # 9: down to label3
+ # 10: down to label2
+.LBB0_2: # %sw.bb
+ end_block # label12:
+ i32.const $push89=, 0
+ i32.load $push90=, stdout($pop89)
+ i32.const $push92=, .L.str
+ i32.load $push91=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop90, $pop92, $pop91
+ i32.const $push99=, 0
+ i32.load $push93=, stdout($pop99)
+ i32.const $push98=, .L.str
+ i32.load $push94=, 8($4)
+ i32.call $push95=, vfprintf@FUNCTION, $pop93, $pop98, $pop94
+ i32.const $push96=, 5
+ i32.eq $push97=, $pop95, $pop96
+ br_if $pop97, 10 # 10: down to label1
+# BB#3: # %if.then
+ call abort@FUNCTION
+ unreachable
+.LBB0_4: # %sw.bb4
+ end_block # label11:
+ i32.const $push80=, 0
+ i32.load $push81=, stdout($pop80)
+ i32.const $push83=, .L.str.1
+ i32.load $push82=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop81, $pop83, $pop82
+ i32.const $push101=, 0
+ i32.load $push84=, stdout($pop101)
+ i32.const $push100=, .L.str.1
+ i32.load $push85=, 8($4)
+ i32.call $push86=, vfprintf@FUNCTION, $pop84, $pop100, $pop85
+ i32.const $push87=, 6
+ i32.eq $push88=, $pop86, $pop87
+ br_if $pop88, 9 # 9: down to label1
+# BB#5: # %if.then8
+ call abort@FUNCTION
+ unreachable
+.LBB0_6: # %sw.bb10
+ end_block # label10:
+ i32.const $push71=, 0
+ i32.load $push72=, stdout($pop71)
+ i32.const $push74=, .L.str.2
+ i32.load $push73=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop72, $pop74, $pop73
+ i32.const $push103=, 0
+ i32.load $push75=, stdout($pop103)
+ i32.const $push102=, .L.str.2
+ i32.load $push76=, 8($4)
+ i32.call $push77=, vfprintf@FUNCTION, $pop75, $pop102, $pop76
+ i32.const $push78=, 1
+ i32.eq $push79=, $pop77, $pop78
+ br_if $pop79, 8 # 8: down to label1
+# BB#7: # %if.then14
+ call abort@FUNCTION
+ unreachable
+.LBB0_8: # %sw.bb16
+ end_block # label9:
+ i32.const $push64=, 0
+ i32.load $push65=, stdout($pop64)
+ i32.const $push67=, .L.str.3
+ i32.load $push66=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop65, $pop67, $pop66
+ i32.const $push105=, 0
+ i32.load $push68=, stdout($pop105)
+ i32.const $push104=, .L.str.3
+ i32.load $push69=, 8($4)
+ i32.call $push70=, vfprintf@FUNCTION, $pop68, $pop104, $pop69
+ i32.const $push120=, 0
+ i32.eq $push121=, $pop70, $pop120
+ br_if $pop121, 7 # 7: down to label1
+# BB#9: # %if.then20
+ call abort@FUNCTION
+ unreachable
+.LBB0_10: # %sw.bb22
+ end_block # label8:
+ i32.const $push55=, 0
+ i32.load $push56=, stdout($pop55)
+ i32.const $push58=, .L.str.4
+ i32.load $push57=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop56, $pop58, $pop57
+ i32.const $push107=, 0
+ i32.load $push59=, stdout($pop107)
+ i32.const $push106=, .L.str.4
+ i32.load $push60=, 8($4)
+ i32.call $push61=, vfprintf@FUNCTION, $pop59, $pop106, $pop60
+ i32.const $push62=, 5
+ i32.eq $push63=, $pop61, $pop62
+ br_if $pop63, 6 # 6: down to label1
+# BB#11: # %if.then26
+ call abort@FUNCTION
+ unreachable
+.LBB0_12: # %sw.bb28
+ end_block # label7:
+ i32.const $push46=, 0
+ i32.load $push47=, stdout($pop46)
+ i32.const $push49=, .L.str.4
+ i32.load $push48=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop47, $pop49, $pop48
+ i32.const $push109=, 0
+ i32.load $push50=, stdout($pop109)
+ i32.const $push108=, .L.str.4
+ i32.load $push51=, 8($4)
+ i32.call $push52=, vfprintf@FUNCTION, $pop50, $pop108, $pop51
+ i32.const $push53=, 6
+ i32.eq $push54=, $pop52, $pop53
+ br_if $pop54, 5 # 5: down to label1
+# BB#13: # %if.then32
+ call abort@FUNCTION
+ unreachable
+.LBB0_14: # %sw.bb34
+ end_block # label6:
+ i32.const $push37=, 0
+ i32.load $push38=, stdout($pop37)
+ i32.const $push40=, .L.str.4
+ i32.load $push39=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop38, $pop40, $pop39
+ i32.const $push111=, 0
+ i32.load $push41=, stdout($pop111)
+ i32.const $push110=, .L.str.4
+ i32.load $push42=, 8($4)
+ i32.call $push43=, vfprintf@FUNCTION, $pop41, $pop110, $pop42
+ i32.const $push44=, 1
+ i32.eq $push45=, $pop43, $pop44
+ br_if $pop45, 4 # 4: down to label1
+# BB#15: # %if.then38
+ call abort@FUNCTION
+ unreachable
+.LBB0_16: # %sw.bb40
+ end_block # label5:
+ i32.const $push30=, 0
+ i32.load $push31=, stdout($pop30)
+ i32.const $push33=, .L.str.4
+ i32.load $push32=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop31, $pop33, $pop32
+ i32.const $push113=, 0
+ i32.load $push34=, stdout($pop113)
+ i32.const $push112=, .L.str.4
+ i32.load $push35=, 8($4)
+ i32.call $push36=, vfprintf@FUNCTION, $pop34, $pop112, $pop35
+ i32.const $push122=, 0
+ i32.eq $push123=, $pop36, $pop122
+ br_if $pop123, 3 # 3: down to label1
+# BB#17: # %if.then44
+ call abort@FUNCTION
+ unreachable
+.LBB0_18: # %sw.bb46
+ end_block # label4:
+ i32.const $push21=, 0
+ i32.load $push22=, stdout($pop21)
+ i32.const $push24=, .L.str.5
+ i32.load $push23=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop22, $pop24, $pop23
+ i32.const $push115=, 0
+ i32.load $push25=, stdout($pop115)
+ i32.const $push114=, .L.str.5
+ i32.load $push26=, 8($4)
+ i32.call $push27=, vfprintf@FUNCTION, $pop25, $pop114, $pop26
+ i32.const $push28=, 1
+ i32.eq $push29=, $pop27, $pop28
+ br_if $pop29, 2 # 2: down to label1
+# BB#19: # %if.then50
+ call abort@FUNCTION
+ unreachable
+.LBB0_20: # %sw.bb52
+ end_block # label3:
+ i32.const $push12=, 0
+ i32.load $push13=, stdout($pop12)
+ i32.const $push15=, .L.str.6
+ i32.load $push14=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop13, $pop15, $pop14
+ i32.const $push117=, 0
+ i32.load $push16=, stdout($pop117)
+ i32.const $push116=, .L.str.6
+ i32.load $push17=, 8($4)
+ i32.call $push18=, vfprintf@FUNCTION, $pop16, $pop116, $pop17
+ i32.const $push19=, 7
+ i32.eq $push20=, $pop18, $pop19
+ br_if $pop20, 1 # 1: down to label1
+# BB#21: # %if.then56
+ call abort@FUNCTION
+ unreachable
+.LBB0_22: # %sw.bb58
+ end_block # label2:
+ i32.const $push3=, 0
+ i32.load $push4=, stdout($pop3)
+ i32.const $push6=, .L.str.7
+ i32.load $push5=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop4, $pop6, $pop5
+ i32.const $push119=, 0
+ i32.load $push7=, stdout($pop119)
+ i32.const $push118=, .L.str.7
+ i32.load $push8=, 8($4)
+ i32.call $push9=, vfprintf@FUNCTION, $pop7, $pop118, $pop8
+ i32.const $push10=, 2
+ i32.eq $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label1
+# BB#23: # %if.then62
+ call abort@FUNCTION
+ unreachable
+.LBB0_24: # %sw.epilog
+ end_block # label1:
+ i32.const $3=, 16
+ i32.add $4=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return
+.LBB0_25: # %sw.default
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size inner, .Lfunc_end0-inner
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $29=, __stack_pointer
+ i32.load $29=, 0($29)
+ i32.const $30=, 16
+ i32.sub $32=, $29, $30
+ i32.const $30=, __stack_pointer
+ i32.store $32=, 0($30), $32
+ i32.const $push0=, 0
+ call inner@FUNCTION, $pop0
+ i32.const $push1=, 1
+ call inner@FUNCTION, $pop1
+ i32.const $push2=, 2
+ call inner@FUNCTION, $pop2
+ i32.const $push3=, 3
+ call inner@FUNCTION, $pop3
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $32=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $32=, 0($2), $32
+ i32.const $push4=, .L.str
+ i32.store $discard=, 0($32), $pop4
+ i32.const $push5=, 4
+ call inner@FUNCTION, $pop5
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $32=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $32=, 0($4), $32
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 4
+ i32.sub $32=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $32=, 0($6), $32
+ i32.const $push6=, .L.str.1
+ i32.store $0=, 0($32), $pop6
+ i32.const $push7=, 5
+ call inner@FUNCTION, $pop7
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 4
+ i32.add $32=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $32=, 0($8), $32
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 4
+ i32.sub $32=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $32=, 0($10), $32
+ i32.const $push8=, .L.str.2
+ i32.store $discard=, 0($32), $pop8
+ i32.const $push9=, 6
+ call inner@FUNCTION, $pop9
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 4
+ i32.add $32=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $32=, 0($12), $32
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 4
+ i32.sub $32=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $32=, 0($14), $32
+ i32.const $push10=, .L.str.3
+ i32.store $discard=, 0($32), $pop10
+ i32.const $push11=, 7
+ call inner@FUNCTION, $pop11
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 4
+ i32.add $32=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $32=, 0($16), $32
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 4
+ i32.sub $32=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $32=, 0($18), $32
+ i32.const $push12=, 120
+ i32.store $discard=, 0($32), $pop12
+ i32.const $push13=, 8
+ call inner@FUNCTION, $pop13
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 4
+ i32.add $32=, $19, $20
+ i32.const $20=, __stack_pointer
+ i32.store $32=, 0($20), $32
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 4
+ i32.sub $32=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $32=, 0($22), $32
+ i32.store $discard=, 0($32), $0
+ i32.const $push14=, 9
+ call inner@FUNCTION, $pop14
+ i32.const $23=, __stack_pointer
+ i32.load $23=, 0($23)
+ i32.const $24=, 4
+ i32.add $32=, $23, $24
+ i32.const $24=, __stack_pointer
+ i32.store $32=, 0($24), $32
+ i32.const $25=, __stack_pointer
+ i32.load $25=, 0($25)
+ i32.const $26=, 4
+ i32.sub $32=, $25, $26
+ i32.const $26=, __stack_pointer
+ i32.store $32=, 0($26), $32
+ i32.const $push16=, 0
+ i32.store $0=, 0($32), $pop16
+ i32.const $push15=, 10
+ call inner@FUNCTION, $pop15
+ i32.const $27=, __stack_pointer
+ i32.load $27=, 0($27)
+ i32.const $28=, 4
+ i32.add $32=, $27, $28
+ i32.const $28=, __stack_pointer
+ i32.store $32=, 0($28), $32
+ i32.const $31=, 16
+ i32.add $32=, $32, $31
+ i32.const $31=, __stack_pointer
+ i32.store $32=, 0($31), $32
+ return $0
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "hello"
+ .size .L.str, 6
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "hello\n"
+ .size .L.str.1, 7
+
+ .type .L.str.2,@object # @.str.2
+.L.str.2:
+ .asciz "a"
+ .size .L.str.2, 2
+
+ .type .L.str.3,@object # @.str.3
+.L.str.3:
+ .skip 1
+ .size .L.str.3, 1
+
+ .type .L.str.4,@object # @.str.4
+.L.str.4:
+ .asciz "%s"
+ .size .L.str.4, 3
+
+ .type .L.str.5,@object # @.str.5
+.L.str.5:
+ .asciz "%c"
+ .size .L.str.5, 3
+
+ .type .L.str.6,@object # @.str.6
+.L.str.6:
+ .asciz "%s\n"
+ .size .L.str.6, 4
+
+ .type .L.str.7,@object # @.str.7
+.L.str.7:
+ .asciz "%d\n"
+ .size .L.str.7, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/vfprintf-chk-1.c.s b/test/torture-s/vfprintf-chk-1.c.s
new file mode 100644
index 000000000..f421fdc2f
--- /dev/null
+++ b/test/torture-s/vfprintf-chk-1.c.s
@@ -0,0 +1,733 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.c"
+ .section .text.__vfprintf_chk,"ax",@progbits
+ .hidden __vfprintf_chk
+ .globl __vfprintf_chk
+ .type __vfprintf_chk,@function
+__vfprintf_chk: # @__vfprintf_chk
+ .param i32, i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push3=, 0
+ i32.load $push0=, should_optimize($pop3)
+ br_if $pop0, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push4=, 0
+ i32.const $push1=, 1
+ i32.store $discard=, should_optimize($pop4), $pop1
+ i32.call $push2=, vfprintf@FUNCTION, $0, $2, $3
+ return $pop2
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size __vfprintf_chk, .Lfunc_end0-__vfprintf_chk
+
+ .section .text.inner,"ax",@progbits
+ .hidden inner
+ .globl inner
+ .type inner,@function
+inner: # @inner
+ .param i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ copy_local $5=, $4
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.store $push0=, 12($4), $5
+ i32.store $discard=, 8($4), $pop0
+ block
+ i32.const $push1=, 10
+ i32.gt_u $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label1
+# BB#1: # %entry
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ tableswitch $0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 # 0: down to label16
+ # 1: down to label15
+ # 2: down to label14
+ # 3: down to label13
+ # 4: down to label12
+ # 5: down to label11
+ # 6: down to label10
+ # 7: down to label9
+ # 8: down to label8
+ # 9: down to label7
+ # 10: down to label6
+.LBB1_2: # %sw.bb
+ end_block # label16:
+ i32.const $push140=, 0
+ i32.const $push125=, 1
+ i32.store $discard=, should_optimize($pop140), $pop125
+ i32.const $push139=, 0
+ i32.load $push126=, stdout($pop139)
+ i32.const $push138=, .L.str
+ i32.load $push127=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop126, $0, $pop138, $pop127
+ block
+ i32.const $push137=, 0
+ i32.load $push128=, should_optimize($pop137)
+ i32.const $push193=, 0
+ i32.eq $push194=, $pop128, $pop193
+ br_if $pop194, 0 # 0: down to label17
+# BB#3: # %if.end
+ block
+ i32.const $push143=, 0
+ i32.const $push142=, 0
+ i32.store $push129=, should_optimize($pop143), $pop142
+ i32.load $push130=, stdout($pop129)
+ i32.const $push141=, .L.str
+ i32.load $push131=, 8($4)
+ i32.call $push132=, __vfprintf_chk@FUNCTION, $pop130, $0, $pop141, $pop131
+ i32.const $push133=, 5
+ i32.ne $push134=, $pop132, $pop133
+ br_if $pop134, 0 # 0: down to label18
+# BB#4: # %if.end5
+ i32.const $push135=, 0
+ i32.load $push136=, should_optimize($pop135)
+ br_if $pop136, 12 # 12: down to label5
+# BB#5: # %if.then7
+ call abort@FUNCTION
+ unreachable
+.LBB1_6: # %if.then4
+ end_block # label18:
+ call abort@FUNCTION
+ unreachable
+.LBB1_7: # %if.then
+ end_block # label17:
+ call abort@FUNCTION
+ unreachable
+.LBB1_8: # %sw.bb9
+ end_block # label15:
+ i32.const $push147=, 0
+ i32.const $push113=, 1
+ i32.store $discard=, should_optimize($pop147), $pop113
+ i32.const $push146=, 0
+ i32.load $push114=, stdout($pop146)
+ i32.const $push145=, .L.str.1
+ i32.load $push115=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop114, $0, $pop145, $pop115
+ block
+ i32.const $push144=, 0
+ i32.load $push116=, should_optimize($pop144)
+ i32.const $push195=, 0
+ i32.eq $push196=, $pop116, $pop195
+ br_if $pop196, 0 # 0: down to label19
+# BB#9: # %if.end13
+ block
+ i32.const $push150=, 0
+ i32.const $push149=, 0
+ i32.store $push117=, should_optimize($pop150), $pop149
+ i32.load $push118=, stdout($pop117)
+ i32.const $push148=, .L.str.1
+ i32.load $push119=, 8($4)
+ i32.call $push120=, __vfprintf_chk@FUNCTION, $pop118, $0, $pop148, $pop119
+ i32.const $push121=, 6
+ i32.ne $push122=, $pop120, $pop121
+ br_if $pop122, 0 # 0: down to label20
+# BB#10: # %if.end17
+ i32.const $push123=, 0
+ i32.load $push124=, should_optimize($pop123)
+ br_if $pop124, 11 # 11: down to label5
+# BB#11: # %if.then19
+ call abort@FUNCTION
+ unreachable
+.LBB1_12: # %if.then16
+ end_block # label20:
+ call abort@FUNCTION
+ unreachable
+.LBB1_13: # %if.then12
+ end_block # label19:
+ call abort@FUNCTION
+ unreachable
+.LBB1_14: # %sw.bb21
+ end_block # label14:
+ i32.const $push154=, 0
+ i32.const $push102=, 1
+ i32.store $0=, should_optimize($pop154), $pop102
+ i32.const $push153=, 0
+ i32.load $push103=, stdout($pop153)
+ i32.const $push152=, .L.str.2
+ i32.load $push104=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop103, $0, $pop152, $pop104
+ block
+ i32.const $push151=, 0
+ i32.load $push105=, should_optimize($pop151)
+ i32.const $push197=, 0
+ i32.eq $push198=, $pop105, $pop197
+ br_if $pop198, 0 # 0: down to label21
+# BB#15: # %if.end25
+ block
+ i32.const $push157=, 0
+ i32.const $push156=, 0
+ i32.store $push106=, should_optimize($pop157), $pop156
+ i32.load $push107=, stdout($pop106)
+ i32.const $push155=, .L.str.2
+ i32.load $push108=, 8($4)
+ i32.call $push109=, __vfprintf_chk@FUNCTION, $pop107, $0, $pop155, $pop108
+ i32.ne $push110=, $pop109, $0
+ br_if $pop110, 0 # 0: down to label22
+# BB#16: # %if.end29
+ i32.const $push111=, 0
+ i32.load $push112=, should_optimize($pop111)
+ br_if $pop112, 10 # 10: down to label5
+# BB#17: # %if.then31
+ call abort@FUNCTION
+ unreachable
+.LBB1_18: # %if.then28
+ end_block # label22:
+ call abort@FUNCTION
+ unreachable
+.LBB1_19: # %if.then24
+ end_block # label21:
+ call abort@FUNCTION
+ unreachable
+.LBB1_20: # %sw.bb33
+ end_block # label13:
+ i32.const $push161=, 0
+ i32.const $push92=, 1
+ i32.store $discard=, should_optimize($pop161), $pop92
+ i32.const $push160=, 0
+ i32.load $push93=, stdout($pop160)
+ i32.const $push159=, .L.str.3
+ i32.load $push94=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop93, $0, $pop159, $pop94
+ block
+ i32.const $push158=, 0
+ i32.load $push95=, should_optimize($pop158)
+ i32.const $push199=, 0
+ i32.eq $push200=, $pop95, $pop199
+ br_if $pop200, 0 # 0: down to label23
+# BB#21: # %if.end37
+ block
+ i32.const $push164=, 0
+ i32.const $push163=, 0
+ i32.store $push96=, should_optimize($pop164), $pop163
+ i32.load $push97=, stdout($pop96)
+ i32.const $push162=, .L.str.3
+ i32.load $push98=, 8($4)
+ i32.call $push99=, __vfprintf_chk@FUNCTION, $pop97, $0, $pop162, $pop98
+ br_if $pop99, 0 # 0: down to label24
+# BB#22: # %if.end41
+ i32.const $push100=, 0
+ i32.load $push101=, should_optimize($pop100)
+ br_if $pop101, 9 # 9: down to label5
+# BB#23: # %if.then43
+ call abort@FUNCTION
+ unreachable
+.LBB1_24: # %if.then40
+ end_block # label24:
+ call abort@FUNCTION
+ unreachable
+.LBB1_25: # %if.then36
+ end_block # label23:
+ call abort@FUNCTION
+ unreachable
+.LBB1_26: # %sw.bb45
+ end_block # label12:
+ i32.const $push79=, 0
+ i32.const $push167=, 0
+ i32.store $push80=, should_optimize($pop79), $pop167
+ tee_local $push166=, $0=, $pop80
+ i32.load $push81=, stdout($pop166)
+ i32.const $push165=, .L.str.4
+ i32.load $push82=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop81, $0, $pop165, $pop82
+ block
+ i32.load $push83=, should_optimize($0)
+ i32.const $push201=, 0
+ i32.eq $push202=, $pop83, $pop201
+ br_if $pop202, 0 # 0: down to label25
+# BB#27: # %if.end49
+ block
+ i32.store $push84=, should_optimize($0), $0
+ i32.load $push85=, stdout($pop84)
+ i32.const $push168=, .L.str.4
+ i32.load $push86=, 8($4)
+ i32.call $push87=, __vfprintf_chk@FUNCTION, $pop85, $0, $pop168, $pop86
+ i32.const $push88=, 5
+ i32.ne $push89=, $pop87, $pop88
+ br_if $pop89, 0 # 0: down to label26
+# BB#28: # %if.end53
+ i32.const $push90=, 0
+ i32.load $push91=, should_optimize($pop90)
+ br_if $pop91, 8 # 8: down to label5
+# BB#29: # %if.then55
+ call abort@FUNCTION
+ unreachable
+.LBB1_30: # %if.then52
+ end_block # label26:
+ call abort@FUNCTION
+ unreachable
+.LBB1_31: # %if.then48
+ end_block # label25:
+ call abort@FUNCTION
+ unreachable
+.LBB1_32: # %sw.bb57
+ end_block # label11:
+ i32.const $push66=, 0
+ i32.const $push171=, 0
+ i32.store $push67=, should_optimize($pop66), $pop171
+ tee_local $push170=, $0=, $pop67
+ i32.load $push68=, stdout($pop170)
+ i32.const $push169=, .L.str.4
+ i32.load $push69=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop68, $0, $pop169, $pop69
+ block
+ i32.load $push70=, should_optimize($0)
+ i32.const $push203=, 0
+ i32.eq $push204=, $pop70, $pop203
+ br_if $pop204, 0 # 0: down to label27
+# BB#33: # %if.end61
+ block
+ i32.store $push71=, should_optimize($0), $0
+ i32.load $push72=, stdout($pop71)
+ i32.const $push172=, .L.str.4
+ i32.load $push73=, 8($4)
+ i32.call $push74=, __vfprintf_chk@FUNCTION, $pop72, $0, $pop172, $pop73
+ i32.const $push75=, 6
+ i32.ne $push76=, $pop74, $pop75
+ br_if $pop76, 0 # 0: down to label28
+# BB#34: # %if.end65
+ i32.const $push77=, 0
+ i32.load $push78=, should_optimize($pop77)
+ br_if $pop78, 7 # 7: down to label5
+# BB#35: # %if.then67
+ call abort@FUNCTION
+ unreachable
+.LBB1_36: # %if.then64
+ end_block # label28:
+ call abort@FUNCTION
+ unreachable
+.LBB1_37: # %if.then60
+ end_block # label27:
+ call abort@FUNCTION
+ unreachable
+.LBB1_38: # %sw.bb69
+ end_block # label10:
+ i32.const $push53=, 0
+ i32.const $push175=, 0
+ i32.store $push54=, should_optimize($pop53), $pop175
+ tee_local $push174=, $0=, $pop54
+ i32.load $push55=, stdout($pop174)
+ i32.const $push173=, .L.str.4
+ i32.load $push56=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop55, $0, $pop173, $pop56
+ block
+ i32.load $push57=, should_optimize($0)
+ i32.const $push205=, 0
+ i32.eq $push206=, $pop57, $pop205
+ br_if $pop206, 0 # 0: down to label29
+# BB#39: # %if.end73
+ block
+ i32.store $push58=, should_optimize($0), $0
+ i32.load $push59=, stdout($pop58)
+ i32.const $push176=, .L.str.4
+ i32.load $push60=, 8($4)
+ i32.call $push61=, __vfprintf_chk@FUNCTION, $pop59, $0, $pop176, $pop60
+ i32.const $push62=, 1
+ i32.ne $push63=, $pop61, $pop62
+ br_if $pop63, 0 # 0: down to label30
+# BB#40: # %if.end77
+ i32.const $push64=, 0
+ i32.load $push65=, should_optimize($pop64)
+ br_if $pop65, 6 # 6: down to label5
+# BB#41: # %if.then79
+ call abort@FUNCTION
+ unreachable
+.LBB1_42: # %if.then76
+ end_block # label30:
+ call abort@FUNCTION
+ unreachable
+.LBB1_43: # %if.then72
+ end_block # label29:
+ call abort@FUNCTION
+ unreachable
+.LBB1_44: # %sw.bb81
+ end_block # label9:
+ i32.const $push42=, 0
+ i32.const $push179=, 0
+ i32.store $push43=, should_optimize($pop42), $pop179
+ tee_local $push178=, $0=, $pop43
+ i32.load $push44=, stdout($pop178)
+ i32.const $push177=, .L.str.4
+ i32.load $push45=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop44, $0, $pop177, $pop45
+ block
+ i32.load $push46=, should_optimize($0)
+ i32.const $push207=, 0
+ i32.eq $push208=, $pop46, $pop207
+ br_if $pop208, 0 # 0: down to label31
+# BB#45: # %if.end85
+ block
+ i32.store $push47=, should_optimize($0), $0
+ i32.load $push48=, stdout($pop47)
+ i32.const $push180=, .L.str.4
+ i32.load $push49=, 8($4)
+ i32.call $push50=, __vfprintf_chk@FUNCTION, $pop48, $0, $pop180, $pop49
+ br_if $pop50, 0 # 0: down to label32
+# BB#46: # %if.end89
+ i32.const $push51=, 0
+ i32.load $push52=, should_optimize($pop51)
+ br_if $pop52, 5 # 5: down to label5
+# BB#47: # %if.then91
+ call abort@FUNCTION
+ unreachable
+.LBB1_48: # %if.then88
+ end_block # label32:
+ call abort@FUNCTION
+ unreachable
+.LBB1_49: # %if.then84
+ end_block # label31:
+ call abort@FUNCTION
+ unreachable
+.LBB1_50: # %sw.bb93
+ end_block # label8:
+ i32.const $push29=, 0
+ i32.const $push183=, 0
+ i32.store $push30=, should_optimize($pop29), $pop183
+ tee_local $push182=, $0=, $pop30
+ i32.load $push31=, stdout($pop182)
+ i32.const $push181=, .L.str.5
+ i32.load $push32=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop31, $0, $pop181, $pop32
+ block
+ i32.load $push33=, should_optimize($0)
+ i32.const $push209=, 0
+ i32.eq $push210=, $pop33, $pop209
+ br_if $pop210, 0 # 0: down to label33
+# BB#51: # %if.end97
+ block
+ i32.store $push34=, should_optimize($0), $0
+ i32.load $push35=, stdout($pop34)
+ i32.const $push184=, .L.str.5
+ i32.load $push36=, 8($4)
+ i32.call $push37=, __vfprintf_chk@FUNCTION, $pop35, $0, $pop184, $pop36
+ i32.const $push38=, 1
+ i32.ne $push39=, $pop37, $pop38
+ br_if $pop39, 0 # 0: down to label34
+# BB#52: # %if.end101
+ i32.const $push40=, 0
+ i32.load $push41=, should_optimize($pop40)
+ br_if $pop41, 4 # 4: down to label5
+# BB#53: # %if.then103
+ call abort@FUNCTION
+ unreachable
+.LBB1_54: # %if.then100
+ end_block # label34:
+ call abort@FUNCTION
+ unreachable
+.LBB1_55: # %if.then96
+ end_block # label33:
+ call abort@FUNCTION
+ unreachable
+.LBB1_56: # %sw.bb105
+ end_block # label7:
+ i32.const $push16=, 0
+ i32.const $push187=, 0
+ i32.store $push17=, should_optimize($pop16), $pop187
+ tee_local $push186=, $0=, $pop17
+ i32.load $push18=, stdout($pop186)
+ i32.const $push185=, .L.str.6
+ i32.load $push19=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop18, $0, $pop185, $pop19
+ block
+ i32.load $push20=, should_optimize($0)
+ i32.const $push211=, 0
+ i32.eq $push212=, $pop20, $pop211
+ br_if $pop212, 0 # 0: down to label35
+# BB#57: # %if.end109
+ block
+ i32.store $push21=, should_optimize($0), $0
+ i32.load $push22=, stdout($pop21)
+ i32.const $push188=, .L.str.6
+ i32.load $push23=, 8($4)
+ i32.call $push24=, __vfprintf_chk@FUNCTION, $pop22, $0, $pop188, $pop23
+ i32.const $push25=, 7
+ i32.ne $push26=, $pop24, $pop25
+ br_if $pop26, 0 # 0: down to label36
+# BB#58: # %if.end113
+ i32.const $push27=, 0
+ i32.load $push28=, should_optimize($pop27)
+ br_if $pop28, 3 # 3: down to label5
+# BB#59: # %if.then115
+ call abort@FUNCTION
+ unreachable
+.LBB1_60: # %if.then112
+ end_block # label36:
+ call abort@FUNCTION
+ unreachable
+.LBB1_61: # %if.then108
+ end_block # label35:
+ call abort@FUNCTION
+ unreachable
+.LBB1_62: # %sw.bb117
+ end_block # label6:
+ i32.const $push3=, 0
+ i32.const $push191=, 0
+ i32.store $push4=, should_optimize($pop3), $pop191
+ tee_local $push190=, $0=, $pop4
+ i32.load $push5=, stdout($pop190)
+ i32.const $push189=, .L.str.7
+ i32.load $push6=, 12($4)
+ i32.call $discard=, __vfprintf_chk@FUNCTION, $pop5, $0, $pop189, $pop6
+ i32.load $push7=, should_optimize($0)
+ i32.const $push213=, 0
+ i32.eq $push214=, $pop7, $pop213
+ br_if $pop214, 3 # 3: down to label2
+# BB#63: # %if.end121
+ i32.store $push8=, should_optimize($0), $0
+ i32.load $push9=, stdout($pop8)
+ i32.const $push192=, .L.str.7
+ i32.load $push10=, 8($4)
+ i32.call $push11=, __vfprintf_chk@FUNCTION, $pop9, $0, $pop192, $pop10
+ i32.const $push12=, 2
+ i32.ne $push13=, $pop11, $pop12
+ br_if $pop13, 2 # 2: down to label3
+# BB#64: # %if.end125
+ i32.const $push14=, 0
+ i32.load $push15=, should_optimize($pop14)
+ i32.const $push215=, 0
+ i32.eq $push216=, $pop15, $pop215
+ br_if $pop216, 1 # 1: down to label4
+.LBB1_65: # %sw.epilog
+ end_block # label5:
+ i32.const $3=, 16
+ i32.add $4=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return
+.LBB1_66: # %if.then127
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB1_67: # %if.then124
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB1_68: # %if.then120
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB1_69: # %sw.default
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size inner, .Lfunc_end1-inner
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $29=, __stack_pointer
+ i32.load $29=, 0($29)
+ i32.const $30=, 16
+ i32.sub $32=, $29, $30
+ i32.const $30=, __stack_pointer
+ i32.store $32=, 0($30), $32
+ i32.const $push0=, 0
+ call inner@FUNCTION, $pop0
+ i32.const $push1=, 1
+ call inner@FUNCTION, $pop1
+ i32.const $push2=, 2
+ call inner@FUNCTION, $pop2
+ i32.const $push3=, 3
+ call inner@FUNCTION, $pop3
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $32=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $32=, 0($2), $32
+ i32.const $push4=, .L.str
+ i32.store $discard=, 0($32), $pop4
+ i32.const $push5=, 4
+ call inner@FUNCTION, $pop5
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $32=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $32=, 0($4), $32
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 4
+ i32.sub $32=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $32=, 0($6), $32
+ i32.const $push6=, .L.str.1
+ i32.store $0=, 0($32), $pop6
+ i32.const $push7=, 5
+ call inner@FUNCTION, $pop7
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 4
+ i32.add $32=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $32=, 0($8), $32
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 4
+ i32.sub $32=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $32=, 0($10), $32
+ i32.const $push8=, .L.str.2
+ i32.store $discard=, 0($32), $pop8
+ i32.const $push9=, 6
+ call inner@FUNCTION, $pop9
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 4
+ i32.add $32=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $32=, 0($12), $32
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 4
+ i32.sub $32=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $32=, 0($14), $32
+ i32.const $push10=, .L.str.3
+ i32.store $discard=, 0($32), $pop10
+ i32.const $push11=, 7
+ call inner@FUNCTION, $pop11
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 4
+ i32.add $32=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $32=, 0($16), $32
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 4
+ i32.sub $32=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $32=, 0($18), $32
+ i32.const $push12=, 120
+ i32.store $discard=, 0($32), $pop12
+ i32.const $push13=, 8
+ call inner@FUNCTION, $pop13
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 4
+ i32.add $32=, $19, $20
+ i32.const $20=, __stack_pointer
+ i32.store $32=, 0($20), $32
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 4
+ i32.sub $32=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $32=, 0($22), $32
+ i32.store $discard=, 0($32), $0
+ i32.const $push14=, 9
+ call inner@FUNCTION, $pop14
+ i32.const $23=, __stack_pointer
+ i32.load $23=, 0($23)
+ i32.const $24=, 4
+ i32.add $32=, $23, $24
+ i32.const $24=, __stack_pointer
+ i32.store $32=, 0($24), $32
+ i32.const $25=, __stack_pointer
+ i32.load $25=, 0($25)
+ i32.const $26=, 4
+ i32.sub $32=, $25, $26
+ i32.const $26=, __stack_pointer
+ i32.store $32=, 0($26), $32
+ i32.const $push16=, 0
+ i32.store $0=, 0($32), $pop16
+ i32.const $push15=, 10
+ call inner@FUNCTION, $pop15
+ i32.const $27=, __stack_pointer
+ i32.load $27=, 0($27)
+ i32.const $28=, 4
+ i32.add $32=, $27, $28
+ i32.const $28=, __stack_pointer
+ i32.store $32=, 0($28), $32
+ i32.const $31=, 16
+ i32.add $32=, $32, $31
+ i32.const $31=, __stack_pointer
+ i32.store $32=, 0($31), $32
+ return $0
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden should_optimize # @should_optimize
+ .type should_optimize,@object
+ .section .bss.should_optimize,"aw",@nobits
+ .globl should_optimize
+ .p2align 2
+should_optimize:
+ .int32 0 # 0x0
+ .size should_optimize, 4
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "hello"
+ .size .L.str, 6
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "hello\n"
+ .size .L.str.1, 7
+
+ .type .L.str.2,@object # @.str.2
+.L.str.2:
+ .asciz "a"
+ .size .L.str.2, 2
+
+ .type .L.str.3,@object # @.str.3
+.L.str.3:
+ .skip 1
+ .size .L.str.3, 1
+
+ .type .L.str.4,@object # @.str.4
+.L.str.4:
+ .asciz "%s"
+ .size .L.str.4, 3
+
+ .type .L.str.5,@object # @.str.5
+.L.str.5:
+ .asciz "%c"
+ .size .L.str.5, 3
+
+ .type .L.str.6,@object # @.str.6
+.L.str.6:
+ .asciz "%s\n"
+ .size .L.str.6, 4
+
+ .type .L.str.7,@object # @.str.7
+.L.str.7:
+ .asciz "%d\n"
+ .size .L.str.7, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/vla-dealloc-1.c.s b/test/torture-s/vla-dealloc-1.c.s
new file mode 100644
index 000000000..ac6215aa6
--- /dev/null
+++ b/test/torture-s/vla-dealloc-1.c.s
@@ -0,0 +1,62 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/vla-dealloc-1.c"
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $5=, __stack_pointer
+ i32.load $7=, 0($5)
+ copy_local $8=, $7
+ i32.const $3=, 0
+.LBB0_1: # %if.end
+ # =>This Inner Loop Header: Depth=1
+ loop # label0:
+ copy_local $0=, $7
+ i32.const $push15=, 1000
+ i32.rem_s $push0=, $3, $pop15
+ i32.const $push14=, 2
+ i32.shl $push1=, $pop0, $pop14
+ tee_local $push13=, $4=, $pop1
+ i32.const $push12=, 19
+ i32.add $push2=, $pop13, $pop12
+ i32.const $push11=, -16
+ i32.and $push3=, $pop2, $pop11
+ i32.sub $1=, $7, $pop3
+ copy_local $7=, $1
+ i32.const $push10=, 1
+ i32.store $2=, 0($1):p2align=4, $pop10
+ i32.add $push4=, $1, $4
+ i32.const $push9=, 2
+ i32.store $discard=, 0($pop4), $pop9
+ i32.const $push8=, 0
+ i32.store $discard=, p($pop8), $1
+ i32.add $3=, $3, $2
+ copy_local $7=, $0
+ i32.const $push7=, 1000000
+ i32.ne $push5=, $3, $pop7
+ br_if $pop5, 0 # 0: up to label0
+# BB#2: # %cleanup5
+ end_loop # label1:
+ i32.const $push6=, 0
+ i32.const $6=, __stack_pointer
+ i32.store $7=, 0($6), $8
+ return $pop6
+ .endfunc
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+
+ .hidden p # @p
+ .type p,@object
+ .section .bss.p,"aw",@nobits
+ .globl p
+ .p2align 2
+p:
+ .int32 0
+ .size p, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/vprintf-1.c.s b/test/torture-s/vprintf-1.c.s
new file mode 100644
index 000000000..4ea185454
--- /dev/null
+++ b/test/torture-s/vprintf-1.c.s
@@ -0,0 +1,445 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/vprintf-1.c"
+ .section .text.inner,"ax",@progbits
+ .hidden inner
+ .globl inner
+ .type inner,@function
+inner: # @inner
+ .param i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ copy_local $5=, $4
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.store $push0=, 12($4), $5
+ i32.store $discard=, 8($4), $pop0
+ block
+ i32.const $push1=, 10
+ i32.gt_u $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label0
+# BB#1: # %entry
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ tableswitch $0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 # 0: down to label12
+ # 1: down to label11
+ # 2: down to label10
+ # 3: down to label9
+ # 4: down to label8
+ # 5: down to label7
+ # 6: down to label6
+ # 7: down to label5
+ # 8: down to label4
+ # 9: down to label3
+ # 10: down to label2
+.LBB0_2: # %sw.bb
+ end_block # label12:
+ i32.const $push90=, 0
+ i32.load $push91=, stdout($pop90)
+ i32.const $push92=, .L.str
+ i32.load $push89=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop91, $pop92, $pop89
+ i32.const $push99=, 0
+ i32.load $push94=, stdout($pop99)
+ i32.const $push98=, .L.str
+ i32.load $push93=, 8($4)
+ i32.call $push95=, vfprintf@FUNCTION, $pop94, $pop98, $pop93
+ i32.const $push96=, 5
+ i32.eq $push97=, $pop95, $pop96
+ br_if $pop97, 10 # 10: down to label1
+# BB#3: # %if.then
+ call abort@FUNCTION
+ unreachable
+.LBB0_4: # %sw.bb4
+ end_block # label11:
+ i32.const $push81=, 0
+ i32.load $push82=, stdout($pop81)
+ i32.const $push83=, .L.str.1
+ i32.load $push80=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop82, $pop83, $pop80
+ i32.const $push101=, 0
+ i32.load $push85=, stdout($pop101)
+ i32.const $push100=, .L.str.1
+ i32.load $push84=, 8($4)
+ i32.call $push86=, vfprintf@FUNCTION, $pop85, $pop100, $pop84
+ i32.const $push87=, 6
+ i32.eq $push88=, $pop86, $pop87
+ br_if $pop88, 9 # 9: down to label1
+# BB#5: # %if.then8
+ call abort@FUNCTION
+ unreachable
+.LBB0_6: # %sw.bb10
+ end_block # label10:
+ i32.const $push72=, 0
+ i32.load $push73=, stdout($pop72)
+ i32.const $push74=, .L.str.2
+ i32.load $push71=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop73, $pop74, $pop71
+ i32.const $push103=, 0
+ i32.load $push76=, stdout($pop103)
+ i32.const $push102=, .L.str.2
+ i32.load $push75=, 8($4)
+ i32.call $push77=, vfprintf@FUNCTION, $pop76, $pop102, $pop75
+ i32.const $push78=, 1
+ i32.eq $push79=, $pop77, $pop78
+ br_if $pop79, 8 # 8: down to label1
+# BB#7: # %if.then14
+ call abort@FUNCTION
+ unreachable
+.LBB0_8: # %sw.bb16
+ end_block # label9:
+ i32.const $push65=, 0
+ i32.load $push66=, stdout($pop65)
+ i32.const $push67=, .L.str.3
+ i32.load $push64=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop66, $pop67, $pop64
+ i32.const $push105=, 0
+ i32.load $push69=, stdout($pop105)
+ i32.const $push104=, .L.str.3
+ i32.load $push68=, 8($4)
+ i32.call $push70=, vfprintf@FUNCTION, $pop69, $pop104, $pop68
+ i32.const $push120=, 0
+ i32.eq $push121=, $pop70, $pop120
+ br_if $pop121, 7 # 7: down to label1
+# BB#9: # %if.then20
+ call abort@FUNCTION
+ unreachable
+.LBB0_10: # %sw.bb22
+ end_block # label8:
+ i32.const $push56=, 0
+ i32.load $push57=, stdout($pop56)
+ i32.const $push58=, .L.str.4
+ i32.load $push55=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop57, $pop58, $pop55
+ i32.const $push107=, 0
+ i32.load $push60=, stdout($pop107)
+ i32.const $push106=, .L.str.4
+ i32.load $push59=, 8($4)
+ i32.call $push61=, vfprintf@FUNCTION, $pop60, $pop106, $pop59
+ i32.const $push62=, 5
+ i32.eq $push63=, $pop61, $pop62
+ br_if $pop63, 6 # 6: down to label1
+# BB#11: # %if.then26
+ call abort@FUNCTION
+ unreachable
+.LBB0_12: # %sw.bb28
+ end_block # label7:
+ i32.const $push47=, 0
+ i32.load $push48=, stdout($pop47)
+ i32.const $push49=, .L.str.4
+ i32.load $push46=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop48, $pop49, $pop46
+ i32.const $push109=, 0
+ i32.load $push51=, stdout($pop109)
+ i32.const $push108=, .L.str.4
+ i32.load $push50=, 8($4)
+ i32.call $push52=, vfprintf@FUNCTION, $pop51, $pop108, $pop50
+ i32.const $push53=, 6
+ i32.eq $push54=, $pop52, $pop53
+ br_if $pop54, 5 # 5: down to label1
+# BB#13: # %if.then32
+ call abort@FUNCTION
+ unreachable
+.LBB0_14: # %sw.bb34
+ end_block # label6:
+ i32.const $push38=, 0
+ i32.load $push39=, stdout($pop38)
+ i32.const $push40=, .L.str.4
+ i32.load $push37=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop39, $pop40, $pop37
+ i32.const $push111=, 0
+ i32.load $push42=, stdout($pop111)
+ i32.const $push110=, .L.str.4
+ i32.load $push41=, 8($4)
+ i32.call $push43=, vfprintf@FUNCTION, $pop42, $pop110, $pop41
+ i32.const $push44=, 1
+ i32.eq $push45=, $pop43, $pop44
+ br_if $pop45, 4 # 4: down to label1
+# BB#15: # %if.then38
+ call abort@FUNCTION
+ unreachable
+.LBB0_16: # %sw.bb40
+ end_block # label5:
+ i32.const $push31=, 0
+ i32.load $push32=, stdout($pop31)
+ i32.const $push33=, .L.str.4
+ i32.load $push30=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop32, $pop33, $pop30
+ i32.const $push113=, 0
+ i32.load $push35=, stdout($pop113)
+ i32.const $push112=, .L.str.4
+ i32.load $push34=, 8($4)
+ i32.call $push36=, vfprintf@FUNCTION, $pop35, $pop112, $pop34
+ i32.const $push122=, 0
+ i32.eq $push123=, $pop36, $pop122
+ br_if $pop123, 3 # 3: down to label1
+# BB#17: # %if.then44
+ call abort@FUNCTION
+ unreachable
+.LBB0_18: # %sw.bb46
+ end_block # label4:
+ i32.const $push22=, 0
+ i32.load $push23=, stdout($pop22)
+ i32.const $push24=, .L.str.5
+ i32.load $push21=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop23, $pop24, $pop21
+ i32.const $push115=, 0
+ i32.load $push26=, stdout($pop115)
+ i32.const $push114=, .L.str.5
+ i32.load $push25=, 8($4)
+ i32.call $push27=, vfprintf@FUNCTION, $pop26, $pop114, $pop25
+ i32.const $push28=, 1
+ i32.eq $push29=, $pop27, $pop28
+ br_if $pop29, 2 # 2: down to label1
+# BB#19: # %if.then50
+ call abort@FUNCTION
+ unreachable
+.LBB0_20: # %sw.bb52
+ end_block # label3:
+ i32.const $push13=, 0
+ i32.load $push14=, stdout($pop13)
+ i32.const $push15=, .L.str.6
+ i32.load $push12=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop14, $pop15, $pop12
+ i32.const $push117=, 0
+ i32.load $push17=, stdout($pop117)
+ i32.const $push116=, .L.str.6
+ i32.load $push16=, 8($4)
+ i32.call $push18=, vfprintf@FUNCTION, $pop17, $pop116, $pop16
+ i32.const $push19=, 7
+ i32.eq $push20=, $pop18, $pop19
+ br_if $pop20, 1 # 1: down to label1
+# BB#21: # %if.then56
+ call abort@FUNCTION
+ unreachable
+.LBB0_22: # %sw.bb58
+ end_block # label2:
+ i32.const $push4=, 0
+ i32.load $push5=, stdout($pop4)
+ i32.const $push6=, .L.str.7
+ i32.load $push3=, 12($4)
+ i32.call $discard=, vfprintf@FUNCTION, $pop5, $pop6, $pop3
+ i32.const $push119=, 0
+ i32.load $push8=, stdout($pop119)
+ i32.const $push118=, .L.str.7
+ i32.load $push7=, 8($4)
+ i32.call $push9=, vfprintf@FUNCTION, $pop8, $pop118, $pop7
+ i32.const $push10=, 2
+ i32.eq $push11=, $pop9, $pop10
+ br_if $pop11, 0 # 0: down to label1
+# BB#23: # %if.then62
+ call abort@FUNCTION
+ unreachable
+.LBB0_24: # %sw.epilog
+ end_block # label1:
+ i32.const $3=, 16
+ i32.add $4=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return
+.LBB0_25: # %sw.default
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size inner, .Lfunc_end0-inner
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $29=, __stack_pointer
+ i32.load $29=, 0($29)
+ i32.const $30=, 16
+ i32.sub $32=, $29, $30
+ i32.const $30=, __stack_pointer
+ i32.store $32=, 0($30), $32
+ i32.const $push0=, 0
+ call inner@FUNCTION, $pop0
+ i32.const $push1=, 1
+ call inner@FUNCTION, $pop1
+ i32.const $push2=, 2
+ call inner@FUNCTION, $pop2
+ i32.const $push3=, 3
+ call inner@FUNCTION, $pop3
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $32=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $32=, 0($2), $32
+ i32.const $push4=, .L.str
+ i32.store $discard=, 0($32), $pop4
+ i32.const $push5=, 4
+ call inner@FUNCTION, $pop5
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $32=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $32=, 0($4), $32
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 4
+ i32.sub $32=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $32=, 0($6), $32
+ i32.const $push6=, .L.str.1
+ i32.store $0=, 0($32), $pop6
+ i32.const $push7=, 5
+ call inner@FUNCTION, $pop7
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 4
+ i32.add $32=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $32=, 0($8), $32
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 4
+ i32.sub $32=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $32=, 0($10), $32
+ i32.const $push8=, .L.str.2
+ i32.store $discard=, 0($32), $pop8
+ i32.const $push9=, 6
+ call inner@FUNCTION, $pop9
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 4
+ i32.add $32=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $32=, 0($12), $32
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 4
+ i32.sub $32=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $32=, 0($14), $32
+ i32.const $push10=, .L.str.3
+ i32.store $discard=, 0($32), $pop10
+ i32.const $push11=, 7
+ call inner@FUNCTION, $pop11
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 4
+ i32.add $32=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $32=, 0($16), $32
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 4
+ i32.sub $32=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $32=, 0($18), $32
+ i32.const $push12=, 120
+ i32.store $discard=, 0($32), $pop12
+ i32.const $push13=, 8
+ call inner@FUNCTION, $pop13
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 4
+ i32.add $32=, $19, $20
+ i32.const $20=, __stack_pointer
+ i32.store $32=, 0($20), $32
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 4
+ i32.sub $32=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $32=, 0($22), $32
+ i32.store $discard=, 0($32), $0
+ i32.const $push14=, 9
+ call inner@FUNCTION, $pop14
+ i32.const $23=, __stack_pointer
+ i32.load $23=, 0($23)
+ i32.const $24=, 4
+ i32.add $32=, $23, $24
+ i32.const $24=, __stack_pointer
+ i32.store $32=, 0($24), $32
+ i32.const $25=, __stack_pointer
+ i32.load $25=, 0($25)
+ i32.const $26=, 4
+ i32.sub $32=, $25, $26
+ i32.const $26=, __stack_pointer
+ i32.store $32=, 0($26), $32
+ i32.const $push16=, 0
+ i32.store $0=, 0($32), $pop16
+ i32.const $push15=, 10
+ call inner@FUNCTION, $pop15
+ i32.const $27=, __stack_pointer
+ i32.load $27=, 0($27)
+ i32.const $28=, 4
+ i32.add $32=, $27, $28
+ i32.const $28=, __stack_pointer
+ i32.store $32=, 0($28), $32
+ i32.const $31=, 16
+ i32.add $32=, $32, $31
+ i32.const $31=, __stack_pointer
+ i32.store $32=, 0($31), $32
+ return $0
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "hello"
+ .size .L.str, 6
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "hello\n"
+ .size .L.str.1, 7
+
+ .type .L.str.2,@object # @.str.2
+.L.str.2:
+ .asciz "a"
+ .size .L.str.2, 2
+
+ .type .L.str.3,@object # @.str.3
+.L.str.3:
+ .skip 1
+ .size .L.str.3, 1
+
+ .type .L.str.4,@object # @.str.4
+.L.str.4:
+ .asciz "%s"
+ .size .L.str.4, 3
+
+ .type .L.str.5,@object # @.str.5
+.L.str.5:
+ .asciz "%c"
+ .size .L.str.5, 3
+
+ .type .L.str.6,@object # @.str.6
+.L.str.6:
+ .asciz "%s\n"
+ .size .L.str.6, 4
+
+ .type .L.str.7,@object # @.str.7
+.L.str.7:
+ .asciz "%d\n"
+ .size .L.str.7, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/vprintf-chk-1.c.s b/test/torture-s/vprintf-chk-1.c.s
new file mode 100644
index 000000000..34b87defd
--- /dev/null
+++ b/test/torture-s/vprintf-chk-1.c.s
@@ -0,0 +1,699 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.c"
+ .section .text.__vprintf_chk,"ax",@progbits
+ .hidden __vprintf_chk
+ .globl __vprintf_chk
+ .type __vprintf_chk,@function
+__vprintf_chk: # @__vprintf_chk
+ .param i32, i32, i32
+ .result i32
+# BB#0: # %entry
+ block
+ i32.const $push4=, 0
+ i32.load $push0=, should_optimize($pop4)
+ br_if $pop0, 0 # 0: down to label0
+# BB#1: # %if.end
+ i32.const $push6=, 0
+ i32.const $push1=, 1
+ i32.store $discard=, should_optimize($pop6), $pop1
+ i32.const $push5=, 0
+ i32.load $push2=, stdout($pop5)
+ i32.call $push3=, vfprintf@FUNCTION, $pop2, $1, $2
+ return $pop3
+.LBB0_2: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end0:
+ .size __vprintf_chk, .Lfunc_end0-__vprintf_chk
+
+ .section .text.inner,"ax",@progbits
+ .hidden inner
+ .globl inner
+ .type inner,@function
+inner: # @inner
+ .param i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 16
+ i32.sub $4=, $1, $2
+ copy_local $5=, $4
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ i32.store $push0=, 12($4), $5
+ i32.store $discard=, 8($4), $pop0
+ block
+ i32.const $push1=, 10
+ i32.gt_u $push2=, $0, $pop1
+ br_if $pop2, 0 # 0: down to label1
+# BB#1: # %entry
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ block
+ tableswitch $0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 # 0: down to label16
+ # 1: down to label15
+ # 2: down to label14
+ # 3: down to label13
+ # 4: down to label12
+ # 5: down to label11
+ # 6: down to label10
+ # 7: down to label9
+ # 8: down to label8
+ # 9: down to label7
+ # 10: down to label6
+.LBB1_2: # %sw.bb
+ end_block # label16:
+ i32.const $push88=, 0
+ i32.const $push98=, 0
+ i32.store $0=, should_optimize($pop88), $pop98
+ i32.const $push97=, .L.str
+ i32.load $push89=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop97, $pop89
+ block
+ i32.load $push90=, should_optimize($0)
+ i32.const $push139=, 0
+ i32.eq $push140=, $pop90, $pop139
+ br_if $pop140, 0 # 0: down to label17
+# BB#3: # %if.end
+ i32.store $discard=, should_optimize($0), $0
+ block
+ i32.const $push99=, .L.str
+ i32.load $push91=, 8($4)
+ i32.call $push92=, __vprintf_chk@FUNCTION, $0, $pop99, $pop91
+ i32.const $push93=, 5
+ i32.ne $push94=, $pop92, $pop93
+ br_if $pop94, 0 # 0: down to label18
+# BB#4: # %if.end5
+ i32.const $push95=, 0
+ i32.load $push96=, should_optimize($pop95)
+ br_if $pop96, 12 # 12: down to label5
+# BB#5: # %if.then7
+ call abort@FUNCTION
+ unreachable
+.LBB1_6: # %if.then4
+ end_block # label18:
+ call abort@FUNCTION
+ unreachable
+.LBB1_7: # %if.then
+ end_block # label17:
+ call abort@FUNCTION
+ unreachable
+.LBB1_8: # %sw.bb9
+ end_block # label15:
+ i32.const $push102=, 0
+ i32.const $push79=, 1
+ i32.store $discard=, should_optimize($pop102), $pop79
+ i32.const $push101=, .L.str.1
+ i32.load $push80=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop101, $pop80
+ block
+ i32.const $push100=, 0
+ i32.load $push81=, should_optimize($pop100)
+ i32.const $push141=, 0
+ i32.eq $push142=, $pop81, $pop141
+ br_if $pop142, 0 # 0: down to label19
+# BB#9: # %if.end13
+ i32.const $push105=, 0
+ i32.const $push104=, 0
+ i32.store $discard=, should_optimize($pop105), $pop104
+ block
+ i32.const $push103=, .L.str.1
+ i32.load $push82=, 8($4)
+ i32.call $push83=, __vprintf_chk@FUNCTION, $0, $pop103, $pop82
+ i32.const $push84=, 6
+ i32.ne $push85=, $pop83, $pop84
+ br_if $pop85, 0 # 0: down to label20
+# BB#10: # %if.end17
+ i32.const $push86=, 0
+ i32.load $push87=, should_optimize($pop86)
+ br_if $pop87, 11 # 11: down to label5
+# BB#11: # %if.then19
+ call abort@FUNCTION
+ unreachable
+.LBB1_12: # %if.then16
+ end_block # label20:
+ call abort@FUNCTION
+ unreachable
+.LBB1_13: # %if.then12
+ end_block # label19:
+ call abort@FUNCTION
+ unreachable
+.LBB1_14: # %sw.bb21
+ end_block # label14:
+ i32.const $push108=, 0
+ i32.const $push71=, 1
+ i32.store $0=, should_optimize($pop108), $pop71
+ i32.const $push107=, .L.str.2
+ i32.load $push72=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop107, $pop72
+ block
+ i32.const $push106=, 0
+ i32.load $push73=, should_optimize($pop106)
+ i32.const $push143=, 0
+ i32.eq $push144=, $pop73, $pop143
+ br_if $pop144, 0 # 0: down to label21
+# BB#15: # %if.end25
+ i32.const $push111=, 0
+ i32.const $push110=, 0
+ i32.store $discard=, should_optimize($pop111), $pop110
+ block
+ i32.const $push109=, .L.str.2
+ i32.load $push74=, 8($4)
+ i32.call $push75=, __vprintf_chk@FUNCTION, $0, $pop109, $pop74
+ i32.ne $push76=, $pop75, $0
+ br_if $pop76, 0 # 0: down to label22
+# BB#16: # %if.end29
+ i32.const $push77=, 0
+ i32.load $push78=, should_optimize($pop77)
+ br_if $pop78, 10 # 10: down to label5
+# BB#17: # %if.then31
+ call abort@FUNCTION
+ unreachable
+.LBB1_18: # %if.then28
+ end_block # label22:
+ call abort@FUNCTION
+ unreachable
+.LBB1_19: # %if.then24
+ end_block # label21:
+ call abort@FUNCTION
+ unreachable
+.LBB1_20: # %sw.bb33
+ end_block # label13:
+ i32.const $push114=, 0
+ i32.const $push64=, 1
+ i32.store $discard=, should_optimize($pop114), $pop64
+ i32.const $push113=, .L.str.3
+ i32.load $push65=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop113, $pop65
+ block
+ i32.const $push112=, 0
+ i32.load $push66=, should_optimize($pop112)
+ i32.const $push145=, 0
+ i32.eq $push146=, $pop66, $pop145
+ br_if $pop146, 0 # 0: down to label23
+# BB#21: # %if.end37
+ i32.const $push117=, 0
+ i32.const $push116=, 0
+ i32.store $discard=, should_optimize($pop117), $pop116
+ block
+ i32.const $push115=, .L.str.3
+ i32.load $push67=, 8($4)
+ i32.call $push68=, __vprintf_chk@FUNCTION, $0, $pop115, $pop67
+ br_if $pop68, 0 # 0: down to label24
+# BB#22: # %if.end41
+ i32.const $push69=, 0
+ i32.load $push70=, should_optimize($pop69)
+ br_if $pop70, 9 # 9: down to label5
+# BB#23: # %if.then43
+ call abort@FUNCTION
+ unreachable
+.LBB1_24: # %if.then40
+ end_block # label24:
+ call abort@FUNCTION
+ unreachable
+.LBB1_25: # %if.then36
+ end_block # label23:
+ call abort@FUNCTION
+ unreachable
+.LBB1_26: # %sw.bb45
+ end_block # label12:
+ i32.const $push55=, 0
+ i32.const $push119=, 0
+ i32.store $0=, should_optimize($pop55), $pop119
+ i32.const $push118=, .L.str.4
+ i32.load $push56=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop118, $pop56
+ block
+ i32.load $push57=, should_optimize($0)
+ i32.const $push147=, 0
+ i32.eq $push148=, $pop57, $pop147
+ br_if $pop148, 0 # 0: down to label25
+# BB#27: # %if.end49
+ i32.store $discard=, should_optimize($0), $0
+ block
+ i32.const $push120=, .L.str.4
+ i32.load $push58=, 8($4)
+ i32.call $push59=, __vprintf_chk@FUNCTION, $0, $pop120, $pop58
+ i32.const $push60=, 5
+ i32.ne $push61=, $pop59, $pop60
+ br_if $pop61, 0 # 0: down to label26
+# BB#28: # %if.end53
+ i32.const $push62=, 0
+ i32.load $push63=, should_optimize($pop62)
+ br_if $pop63, 8 # 8: down to label5
+# BB#29: # %if.then55
+ call abort@FUNCTION
+ unreachable
+.LBB1_30: # %if.then52
+ end_block # label26:
+ call abort@FUNCTION
+ unreachable
+.LBB1_31: # %if.then48
+ end_block # label25:
+ call abort@FUNCTION
+ unreachable
+.LBB1_32: # %sw.bb57
+ end_block # label11:
+ i32.const $push46=, 0
+ i32.const $push122=, 0
+ i32.store $0=, should_optimize($pop46), $pop122
+ i32.const $push121=, .L.str.4
+ i32.load $push47=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop121, $pop47
+ block
+ i32.load $push48=, should_optimize($0)
+ i32.const $push149=, 0
+ i32.eq $push150=, $pop48, $pop149
+ br_if $pop150, 0 # 0: down to label27
+# BB#33: # %if.end61
+ i32.store $discard=, should_optimize($0), $0
+ block
+ i32.const $push123=, .L.str.4
+ i32.load $push49=, 8($4)
+ i32.call $push50=, __vprintf_chk@FUNCTION, $0, $pop123, $pop49
+ i32.const $push51=, 6
+ i32.ne $push52=, $pop50, $pop51
+ br_if $pop52, 0 # 0: down to label28
+# BB#34: # %if.end65
+ i32.const $push53=, 0
+ i32.load $push54=, should_optimize($pop53)
+ br_if $pop54, 7 # 7: down to label5
+# BB#35: # %if.then67
+ call abort@FUNCTION
+ unreachable
+.LBB1_36: # %if.then64
+ end_block # label28:
+ call abort@FUNCTION
+ unreachable
+.LBB1_37: # %if.then60
+ end_block # label27:
+ call abort@FUNCTION
+ unreachable
+.LBB1_38: # %sw.bb69
+ end_block # label10:
+ i32.const $push37=, 0
+ i32.const $push125=, 0
+ i32.store $0=, should_optimize($pop37), $pop125
+ i32.const $push124=, .L.str.4
+ i32.load $push38=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop124, $pop38
+ block
+ i32.load $push39=, should_optimize($0)
+ i32.const $push151=, 0
+ i32.eq $push152=, $pop39, $pop151
+ br_if $pop152, 0 # 0: down to label29
+# BB#39: # %if.end73
+ i32.store $discard=, should_optimize($0), $0
+ block
+ i32.const $push126=, .L.str.4
+ i32.load $push40=, 8($4)
+ i32.call $push41=, __vprintf_chk@FUNCTION, $0, $pop126, $pop40
+ i32.const $push42=, 1
+ i32.ne $push43=, $pop41, $pop42
+ br_if $pop43, 0 # 0: down to label30
+# BB#40: # %if.end77
+ i32.const $push44=, 0
+ i32.load $push45=, should_optimize($pop44)
+ br_if $pop45, 6 # 6: down to label5
+# BB#41: # %if.then79
+ call abort@FUNCTION
+ unreachable
+.LBB1_42: # %if.then76
+ end_block # label30:
+ call abort@FUNCTION
+ unreachable
+.LBB1_43: # %if.then72
+ end_block # label29:
+ call abort@FUNCTION
+ unreachable
+.LBB1_44: # %sw.bb81
+ end_block # label9:
+ i32.const $push30=, 0
+ i32.const $push128=, 0
+ i32.store $0=, should_optimize($pop30), $pop128
+ i32.const $push127=, .L.str.4
+ i32.load $push31=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop127, $pop31
+ block
+ i32.load $push32=, should_optimize($0)
+ i32.const $push153=, 0
+ i32.eq $push154=, $pop32, $pop153
+ br_if $pop154, 0 # 0: down to label31
+# BB#45: # %if.end85
+ i32.store $discard=, should_optimize($0), $0
+ block
+ i32.const $push129=, .L.str.4
+ i32.load $push33=, 8($4)
+ i32.call $push34=, __vprintf_chk@FUNCTION, $0, $pop129, $pop33
+ br_if $pop34, 0 # 0: down to label32
+# BB#46: # %if.end89
+ i32.const $push35=, 0
+ i32.load $push36=, should_optimize($pop35)
+ br_if $pop36, 5 # 5: down to label5
+# BB#47: # %if.then91
+ call abort@FUNCTION
+ unreachable
+.LBB1_48: # %if.then88
+ end_block # label32:
+ call abort@FUNCTION
+ unreachable
+.LBB1_49: # %if.then84
+ end_block # label31:
+ call abort@FUNCTION
+ unreachable
+.LBB1_50: # %sw.bb93
+ end_block # label8:
+ i32.const $push21=, 0
+ i32.const $push131=, 0
+ i32.store $0=, should_optimize($pop21), $pop131
+ i32.const $push130=, .L.str.5
+ i32.load $push22=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop130, $pop22
+ block
+ i32.load $push23=, should_optimize($0)
+ i32.const $push155=, 0
+ i32.eq $push156=, $pop23, $pop155
+ br_if $pop156, 0 # 0: down to label33
+# BB#51: # %if.end97
+ i32.store $discard=, should_optimize($0), $0
+ block
+ i32.const $push132=, .L.str.5
+ i32.load $push24=, 8($4)
+ i32.call $push25=, __vprintf_chk@FUNCTION, $0, $pop132, $pop24
+ i32.const $push26=, 1
+ i32.ne $push27=, $pop25, $pop26
+ br_if $pop27, 0 # 0: down to label34
+# BB#52: # %if.end101
+ i32.const $push28=, 0
+ i32.load $push29=, should_optimize($pop28)
+ br_if $pop29, 4 # 4: down to label5
+# BB#53: # %if.then103
+ call abort@FUNCTION
+ unreachable
+.LBB1_54: # %if.then100
+ end_block # label34:
+ call abort@FUNCTION
+ unreachable
+.LBB1_55: # %if.then96
+ end_block # label33:
+ call abort@FUNCTION
+ unreachable
+.LBB1_56: # %sw.bb105
+ end_block # label7:
+ i32.const $push12=, 0
+ i32.const $push134=, 0
+ i32.store $0=, should_optimize($pop12), $pop134
+ i32.const $push133=, .L.str.6
+ i32.load $push13=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop133, $pop13
+ block
+ i32.load $push14=, should_optimize($0)
+ i32.const $push157=, 0
+ i32.eq $push158=, $pop14, $pop157
+ br_if $pop158, 0 # 0: down to label35
+# BB#57: # %if.end109
+ i32.store $discard=, should_optimize($0), $0
+ block
+ i32.const $push135=, .L.str.6
+ i32.load $push15=, 8($4)
+ i32.call $push16=, __vprintf_chk@FUNCTION, $0, $pop135, $pop15
+ i32.const $push17=, 7
+ i32.ne $push18=, $pop16, $pop17
+ br_if $pop18, 0 # 0: down to label36
+# BB#58: # %if.end113
+ i32.const $push19=, 0
+ i32.load $push20=, should_optimize($pop19)
+ br_if $pop20, 3 # 3: down to label5
+# BB#59: # %if.then115
+ call abort@FUNCTION
+ unreachable
+.LBB1_60: # %if.then112
+ end_block # label36:
+ call abort@FUNCTION
+ unreachable
+.LBB1_61: # %if.then108
+ end_block # label35:
+ call abort@FUNCTION
+ unreachable
+.LBB1_62: # %sw.bb117
+ end_block # label6:
+ i32.const $push3=, 0
+ i32.const $push137=, 0
+ i32.store $0=, should_optimize($pop3), $pop137
+ i32.const $push136=, .L.str.7
+ i32.load $push4=, 12($4)
+ i32.call $discard=, __vprintf_chk@FUNCTION, $0, $pop136, $pop4
+ i32.load $push5=, should_optimize($0)
+ i32.const $push159=, 0
+ i32.eq $push160=, $pop5, $pop159
+ br_if $pop160, 3 # 3: down to label2
+# BB#63: # %if.end121
+ i32.store $discard=, should_optimize($0), $0
+ i32.const $push138=, .L.str.7
+ i32.load $push6=, 8($4)
+ i32.call $push7=, __vprintf_chk@FUNCTION, $0, $pop138, $pop6
+ i32.const $push8=, 2
+ i32.ne $push9=, $pop7, $pop8
+ br_if $pop9, 2 # 2: down to label3
+# BB#64: # %if.end125
+ i32.const $push10=, 0
+ i32.load $push11=, should_optimize($pop10)
+ i32.const $push161=, 0
+ i32.eq $push162=, $pop11, $pop161
+ br_if $pop162, 1 # 1: down to label4
+.LBB1_65: # %sw.epilog
+ end_block # label5:
+ i32.const $3=, 16
+ i32.add $4=, $5, $3
+ i32.const $3=, __stack_pointer
+ i32.store $4=, 0($3), $4
+ return
+.LBB1_66: # %if.then127
+ end_block # label4:
+ call abort@FUNCTION
+ unreachable
+.LBB1_67: # %if.then124
+ end_block # label3:
+ call abort@FUNCTION
+ unreachable
+.LBB1_68: # %if.then120
+ end_block # label2:
+ call abort@FUNCTION
+ unreachable
+.LBB1_69: # %sw.default
+ end_block # label1:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size inner, .Lfunc_end1-inner
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $29=, __stack_pointer
+ i32.load $29=, 0($29)
+ i32.const $30=, 16
+ i32.sub $32=, $29, $30
+ i32.const $30=, __stack_pointer
+ i32.store $32=, 0($30), $32
+ i32.const $push0=, 0
+ call inner@FUNCTION, $pop0
+ i32.const $push1=, 1
+ call inner@FUNCTION, $pop1
+ i32.const $push2=, 2
+ call inner@FUNCTION, $pop2
+ i32.const $push3=, 3
+ call inner@FUNCTION, $pop3
+ i32.const $1=, __stack_pointer
+ i32.load $1=, 0($1)
+ i32.const $2=, 4
+ i32.sub $32=, $1, $2
+ i32.const $2=, __stack_pointer
+ i32.store $32=, 0($2), $32
+ i32.const $push4=, .L.str
+ i32.store $discard=, 0($32), $pop4
+ i32.const $push5=, 4
+ call inner@FUNCTION, $pop5
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 4
+ i32.add $32=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $32=, 0($4), $32
+ i32.const $5=, __stack_pointer
+ i32.load $5=, 0($5)
+ i32.const $6=, 4
+ i32.sub $32=, $5, $6
+ i32.const $6=, __stack_pointer
+ i32.store $32=, 0($6), $32
+ i32.const $push6=, .L.str.1
+ i32.store $0=, 0($32), $pop6
+ i32.const $push7=, 5
+ call inner@FUNCTION, $pop7
+ i32.const $7=, __stack_pointer
+ i32.load $7=, 0($7)
+ i32.const $8=, 4
+ i32.add $32=, $7, $8
+ i32.const $8=, __stack_pointer
+ i32.store $32=, 0($8), $32
+ i32.const $9=, __stack_pointer
+ i32.load $9=, 0($9)
+ i32.const $10=, 4
+ i32.sub $32=, $9, $10
+ i32.const $10=, __stack_pointer
+ i32.store $32=, 0($10), $32
+ i32.const $push8=, .L.str.2
+ i32.store $discard=, 0($32), $pop8
+ i32.const $push9=, 6
+ call inner@FUNCTION, $pop9
+ i32.const $11=, __stack_pointer
+ i32.load $11=, 0($11)
+ i32.const $12=, 4
+ i32.add $32=, $11, $12
+ i32.const $12=, __stack_pointer
+ i32.store $32=, 0($12), $32
+ i32.const $13=, __stack_pointer
+ i32.load $13=, 0($13)
+ i32.const $14=, 4
+ i32.sub $32=, $13, $14
+ i32.const $14=, __stack_pointer
+ i32.store $32=, 0($14), $32
+ i32.const $push10=, .L.str.3
+ i32.store $discard=, 0($32), $pop10
+ i32.const $push11=, 7
+ call inner@FUNCTION, $pop11
+ i32.const $15=, __stack_pointer
+ i32.load $15=, 0($15)
+ i32.const $16=, 4
+ i32.add $32=, $15, $16
+ i32.const $16=, __stack_pointer
+ i32.store $32=, 0($16), $32
+ i32.const $17=, __stack_pointer
+ i32.load $17=, 0($17)
+ i32.const $18=, 4
+ i32.sub $32=, $17, $18
+ i32.const $18=, __stack_pointer
+ i32.store $32=, 0($18), $32
+ i32.const $push12=, 120
+ i32.store $discard=, 0($32), $pop12
+ i32.const $push13=, 8
+ call inner@FUNCTION, $pop13
+ i32.const $19=, __stack_pointer
+ i32.load $19=, 0($19)
+ i32.const $20=, 4
+ i32.add $32=, $19, $20
+ i32.const $20=, __stack_pointer
+ i32.store $32=, 0($20), $32
+ i32.const $21=, __stack_pointer
+ i32.load $21=, 0($21)
+ i32.const $22=, 4
+ i32.sub $32=, $21, $22
+ i32.const $22=, __stack_pointer
+ i32.store $32=, 0($22), $32
+ i32.store $discard=, 0($32), $0
+ i32.const $push14=, 9
+ call inner@FUNCTION, $pop14
+ i32.const $23=, __stack_pointer
+ i32.load $23=, 0($23)
+ i32.const $24=, 4
+ i32.add $32=, $23, $24
+ i32.const $24=, __stack_pointer
+ i32.store $32=, 0($24), $32
+ i32.const $25=, __stack_pointer
+ i32.load $25=, 0($25)
+ i32.const $26=, 4
+ i32.sub $32=, $25, $26
+ i32.const $26=, __stack_pointer
+ i32.store $32=, 0($26), $32
+ i32.const $push16=, 0
+ i32.store $0=, 0($32), $pop16
+ i32.const $push15=, 10
+ call inner@FUNCTION, $pop15
+ i32.const $27=, __stack_pointer
+ i32.load $27=, 0($27)
+ i32.const $28=, 4
+ i32.add $32=, $27, $28
+ i32.const $28=, __stack_pointer
+ i32.store $32=, 0($28), $32
+ i32.const $31=, 16
+ i32.add $32=, $32, $31
+ i32.const $31=, __stack_pointer
+ i32.store $32=, 0($31), $32
+ return $0
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+ .hidden should_optimize # @should_optimize
+ .type should_optimize,@object
+ .section .bss.should_optimize,"aw",@nobits
+ .globl should_optimize
+ .p2align 2
+should_optimize:
+ .int32 0 # 0x0
+ .size should_optimize, 4
+
+ .type .L.str,@object # @.str
+ .section .rodata.str1.1,"aMS",@progbits,1
+.L.str:
+ .asciz "hello"
+ .size .L.str, 6
+
+ .type .L.str.1,@object # @.str.1
+.L.str.1:
+ .asciz "hello\n"
+ .size .L.str.1, 7
+
+ .type .L.str.2,@object # @.str.2
+.L.str.2:
+ .asciz "a"
+ .size .L.str.2, 2
+
+ .type .L.str.3,@object # @.str.3
+.L.str.3:
+ .skip 1
+ .size .L.str.3, 1
+
+ .type .L.str.4,@object # @.str.4
+.L.str.4:
+ .asciz "%s"
+ .size .L.str.4, 3
+
+ .type .L.str.5,@object # @.str.5
+.L.str.5:
+ .asciz "%c"
+ .size .L.str.5, 3
+
+ .type .L.str.6,@object # @.str.6
+.L.str.6:
+ .asciz "%s\n"
+ .size .L.str.6, 4
+
+ .type .L.str.7,@object # @.str.7
+.L.str.7:
+ .asciz "%d\n"
+ .size .L.str.7, 4
+
+
+ .ident "clang version 3.9.0 "
diff --git a/test/torture-s/vrp-2.c.s b/test/torture-s/vrp-2.c.s
index 0a8957f52..8520107e7 100644
--- a/test/torture-s/vrp-2.c.s
+++ b/test/torture-s/vrp-2.c.s
@@ -7,22 +7,24 @@
f: # @f
.param i32
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $1=, 2
- i32.const $2=, 1
+ i32.const $1=, 1
block
- i32.eq $push0=, $0, $1
+ i32.const $push5=, 2
+ i32.eq $push0=, $0, $pop5
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.then
i32.const $push1=, 31
- i32.shr_s $2=, $0, $pop1
- i32.add $push2=, $0, $2
- i32.xor $push3=, $pop2, $2
- i32.ne $2=, $pop3, $1
+ i32.shr_s $push2=, $0, $pop1
+ tee_local $push7=, $1=, $pop2
+ i32.add $push3=, $0, $pop7
+ i32.xor $push4=, $pop3, $1
+ i32.const $push6=, 2
+ i32.ne $1=, $pop4, $pop6
.LBB0_2: # %return
end_block # label0:
- return $2
+ return $1
.endfunc
.Lfunc_end0:
.size f, .Lfunc_end0-f
diff --git a/test/torture-s/vrp-3.c.s b/test/torture-s/vrp-3.c.s
index 8dbc55ba8..fc471a529 100644
--- a/test/torture-s/vrp-3.c.s
+++ b/test/torture-s/vrp-3.c.s
@@ -18,11 +18,12 @@ f: # @f
br_if $pop3, 0 # 0: down to label0
# BB#1: # %if.then2
i32.const $push4=, 31
- i32.shr_s $1=, $0, $pop4
- i32.add $push5=, $0, $1
- i32.xor $push6=, $pop5, $1
- i32.const $push7=, 2
- i32.ne $1=, $pop6, $pop7
+ i32.shr_s $push5=, $0, $pop4
+ tee_local $push9=, $1=, $pop5
+ i32.add $push6=, $0, $pop9
+ i32.xor $push7=, $pop6, $1
+ i32.const $push8=, 2
+ i32.ne $1=, $pop7, $pop8
.LBB0_2: # %return
end_block # label0:
return $1
diff --git a/test/torture-s/vrp-4.c.s b/test/torture-s/vrp-4.c.s
index f535146cd..741fc5716 100644
--- a/test/torture-s/vrp-4.c.s
+++ b/test/torture-s/vrp-4.c.s
@@ -6,21 +6,22 @@
.type test,@function
test: # @test
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 1
block
- i32.eq $push0=, $0, $2
+ i32.const $push5=, 1
+ i32.eq $push0=, $0, $pop5
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.eq $push1=, $1, $2
+ i32.const $push6=, 1
+ i32.eq $push1=, $1, $pop6
br_if $pop1, 0 # 0: down to label1
# BB#2: # %if.end3
block
i32.div_s $push2=, $0, $1
- i32.ne $push3=, $pop2, $2
- br_if $pop3, 0 # 0: down to label2
+ i32.const $push3=, 1
+ i32.ne $push4=, $pop2, $pop3
+ br_if $pop4, 0 # 0: down to label2
# BB#3: # %if.end6
return
.LBB0_4: # %if.then5
diff --git a/test/torture-s/vrp-5.c.s b/test/torture-s/vrp-5.c.s
index ec651ca5a..44f4a00a1 100644
--- a/test/torture-s/vrp-5.c.s
+++ b/test/torture-s/vrp-5.c.s
@@ -6,15 +6,15 @@
.type test,@function
test: # @test
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 4
block
- i32.le_u $push0=, $0, $2
+ i32.const $push5=, 4
+ i32.le_u $push0=, $0, $pop5
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.le_u $push1=, $1, $2
+ i32.const $push6=, 4
+ i32.le_u $push1=, $1, $pop6
br_if $pop1, 0 # 0: down to label1
# BB#2: # %if.end3
block
diff --git a/test/torture-s/vrp-6.c.s b/test/torture-s/vrp-6.c.s
index 19ef84b2f..fcca907c6 100644
--- a/test/torture-s/vrp-6.c.s
+++ b/test/torture-s/vrp-6.c.s
@@ -6,15 +6,15 @@
.type test01,@function
test01: # @test01
.param i32, i32
- .local i32
# BB#0: # %entry
- i32.const $2=, 4
block
- i32.le_u $push0=, $0, $2
+ i32.const $push5=, 4
+ i32.le_u $push0=, $0, $pop5
br_if $pop0, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.le_u $push1=, $1, $2
+ i32.const $push6=, 4
+ i32.le_u $push1=, $1, $pop6
br_if $pop1, 0 # 0: down to label1
# BB#2: # %if.end3
block
diff --git a/test/torture-s/vrp-7.c.s b/test/torture-s/vrp-7.c.s
index 88f03ba5a..c22875cf8 100644
--- a/test/torture-s/vrp-7.c.s
+++ b/test/torture-s/vrp-7.c.s
@@ -6,18 +6,18 @@
.type foo,@function
foo: # @foo
.param i32
- .local i32
# BB#0: # %entry
- i32.const $1=, 0
- i32.load8_u $push2=, t($1)
- i32.const $push5=, 254
- i32.and $push6=, $pop2, $pop5
+ i32.const $push2=, 0
+ i32.const $push9=, 0
+ i32.load8_u $push3=, t($pop9):p2align=2
+ i32.const $push6=, 254
+ i32.and $push7=, $pop3, $pop6
i32.const $push0=, 4
i32.shr_u $push1=, $0, $pop0
- i32.const $push3=, 1
- i32.and $push4=, $pop1, $pop3
- i32.or $push7=, $pop6, $pop4
- i32.store8 $discard=, t($1), $pop7
+ i32.const $push4=, 1
+ i32.and $push5=, $pop1, $pop4
+ i32.or $push8=, $pop7, $pop5
+ i32.store8 $discard=, t($pop2):p2align=2, $pop8
return
.endfunc
.Lfunc_end0:
@@ -29,20 +29,20 @@ foo: # @foo
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
i32.const $push0=, 16
call foo@FUNCTION, $pop0
- i32.const $0=, 0
block
- i32.load8_u $push1=, t($0)
+ i32.const $push4=, 0
+ i32.load8_u $push1=, t($pop4):p2align=2
i32.const $push2=, 1
i32.and $push3=, $pop1, $pop2
- i32.const $push4=, 0
- i32.eq $push5=, $pop3, $pop4
- br_if $pop5, 0 # 0: down to label0
+ i32.const $push6=, 0
+ i32.eq $push7=, $pop3, $pop6
+ br_if $pop7, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push5=, 0
+ return $pop5
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -55,7 +55,7 @@ main: # @main
.type t,@object
.section .bss.t,"aw",@nobits
.globl t
- .align 2
+ .p2align 2
t:
.skip 4
.size t, 4
diff --git a/test/torture-s/wchar_t-1.c.s b/test/torture-s/wchar_t-1.c.s
index 16c9f44da..4d7720331 100644
--- a/test/torture-s/wchar_t-1.c.s
+++ b/test/torture-s/wchar_t-1.c.s
@@ -6,24 +6,27 @@
.type main,@function
main: # @main
.result i32
- .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.const $1=, 196
block
- i32.load $push1=, x($0)
- i32.ne $push2=, $pop1, $1
- br_if $pop2, 0 # 0: down to label0
+ i32.const $push7=, 0
+ i32.load $push1=, x($pop7)
+ i32.const $push2=, 196
+ i32.ne $push3=, $pop1, $pop2
+ br_if $pop3, 0 # 0: down to label0
# BB#1: # %entry
- i32.load $push0=, x+4($0)
+ i32.const $push8=, 0
+ i32.load $push0=, x+4($pop8)
br_if $pop0, 0 # 0: down to label0
# BB#2: # %if.end
block
- i32.load $push3=, y($0)
- i32.ne $push4=, $pop3, $1
- br_if $pop4, 0 # 0: down to label1
+ i32.const $push9=, 0
+ i32.load $push4=, y($pop9)
+ i32.const $push5=, 196
+ i32.ne $push6=, $pop4, $pop5
+ br_if $pop6, 0 # 0: down to label1
# BB#3: # %if.end4
- call exit@FUNCTION, $0
+ i32.const $push10=, 0
+ call exit@FUNCTION, $pop10
unreachable
.LBB0_4: # %if.then3
end_block # label1:
@@ -41,7 +44,7 @@ main: # @main
.type x,@object
.section .data.x,"aw",@progbits
.globl x
- .align 2
+ .p2align 2
x:
.int32 196 # 0xc4
.int32 0 # 0x0
@@ -51,7 +54,7 @@ x:
.type y,@object
.section .data.y,"aw",@progbits
.globl y
- .align 2
+ .p2align 2
y:
.int32 196 # 0xc4
.size y, 4
diff --git a/test/torture-s/widechar-2.c.s b/test/torture-s/widechar-2.c.s
index 23c947dcb..73091858d 100644
--- a/test/torture-s/widechar-2.c.s
+++ b/test/torture-s/widechar-2.c.s
@@ -18,7 +18,7 @@ main: # @main
.type ws,@object
.section .rodata.ws,"a",@progbits
.globl ws
- .align 4
+ .p2align 4
ws:
.int32 102 # 0x66
.int32 111 # 0x6f
diff --git a/test/torture-s/zero-struct-1.c.s b/test/torture-s/zero-struct-1.c.s
index b15c3b53f..acfbca70f 100644
--- a/test/torture-s/zero-struct-1.c.s
+++ b/test/torture-s/zero-struct-1.c.s
@@ -5,16 +5,20 @@
.globl h
.type h,@function
h: # @h
- .local i32, i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, ff($0)
- i32.const $2=, 2
- i32.load $push0=, f($0)
- i32.add $push1=, $pop0, $2
- i32.store $discard=, f($0), $pop1
- i32.add $push2=, $1, $2
- i32.store $discard=, ff($0), $pop2
+ i32.const $push0=, 0
+ i32.load $0=, ff($pop0)
+ i32.const $push8=, 0
+ i32.const $push7=, 0
+ i32.load $push1=, f($pop7)
+ i32.const $push2=, 2
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, f($pop8), $pop3
+ i32.const $push6=, 0
+ i32.const $push5=, 2
+ i32.add $push4=, $0, $pop5
+ i32.store $discard=, ff($pop6), $pop4
return
.endfunc
.Lfunc_end0:
@@ -26,27 +30,32 @@ h: # @h
.type main,@function
main: # @main
.result i32
- .local i32, i32, i32, i32
+ .local i32, i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, f($0)
- i32.load $2=, ff($0)
- i32.const $3=, 2
+ i32.const $push1=, 0
+ i32.load $0=, ff($pop1)
+ i32.const $push12=, 0
+ i32.const $push11=, 0
+ i32.load $push2=, f($pop11)
+ i32.const $push3=, 2
+ i32.add $push4=, $pop2, $pop3
+ i32.store $1=, f($pop12), $pop4
+ i32.const $push10=, 0
+ i32.const $push9=, 2
+ i32.add $push0=, $0, $pop9
+ i32.store $0=, ff($pop10), $pop0
block
- i32.add $push1=, $1, $3
- i32.store $discard=, f($0), $pop1
- i32.add $push0=, $2, $3
- i32.store $3=, ff($0), $pop0
- i32.const $push2=, y
- i32.ne $push3=, $1, $pop2
- br_if $pop3, 0 # 0: down to label0
+ i32.const $push8=, y+2
+ i32.ne $push5=, $1, $pop8
+ br_if $pop5, 0 # 0: down to label0
# BB#1: # %if.end
block
- i32.const $push4=, y+2
- i32.ne $push5=, $3, $pop4
- br_if $pop5, 0 # 0: down to label1
+ i32.const $push13=, y+2
+ i32.ne $push6=, $0, $pop13
+ br_if $pop6, 0 # 0: down to label1
# BB#2: # %if.end3
- return $0
+ i32.const $push7=, 0
+ return $pop7
.LBB1_3: # %if.then2
end_block # label1:
call abort@FUNCTION
@@ -71,7 +80,7 @@ y:
.type f,@object
.section .data.f,"aw",@progbits
.globl f
- .align 2
+ .p2align 2
f:
.int32 y
.size f, 4
@@ -80,7 +89,7 @@ f:
.type ff,@object
.section .data.ff,"aw",@progbits
.globl ff
- .align 2
+ .p2align 2
ff:
.int32 y
.size ff, 4
diff --git a/test/torture-s/zero-struct-2.c.s b/test/torture-s/zero-struct-2.c.s
index f593af416..134d6d277 100644
--- a/test/torture-s/zero-struct-2.c.s
+++ b/test/torture-s/zero-struct-2.c.s
@@ -5,13 +5,13 @@
.globl one_raw_spinlock
.type one_raw_spinlock,@function
one_raw_spinlock: # @one_raw_spinlock
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $push0=, ii($0)
- i32.const $push1=, 1
- i32.add $push2=, $pop0, $pop1
- i32.store $discard=, ii($0), $pop2
+ i32.const $push0=, 0
+ i32.const $push4=, 0
+ i32.load $push1=, ii($pop4)
+ i32.const $push2=, 1
+ i32.add $push3=, $pop1, $pop2
+ i32.store $discard=, ii($pop0), $pop3
return
.endfunc
.Lfunc_end0:
@@ -23,17 +23,20 @@ one_raw_spinlock: # @one_raw_spinlock
.type main,@function
main: # @main
.result i32
- .local i32, i32
+ .local i32
# BB#0: # %entry
- i32.const $0=, 0
- i32.load $1=, ii($0)
+ i32.const $push5=, 0
+ i32.const $push4=, 0
+ i32.load $push0=, ii($pop4)
+ tee_local $push3=, $0=, $pop0
+ i32.const $push1=, 1
+ i32.add $push2=, $pop3, $pop1
+ i32.store $discard=, ii($pop5), $pop2
block
- i32.const $push0=, 1
- i32.add $push1=, $1, $pop0
- i32.store $discard=, ii($0), $pop1
- br_if $1, 0 # 0: down to label0
+ br_if $0, 0 # 0: down to label0
# BB#1: # %if.end
- return $0
+ i32.const $push6=, 0
+ return $pop6
.LBB1_2: # %if.then
end_block # label0:
call abort@FUNCTION
@@ -46,7 +49,7 @@ main: # @main
.type ii,@object
.section .bss.ii,"aw",@nobits
.globl ii
- .align 2
+ .p2align 2
ii:
.int32 0 # 0x0
.size ii, 4
diff --git a/test/torture-s/zerolen-1.c.s b/test/torture-s/zerolen-1.c.s
index 91057dd4e..bec1632a9 100644
--- a/test/torture-s/zerolen-1.c.s
+++ b/test/torture-s/zerolen-1.c.s
@@ -6,13 +6,12 @@
.type main,@function
main: # @main
.result i32
- .local i32
# BB#0: # %entry
- i32.const $0=, 0
+ i32.const $push1=, 0
i32.const $push0=, 1
- i32.store8 $discard=, entry($0), $pop0
- i32.store8 $push1=, entry+1($0), $0
- call exit@FUNCTION, $pop1
+ i32.store16 $discard=, entry($pop1):p2align=0, $pop0
+ i32.const $push2=, 0
+ call exit@FUNCTION, $pop2
unreachable
.endfunc
.Lfunc_end0:
@@ -26,9 +25,7 @@ set: # @set
.param i32
# BB#0: # %entry
i32.const $push0=, 1
- i32.store8 $discard=, 0($0), $pop0
- i32.const $push1=, 0
- i32.store8 $discard=, 1($0), $pop1
+ i32.store16 $discard=, 0($0):p2align=0, $pop0
return
.endfunc
.Lfunc_end1: