xref: /llvm-project/clang/test/CodeGenCXX/fixed-point-mangle.cpp (revision c5de4dd1eab00df76c1a68c5f397304ceacb71f2)
1 // RUN: %clang_cc1 -ffixed-point -emit-llvm %s -o - -triple=x86_64-unknown-linux-gnu | FileCheck %s
2 
3 // Primary fixed point types
func(signed short _Accum)4 void func(signed short _Accum){}    // CHECK: @_Z4funcDAs
func(signed _Accum)5 void func(signed _Accum){}          // CHECK: @_Z4funcDAi
func(signed long _Accum)6 void func(signed long _Accum){}     // CHECK: @_Z4funcDAl
func(unsigned short _Accum)7 void func(unsigned short _Accum){}  // CHECK: @_Z4funcDAt
func(unsigned _Accum)8 void func(unsigned _Accum){}        // CHECK: @_Z4funcDAj
func(unsigned long _Accum)9 void func(unsigned long _Accum){}   // CHECK: @_Z4funcDAm
func(signed short _Fract)10 void func(signed short _Fract){}    // CHECK: @_Z4funcDRs
func(signed _Fract)11 void func(signed _Fract){}          // CHECK: @_Z4funcDRi
func(signed long _Fract)12 void func(signed long _Fract){}     // CHECK: @_Z4funcDRl
func(unsigned short _Fract)13 void func(unsigned short _Fract){}  // CHECK: @_Z4funcDRt
func(unsigned _Fract)14 void func(unsigned _Fract){}        // CHECK: @_Z4funcDRj
func(unsigned long _Fract)15 void func(unsigned long _Fract){}   // CHECK: @_Z4funcDRm
16 
17 // Aliased
func2(short _Accum)18 void func2(short _Accum){}          // CHECK: @_Z5func2DAs
func2(_Accum)19 void func2(_Accum){}                // CHECK: @_Z5func2DAi
func2(long _Accum)20 void func2(long _Accum){}           // CHECK: @_Z5func2DAl
func2(short _Fract)21 void func2(short _Fract){}          // CHECK: @_Z5func2DRs
func2(_Fract)22 void func2(_Fract){}                // CHECK: @_Z5func2DRi
func2(long _Fract)23 void func2(long _Fract){}           // CHECK: @_Z5func2DRl
24 
25 // Primary saturated
func(_Sat signed short _Accum)26 void func(_Sat signed short _Accum){}    // CHECK: @_Z4funcDSDAs
func(_Sat signed _Accum)27 void func(_Sat signed _Accum){}          // CHECK: @_Z4funcDSDAi
func(_Sat signed long _Accum)28 void func(_Sat signed long _Accum){}     // CHECK: @_Z4funcDSDAl
func(_Sat unsigned short _Accum)29 void func(_Sat unsigned short _Accum){}  // CHECK: @_Z4funcDSDAt
func(_Sat unsigned _Accum)30 void func(_Sat unsigned _Accum){}        // CHECK: @_Z4funcDSDAj
func(_Sat unsigned long _Accum)31 void func(_Sat unsigned long _Accum){}   // CHECK: @_Z4funcDSDAm
func(_Sat signed short _Fract)32 void func(_Sat signed short _Fract){}    // CHECK: @_Z4funcDSDRs
func(_Sat signed _Fract)33 void func(_Sat signed _Fract){}          // CHECK: @_Z4funcDSDRi
func(_Sat signed long _Fract)34 void func(_Sat signed long _Fract){}     // CHECK: @_Z4funcDSDRl
func(_Sat unsigned short _Fract)35 void func(_Sat unsigned short _Fract){}  // CHECK: @_Z4funcDSDRt
func(_Sat unsigned _Fract)36 void func(_Sat unsigned _Fract){}        // CHECK: @_Z4funcDSDRj
func(_Sat unsigned long _Fract)37 void func(_Sat unsigned long _Fract){}   // CHECK: @_Z4funcDSDRm
38 
39 // Aliased saturated
func2(_Sat short _Accum)40 void func2(_Sat short _Accum){}          // CHECK: @_Z5func2DSDAs
func2(_Sat _Accum)41 void func2(_Sat _Accum){}                // CHECK: @_Z5func2DSDAi
func2(_Sat long _Accum)42 void func2(_Sat long _Accum){}           // CHECK: @_Z5func2DSDAl
func2(_Sat short _Fract)43 void func2(_Sat short _Fract){}          // CHECK: @_Z5func2DSDRs
func2(_Sat _Fract)44 void func2(_Sat _Fract){}                // CHECK: @_Z5func2DSDRi
func2(_Sat long _Fract)45 void func2(_Sat long _Fract){}           // CHECK: @_Z5func2DSDRl
46