aboutsummaryrefslogtreecommitdiffstats
path: root/lcc/sparc/solaris/tst/switch.sbk
diff options
context:
space:
mode:
Diffstat (limited to 'lcc/sparc/solaris/tst/switch.sbk')
-rwxr-xr-xlcc/sparc/solaris/tst/switch.sbk713
1 files changed, 713 insertions, 0 deletions
diff --git a/lcc/sparc/solaris/tst/switch.sbk b/lcc/sparc/solaris/tst/switch.sbk
new file mode 100755
index 0000000..6a11cd9
--- /dev/null
+++ b/lcc/sparc/solaris/tst/switch.sbk
@@ -0,0 +1,713 @@
+.global main
+.section ".text"
+.align 4
+main:
+save %sp,-96,%sp
+set .L6,%i5
+ba .L5; nop
+.L2:
+ldsb [%i5],%o0
+call backslash; nop
+mov %o0,%i3
+set .L7,%o0
+ldsb [%i5],%o1
+mov %i3,%o2
+call printf; nop
+.L3:
+add %i5,1,%i5
+.L5:
+ldsb [%i5],%i3
+cmp %i3,0; bne .L2; nop
+call f; nop
+call g; nop
+call h; nop
+set 16777216,%i4
+ba .L11; nop
+.L8:
+mov %i4,%o0
+call big; nop
+.L9:
+set 16777216,%i3
+add %i4,%i3,%i4
+.L11:
+set 117440512,%i3
+and %i4,%i3,%i3
+cmp %i3,0; bne .L8; nop
+call limit; nop
+mov %g0,%i0
+.L1:
+ret; restore
+.type main,#function
+.size main,.-main
+.global backslash
+.align 4
+backslash:
+cmp %o0,102; be .L16; nop
+cmp %o0,102; bg .L22; nop
+.L21:
+cmp %o0,98; be .L15; nop
+ba .L13; nop
+.L22:
+cmp %o0,110; be .L17; nop
+cmp %o0,110; bl .L13; nop
+.L23:
+cmp %o0,114; be .L18; nop
+cmp %o0,116; be .L19; nop
+cmp %o0,118; be .L20; nop
+ba .L13; nop
+.L15:
+set 8,%o0
+ba .L12; nop
+.L16:
+set 12,%o0
+ba .L12; nop
+.L17:
+set 10,%o0
+ba .L12; nop
+.L18:
+set 13,%o0
+ba .L12; nop
+.L19:
+set 9,%o0
+ba .L12; nop
+.L20:
+set 11,%o0
+ba .L12; nop
+.L13:
+.L12:
+retl; nop
+.type backslash,#function
+.size backslash,.-backslash
+.global f
+.align 4
+f:
+save %sp,-96,%sp
+mov %g0,%i4
+set .L25,%o0
+call printf; nop
+mov %g0,%i5
+.L26:
+mov %i5,%i3
+cmp %i5,1; bl .L30; nop
+cmp %i5,20; bg .L30; nop
+sll %i5,2,%i2
+set .L42-4,%i1
+ld [%i2+%i1],%i2
+jmp %i2; nop
+.section ".rodata"
+.align 4
+.L42:
+.word .L32
+.word .L33
+.word .L30
+.word .L30
+.word .L30
+.word .L30
+.word .L34
+.word .L35
+.word .L36
+.word .L30
+.word .L30
+.word .L30
+.word .L30
+.word .L30
+.word .L30
+.word .L37
+.word .L38
+.word .L39
+.word .L40
+.word .L41
+.section ".text"
+.L32:
+mov %i5,%i4
+ba .L31; nop
+.L33:
+mov %i5,%i4
+ba .L31; nop
+.L34:
+mov %i5,%i4
+ba .L31; nop
+.L35:
+mov %i5,%i4
+ba .L31; nop
+.L36:
+mov %i5,%i4
+ba .L31; nop
+.L37:
+mov %i5,%i4
+ba .L31; nop
+.L38:
+mov %i5,%i4
+ba .L31; nop
+.L39:
+mov %i5,%i4
+ba .L31; nop
+.L40:
+mov %i5,%i4
+ba .L31; nop
+.L41:
+mov %i5,%i4
+.L30:
+.L31:
+set .L44,%o0
+mov %i4,%o1
+call printf; nop
+.L27:
+add %i5,1,%i5
+cmp %i5,20; ble .L26; nop
+mov %g0,%i0
+.L24:
+ret; restore
+.type f,#function
+.size f,.-f
+.global g
+.align 4
+g:
+save %sp,-96,%sp
+set .L46,%o0
+call printf; nop
+set 1,%i5
+.L47:
+cmp %i5,1001; bl .L64; nop
+cmp %i5,1004; bg .L65; nop
+sll %i5,2,%i4
+set .L66-4004,%i3
+ld [%i4+%i3],%i4
+jmp %i4; nop
+.section ".rodata"
+.align 4
+.L66:
+.word .L60
+.word .L60
+.word .L60
+.word .L60
+.section ".text"
+.L64:
+cmp %i5,1; bl .L51; nop
+cmp %i5,8; bg .L51; nop
+sll %i5,2,%i4
+set .L68-4,%i3
+ld [%i4+%i3],%i4
+jmp %i4; nop
+.section ".rodata"
+.align 4
+.L68:
+.word .L53
+.word .L53
+.word .L55
+.word .L55
+.word .L55
+.word .L57
+.word .L57
+.word .L57
+.section ".text"
+.L65:
+cmp %i5,3001; bl .L51; nop
+cmp %i5,3004; bg .L51; nop
+sll %i5,2,%i4
+set .L70-12004,%i3
+ld [%i4+%i3],%i4
+jmp %i4; nop
+.section ".rodata"
+.align 4
+.L70:
+.word .L62
+.word .L62
+.word .L62
+.word .L62
+.section ".text"
+.L53:
+set .L54,%o0
+mov %i5,%o1
+call printf; nop
+ba .L52; nop
+.L55:
+set .L56,%o0
+mov %i5,%o1
+call printf; nop
+ba .L52; nop
+.L57:
+set .L58,%o0
+mov %i5,%o1
+call printf; nop
+.L51:
+set .L59,%o0
+mov %i5,%o1
+call printf; nop
+ba .L52; nop
+.L60:
+set .L61,%o0
+mov %i5,%o1
+call printf; nop
+ba .L52; nop
+.L62:
+set .L63,%o0
+mov %i5,%o1
+call printf; nop
+.L52:
+.L48:
+add %i5,1,%i5
+cmp %i5,10; ble .L47; nop
+mov %g0,%i0
+.L45:
+ret; restore
+.type g,#function
+.size g,.-g
+.global h
+.align 4
+h:
+save %sp,-96,%sp
+mov %g0,%i4
+set .L73,%o0
+call printf; nop
+set 1,%i5
+.L74:
+cmp %i5,264; be .L86; nop
+cmp %i5,264; bg .L94; nop
+.L93:
+cmp %i5,120; be .L84; nop
+cmp %i5,120; bg .L96; nop
+.L95:
+cmp %i5,8; be .L83; nop
+cmp %i5,8; bl .L78; nop
+.L97:
+cmp %i5,16; be .L82; nop
+ba .L78; nop
+.L96:
+cmp %i5,128; be .L80; nop
+cmp %i5,128; bl .L78; nop
+.L98:
+cmp %i5,248; be .L87; nop
+ba .L78; nop
+.L94:
+cmp %i5,288; be .L91; nop
+cmp %i5,288; bg .L100; nop
+.L99:
+cmp %i5,272; be .L88; nop
+cmp %i5,272; bl .L78; nop
+.L101:
+cmp %i5,280; be .L85; nop
+ba .L78; nop
+.L100:
+cmp %i5,304; be .L89; nop
+cmp %i5,304; bg .L103; nop
+.L102:
+cmp %i5,296; be .L90; nop
+ba .L78; nop
+.L103:
+cmp %i5,312; be .L92; nop
+ba .L78; nop
+.L78:
+add %i4,1,%i4
+ba .L75; nop
+.L80:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L82:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L83:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L84:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L85:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L86:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L87:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L88:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L89:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L90:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L91:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+ba .L79; nop
+.L92:
+set .L81,%o0
+mov %i5,%o1
+call printf; nop
+.L79:
+.L75:
+add %i5,1,%i5
+cmp %i5,500; ble .L74; nop
+set .L104,%o0
+mov %i4,%o1
+call printf; nop
+mov %g0,%i0
+.L72:
+ret; restore
+.type h,#function
+.size h,.-h
+.global big
+.align 4
+big:
+save %sp,-96,%sp
+set 0x6000000,%i4
+and %i0,%i4,%i5
+set 33554432,%i3
+cmp %i5,%i3; be .L111; nop
+cmp %i5,%i3; bg .L115; nop
+.L114:
+cmp %i5,-2; be .L109; nop
+cmp %i5,-1; be .L109; nop
+cmp %i5,0; be .L109; nop
+ba .L106; nop
+.L115:
+mov %i5,%i4
+set 67108864,%i3
+cmp %i4,%i3; be .L112; nop
+ba .L106; nop
+.L109:
+set .L110,%o0
+mov %i0,%o1
+call printf; nop
+ba .L107; nop
+.L111:
+set .L110,%o0
+mov %i0,%o1
+call printf; nop
+ba .L107; nop
+.L112:
+set .L110,%o0
+mov %i0,%o1
+call printf; nop
+ba .L107; nop
+.L106:
+set .L113,%o0
+mov %i0,%o1
+call printf; nop
+.L107:
+mov %g0,%i0
+.L105:
+ret; restore
+.type big,#function
+.size big,.-big
+.global limit
+.align 4
+limit:
+save %sp,-96,%sp
+set -2147483648,%i5
+.L117:
+set -2147483648,%i4
+cmp %i5,%i4; bl .L121; nop
+set -2147483644,%i3
+cmp %i5,%i3; bg .L121; nop
+sll %i5,2,%i3
+sll %i4,2,%i4
+sub %i3,%i4,%i4
+set .L134,%i3
+ld [%i4+%i3],%i4
+jmp %i4; nop
+.section ".rodata"
+.align 4
+.L134:
+.word .L123
+.word .L125
+.word .L127
+.word .L129
+.word .L131
+.section ".text"
+.L123:
+set .L124,%o0
+call printf; nop
+ba .L122; nop
+.L125:
+set .L126,%o0
+call printf; nop
+ba .L122; nop
+.L127:
+set .L128,%o0
+call printf; nop
+ba .L122; nop
+.L129:
+set .L130,%o0
+call printf; nop
+ba .L122; nop
+.L131:
+set .L132,%o0
+call printf; nop
+ba .L122; nop
+.L121:
+set .L133,%o0
+call printf; nop
+.L122:
+.L118:
+add %i5,1,%i5
+set -2147483643,%i4
+cmp %i5,%i4; ble .L117; nop
+set 2147483647,%i5
+.L135:
+set 2147483643,%i4
+cmp %i5,%i4; bl .L139; nop
+set 2147483647,%i3
+cmp %i5,%i3; bg .L139; nop
+sll %i5,2,%i3
+sll %i4,2,%i4
+sub %i3,%i4,%i4
+set .L146,%i3
+ld [%i4+%i3],%i4
+jmp %i4; nop
+.section ".rodata"
+.align 4
+.L146:
+.word .L145
+.word .L144
+.word .L143
+.word .L142
+.word .L141
+.section ".text"
+.L141:
+set .L124,%o0
+call printf; nop
+ba .L140; nop
+.L142:
+set .L126,%o0
+call printf; nop
+ba .L140; nop
+.L143:
+set .L128,%o0
+call printf; nop
+ba .L140; nop
+.L144:
+set .L130,%o0
+call printf; nop
+ba .L140; nop
+.L145:
+set .L132,%o0
+call printf; nop
+ba .L140; nop
+.L139:
+set .L133,%o0
+call printf; nop
+.L140:
+.L136:
+sub %i5,1,%i5
+set 2147483642,%i4
+cmp %i5,%i4; bge .L135; nop
+mov %g0,%i0
+.L116:
+ret; restore
+.type limit,#function
+.size limit,.-limit
+.section ".rodata"
+.align 1
+.L133:
+.byte 53
+.byte 10
+.byte 0
+.align 1
+.L132:
+.byte 52
+.byte 10
+.byte 0
+.align 1
+.L130:
+.byte 51
+.byte 10
+.byte 0
+.align 1
+.L128:
+.byte 50
+.byte 10
+.byte 0
+.align 1
+.L126:
+.byte 49
+.byte 10
+.byte 0
+.align 1
+.L124:
+.byte 48
+.byte 10
+.byte 0
+.align 1
+.L113:
+.byte 120
+.byte 32
+.byte 61
+.byte 32
+.byte 48
+.byte 120
+.byte 37
+.byte 120
+.byte 32
+.byte 40
+.byte 100
+.byte 101
+.byte 102
+.byte 97
+.byte 117
+.byte 108
+.byte 116
+.byte 41
+.byte 10
+.byte 0
+.align 1
+.L110:
+.byte 120
+.byte 32
+.byte 61
+.byte 32
+.byte 48
+.byte 120
+.byte 37
+.byte 120
+.byte 10
+.byte 0
+.align 1
+.L104:
+.byte 37
+.byte 100
+.byte 32
+.byte 100
+.byte 101
+.byte 102
+.byte 97
+.byte 117
+.byte 108
+.byte 116
+.byte 115
+.byte 10
+.byte 0
+.align 1
+.L81:
+.byte 105
+.byte 32
+.byte 61
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
+.align 1
+.L73:
+.byte 104
+.byte 58
+.byte 10
+.byte 0
+.align 1
+.L63:
+.byte 54
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
+.align 1
+.L61:
+.byte 53
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
+.align 1
+.L59:
+.byte 100
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
+.align 1
+.L58:
+.byte 51
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
+.align 1
+.L56:
+.byte 50
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
+.align 1
+.L54:
+.byte 49
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
+.align 1
+.L46:
+.byte 103
+.byte 58
+.byte 10
+.byte 0
+.align 1
+.L44:
+.byte 120
+.byte 32
+.byte 61
+.byte 32
+.byte 37
+.byte 100
+.byte 10
+.byte 0
+.align 1
+.L25:
+.byte 102
+.byte 58
+.byte 10
+.byte 0
+.align 1
+.L7:
+.byte 37
+.byte 99
+.byte 32
+.byte 61
+.byte 32
+.byte 48
+.byte 120
+.byte 37
+.byte 120
+.byte 10
+.byte 0
+.align 1
+.L6:
+.byte 98
+.byte 102
+.byte 110
+.byte 114
+.byte 116
+.byte 118
+.byte 120
+.byte 0