Mercurial > projects > ldc
view gen/complex.h @ 232:092468448d25 trunk
[svn r248] Fixed: labels in inline asm block now work for the normal case.
Fixed: inline asm blocks are now emitted as a single asm entity.
author | lindquist |
---|---|
date | Sun, 08 Jun 2008 06:15:51 +0200 |
parents | 0806379a5eca |
children | a95056b3c996 |
line wrap: on
line source
#ifndef LLVMDC_GEN_COMPLEX_H #define LLVMDC_GEN_COMPLEX_H const llvm::StructType* DtoComplexType(Type* t); const LLType* DtoComplexBaseType(Type* t); LLConstant* DtoConstComplex(Type* t, LLConstant* re, LLConstant* im); LLConstant* DtoConstComplex(Type* t, long double re, long double im); LLConstant* DtoComplexShuffleMask(unsigned a, unsigned b); LLValue* DtoRealPart(DValue* val); LLValue* DtoImagPart(DValue* val); DValue* DtoComplex(Type* to, DValue* val); void DtoComplexAssign(LLValue* l, LLValue* r); void DtoComplexSet(LLValue* c, LLValue* re, LLValue* im); void DtoGetComplexParts(DValue* c, LLValue*& re, LLValue*& im); DValue* DtoComplexAdd(Type* type, DValue* lhs, DValue* rhs); DValue* DtoComplexSub(Type* type, DValue* lhs, DValue* rhs); DValue* DtoComplexMul(Type* type, DValue* lhs, DValue* rhs); DValue* DtoComplexDiv(Type* type, DValue* lhs, DValue* rhs); DValue* DtoComplexNeg(Type* type, DValue* val); LLValue* DtoComplexEquals(TOK op, DValue* lhs, DValue* rhs); #endif // LLVMDC_GEN_COMPLEX_H