OpenCores
URL https://opencores.org/ocsvn/theia_gpu/theia_gpu/trunk

Subversion Repositories theia_gpu

[/] [theia_gpu/] [branches/] [beta_2.0/] [compiler/] [src/] [cp_compiler/] [parser.y] - Diff between revs 216 and 229

Show entire file | Details | Blame | View Log

Rev 216 Rev 229
Line 568... Line 568...
                        I.SetDestinationAddress( gWhileLoopAddress );
                        I.SetDestinationAddress( gWhileLoopAddress );
                        mInstructions.push_back(I);
                        mInstructions.push_back(I);
                        I.Clear();
                        I.Clear();
 
 
        }
        }
 
        |
 
        constant
 
        {
 
                        unsigned int ImmediateValue;
 
                        std::string StringHex = $1;
 
                        std::stringstream ss;
 
                        ss << std::hex << StringHex;
 
                        ss >> ImmediateValue;
 
                        unsigned int TempRegIndex0  = GetFreeTempRegister();
 
                        I.SetOperation( EOPERATION_ASSIGN );
 
                        I.SetDestinationAddress( TempRegIndex0 );
 
                        I.SetLiteral(ImmediateValue);
 
                        mInstructions.push_back(I);
 
                        gInsertedInstructions++;
 
 
 
 
 
                        I.SetOperation( EOPERATION_BEQ );
 
                        I.SetDestinationAddress( 0 );
 
                        I.SetSrc1Address( 0 );                                  //Compare againts zero
 
                        I.SetSrc0Address(TempRegIndex0);
 
                        mInstructions.push_back(I);
 
                        gInsertedInstructions++;
 
                        gBranchStack.push_back(mInstructions.size() - 1);
 
                        I.Clear();
 
 
 
                        I.SetOperation( EOPERATION_NOP );
 
                        I.mComment = "branch delay";
 
                        I.SetDestinationAddress( gWhileLoopAddress );
 
                        mInstructions.push_back(I);
 
                        I.Clear();
 
        }
;
;
scalar_list
scalar_list
                        :
                        :
                        IDENTIFIER COMMA scalar_list
                        IDENTIFIER COMMA scalar_list
                        {
                        {

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.