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