[H8-ML(2026)] Re: 右辺値のvolatile宣言(GCC で検証)
From: FUJIHARA Keiichi <keiichi@xxxxxxxxxxxxx>
Date: 2002年06月27日(木)23時13分28秒
 藤原です。

This message is reply to Keiji Matsuzono - san
(Subject was : [H8-ML(2024)] Re: 右辺値のvolatile宣言(GCC で検証))

Message-ID: <20020628055735.2db64dcf.k-zono@xxxxxxxxxxxxxxxx>
in Fri, 28 Jun 2002 05:57:35 +0900 ...

> まつぞの@自宅から です
> 
> 代入文の右辺にだけ現れる変数に volatile 指定をしても
> 最適化(コードが削除される)ことがありうる、ということだったので、
> GCC で試してみました。
> 
> 結論を先にいうと、GCC だと最適化されないようです。H8 用と AVR 用で
> 試してみました。

 あら、日立の純正(でも、1.0D)でもコードは削除されませんでした。
 とりあえず、H8 とは無関係ですが(組込用はないですが) C++ Builder 4
だと、きれいさっぱり消されます。

?live1@0:
   ;	
   ;	int main(){
   ;	
	push      ebp
	mov       ebp,esp
   ;	
   ;	        int a;
   ;	
   ;	        a = count;
   ;	        a = count;
   ;	        a = count;
   ;	
   ;	        return 0;
   ;	
@1:
	xor       eax,eax
   ;	
   ;	}

 こんな感じ。
 やっぱり、組み込みだとそれなりに気を遣うのですかね。
※ソースからは消えてますけど、確かに、volatile つけてます。

-- 
_/ -- Last    69 hours until 2002 World Cup final (27 Jun @615) ------
_/ FUJIHARA Keiichi
_/ E-Mail : keiichi@xxxxxxxxxxxxx <or> nagi@xxxxxxxxxxxxxxx
_/ URL    : http://www.keiichi.fujihara.name/
--------------------------------------------+----- Luna Phase 17.45 --
PGP FingerPrint = 7CC3 4F95 8CC7 87D3 7178  C348 CD65 7F08 D68F 69F6


スレッド概略
[1992(R)](起点)
 └[2024(U)]
   └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]