Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000060 [libFirm] optimisations minor always 2010-10-04 15:25 2011-06-17 20:21
Reporter Matze View Status public  
Assigned To
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version Product Version development
  Product Build
Summary 0000060: irarch and doubleword modes
Description irarch does not work with doubleword modes. For example it often aborts early if it encounters shift-counts >= 32 which indeed the backend does not support but which would still make sense for doubleword instructions which are not lowered yet. This currently has the effect that doubleword shifts get transformed to muls and never turned back.
I don't know the code enough at the moment to decide wether irarch should handle the doubleword stuff as well or wether we should separately add handling for doubleword instructions.
Steps To Reproduce
Additional Information Obvious example:
unsigned long long shl(unsigned long long x) { return x << 32; }

gets transformed to a 64-bit mul (on ia-32) instead of the obvious copy + xor!
Tags No tags attached.
Attached Files

- Relationships

-  Notes
Matze (administrator)
2011-06-17 20:21

appears to be fixed by now.

- Issue History
Date Modified Username Field Change
2010-10-04 15:25 Matze New Issue
2010-10-04 15:25 Matze Status new => confirmed
2011-06-17 20:21 Matze Note Added: 0000105
2011-06-17 20:21 Matze Status confirmed => closed
2011-06-17 20:21 Matze Resolution open => fixed

Mantis 1.1.5[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker