aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-03-10 20:53:15 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-03-10 20:53:15 +0000
commit86bcb55844fcd1fee59c97e2806d051319b5fe76 (patch)
tree7f5535486a7e86842a6237344f5b6ed9c309b61d
parent545ce63f17eed12c193690868ce6344e7a497c91 (diff)
downloadCompiler-86bcb55844fcd1fee59c97e2806d051319b5fe76.tar.gz
Compiler-86bcb55844fcd1fee59c97e2806d051319b5fe76.zip
Saving
-rwxr-xr-xtest/a.outbin0 -> 676256 bytes
-rwxr-xr-xtest/testbin0 -> 676364 bytes
-rw-r--r--test/test.c18
-rw-r--r--test/test.s86
4 files changed, 104 insertions, 0 deletions
diff --git a/test/a.out b/test/a.out
new file mode 100755
index 0000000..f7250fe
--- /dev/null
+++ b/test/a.out
Binary files differ
diff --git a/test/test b/test/test
new file mode 100755
index 0000000..0d44b0c
--- /dev/null
+++ b/test/test
Binary files differ
diff --git a/test/test.c b/test/test.c
new file mode 100644
index 0000000..2c4f2ea
--- /dev/null
+++ b/test/test.c
@@ -0,0 +1,18 @@
+#include "stdio.h"
+
+int main() {
+
+ int x = 4;
+ int y = 5;
+ int a = 6;
+
+ float b = 2.f;
+
+ float c = b / 3.f;
+
+ int z = x + y + a;
+
+ printf("%.4f\n", c);
+
+ return (int)c;
+}
diff --git a/test/test.s b/test/test.s
new file mode 100644
index 0000000..b175515
--- /dev/null
+++ b/test/test.s
@@ -0,0 +1,86 @@
+ .file 1 "test.c"
+ .section .mdebug.abi32
+ .previous
+ .nan legacy
+ .module fp=xx
+ .module nooddspreg
+ .abicalls
+ .rdata
+ .align 2
+$LC2:
+ .ascii "%.4f\012\000"
+ .text
+ .align 2
+ .globl main
+ .set nomips16
+ .set nomicromips
+ .ent main
+ .type main, @function
+main:
+ .frame $fp,56,$31 # vars= 24, regs= 2/0, args= 16, gp= 8
+ .mask 0xc0000000,-4
+ .fmask 0x00000000,0
+ .set noreorder
+ .set nomacro
+ addiu $sp,$sp,-56
+ sw $31,52($sp)
+ sw $fp,48($sp)
+ move $fp,$sp
+ lui $28,%hi(__gnu_local_gp)
+ addiu $28,$28,%lo(__gnu_local_gp)
+ .cprestore 16
+ li $2,4 # 0x4
+ sw $2,24($fp)
+ li $2,5 # 0x5
+ sw $2,28($fp)
+ li $2,6 # 0x6
+ sw $2,32($fp)
+ lui $2,%hi($LC0)
+ lwc1 $f0,%lo($LC0)($2)
+ swc1 $f0,36($fp)
+ lwc1 $f2,36($fp)
+ lui $2,%hi($LC1)
+ lwc1 $f0,%lo($LC1)($2)
+ div.s $f0,$f2,$f0
+ swc1 $f0,40($fp)
+ lw $3,24($fp)
+ lw $2,28($fp)
+ addu $3,$3,$2
+ lw $2,32($fp)
+ addu $2,$3,$2
+ sw $2,44($fp)
+ lwc1 $f0,40($fp)
+ cvt.d.s $f0,$f0
+ mfc1 $7,$f0
+ mfhc1 $6,$f0
+ lui $2,%hi($LC2)
+ addiu $4,$2,%lo($LC2)
+ lw $2,%call16(printf)($28)
+ move $25,$2
+ .reloc 1f,R_MIPS_JALR,printf
+1: jalr $25
+ nop
+
+ lw $28,16($fp)
+ lwc1 $f0,40($fp)
+ trunc.w.s $f0,$f0
+ mfc1 $2,$f0
+ move $sp,$fp
+ lw $31,52($sp)
+ lw $fp,48($sp)
+ addiu $sp,$sp,56
+ j $31
+ nop
+
+ .set macro
+ .set reorder
+ .end main
+ .size main, .-main
+ .rdata
+ .align 2
+$LC0:
+ .word 1073741824
+ .align 2
+$LC1:
+ .word 1077936128
+ .ident "GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.1) 5.4.0 20160609"