Examples of FPU


Examples of org.jnode.assembler.x86.X86Register.FPU

     * @param fpuStack
     * @param item
     */
    static void fxch(X86Assembler os, FPUStack fpuStack, Item item) {
        if (!fpuStack.isTos(item)) {
            final FPU fpuReg = fpuStack.getRegister(item);
            fxch(os, fpuStack, fpuReg);
        }
    }
View Full Code Here

Examples of org.jnode.assembler.x86.X86Register.FPU

     * @param fpuStack
     * @param item
     */
    static final void fxch(X86Assembler os, FPUStack fpuStack, Item item) {
        if (!fpuStack.isTos(item)) {
            final FPU fpuReg = fpuStack.getRegister(item);
            fxch(os, fpuStack, fpuReg);
        }
    }
View Full Code Here

Examples of org.jnode.assembler.x86.X86Register.FPU

            v1.release(ec);
            v2.release(ec);
        } else {
            // Prepare stack
            final FPUStack fpuStack = vstack.fpuStack;
            final FPU reg = prepareForOperation(os, ec, vstack, fpuStack, v2, v1, true);
            final Item result = fpuStack.getItem(reg);
            fpuStack.pop(ec);

            // Calculate
            os.writeFADDP(reg);
View Full Code Here

Examples of org.jnode.assembler.x86.X86Register.FPU

        final Item v2 = vstack.pop(type);
        final Item v1 = vstack.pop(type);

        // Prepare operands
        final FPUStack fpuStack = vstack.fpuStack;
        final FPU reg = prepareForOperation(os, ec, vstack, fpuStack, v2, v1, false);
        // We need reg to be ST1.
        fxchST1(os, fpuStack, reg);

        final X86RegisterPool pool = ec.getGPRPool();
        pool.request(X86Register.EAX);
View Full Code Here

Examples of org.jnode.assembler.x86.X86Register.FPU

            v1.release(ec);
            v2.release(ec);
        } else {
            // Prepare stack
            final FPUStack fpuStack = vstack.fpuStack;
            final FPU reg = prepareForOperation(os, ec, vstack, fpuStack, v2, v1, false);
            final Item result = fpuStack.getItem(reg);
            fpuStack.pop(ec);

            // Calculate
            os.writeFDIVP(reg);
View Full Code Here

Examples of org.jnode.assembler.x86.X86Register.FPU

            v1.release(ec);
            v2.release(ec);
        } else {
            // Prepare stack
            final FPUStack fpuStack = vstack.fpuStack;
            final FPU reg = prepareForOperation(os, ec, vstack, fpuStack, v2, v1, true);
            final Item result = fpuStack.getItem(reg);
            fpuStack.pop(ec);

            // Calculate
            os.writeFMULP(reg);
View Full Code Here

Examples of org.jnode.assembler.x86.X86Register.FPU

        if (onFpu) {
            // Operand is on the FPU stack
            if (!fpuStack.isTos(left)) {
                // operand not on top, exchange it.
                final FPU reg = fpuStack.getRegister(left);
                os.writeFXCH(reg);
                fpuStack.fxch(reg);
            }
        } else {
            // operand is not on FPU stack
View Full Code Here

Examples of org.jnode.assembler.x86.X86Register.FPU

    private static FPU prepareForOperation(X86Assembler os,
                                           EmitterContext ec, VirtualStack vstack, FPUStack fpuStack,
                                           Item left, Item right, boolean commutative) {
        final boolean lOnFpu = left.isFPUStack();
        final boolean rOnFpu = right.isFPUStack();
        final FPU reg;

        // If the FPU stack will be full in this operation, we flush the vstack
        // first.
        int extraItems = 0;
        extraItems += lOnFpu ? 0 : 1;
View Full Code Here

Examples of org.jnode.assembler.x86.X86Register.FPU

            v1.release(ec);
            v2.release(ec);
        } else {
            // Prepare stack
            final FPUStack fpuStack = vstack.fpuStack;
            final FPU reg = prepareForOperation(os, ec, vstack, fpuStack, v2, v1, false);
            // We need reg to be ST1, if not swap
            fxchST1(os, fpuStack, reg);

            // Pop the fpuStack.tos
            fpuStack.pop(ec);
View Full Code Here

Examples of org.jnode.assembler.x86.X86Register.FPU

            v1.release(ec);
            v2.release(ec);
        } else {
            // Prepare stack
            final FPUStack fpuStack = vstack.fpuStack;
            final FPU reg = prepareForOperation(os, ec, vstack, fpuStack, v2, v1, false);
            final Item result = fpuStack.getItem(reg);
            fpuStack.pop(ec);

            // Calculate
            os.writeFSUBP(reg);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.