Performance improvement when using "QEMU_FLATTEN" with softfloat type conversions

Bug #1892081 reported by Ahmed Karaman
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

Attached below is a matrix multiplication program for double data
types. The program performs the casting operation "(double)rand()"
when generating random numbers.

This operation calls the integer to float softfloat conversion
function "int32_to_float_64".

Adding the "QEMU_FLATTEN" attribute to the function definition
decreases the instructions per call of the function by about 63%.

Attached are before and after performance screenshots from
KCachegrind.

Revision history for this message
Ahmed Karaman (ahmedkrmn) wrote :
Revision history for this message
Ahmed Karaman (ahmedkrmn) wrote :
Revision history for this message
Ahmed Karaman (ahmedkrmn) wrote :
Revision history for this message
Richard Henderson (rth) wrote :

Confirmed, although "65% decrease" is on 0.44% of the total
execution for this test case, so the decrease isn't actually
noticeable.

Nevertheless, it's a simple enough change.

Changed in qemu:
status: New → In Progress
assignee: nobody → Richard Henderson (rth)
Revision history for this message
Thomas Huth (th-huth) wrote : Moved bug report

This is an automated cleanup. This bug report has been moved to QEMU's
new bug tracker on gitlab.com and thus gets marked as 'expired' now.
Please continue with the discussion here:

 https://gitlab.com/qemu-project/qemu/-/issues/134

Changed in qemu:
assignee: Richard Henderson (rth) → nobody
status: In Progress → Expired
Richard Henderson (rth)
Changed in qemu:
status: Expired → Fix Committed
Thomas Huth (th-huth)
Changed in qemu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.