"Fossies" - the Fresh Open Source Software Archive

Member "mesa-20.1.8/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_helper.h" (16 Sep 2020, 1787 Bytes) of package /linux/misc/mesa-20.1.8.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "nv50_ir_lowering_helper.h" see the Fossies "Dox" file reference documentation.

    1 /*
    2  * Copyright 2018 Red Hat Inc.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
   10  *
   11  * The above copyright notice and this permission notice shall be included in
   12  * all copies or substantial portions of the Software.
   13  *
   14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
   17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
   18  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
   19  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
   20  * OTHER DEALINGS IN THE SOFTWARE.
   21  *
   22  * Authors: Karol Herbst <kherbst@redhat.com>
   23  */
   24 
   25 #ifndef __NV50_IR_LOWERING_HELPER__
   26 #define __NV50_IR_LOWERING_HELPER__
   27 
   28 #include "codegen/nv50_ir.h"
   29 #include "codegen/nv50_ir_build_util.h"
   30 
   31 namespace nv50_ir {
   32 
   33 class LoweringHelper : public Pass
   34 {
   35 private:
   36    virtual bool visit(Instruction *);
   37 
   38    BuildUtil bld;
   39 public:
   40    bool handleABS(Instruction *);
   41    bool handleCVT(Instruction *);
   42    bool handleMAXMIN(Instruction *);
   43    bool handleMOV(Instruction *);
   44    bool handleNEG(Instruction *);
   45    bool handleSAT(Instruction *);
   46    bool handleSLCT(CmpInstruction *);
   47 
   48    bool handleLogOp(Instruction *);
   49 };
   50 
   51 } // namespace nv50_ir
   52 
   53 #endif // __NV50_IR_LOWERING_HELPER__