#include
#include
int main(int argc, char *argv[]) {
int r = 0;
switch (argc) {
case 164:
r = 10;
break;
case 168246:
r = 11;
break;
case 1000:
r = 45;
break;
case 10052:
r = 39;
break;
case 8636:
r = 14;
break;
case 296:
r = 2;
break;
default:
r = 1;
}
return r;
}
| .file "switch2.c"
.text
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
subl $20, %esp
movl $0, -8(%ebp)
movl (%ecx), %ecx
movl %ecx, -24(%ebp)
cmpl $1000, -24(%ebp)
je .L5
cmpl $1000, -24(%ebp)
jg .L9
cmpl $164, -24(%ebp)
je .L3
cmpl $296, -24(%ebp)
je .L4
jmp .L2
.L9:
cmpl $10052, -24(%ebp)
je .L7
cmpl $168246, -24(%ebp)
je .L8
cmpl $8636, -24(%ebp)
je .L6
jmp .L2
.L3:
movl $10, -8(%ebp)
jmp .L10
.L8:
movl $11, -8(%ebp)
jmp .L10
.L5:
movl $45, -8(%ebp)
jmp .L10
.L7:
movl $39, -8(%ebp)
jmp .L10
.L6:
movl $14, -8(%ebp)
jmp .L10
.L4:
movl $2, -8(%ebp)
jmp .L10
.L2:
movl $1, -8(%ebp)
.L10:
movl -8(%ebp), %eax
addl $20, %esp
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.ident "GCC: (GNU) 4.1.2 20080704 ...
.section .note.GNU-stack,"",@progb...
| .file 1 "switch2.c"
.section .mdebug.abi32
.previous
.abicalls
.text
.align 2
.globl main
.ent main
.type main, @function
main:
.frame $fp,24,$31 # vars= 8, regs...
.mask 0x40000000,-8
.fmask 0x00000000,0
.set noreorder
.cpload $25
.set reorder
addiu $sp,$sp,-24
sw $fp,16($sp)
move $fp,$sp
sw $4,24($fp)
sw $5,28($fp)
sw $0,8($fp)
lw $2,24($fp)
sw $2,12($fp)
li $2,1000 # 0x3e8
lw $3,12($fp)
beq $3,$2,$L5
lw $3,12($fp)
slt $2,$3,1001
beq $2,$0,$L10
li $2,164 # 0xa4
lw $3,12($fp)
beq $3,$2,$L3
li $2,296 # 0x128
lw $3,12($fp)
beq $3,$2,$L8
b $L9
$L10:
li $2,10052 # 0x2744
lw $3,12($fp)
beq $3,$2,$L6
lw $3,12($fp)
slt $2,$3,10053
beq $2,$0,$L11
li $2,8636 # 0x21bc
lw $3,12($fp)
beq $3,$2,$L7
b $L9
$L11:
li $2,131072 # 0x20000
ori $2,$2,0x9136
lw $3,12($fp)
beq $3,$2,$L4
b $L9
$L3:
li $2,10 # 0xa
sw $2,8($fp)
b $L2
$L4:
li $2,11 # 0xb
sw $2,8($fp)
b $L2
$L5:
li $2,45 # 0x2d
sw $2,8($fp)
b $L2
$L6:
li $2,39 # 0x27
sw $2,8($fp)
b $L2
$L7:
li $2,14 # 0xe
sw $2,8($fp)
b $L2
$L8:
li $2,2 # 0x2
sw $2,8($fp)
b $L2
$L9:
li $2,1 # 0x1
sw $2,8($fp)
$L2:
lw $2,8($fp)
move $sp,$fp
lw $fp,16($sp)
addiu $sp,$sp,24
j $31
.end main
.ident "GCC: (GNU) 3.4.5"
| .file "switch2.c"
.text
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
movl (%ecx), %edx
movl $45, %eax
cmpl $1000, %edx
je .L10
cmpl $1000, %edx
jg .L9
movb $10, %al
cmpl $164, %edx
je .L10
cmpl $296, %edx
.p2align 4,,3
jne .L2
.p2align 4,,5
jmp .L4
.L9:
movl $39, %eax
cmpl $10052, %edx
.p2align 4,,5
je .L10
movb $11, %al
cmpl $168246, %edx
.p2align 4,,3
je .L10
cmpl $8636, %edx
jne .L2
.p2align 4,,5
jmp .L6
.L4:
movl $2, %eax
.p2align 4,,7
jmp .L10
.L2:
movl $1, %eax
.p2align 4,,7
jmp .L10
.L6:
movl $14, %eax
.L10:
popl %ecx
popl %ebp
leal -4(%ecx), %esp
.p2align 4,,1
ret
.size main, .-main
.ident "GCC: (GNU) 4.1.2 20080704 ...
.section .note.GNU-stack,"",@progb...
| .file 1 "switch2.c"
.section .mdebug.abi32
.previous
.abicalls
.text
.align 2
.globl main
.ent main
.type main, @function
main:
.frame $sp,0,$31 # vars= 0, regs=...
.mask 0x00000000,0
.fmask 0x00000000,0
.set noreorder
.cpload $25
.set reorder
li $2,1000 # 0x3e8
.set noreorder
.set nomacro
beq $4,$2,$L2
li $3,45 # 0x2d
.set macro
.set reorder
slt $2,$4,1001
.set noreorder
.set nomacro
beq $2,$0,$L10
li $2,10052 # 0x2744
.set macro
.set reorder
li $2,164 # 0xa4
.set noreorder
.set nomacro
beq $4,$2,$L2
li $3,10 # 0xa
.set macro
.set reorder
li $2,296 # 0x128
.set noreorder
.set nomacro
beq $4,$2,$L2
li $3,2 # 0x2
.set macro
.set reorder
.set noreorder
.set nomacro
b $L2
li $3,1 # 0x1
.set macro
.set reorder
$L10:
.set noreorder
.set nomacro
beq $4,$2,$L2
li $3,39 # 0x27
.set macro
.set reorder
slt $2,$4,10053
.set noreorder
.set nomacro
beq $2,$0,$L11
li $2,131072 # 0x20000
.set macro
.set reorder
li $2,8636 # 0x21bc
.set noreorder
.set nomacro
beq $4,$2,$L2
li $3,14 # 0xe
.set macro
.set reorder
.set noreorder
.set nomacro
b $L2
li $3,1 # 0x1
.set macro
.set reorder
$L11:
ori $2,$2,0x9136
.set noreorder
.set nomacro
beq $4,$2,$L2
li $3,11 # 0xb
.set macro
.set reorder
li $3,1 # 0x1
$L2:
.set noreorder
.set nomacro
j $31
move $2,$3
.set macro
.set reorder
.end main
.ident "GCC: (GNU) 3.4.5"
| .file "switch2.c"
.text
.p2align 4,,15
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
movl $45, %eax
pushl %ebp
movl %esp, %ebp
pushl %ecx
movl (%ecx), %edx
cmpl $1000, %edx
je .L10
jle .L13
cmpl $10052, %edx
movl $39, %eax
je .L10
cmpl $168246, %edx
movb $11, %al
.p2align 4,,3
je .L10
cmpl $8636, %edx
jne .L2
movl $14, %eax
.p2align 4,,7
.L10:
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.p2align 4,,7
.L13:
cmpl $164, %edx
movb $10, %al
je .L10
cmpl $296, %edx
je .L14
.L2:
popl %ecx
movl $1, %eax
popl %ebp
leal -4(%ecx), %esp
ret
.L14:
movl $2, %eax
.p2align 4,,2
jmp .L10
.size main, .-main
.ident "GCC: (GNU) 4.1.2 20080704 ...
.section .note.GNU-stack,"",@progb...
| .file 1 "switch2.c"
.section .mdebug.abi32
.previous
.abicalls
.text
.align 2
.globl main
.ent main
.type main, @function
main:
.frame $sp,0,$31 # vars= 0, regs=...
.mask 0x00000000,0
.fmask 0x00000000,0
.set noreorder
.set nomacro
li $2,1000 # 0x3e8
beq $4,$2,$L2
li $3,45 # 0x2d
slt $3,$4,1001
beq $3,$0,$L10
li $7,10052 # 0x2744
li $5,164 # 0xa4
beq $4,$5,$L2
li $3,10 # 0xa
li $6,296 # 0x128
beq $4,$6,$L13
nop
$L9:
li $3,1 # 0x1
$L2:
j $31
move $2,$3
$L10:
beq $4,$7,$L2
li $3,39 # 0x27
slt $8,$4,10053
beq $8,$0,$L11
li $11,131072 # 0x20000
li $9,8636 # 0x21bc
bne $4,$9,$L9
nop
li $3,14 # 0xe
j $31
move $2,$3
$L11:
ori $10,$11,0x9136
beq $4,$10,$L2
li $3,11 # 0xb
b $L2
li $3,1 # 0x1
$L13:
li $3,2 # 0x2
j $31
move $2,$3
.set macro
.set reorder
.end main
.ident "GCC: (GNU) 3.4.5"
|