Skip to content

Division operation much slower with microlib than other libs on cortex-M0 #12221

@LMESTM

Description

@LMESTM

Description of defect

Following investigations in #12116 , it turns out that division with microlib seems much slower than ARM lib (and possibly also other libs) on cores like cortex-M0.

Few measurement on a "divided by 1000" operation were measured and are reported here for background information:

Board Toolchain Division Operation time (incl. IOs toggling) Frequency during wake-up
L476RG uARM Native ( / ) 440ns 48MHz
L476RG uARM Div1000 480ns 48MHz
L476RG ARMC6 Native ( / ) 440ns 48MHz
L476RG ARMC6 Div1000 480ns 48MHz
L073RZ uARM Native ( / ) 86µs 4MHz
L073RZ uARM Div1000 226µs 4MHz
L073RZ uARM Div10 (3 times) 18µs 4MHz
L073RZ ARMC6 Native ( / ) 11,6µs 4MHz
L073RZ ARMC6 Div1000 13µs 4MHz
L073RZ ARMC6 Div10 (3 times) 18µs 4MHz

Target(s) affected by this defect ?

ALL

Toolchain(s) (name and version) displaying this defect ?

microlib toolchain (µARM)

What version of Mbed-os are you using (tag or sha) ?

mbed-os master of Jan 2020.

What version(s) of tools are you using. List all that apply (E.g. mbed-cli)

Not relevant here.

How is this defect reproduced ?

See detailed history in #12116

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions