46 lines · cpp
1// RUN: %clang_cc1 -ffixed-point -emit-llvm %s -o - -triple=x86_64-unknown-linux-gnu | FileCheck %s2 3// Primary fixed point types4void func(signed short _Accum){} // CHECK: @_Z4funcDAs5void func(signed _Accum){} // CHECK: @_Z4funcDAi6void func(signed long _Accum){} // CHECK: @_Z4funcDAl7void func(unsigned short _Accum){} // CHECK: @_Z4funcDAt8void func(unsigned _Accum){} // CHECK: @_Z4funcDAj9void func(unsigned long _Accum){} // CHECK: @_Z4funcDAm10void func(signed short _Fract){} // CHECK: @_Z4funcDRs11void func(signed _Fract){} // CHECK: @_Z4funcDRi12void func(signed long _Fract){} // CHECK: @_Z4funcDRl13void func(unsigned short _Fract){} // CHECK: @_Z4funcDRt14void func(unsigned _Fract){} // CHECK: @_Z4funcDRj15void func(unsigned long _Fract){} // CHECK: @_Z4funcDRm16 17// Aliased18void func2(short _Accum){} // CHECK: @_Z5func2DAs19void func2(_Accum){} // CHECK: @_Z5func2DAi20void func2(long _Accum){} // CHECK: @_Z5func2DAl21void func2(short _Fract){} // CHECK: @_Z5func2DRs22void func2(_Fract){} // CHECK: @_Z5func2DRi23void func2(long _Fract){} // CHECK: @_Z5func2DRl24 25// Primary saturated26void func(_Sat signed short _Accum){} // CHECK: @_Z4funcDSDAs27void func(_Sat signed _Accum){} // CHECK: @_Z4funcDSDAi28void func(_Sat signed long _Accum){} // CHECK: @_Z4funcDSDAl29void func(_Sat unsigned short _Accum){} // CHECK: @_Z4funcDSDAt30void func(_Sat unsigned _Accum){} // CHECK: @_Z4funcDSDAj31void func(_Sat unsigned long _Accum){} // CHECK: @_Z4funcDSDAm32void func(_Sat signed short _Fract){} // CHECK: @_Z4funcDSDRs33void func(_Sat signed _Fract){} // CHECK: @_Z4funcDSDRi34void func(_Sat signed long _Fract){} // CHECK: @_Z4funcDSDRl35void func(_Sat unsigned short _Fract){} // CHECK: @_Z4funcDSDRt36void func(_Sat unsigned _Fract){} // CHECK: @_Z4funcDSDRj37void func(_Sat unsigned long _Fract){} // CHECK: @_Z4funcDSDRm38 39// Aliased saturated40void func2(_Sat short _Accum){} // CHECK: @_Z5func2DSDAs41void func2(_Sat _Accum){} // CHECK: @_Z5func2DSDAi42void func2(_Sat long _Accum){} // CHECK: @_Z5func2DSDAl43void func2(_Sat short _Fract){} // CHECK: @_Z5func2DSDRs44void func2(_Sat _Fract){} // CHECK: @_Z5func2DSDRi45void func2(_Sat long _Fract){} // CHECK: @_Z5func2DSDRl46