В любом случае требуется генерировать вызов соответствующей подпрограммы, которая, кстати, написана на ассемблере. И ответственность за использование (или неиспользование) аппаратного умножения лежит на программисте. Если данная библиотечная функция не устраивает (по размеру или быстродействию), нужно просто написать свою и поместить ее в библиотеку вмсето старой.