LLVM
15.0.0git
|
Functions | |
Some | targets (e.g. athlons) prefer freep to fstp ST(0) |
foo esp | movsd (%esp) |
foo esp xmm0 movsd esp | fldl (%esp) fisttpll(%esp) movl(%esp) |
Variables | |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def | FpADD32m |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def | RFP |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def | f32mem |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def | OneArgFPRW |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def | FpIADD32m |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def | i32mem |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle | instructions |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle e g | turning |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle e g | floor |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle e g | ceil |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle e g | trunc |
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle e g which prevents the spiller from folding spill code into the instructions Currently the x86 codegen isn t very good at mixing SSE and FPStack | code |
foo | __pad0__ |
foo esp xmm0 movsd | xmm0 |
foo esp xmm0 movsd esp eax | addl |
Some targets | ( | e.g. | athlons | ) |
Definition at line 7 of file README-FPStack.txt.
foo __pad0__ |
Definition at line 74 of file README-FPStack.txt.
gets compiled into this on rsp movaps rsp movaps rsp movaps rsp movaps rsp movaps rsp movaps rsp movaps rsp movaps rsp movq rsp movq rsp movq rsp movq rsp movq rsp rax movq rsp rax movq rsp rsp rsp eax eax jbe LBB1_3 rcx rax movq rsp eax rsp ret ecx eax rcx movl rsp jmp LBB1_2 gcc rsp rax movq rsp rsp movq rsp rax movq rsp eax eax jb L6 rdx eax rsp ret p2align edx rdx eax movl rsp eax rsp ret and it gets compiled into this on ebp esp eax movl ebp eax movl ebp eax addl |
Definition at line 80 of file README-FPStack.txt.
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle e g ceil |
Definition at line 54 of file README-FPStack.txt.
Referenced by llvm::canConstantFoldCallTo(), llvm::symbolize::SourceCode::format(), getBranchWeight(), llvm::getIntrinsicForCallSite(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getTypeBasedIntrinsicInstrCost(), isIdempotent(), llvm::isKnownNeverNaN(), llvm::ARMTTIImpl::isLoweredToCall(), llvm::isTriviallyVectorizable(), llvm::IntrinsicLowering::LowerIntrinsicCall(), setGroupSize(), simplifyNvvmIntrinsic(), simplifyUnaryIntrinsic(), tryInterleave(), llvm::InstCombinerImpl::visitCallInst(), and llvm::InstCombinerImpl::visitFPTrunc().
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle e g which prevents the spiller from folding spill code into the instructions Currently the x86 codegen isn t very good at mixing SSE and FPStack code |
Definition at line 71 of file README-FPStack.txt.
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def f32mem |
Definition at line 18 of file README-FPStack.txt.
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle e g floor |
Definition at line 54 of file README-FPStack.txt.
Referenced by llvm::canConstantFoldCallTo(), llvm::getIntrinsicForCallSite(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getTypeBasedIntrinsicInstrCost(), isIdempotent(), llvm::isKnownNeverNaN(), llvm::ARMTTIImpl::isLoweredToCall(), llvm::isTriviallyVectorizable(), llvm::IntrinsicLowering::LowerIntrinsicCall(), simplifyNvvmIntrinsic(), simplifyUnaryIntrinsic(), tryInterleave(), llvm::InstCombinerImpl::visitCallInst(), and llvm::InstCombinerImpl::visitFPTrunc().
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def FpADD32m |
Definition at line 18 of file README-FPStack.txt.
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def FpIADD32m |
Definition at line 20 of file README-FPStack.txt.
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def i32mem |
Definition at line 23 of file README-FPStack.txt.
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle instructions |
Definition at line 25 of file README-FPStack.txt.
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def OneArgFPRW |
Definition at line 18 of file README-FPStack.txt.
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def RFP |
Definition at line 18 of file README-FPStack.txt.
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle e g trunc |
Definition at line 63 of file README-FPStack.txt.
Referenced by llvm::canConstantFoldCallTo(), llvm::getIntrinsicForCallSite(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getTypeBasedIntrinsicInstrCost(), isIdempotent(), llvm::isKnownNeverNaN(), llvm::ARMTTIImpl::isLoweredToCall(), llvm::isTriviallyVectorizable(), llvm::IntrinsicLowering::LowerIntrinsicCall(), simplifyNvvmIntrinsic(), simplifyUnaryIntrinsic(), tryInterleave(), llvm::InstCombinerImpl::visitCallInst(), and llvm::InstCombinerImpl::visitFPTrunc().
We have fiadd patterns now but the followings have the same cost and complexity We need a way to specify the later is more profitable def def The FP stackifier should handle simple permutates to reduce number of shuffle e g turning |
Definition at line 54 of file README-FPStack.txt.
Definition at line 76 of file README-FPStack.txt.