안녕하세요, 저는 최적화에 몇 가지 문제가 있습니다.glibC와 bioniC의 차이점
#include <stdio.h>
#ifdef HAVE_C99_RUNTIME
double test1 (double x)
{
return __builtin_pow (x, 1/3);
}
double test2 (double x)
{
return __builtin_pow (x, 4./3.);
}
double test3a (double x)
{
return __builtin_pow (x, 5./3.);
}
double test3b (double x)
{
return __builtin_pow (x, -5./3.);
}
double test4 (double x)
{
return __builtin_pow (x, 7./3.);
}
#endif
나는 다음 2 가지 방법으로 컴파일하려고 :
나는 내장 기능 GCC 테스트 중 하나를 컴파일하려고
1 방법 :
gcc -mglibc -O -ffast-math -std=c99 -fno-ident -S -o builtins-58.s
그리고 출력 어셈블러 파일의 모든 call pow
변경됨 : call cbrt
- 예상 됨
2 방향 :-mglibc
대신 -mbionic
를 사용하여 gcc -mbionic -O -ffast-math -std=c99 -fno-ident -S -o builtins-58.s
내가 누구 그것은 우리가 특별 검사가 GCC 4.7에서의 becuse 일 것 Bionic
그리고 귀하의 질문은 무엇입니까? –
@AmigableClarkKant glibc와 bionic의 기본 내장 함수 최적화가 다른 이유는 무엇입니까? – Arseniy
함수가 동일한 값을 반환합니까? –