/* Generated by gensyscalls.py. Do not edit. */

#include <asm/unistd.h>
#include <machine/asm.h>
#include <machine/regdef.h>
    .text
    .globl faccessat
    .align 4
    .ent faccessat

faccessat:
    .set push
    .set noreorder
    li v0, __NR_faccessat
    syscall
    bnez a3, 1f
    move a0, v0
    j ra
    nop
1:
    move t0, ra
    bal     2f
    nop
2:
    .cpsetup ra, t1, 2b
    LA t9,__set_errno
    .cpreturn
    j t9
    move ra, t0
    .set pop
    .end faccessat
