Halide
CodeGen_PowerPC.h
Go to the documentation of this file.
1 #ifndef HALIDE_CODEGEN_POWERPC_H
2 #define HALIDE_CODEGEN_POWERPC_H
3 
4 /** \file
5  * Defines the code-generator for producing POWERPC machine code.
6  */
7 
8 #include "CodeGen_Posix.h"
9 
10 namespace Halide {
11 namespace Internal {
12 
13 /** A code generator that emits mips code from a given Halide stmt. */
15 public:
16  /** Create a powerpc code generator. Processor features can be
17  * enabled using the appropriate flags in the target struct. */
19 
20  static void test();
21 
22 protected:
23  std::string mcpu() const override;
24  std::string mattrs() const override;
25  bool use_soft_float_abi() const override;
26  int native_vector_bits() const override;
27 
29 
30  /** Nodes for which we want to emit specific sse/avx intrinsics */
31  // @{
32  void visit(const Cast *) override;
33  void visit(const Min *) override;
34  void visit(const Max *) override;
35  // @}
36 
37  // Call an intrinsic as defined by a pattern. Dispatches to the
38 private:
39  static const char *altivec_int_type_name(const Type &);
40 };
41 
42 } // namespace Internal
43 } // namespace Halide
44 
45 #endif
Halide::Internal::CodeGen_PowerPC::mcpu
std::string mcpu() const override
What should be passed as -mcpu, -mattrs, and related for compilation.
Halide::Internal::CodeGen_PowerPC::use_soft_float_abi
bool use_soft_float_abi() const override
Halide::Internal::CodeGen_PowerPC::mattrs
std::string mattrs() const override
Halide::Internal::CodeGen_Posix
A code generator that emits posix code from a given Halide stmt.
Definition: CodeGen_Posix.h:14
Halide::Internal::CodeGen_Posix::visit
void visit(const Allocate *) override
Posix implementation of Allocate.
Halide::Internal::CodeGen_PowerPC::visit
void visit(const Cast *) override
Nodes for which we want to emit specific sse/avx intrinsics.
Halide::Internal::CodeGen_PowerPC::test
static void test()
Halide::Internal::Cast
The actual IR nodes begin here.
Definition: IR.h:29
Halide::Type
Types in the halide type system.
Definition: Type.h:269
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition: AddAtomicMutex.h:21
Halide::LinkageType::Internal
@ Internal
Not visible externally, similar to 'static' linkage in C.
Halide::Internal::Max
The greater of two values.
Definition: IR.h:94
Halide::Internal::CodeGen_PowerPC::native_vector_bits
int native_vector_bits() const override
What's the natural vector bit-width to use for loads, stores, etc.
Halide::Internal::CodeGen_PowerPC
A code generator that emits mips code from a given Halide stmt.
Definition: CodeGen_PowerPC.h:14
Halide::Internal::Min
The lesser of two values.
Definition: IR.h:85
Halide::Internal::CodeGen_PowerPC::CodeGen_PowerPC
CodeGen_PowerPC(Target)
Create a powerpc code generator.
Halide::Target
A struct representing a target machine and os to generate code for.
Definition: Target.h:19
CodeGen_Posix.h