⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asm1.c

📁 gcc-you can use this code to learn something about gcc, and inquire further into linux,
💻 C
字号:
// Check that the 3.1 named operand syntax can be used in template functions.struct arg1 {  int value;  static const int info = 99;};struct arg2 {  int value;  static const int info = 11;};template<int j>int foo (void){  int i;  asm ("# foo on %[third] %[second] %[fourth] %[first]"       : [first] "=r" (i)       : [second] "i" (j),         [third] "i" (j + 2),         [fourth] "i" (100));  return i;};template<class TYPE>TYPE bar (TYPE t){  asm ("# bar on %[first] %[second] %[third]"       : [first] "=r" (t.value)       : [second] "i[first]" (t.value),         [third] "i" (t.info));  return t;}template<class TYPE>struct S {  static void frob (TYPE t)  {    asm ("# frob on %[arg]" :: [arg] "i" (t.info));  }};void test (){  arg1 x;  arg2 y;  foo<42> ();  bar (x);  bar (y);  S<arg1>::frob (x);}// { dg-final { scan-assembler "foo on" } }// { dg-final { scan-assembler "bar on" } }// { dg-final { scan-assembler "frob on" } }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -