Current File : //usr/lib/aarch64-linux-gnu/perl/5.38/asm/sigcontext.ph
require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&__ASM_SIGCONTEXT_H)) {
    eval 'sub __ASM_SIGCONTEXT_H () {1;}' unless defined(&__ASM_SIGCONTEXT_H);
    unless(defined(&__ASSEMBLY__)) {
	require 'linux/types.ph';
	eval 'sub FPSIMD_MAGIC () {0x46508001;}' unless defined(&FPSIMD_MAGIC);
	eval 'sub ESR_MAGIC () {0x45535201;}' unless defined(&ESR_MAGIC);
	eval 'sub EXTRA_MAGIC () {0x45585401;}' unless defined(&EXTRA_MAGIC);
	eval 'sub SVE_MAGIC () {0x53564501;}' unless defined(&SVE_MAGIC);
	eval 'sub SVE_SIG_FLAG_SM () {0x1;}' unless defined(&SVE_SIG_FLAG_SM);
	eval 'sub TPIDR2_MAGIC () {0x54504902;}' unless defined(&TPIDR2_MAGIC);
	eval 'sub ZA_MAGIC () {0x54366345;}' unless defined(&ZA_MAGIC);
	eval 'sub ZT_MAGIC () {0x5a544e01;}' unless defined(&ZT_MAGIC);
    }
    require 'asm/sve_context.ph';
    eval 'sub SVE_VQ_BYTES () { &__SVE_VQ_BYTES;}' unless defined(&SVE_VQ_BYTES);
    eval 'sub SVE_VQ_MIN () { &__SVE_VQ_MIN;}' unless defined(&SVE_VQ_MIN);
    eval 'sub SVE_VQ_MAX () { &__SVE_VQ_MAX;}' unless defined(&SVE_VQ_MAX);
    eval 'sub SVE_VL_MIN () { &__SVE_VL_MIN;}' unless defined(&SVE_VL_MIN);
    eval 'sub SVE_VL_MAX () { &__SVE_VL_MAX;}' unless defined(&SVE_VL_MAX);
    eval 'sub SVE_NUM_ZREGS () { &__SVE_NUM_ZREGS;}' unless defined(&SVE_NUM_ZREGS);
    eval 'sub SVE_NUM_PREGS () { &__SVE_NUM_PREGS;}' unless defined(&SVE_NUM_PREGS);
    eval 'sub sve_vl_valid {
        my($vl) = @_;
	    eval q( &__sve_vl_valid($vl));
    }' unless defined(&sve_vl_valid);
    eval 'sub sve_vq_from_vl {
        my($vl) = @_;
	    eval q( &__sve_vq_from_vl($vl));
    }' unless defined(&sve_vq_from_vl);
    eval 'sub sve_vl_from_vq {
        my($vq) = @_;
	    eval q( &__sve_vl_from_vq($vq));
    }' unless defined(&sve_vl_from_vq);
    eval 'sub SVE_SIG_ZREG_SIZE {
        my($vq) = @_;
	    eval q( &__SVE_ZREG_SIZE($vq));
    }' unless defined(&SVE_SIG_ZREG_SIZE);
    eval 'sub SVE_SIG_PREG_SIZE {
        my($vq) = @_;
	    eval q( &__SVE_PREG_SIZE($vq));
    }' unless defined(&SVE_SIG_PREG_SIZE);
    eval 'sub SVE_SIG_FFR_SIZE {
        my($vq) = @_;
	    eval q( &__SVE_FFR_SIZE($vq));
    }' unless defined(&SVE_SIG_FFR_SIZE);
    eval 'sub SVE_SIG_REGS_OFFSET () {(($sizeof{\'struct sve_context\'} + ( &__SVE_VQ_BYTES - 1)) /  &__SVE_VQ_BYTES *  &__SVE_VQ_BYTES);}' unless defined(&SVE_SIG_REGS_OFFSET);
    eval 'sub SVE_SIG_ZREGS_OFFSET () {( &SVE_SIG_REGS_OFFSET +  &__SVE_ZREGS_OFFSET);}' unless defined(&SVE_SIG_ZREGS_OFFSET);
    eval 'sub SVE_SIG_ZREG_OFFSET {
        my($vq, $n) = @_;
	    eval q(( &SVE_SIG_REGS_OFFSET +  &__SVE_ZREG_OFFSET($vq, $n)));
    }' unless defined(&SVE_SIG_ZREG_OFFSET);
    eval 'sub SVE_SIG_ZREGS_SIZE {
        my($vq) = @_;
	    eval q( &__SVE_ZREGS_SIZE($vq));
    }' unless defined(&SVE_SIG_ZREGS_SIZE);
    eval 'sub SVE_SIG_PREGS_OFFSET {
        my($vq) = @_;
	    eval q(( &SVE_SIG_REGS_OFFSET +  &__SVE_PREGS_OFFSET($vq)));
    }' unless defined(&SVE_SIG_PREGS_OFFSET);
    eval 'sub SVE_SIG_PREG_OFFSET {
        my($vq, $n) = @_;
	    eval q(( &SVE_SIG_REGS_OFFSET +  &__SVE_PREG_OFFSET($vq, $n)));
    }' unless defined(&SVE_SIG_PREG_OFFSET);
    eval 'sub SVE_SIG_PREGS_SIZE {
        my($vq) = @_;
	    eval q( &__SVE_PREGS_SIZE($vq));
    }' unless defined(&SVE_SIG_PREGS_SIZE);
    eval 'sub SVE_SIG_FFR_OFFSET {
        my($vq) = @_;
	    eval q(( &SVE_SIG_REGS_OFFSET +  &__SVE_FFR_OFFSET($vq)));
    }' unless defined(&SVE_SIG_FFR_OFFSET);
    eval 'sub SVE_SIG_REGS_SIZE {
        my($vq) = @_;
	    eval q(( &__SVE_FFR_OFFSET($vq) +  &__SVE_FFR_SIZE($vq)));
    }' unless defined(&SVE_SIG_REGS_SIZE);
    eval 'sub SVE_SIG_CONTEXT_SIZE {
        my($vq) = @_;
	    eval q(( &SVE_SIG_REGS_OFFSET +  &SVE_SIG_REGS_SIZE($vq)));
    }' unless defined(&SVE_SIG_CONTEXT_SIZE);
    eval 'sub ZA_SIG_REGS_OFFSET () {(($sizeof{\'struct za_context\'} + ( &__SVE_VQ_BYTES - 1)) /  &__SVE_VQ_BYTES *  &__SVE_VQ_BYTES);}' unless defined(&ZA_SIG_REGS_OFFSET);
    eval 'sub ZA_SIG_REGS_SIZE {
        my($vq) = @_;
	    eval q(((($vq) *  &__SVE_VQ_BYTES) * (($vq) *  &__SVE_VQ_BYTES)));
    }' unless defined(&ZA_SIG_REGS_SIZE);
    eval 'sub ZA_SIG_ZAV_OFFSET {
        my($vq, $n) = @_;
	    eval q(( &ZA_SIG_REGS_OFFSET + ( &SVE_SIG_ZREG_SIZE($vq) * ($n))));
    }' unless defined(&ZA_SIG_ZAV_OFFSET);
    eval 'sub ZA_SIG_CONTEXT_SIZE {
        my($vq) = @_;
	    eval q(( &ZA_SIG_REGS_OFFSET +  &ZA_SIG_REGS_SIZE($vq)));
    }' unless defined(&ZA_SIG_CONTEXT_SIZE);
    eval 'sub ZT_SIG_REG_SIZE () {512;}' unless defined(&ZT_SIG_REG_SIZE);
    eval 'sub ZT_SIG_REG_BYTES () {( &ZT_SIG_REG_SIZE / 8);}' unless defined(&ZT_SIG_REG_BYTES);
    eval 'sub ZT_SIG_REGS_OFFSET () {$sizeof{\'struct zt_context\'};}' unless defined(&ZT_SIG_REGS_OFFSET);
    eval 'sub ZT_SIG_REGS_SIZE {
        my($n) = @_;
	    eval q(( &ZT_SIG_REG_BYTES * ($n)));
    }' unless defined(&ZT_SIG_REGS_SIZE);
    eval 'sub ZT_SIG_CONTEXT_SIZE {
        my($n) = @_;
	    eval q(($sizeof{\'struct zt_context\'} +  &ZT_SIG_REGS_SIZE($n)));
    }' unless defined(&ZT_SIG_CONTEXT_SIZE);
}
1;