initial version of mips (o32) port, based on work by Richard Pennington (rdp)
[musl] / src / unistd / mips / pipe.s
diff --git a/src/unistd/mips/pipe.s b/src/unistd/mips/pipe.s
new file mode 100644 (file)
index 0000000..ba2c39a
--- /dev/null
@@ -0,0 +1,20 @@
+.set noreorder
+
+.global pipe
+.type   pipe,@function
+pipe:
+       lui $gp, %hi(_gp_disp)
+       addiu $gp, %lo(_gp_disp)
+       addu $gp, $gp, $25
+       li $2, 4042
+       syscall
+       beq $7, $0, 1f
+       nop
+       lw $25, %call16(__syscall_ret)($gp)
+       jr $25
+       subu $4, $0, $2
+1:     sw $2, 0($4)
+       sw $3, 4($4)
+       move $2, $0
+       jr $ra
+       nop