-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Closed
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillacompile-failUse [accepts-invalid] and [rejects-valid] insteadUse [accepts-invalid] and [rejects-valid] insteadllvm:codegen
Description
Bugzilla Link | 3898 |
Resolution | FIXED |
Resolved on | Apr 18, 2009 15:49 |
Version | trunk |
OS | All |
Attachments | Test case for XCore backend, Fix for TargetLowering::getVectorTypeBreakdown |
CC | @asl |
Extended Description
On a target with soft-float and only i32 registers, a <2 x double> vector is legalized as follows:
v2f64 -> 2 x i64 -> 4 x i32
TargetLowering::getVectorTypeBreakdown() misses the last step, and a FORMAL_ARGUMENTS node with two illegal i64 parameters is created. This triggers an assert in XCoreTargetLowering::LowerCCCArguments()
I believe this bug only affects the XCore backend, but it is not a bug /in/ the XCore backend. I found it while writing a new Blackfin backend.
Metadata
Metadata
Assignees
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillacompile-failUse [accepts-invalid] and [rejects-valid] insteadUse [accepts-invalid] and [rejects-valid] insteadllvm:codegen