āĻāĻāĻŋ āĻšāĻ˛ FileCheck-3.7 āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻžāĻ§āĻŋāĻ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§āĻ° āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻ¸ā§āĻā§āĻļāĻ¨ āĻ¯ā§āĻŽāĻ¨ āĻāĻŦā§āĻ¨ā§āĻā§ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨, āĻĢā§āĻĄā§āĻ°āĻž āĻ āĻ¨āĻ˛āĻžāĻāĻ¨, āĻāĻāĻ¨ā§āĻĄā§āĻ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻŽā§āĻ˛ā§āĻāĻ° āĻŦāĻž MAC OS āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻŽā§āĻ˛ā§āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ OnWorks āĻĢā§āĻ°āĻŋ āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ¤ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻžāĻ°ā§āĻ¯āĻā§āĻ°āĻŽ:
NAME āĻāĻ°
āĻĢāĻžāĻāĻ˛ āĻā§āĻ - āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻĢāĻžāĻāĻ˛ āĻ¯āĻžāĻāĻžāĻāĻāĻžāĻ°ā§
āĻ¸āĻžāĻāĻ¨ā§āĻĒāĻŋāĻ¸āĻŋāĻ¸
āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻŽā§āĻ¯āĻžāĻ-āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ [--āĻā§āĻ-āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻā§āĻ¸=XXX] [--āĻāĻ ā§āĻ°-āĻ¸āĻžāĻĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨]
āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ
āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻĻā§āĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻĒāĻĄāĻŧā§ (āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻ¨āĻĒā§āĻ āĻĨā§āĻā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ)
āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻāĻŋāĻā§ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻ āĻāĻāĻ°āĻŖ āĻā§āĻ¸ā§āĻāĻ¸ā§āĻāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§āĻˇāĻāĻžāĻŦā§ āĻāĻĒāĻ¯ā§āĻā§,
āĻ¯āĻž āĻāĻŋāĻā§ āĻā§āĻ˛ā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¯āĻŧ (āĻ¯ā§āĻŽāĻ¨ LLC) āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§
āĻ¤āĻĨā§āĻ¯ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, esp āĻĨā§āĻā§ āĻāĻāĻāĻŋ movsd āĻŦāĻž āĻ¯āĻž āĻāĻŋāĻā§ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ)āĨ¤ āĻāĻ āĻ āĻ¨ā§āĻ°ā§āĻĒ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ , grep, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻ¨āĻĒā§āĻ āĻŽā§āĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻĻā§āĻļāĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻŽā§āĻ¯āĻžāĻ-āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻĢāĻžāĻāĻ˛ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§ āĻ¯āĻžāĻ¤ā§ āĻŽāĻŋāĻ˛ā§āĻ° āĻ¨āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻĢāĻžāĻāĻ˛
āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻ¨āĻĒā§āĻ āĻĨā§āĻā§ āĻĒāĻĄāĻŧāĻž āĻšāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻ¨āĻž --āĻāĻ¨āĻĒā§āĻ āĻĢāĻžāĻāĻ˛ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻŦāĻŋāĻāĻ˛ā§āĻĒ
-āĻšā§āĻ˛ā§āĻĒ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°āĻžāĻāĻļ āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻ°ā§āĻ¨āĨ¤
--āĻā§āĻ-āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻā§āĻ¸ āĻāĻĒāĻ¸āĻ°ā§āĻ
FileCheck āĻāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§ āĻŽā§āĻ¯āĻžāĻ-āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻŽā§āĻ˛ā§ āĻāĻ¨ā§āĻ¯. āĻĻā§āĻŦāĻžāĻ°āĻž
āĻĄāĻŋāĻĢāĻ˛ā§āĻ, āĻāĻ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨āĻā§āĻ˛āĻŋ "āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻĒāĻ¸āĻ°ā§āĻāĻ¯ā§āĻā§āĻ¤ āĻšāĻ¯āĻŧāĻā§āĻ āĻāĻ°ā§āĻ¨:āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨
āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻ¸āĻ°ā§āĻ (āĻ¯ā§āĻŽāĻ¨ āĻāĻžāĻ°āĻŖ āĻāĻāĻ āĻāĻ¨āĻĒā§āĻ āĻĢāĻžāĻāĻ˛ āĻāĻāĻžāĻ§āĻŋāĻ āĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻā§
āĻā§āĻ˛ āĻŦāĻž āĻ āĻĒāĻļāĻ¨), the --āĻā§āĻ-āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻā§āĻ¸ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ
āĻŽā§āĻ˛ā§ āĻāĻĒāĻ¸āĻ°ā§āĻāĨ¤ āĻāĻāĻžāĻ§āĻŋāĻ āĻāĻĒāĻ¸āĻ°ā§āĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¯āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ°āĻžāĻ¨ āĻ āĻĒāĻļāĻ¨, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ āĻ§āĻŋāĻāĻžāĻāĻļ āĻ˛āĻžāĻāĻ¨ āĻāĻāĻ āĻĨāĻžāĻā§āĨ¤
--āĻāĻ¨āĻĒā§āĻ āĻĢāĻžāĻāĻ˛ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ
āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛ (āĻ¸ā§āĻāĻĄāĻŋāĻ¨ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ)āĨ¤
--āĻāĻ ā§āĻ°-āĻ¸āĻžāĻĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻāĻ¨āĻĒā§āĻ āĻ āĻ¨ā§āĻā§āĻŽāĻŋāĻ āĻšā§āĻ¯āĻŧāĻžāĻāĻāĻ¸ā§āĻĒā§āĻ¸ (āĻ¸ā§āĻĒā§āĻ¸ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻŦ) āĻā§āĻ¯āĻžāĻ¨ā§āĻ¨āĻŋāĻāĻžāĻ˛āĻžāĻāĻ āĻāĻ°ā§
āĻ¯āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻāĻāĻŋ āĻāĻ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯āĻā§āĻ˛āĻŋāĻā§ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°ā§ (āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛āĻŦā§)āĨ¤ āĻĻā§āĻ¯
--āĻāĻ ā§āĻ°-āĻ¸āĻžāĻĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻ āĻāĻāĻ°āĻŖ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ. āĻāĻ¨ā§āĻĄ-āĻ āĻĢ-āĻ˛āĻžāĻāĻ¨ āĻ¸āĻŋāĻā§āĻ¯āĻŧā§āĻ¨ā§āĻ¸ āĻšāĻ¯āĻŧ
UNIX-āĻļā§āĻ˛ā§āĻ¤ā§ āĻā§āĻ¯āĻžāĻ¨ā§āĻ¨āĻŋāĻāĻžāĻ˛āĻžāĻāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ \n āĻ¸āĻŦ āĻŽā§āĻĄā§āĨ¤
--āĻāĻŽāĻĒā§āĻ˛āĻŋāĻ¸āĻŋāĻ-āĻā§āĻ-āĻ¨āĻž āĻā§āĻ-āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨
āĻāĻ¤āĻŋāĻŦāĻžāĻāĻ āĻā§āĻāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻ āĻā§āĻāĻā§āĻ˛āĻŋ āĻ¯ā§āĻ āĻāĻ°ā§ā§ˇ
āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸ā§āĻāĻžāĻĢ āĻ¨āĻž āĻāĻ°ā§ āĻāĻ ā§āĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ˛ā§āĻāĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻā§āĻ-āĻ¨āĻžs.
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ, "--āĻāĻŽāĻĒā§āĻ˛āĻŋāĻ¸āĻŋāĻ-āĻā§āĻ-āĻ¨āĻž āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž:" āĻĄāĻžāĻ¯āĻŧāĻāĻ¨āĻŋāĻ¸ā§āĻāĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ā§ˇ
āĻā§āĻ˛ āĻĨā§āĻā§ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¯ā§āĻā§āĻ˛āĻŋāĻ° āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ¨ā§āĻ āĻāĻ¨āĻāĻ¨ - āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ° āĻ¸āĻžāĻĨā§
āĻ āĻĒāĻļāĻ¨ FileCheck āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¯ā§ āĻāĻ¨āĻĒā§āĻā§ āĻāĻŽāĻ¨ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ¨ā§āĻ āĻ¯āĻž āĻāĻāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻž
āĻā§āĻ¨ āĻā§āĻ āĻāĻ°ā§āĻ¨: āĻ¨āĻŋāĻĻāĻ°ā§āĻļāĻ¨āĨ¤
-version
āĻāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ° āĻĻā§āĻāĻžāĻ¨.
āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§āĻ¨ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ
If āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§ āĻ¯ā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§, āĻāĻāĻŋ 0 āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§āĨ¤
āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻŦāĻž āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻā§, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ -āĻļā§āĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ āĻ¸āĻš āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°āĻŦā§āĨ¤
āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛
āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ LLVM āĻ°āĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĨā§āĻā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ, āĻāĻ° RUN āĻ˛āĻžāĻāĻ¨ā§ āĻāĻšā§āĻŦāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻĒāĻ°ā§āĻā§āĻˇāĻž. āĻāĻāĻāĻŋ RUN āĻ˛āĻžāĻāĻ¨ āĻĨā§āĻā§ FileCheck āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻžāĻ¯āĻŧ:
; RUN: llvm- as < %s | llc -march=x86-64 | āĻĢāĻžāĻāĻ˛āĻā§āĻ %s
āĻāĻ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸āĻāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĒāĻžāĻāĻĒ āĻāĻ°āĻ¤ā§ āĻŦāĻ˛ā§ ("%s") āĻŽāĻ§ā§āĻ¯ā§ llvm- āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻĒāĻžāĻāĻĒ āĻ¯ā§ āĻŽāĻ§ā§āĻ¯ā§ LLC, āĻ¤āĻžāĻ°āĻĒāĻ°
āĻāĻ° āĻāĻāĻāĻĒā§āĻ āĻĒāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨ LLC āĻŽāĻ§ā§āĻ¯ā§ āĻĢāĻžāĻāĻ˛āĻā§āĻ. āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ FileCheck āĻāĻāĻŋ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻŦā§
āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻ¨āĻĒā§āĻ (āĻāĻ˛āĻāĻ˛āĻ¸āĻŋ āĻāĻāĻāĻĒā§āĻ) āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§ (āĻŽā§āĻ˛ .ll
āĻĢāĻžāĻāĻ˛ " āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ%s") āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¤āĻž āĻĻā§āĻāĻ¤ā§, āĻāĻ° āĻŦāĻžāĻāĻŋ āĻ āĻāĻļāĻā§āĻ˛āĻŋ āĻĻā§āĻā§āĻ¨ .ll āĻĢāĻžāĻāĻ˛
(RUN āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻĒāĻ°ā§):
āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ @sub1(i32* %p, i32 %v) {
āĻĒā§āĻ°āĻŦā§āĻļ:
; āĻā§āĻ āĻāĻ°ā§āĻ¨: sub1:
; āĻā§āĻ: subl
%0 = āĻā§āĻ˛ āĻāĻ˛ i32 @llvm.atomic.load.sub.i32.p0i32(i32* %p, i32 %v)
ret void
}
void āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ @inc4(i64* %p) {
āĻĒā§āĻ°āĻŦā§āĻļ:
; āĻā§āĻ āĻāĻ°ā§āĻ¨: inc4:
; āĻā§āĻ āĻāĻ°ā§āĻ¨: incq
%0 = āĻā§āĻ˛ āĻāĻ˛ i64 @llvm.atomic.load.add.i64.p0i64(i64* %p, i64 1)
ret void
}
āĻāĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ "āĻā§āĻ āĻāĻ°ā§āĻ¨:" āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛ā§ āĻāĻŽā§āĻ¨ā§āĻā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨ āĻā§āĻŽāĻ¨ āĻĢāĻžāĻāĻ˛
āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻāĻĒ āĻāĻ°āĻž āĻšāĻ¯āĻŧ llvm- āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻ¤āĻžāĻ°āĻĒāĻ° LLC, āĻāĻŦāĻ āĻŽā§āĻļāĻŋāĻ¨ āĻā§āĻĄ āĻāĻāĻāĻĒā§āĻ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻāĻŋāĨ¤
āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻŽā§āĻļāĻŋāĻ¨ āĻā§āĻĄ āĻāĻāĻāĻĒā§āĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§ āĻ¯ā§ āĻāĻāĻŋ "āĻā§āĻ āĻāĻ°ā§āĻ¨:" āĻ˛āĻžāĻāĻ¨
āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻ° āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ "āĻā§āĻ āĻāĻ°ā§āĻ¨:" āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋ āĻā§āĻŦ āĻ¸āĻšāĻ: āĻāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ¯āĻž āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻ¤ā§ āĻšāĻŦā§ā§ˇ
āĻāĻĻā§āĻļ āĻ āĻ¨ā§āĻā§āĻŽāĻŋāĻ āĻšā§āĻ¯āĻŧāĻžāĻāĻāĻ¸ā§āĻĒā§āĻ¸ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻ (āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻšāĻ˛
āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻŦ āĻŽā§āĻ˛āĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§) āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, "āĻāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§āĻā§āĻ āĻāĻ°ā§āĻ¨:" āĻ˛āĻžāĻāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻĢāĻžāĻāĻ˛ā§ āĻāĻŋāĻā§ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ āĻŋāĻ āĻŽā§āĻ˛ā§āĨ¤
āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻāĻŽā§āĻāĻžāĻ° āĻāĻŋāĻ¨āĻŋāĻ¸ (āĻā§āĻ°ā§āĻĒā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ) āĻšāĻ˛ āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻā§āĻ¸āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ
āĻ˛āĻāĻŋāĻā§āĻ¯āĻžāĻ˛ āĻā§āĻ°ā§āĻĒā§ āĻāĻāĻ¸āĻžāĻĨā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ°ā§āĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻā§
"āĻāĻĒ1:" āĻāĻŦāĻ "inc4:"āĻ˛ā§āĻŦā§āĻ˛, āĻāĻāĻŋ āĻŽāĻŋāĻ˛āĻŦā§ āĻ¨āĻž āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻĨāĻžāĻā§"subl"āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§
āĻ˛ā§āĻŦā§āĻ˛. āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ āĻ¨ā§āĻ¯ āĻā§āĻĨāĻžāĻ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻŦā§ āĻ¨āĻž: ", grep subl"
āĻŽā§āĻ˛ā§ āĻ¯āĻĻāĻŋ "subl" āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨āĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻĢāĻžāĻāĻ˛āĻā§āĻ -āĻā§āĻ-āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻā§āĻ¸ āĻĒāĻāĻ¨ā§āĻĻ
āĻĢāĻžāĻāĻ˛āĻā§āĻ -āĻā§āĻ-āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻā§āĻ¸ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĨā§āĻā§ āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¤ā§ āĻĻā§āĻ¯āĻŧ
āĻāĻ .ll āĻĢāĻžāĻāĻ˛ āĻāĻāĻŋ āĻ āĻ¨ā§āĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻĻāĻ°āĻāĻžāĻ°ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž
āĻ¸āĻā§āĻā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯ āĻŦā§āĻāĻ˛ā§āĻĒāĻŋāĻ LLC. āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
; RUN: llvm- as < %s | llc -mtriple=i686-apple-darwin9 -mattr=sse41 \
; āĻāĻžāĻ˛āĻžāĻ¨: | āĻĢāĻžāĻāĻ˛āĻā§āĻ %s -āĻā§āĻ-āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻā§āĻ¸=X32
; RUN: llvm- as < %s | llc -mtriple=x86_64-apple-darwin9 -mattr=sse41 \
; āĻāĻžāĻ˛āĻžāĻ¨: | āĻĢāĻžāĻāĻ˛āĻā§āĻ %s -āĻā§āĻ-āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻā§āĻ¸=X64
<4 x i32> @pinsrd_1(i32 %s, <4 x i32> %tmp) āĻŦāĻŋāĻļā§āĻˇā§āĻ¯ {
%tmp1 = insertelement <4 x i32>; %tmp, i32 %s, i32 1
ret <4 x i32> %tmp1
; X32: pinsrd_1:
; X32: pinsrd $1, 4(%esp), %xmm0
; X64: pinsrd_1:
; X64: pinsrd $1, %edi, %xmm0
}
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻāĻŋ āĻ¯ā§ āĻāĻŽāĻ°āĻž 32-āĻŦāĻŋāĻ āĻāĻŦāĻ āĻāĻāĻ¯āĻŧā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ
64-āĻŦāĻŋāĻ āĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻļāĻ¨āĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻā§āĻ-āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋ āĻŽā§āĻ˛āĻ¤ā§ āĻāĻžāĻ¨ āĻāĻŦāĻ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¯ā§ āĻŽāĻŋāĻ˛āĻā§āĻ˛āĻŋ āĻ āĻŋāĻ āĻāĻāĻāĻāĻžāĻŦā§ āĻāĻā§
āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻ˛āĻžāĻāĻ¨ āĻāĻžāĻĄāĻŧāĻž āĻĒāĻ°āĻĒāĻ° āĻ˛āĻžāĻāĻ¨āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ "āĻā§āĻ āĻāĻ°ā§āĻ¨:"
āĻāĻŦāĻ "āĻā§āĻ-āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§:" āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ā§ˇ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ¸ā§āĻāĻŽ āĻā§āĻ āĻāĻĒāĻ¸āĻ°ā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§āĻ¨,
āĻļā§āĻ§ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ "-āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§:"āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¯ā§āĻŽāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻļāĻž āĻāĻ°ā§āĻ¨:
@t2 (<2 x double>* %r, <2 x double>* %A, āĻĻā§āĻŦāĻŋāĻā§āĻŖ %B) {
%tmp3 = āĻ˛ā§āĻĄ <2 x āĻĻā§āĻŦāĻŋāĻā§āĻŖ>* %A, āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ 16
%tmp7 = āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ <2 x double> undef, āĻĄāĻŦāĻ˛ %B, i32 0
%tmp9 = āĻļāĻžāĻĢāĻ˛āĻā§āĻā§āĻāĻ° <2 x āĻĄāĻŦāĻ˛> %tmp3,
<2 x āĻĻā§āĻŦāĻŋāĻā§āĻŖ> %tmp7,
<2 x i32> < i32 0, i32 2 >
āĻ¸ā§āĻā§āĻ° <2 x āĻĄāĻŦāĻ˛> %tmp9, <2 x āĻĄāĻŦāĻ˛>* %r, āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ 16
ret void
; āĻā§āĻ āĻāĻ°ā§āĻ¨: t2:
; āĻā§āĻ āĻāĻ°ā§āĻ¨: movl 8(%esp), %eax
; āĻā§āĻ-āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§: movapd (%eax), %xmm0
; āĻā§āĻ-āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§: movhpd 12(%esp), %xmm0
; āĻā§āĻ-āĻ¨ā§āĻā§āĻ¸āĻ: movl 4(%esp), %eax
; āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨: movapd % xmm0, (% eax)
; āĻā§āĻ-āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§: ret
}
"āĻā§āĻ-āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§:" āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻ¨āĻĒā§āĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻāĻ°ā§ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻāĻāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ˛āĻžāĻāĻ¨ āĻĨāĻžāĻā§ā§ˇ
āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĨ¤ āĻ"āĻā§āĻ-āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§:" āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻžā§ˇ
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻā§āĻ-āĻāĻāĻ: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋ āĻŽā§āĻ˛āĻžāĻ¤ā§ āĻāĻžāĻ¨ āĻāĻŦāĻ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¯ā§ āĻŽāĻŋāĻ˛āĻā§āĻ˛āĻŋ āĻāĻāĻ āĻ¸āĻžāĻĨā§ āĻāĻāĻŦā§ā§ˇ
āĻāĻā§āĻ° āĻŽā§āĻ¯āĻžāĻā§āĻ° āĻŽāĻ¤ā§ āĻ˛āĻžāĻāĻ¨āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ "āĻā§āĻ āĻāĻ°ā§āĻ¨:" āĻāĻŦāĻ "āĻā§āĻ-āĻāĻāĻ:"
āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ¸ā§āĻāĻŽ āĻā§āĻ āĻāĻĒāĻ¸āĻ°ā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§āĻ¨, āĻļā§āĻ§ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨
"-āĻāĻāĻ:".
"āĻā§āĻ-āĻāĻāĻ:"āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¯ā§āĻā§ āĻŦāĻŋāĻļā§āĻˇāĻāĻžāĻŦā§ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§"āĻā§āĻ-āĻ¨āĻž:" (āĻ¨ā§āĻā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤).
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻžāĻāĻā§āĻ˛āĻŋ āĻ¯ā§āĻŽāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻļāĻž āĻāĻ°ā§āĻ¨:
!0 = !DILocation(āĻ˛āĻžāĻāĻ¨: 5, āĻ¸ā§āĻ¯ā§āĻ: !1, inlinedAt: !2)
; āĻā§āĻ āĻāĻ°ā§āĻ¨: !āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ (āĻ˛āĻžāĻāĻ¨: 5,
; āĻā§āĻ-āĻ¨āĻ: āĻāĻ˛āĻžāĻŽ:
; āĻā§āĻ-āĻāĻāĻ: āĻ¸ā§āĻ¯ā§āĻ: ![[āĻ¸ā§āĻā§āĻĒ:[0-9]+]]
"āĻā§āĻ-āĻāĻāĻ:āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻ¨āĻĒā§āĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻāĻ°ā§ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻāĻŦāĻ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻ¨ āĻ¨āĻ¤ā§āĻ¨ āĻ˛āĻžāĻāĻ¨ āĻĨāĻžāĻā§
āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĨ¤ āĻ"āĻā§āĻ-āĻāĻāĻ:" āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻžā§ˇ
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻā§āĻ-āĻ¨āĻž: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ
āĻĻā§āĻ¯ "āĻā§āĻ-āĻ¨āĻž:" āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻžāĻāĻŋ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¯ā§ āĻĻā§āĻāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻā§ āĻ¨āĻžā§ˇ
āĻŽā§āĻ¯āĻžāĻ (āĻŦāĻž āĻĒā§āĻ°āĻĨāĻŽ āĻŽā§āĻ¯āĻžāĻā§āĻ° āĻāĻā§ āĻŦāĻž āĻļā§āĻˇ āĻŽā§āĻ¯āĻžāĻā§āĻ° āĻĒāĻ°ā§)āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻŋ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯
āĻāĻāĻāĻŋ āĻ˛ā§āĻĄ āĻāĻāĻāĻŋ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ, āĻāĻ āĻŽāĻ¤ āĻāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
i8 āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ @coerce_offset0(i32 %V, i32* %P) {
āĻ¸ā§āĻā§āĻ° i32 %V, i32* %P
%P2 = āĻŦāĻŋāĻāĻāĻžāĻ¸ā§āĻ i32* %P āĻĨā§āĻā§ i8*
%P3 = getelementptr i8* %P2, i32 2
%A = āĻ˛ā§āĻĄ i8* %P3
ret i8 % A
; āĻā§āĻ āĻāĻ°ā§āĻ¨: @coerce_offset0
; āĻā§āĻ-āĻ¨āĻ: āĻ˛ā§āĻĄ
; āĻā§āĻ āĻāĻ°ā§āĻ¨: ret i8
}
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ
āĻ¯āĻĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻ āĻ¨ā§āĻā§āĻ°āĻŽāĻŋāĻ āĻā§āĻ°āĻŽā§ āĻāĻāĻŦā§ āĻ¨āĻž,
"āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ:" āĻĻā§āĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ (āĻŦāĻž āĻĒā§āĻ°āĻĨāĻŽ āĻŽā§āĻ¯āĻžāĻā§āĻ° āĻāĻā§) āĻ¤āĻžāĻĻā§āĻ° āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§,
āĻŦāĻž āĻļā§āĻˇ āĻŽā§āĻ¯āĻžāĻā§āĻ° āĻĒāĻ°ā§)āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻā§āĻ˛ā§āĻ¯āĻžāĻ āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻā§āĻ°āĻŽā§ vtable āĻā§āĻ˛ā§āĻŦāĻžāĻ˛ āĻ¨āĻŋāĻ°ā§āĻāĻ¤ āĻāĻ°ā§āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°
āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ:, āĻāĻŽāĻ°āĻž āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻā§āĻ°āĻŽā§ āĻā§āĻ āĻ°āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
// RUN: %clang_cc1 %s -emit-llvm -o - | āĻĢāĻžāĻāĻ˛āĻā§āĻ %s
struct Foo { āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ(); };
āĻĢā§ āĻ; // vtable āĻ¨āĻŋāĻ°ā§āĻāĻ¤ āĻāĻ°ā§āĻ¨
// āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: @_ZTV3Foo =
struct āĻŦāĻžāĻ° { āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ(); };
āĻŦāĻžāĻ° āĻ;
// āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: @_ZTV3Bar =
āĻā§āĻ-āĻ¨āĻž: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻļā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻŦāĻžāĻĻ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ
āĻāĻļā§āĻĒāĻžāĻļā§āĻ° āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻĢāĻ˛ā§ āĻāĻļāĻĒāĻžāĻļ āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻ¨āĻž
āĻĒā§āĻ¨āĻ°ā§āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž, āĻ āĻ°ā§āĻĨāĻžā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻāĻ¨āĻž āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻā§āĻā§ āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻāĻā§ āĻā§āĻ-āĻ¨āĻž: āĻ¨āĻž āĻ āĻŦāĻļā§āĻ¯āĻ
āĻāĻāĻ¨āĻž āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻĒāĻŋāĻāĻŋāĻ¯āĻŧā§ āĻĒāĻĄāĻŧāĻž āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻĒāĻ°ā§ āĻā§āĻ-āĻ¨āĻž:āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ,
; āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻāĻā§
; āĻā§āĻ-āĻ¨āĻž: āĻ¨āĻž
; āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻĒāĻ°ā§
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻ¨āĻĒā§āĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻāĻ°āĻŦā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻā§ āĻĒāĻ°ā§ āĻāĻā§ āĻĒāĻ°ā§.
āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ° āĻāĻ°āĻž āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¸āĻš, āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻāĻāĻāĻŋ DAG-āĻāĻ° āĻŦā§āĻ§ āĻāĻĒā§āĻ˛āĻāĻŋāĻā§āĻ¯āĻžāĻ˛ āĻ āĻ°ā§āĻĄāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§
āĻāĻāĻāĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻ¸āĻāĻā§āĻāĻž āĻĨā§āĻā§ āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ¸āĻšāĨ¤ āĻāĻāĻž āĻĻāĻ°āĻāĻžāĻ°ā§, āĻ¯ā§āĻŽāĻ¨, āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ°
āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļā§āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻā§ āĻĨā§āĻā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻāĻāĻĒā§āĻ āĻ āĻ¨ā§āĻā§āĻ°āĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§āĨ¤ āĻāĻ¨ā§āĻ¯
āĻāĻĻāĻžāĻšāĻ°āĻŖ,
; āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ [[REG1:r[0-9]+]], r1, r2
; āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ [[REG2:r[0-9]+]], r3, r4
; āĻā§āĻ āĻāĻ°ā§āĻ¨: mul r5, [[REG1]], [[REG2]]
āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻ āĻĻā§āĻāĻŋāĻ° āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻĻā§āĻļ āĻ¯ā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻšāĻŦā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: āĻŦā§āĻ˛āĻ, āĻ¸āĻā§āĻ¤āĻ¨ āĻĨāĻžāĻā§āĻ¨ āĻ¯ā§
āĻ¸āĻāĻā§āĻāĻž āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻŽāĻŋāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻĒāĻ°ā§ āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨ā§āĻā§āĻ° āĻā§āĻĄāĻāĻŋ āĻĒāĻžāĻ¸ āĻšāĻŦā§:
; āĻā§āĻ-āĻĄāĻŋāĻāĻāĻŋ: vmov.32 [[REG2:d[0-9]+]][0]
; āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: vmov.32 [[REG2]][1]
vmov.32 d0[1]
vmov.32 d0[0]
āĻ¯āĻĻāĻŋāĻ āĻāĻ āĻ āĻ¨ā§āĻ¯ āĻā§āĻĄ, āĻšāĻŦā§ āĻ¨āĻž:
; āĻā§āĻ-āĻĄāĻŋāĻāĻāĻŋ: vmov.32 [[REG2:d[0-9]+]][0]
; āĻā§āĻ-āĻĄā§āĻ¯āĻžāĻ: vmov.32 [[REG2]][1]
vmov.32 d1[1]
vmov.32 d0[0]
āĻ¯āĻĻāĻŋāĻ āĻāĻāĻŋ āĻā§āĻŦ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻāĻŋ āĻŦāĻŋāĻĒāĻā§āĻāĻ¨āĻāĻ, āĻāĻžāĻ°āĻŖ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§
āĻā§āĻ°āĻŽ, āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻāĻŋ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻ āĻ°ā§āĻĄāĻžāĻ° āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§ (āĻ˛ā§āĻāĻžāĻ° āĻāĻā§ āĻĒāĻĄāĻŧā§āĻ¨, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻā§ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°ā§āĻ¨, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)āĨ¤ āĻ¯āĻĻāĻŋ
āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¯ā§ āĻ¸āĻāĻā§āĻāĻžāĻāĻŋ āĻā§āĻāĻāĻā§āĻ¨ āĻ¤āĻž āĻŽā§āĻ˛ā§ āĻ¨āĻž (āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻŦāĻžāĻ āĻĨāĻžāĻāĻžāĻ° āĻāĻžāĻ°āĻŖā§), āĻāĻāĻŋ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĨā§āĻā§ āĻāĻ°āĻ āĻĻā§āĻ°ā§ āĻŽā§āĻ˛ā§, āĻāĻŦāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻŦāĻžāĻ āĻŽāĻžāĻ¸ā§āĻ āĻĻā§āĻ°ā§.
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĻā§āĻļ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻ¤ā§, DAG-āĻŦā§āĻ˛āĻāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¨āĻ¨-āĻĄāĻŋāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ā§ˇ
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻŋāĻ° āĻā§āĻ-āĻ˛ā§āĻŦā§āĻ˛: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻ˛āĻāĻŋāĻā§āĻ¯āĻžāĻ˛ āĻŦā§āĻ˛āĻā§ āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻĢāĻžāĻāĻ˛ā§, āĻāĻ āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻ
āĻā§āĻ āĻāĻ°ā§āĻ¨: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ āĻāĻžāĻ¨ā§āĻ¤ā§āĻ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŦā§āĻ˛āĻā§ āĻ˛āĻžāĻāĻ¨ āĻŽā§āĻ˛āĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻĢāĻ˛ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ
āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻŦā§, āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻāĻžāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻ āĻĒāĻ¤āĻžāĻāĻžāĻā§āĻāĻŋāĻ¤ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻ¸āĻ˛ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ¤ āĻā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻ¨ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ āĻŦāĻšāĻ¨ āĻāĻ°ā§āĨ¤
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻ°āĻ āĻāĻžāĻ˛ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, "āĻā§āĻ-āĻ˛ā§āĻŦā§āĻ˛:"āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž. āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ āĻāĻŋāĻ¨ā§āĻ¨āĻāĻžāĻŦā§ āĻāĻŋāĻāĻŋāĻ¤ā§āĻ¸āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻā§āĻ āĻ¯ā§ FileCheck āĻāĻ°ā§ āĻāĻžāĻĄāĻŧāĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž
āĻāĻāĻāĻŋ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻ¯ā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻ¨ āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž
āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻā§āĻ āĻāĻ¨ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻŽā§āĻ¯āĻžāĻ-āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ; āĻāĻāĻŋ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ˛ā§āĻŦā§āĻ˛ āĻŦāĻž āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨āĻ¨ā§āĻ¯ āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻ§āĻžāĻ°āĻŖāĻžāĻāĻ¤āĻāĻžāĻŦā§, āĻāĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻā§āĻ-āĻ˛ā§āĻŦā§āĻ˛
āĻāĻ¨āĻĒā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻŽāĻā§ āĻĒā§āĻĨāĻ āĻŦā§āĻ˛āĻā§ āĻāĻžāĻ āĻāĻ°ā§, āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ,
āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻ§ a āĻā§āĻ āĻāĻ°ā§āĻ¨: āĻāĻāĻāĻŋ āĻŦā§āĻ˛āĻā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻ āĻ¨ā§āĻ¯ āĻŦā§āĻ˛āĻā§āĻ° āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ,
āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ %struct.C* @C_ctor_base(%struct.C* %this, i32 %x) {
āĻĒā§āĻ°āĻŦā§āĻļ:
; āĻā§āĻ-āĻ˛ā§āĻŦā§āĻ˛: C_ctor_base:
; āĻā§āĻ āĻāĻ°ā§āĻ¨: mov [[āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨:r[0-9]+]], r0
; āĻā§āĻ āĻāĻ°ā§āĻ¨: bl A_ctor_base
; āĻā§āĻ āĻāĻ°ā§āĻ¨: mov r0, [[āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨]]
%0 = bitcast %struct.C* %this to %struct.A*
%āĻāĻ˛ = āĻā§āĻ˛ āĻāĻ˛ %struct.A* @A_ctor_base(%struct.A* %0)
%1 = bitcast %struct.C* %this to %struct.B*
%call2 = āĻā§āĻ˛ āĻāĻ˛ %struct.B* @B_ctor_base(%struct.B* %1, i32 %x)
ret %struct.C* %āĻāĻ
}
āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ %struct.D* @D_ctor_base(%struct.D* %this, i32 %x) {
āĻĒā§āĻ°āĻŦā§āĻļ:
; āĻā§āĻ-āĻ˛ā§āĻŦā§āĻ˛: D_ctor_base:
āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻā§āĻ-āĻ˛ā§āĻŦā§āĻ˛: āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻ¨āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻā§āĻ āĻāĻ°ā§āĻ¨: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻ¨āĻž
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļāĻ°ā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻ˛āĻžāĻāĻ¨ āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§āĻ¨ @āĻ¸āĻŋ_āĻā§āĻāĻ°_āĻŦā§āĻ¸ āĻĢāĻžāĻāĻļāĻ¨, āĻāĻŽāĻ¨āĻāĻŋ āĻ¯āĻĻāĻŋ
āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨āĻā§āĻ˛āĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻĒāĻ°ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§āĨ¤ āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, āĻ¯āĻĻāĻŋ āĻāĻ āĻ¤āĻŋāĻ¨āĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻā§āĻ āĻāĻ°ā§āĻ¨:
āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§āĻā§, āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŦā§āĻ˛āĻā§ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻŦā§, āĻāĻāĻžāĻ§āĻŋāĻāĻā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§
āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻāĻāĻāĻŋ āĻāĻāĻ āĻāĻšā§āĻŦāĻžāĻ¨ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻŦā§.
āĻ¯ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ āĻā§āĻ-āĻ˛ā§āĻŦā§āĻ˛: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻā§āĻāĻ¤āĻŋāĻĒā§āĻ°ā§āĻŖ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ°āĻ¯āĻŧā§āĻā§
āĻāĻāĻāĻŋ āĻā§āĻ¸ āĻŦāĻž āĻāĻāĻāĻĒā§āĻ āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¤ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻāĻāĻŋāĻ āĻ˛ā§āĻŦā§āĻ˛: āĻ¤āĻžāĻĻā§āĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻāĻŋ āĻ āĻ¨āĻ¨ā§āĻ¯āĻāĻžāĻŦā§ āĻŽāĻŋāĻ˛āĻ¤ā§ āĻšāĻŦā§
āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻ āĻ˛āĻžāĻāĻ¨ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤
āĻā§āĻ-āĻ˛ā§āĻŦā§āĻ˛: āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸āĻāĻā§āĻāĻž āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻžāĨ¤
āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ āĻŦāĻžāĻā§āĻ¯ āĻāĻ āĻ¨
āĻ¸āĻŽāĻ¸ā§āĻ¤ FileCheck āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻ¨ā§āĻ¯āĻŧāĨ¤ FileCheck āĻāĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ¸ā§āĻĨāĻŋāĻ°
āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻĒā§āĻ°ā§āĻĒā§āĻ°āĻŋ āĻ¯āĻĨā§āĻˇā§āĻāĨ¤ āĻāĻŋāĻā§ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻāĻ°ā§ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧ āĻĢāĻ°ā§āĻŽ
āĻŽāĻŋāĻ˛ āĻāĻžāĻā§āĻā§āĻˇāĻŋāĻ¤āĨ¤ āĻāĻāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, FileCheck āĻāĻĒāĻ¨āĻžāĻā§ āĻ°ā§āĻā§āĻ˛āĻžāĻ° āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ
āĻĄāĻŦāĻ˛ āĻ§āĻ¨ā§āĻ°ā§āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻˇā§āĻāĻŋāĻ¤ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻā§āĻ˛āĻŋāĻ¤ā§: {{yourregex}}. āĻāĻžāĻ°āĻŖ āĻāĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ
āĻāĻŽāĻ°āĻž āĻ¯āĻž āĻāĻ°āĻŋ āĻ¤āĻžāĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻŋāĻā§āĻ¸āĻĄ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ, āĻĢāĻžāĻāĻ˛āĻā§āĻāĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ°ā§āĻā§āĻ˛āĻžāĻ° āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĢāĻŋāĻā§āĻ¸āĻĄ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻŽāĻŋāĻļā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻāĻŦāĻ āĻŽāĻŋāĻ˛āĻžāĻ¨ā§āĨ¤ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ
āĻāĻ āĻŽāĻ¤ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ˛āĻŋāĻā§āĻ¨:
; āĻā§āĻ āĻāĻ°ā§āĻ¨: movhpd {{[0-9]+}}(%esp), {{%xmm[0-7]}}
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, ESP āĻ°ā§āĻāĻŋāĻ¸ā§āĻāĻžāĻ° āĻĨā§āĻā§ āĻ¯ā§āĻā§āĻ¨ā§ āĻ āĻĢāĻ¸ā§āĻ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻšāĻŦā§, āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ¨ā§ xmm āĻ°ā§āĻāĻŋāĻ¸ā§āĻāĻžāĻ° āĻšāĻŦā§
āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻž
āĻ¯ā§āĻšā§āĻ¤ā§ āĻ°ā§āĻā§āĻ˛āĻžāĻ° āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻĄāĻŦāĻ˛ āĻŦā§āĻ°ā§āĻ¸ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŦāĻĻā§āĻ§ āĻĨāĻžāĻā§, āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĻā§āĻļā§āĻ¯āĻ¤ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°,
āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻĄāĻŦāĻ˛ āĻŦā§āĻ°ā§āĻ¸ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ¸ā§āĻā§āĻĒ āĻ āĻā§āĻˇāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž āĻ¯ā§āĻŽāĻ¨ āĻāĻĒāĻ¨āĻŋ C-āĻ¤ā§ āĻāĻ°āĻŦā§āĻ¨āĨ¤
āĻŦāĻŋāĻ°āĻ˛ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻĒā§āĻ āĻĨā§āĻā§ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻĄāĻŦāĻ˛ āĻ§āĻ¨ā§āĻ°ā§āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻŽā§āĻ˛āĻžāĻ¤ā§ āĻāĻžāĻ¨, āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻā§ā§āĻ¸āĻŋāĻ¤ āĻŽāĻ¤ āĻāĻŋāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° {{[{][{]}} āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§āĨ¤
āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻāĻŋ āĻĒāĻ°ā§ āĻāĻŦāĻžāĻ° āĻāĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻĻāĻ°āĻāĻžāĻ°ā§
āĻĢāĻžāĻāĻ˛ āĻā§āĻĄāĻā§āĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¨ āĻ°ā§āĻāĻŋāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¤āĻŦā§ āĻ¤āĻž āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§āĻ¨
āĻ°ā§āĻāĻŋāĻ¸ā§āĻāĻžāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻž āĻāĻ°āĻ¤ā§, āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻ¨āĻžāĻŽā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻšāĻ¤ā§ āĻĻā§āĻ¯āĻŧ
āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻŦāĻ āĻ¨āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤. āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
; āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨: āĻĒāĻ°ā§āĻā§āĻˇāĻž5:
; āĻā§āĻ āĻāĻ°ā§āĻ¨: āĻāĻāĻ¨āĻ [[āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻ°ā§āĻ¨:%[az]+]]
; āĻā§āĻ āĻāĻ°ā§āĻ¨: andw {{.*}}[[āĻ°ā§āĻāĻŋāĻ¸ā§āĻāĻžāĻ°]]
āĻĒā§āĻ°āĻĨāĻŽ āĻā§āĻ āĻ˛āĻžāĻāĻ¨ āĻāĻāĻāĻŋ regex āĻŽā§āĻ˛ā§ %[az]+ āĻāĻŦāĻ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻ¯āĻžāĻĒāĻāĻžāĻ° āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°ā§āĻļāĻ¨.
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ˛āĻžāĻāĻ¨ā§ āĻ¯āĻž āĻāĻā§ āĻ¤āĻž āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°ā§āĻļāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻ°ā§ āĻĢāĻžāĻāĻ˛ āĻĒāĻ°ā§ āĻāĻā§
"āĻāĻŦāĻ W". āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ [[ ]] āĻā§āĻĄāĻŧāĻž, āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ°
regex āĻĻāĻŋāĻ¯āĻŧā§ āĻ¨āĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ [a-zA-Z][a-zA-Z0-9]*. āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻ¨ āĻ¨āĻžāĻŽ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§,
āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻāĻž; āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°.
āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻāĻāĻžāĻ§āĻŋāĻāĻŦāĻžāĻ° āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻā§āĻ˛āĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻŽāĻžāĻ¨ āĻĒāĻžāĻ¯āĻŧāĨ¤
āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻā§āĻ˛āĻŋāĻ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻāĻāĻ āĻ˛āĻžāĻāĻ¨ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻ¤āĻžāĻ°āĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
; āĻā§āĻ āĻāĻ°ā§āĻ¨: op [[REG:r[0-9]+]], [[REG]]
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ operands āĻāĻžāĻ¨ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ op āĻāĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻšāĻ¤ā§, āĻāĻŦāĻ āĻ¯āĻ¤ā§āĻ¨ āĻ¨āĻž
āĻāĻāĻž āĻ āĻŋāĻ āĻā§āĻ¨ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨.
āĻĢāĻžāĻāĻ˛āĻā§āĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻāĻĒā§āĻ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻŽā§āĻ¯āĻžāĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ˛āĻžāĻāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§,
āĻ¯ā§āĻŽāĻ¨ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻĄāĻžāĻ¯āĻŧāĻžāĻāĻ¨āĻ¸ā§āĻāĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻā§āĻā§āĻ°āĻ¤āĻžāĻ° āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ āĻĻā§āĻ¯āĻŧ
āĻĢāĻžāĻāĻ˛ āĻāĻ āĻ¨, āĻšāĻŋāĻ¸āĻžāĻŦā§ "āĻā§āĻ āĻāĻ°ā§āĻ¨:" āĻ˛āĻžāĻāĻ¨ā§ āĻāĻāĻ āĻĢāĻžāĻāĻ˛ā§ āĻĒāĻ°āĻŽ āĻ˛āĻžāĻāĻ¨ āĻ¸āĻāĻā§āĻ¯āĻž āĻĨāĻžāĻā§, āĻ¯āĻž
āĻĒāĻžāĻ ā§āĻ¯ āĻ¸āĻāĻ¯ā§āĻāĻ¨ āĻŦāĻž āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻ¯āĻāĻ¨āĻ āĻ˛āĻžāĻāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻāĻ¨āĻ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, FileCheck āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ [[@LINE]], [[@LINE+ ]],
[[@āĻ˛āĻžāĻāĻ¨- ]] āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ā§ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĨ¤ āĻāĻ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤
āĻ˛āĻžāĻāĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ (āĻāĻāĻāĻŋ āĻāĻā§āĻāĻŋāĻ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž āĻ āĻĢāĻ¸ā§āĻ āĻ¸āĻš)āĨ¤
āĻāĻāĻāĻžāĻŦā§ āĻŽā§āĻ¯āĻžāĻ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¸āĻā§āĻāĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻ°āĻžāĻāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻāĻĒā§āĻā§āĻˇāĻŋāĻ āĻ˛āĻžāĻāĻ¨ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻ˛ā§āĻ˛ā§āĻ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ:
// āĻā§āĻ āĻāĻ°ā§āĻ¨: test.cpp:[[@LINE+4]]:6: āĻ¤ā§āĻ°ā§āĻāĻŋ: āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ ';' āĻļā§āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ°ā§āĻ° āĻĒāĻ°ā§
// āĻā§āĻ-āĻ¨ā§āĻā§āĻ¸āĻ: {{^int a}}
// āĻā§āĻ-āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§: {{^ \^}}
// āĻā§āĻ-āĻ¨ā§āĻā§āĻ¸āĻ: {{^ ;}}
int a
onworks.net āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ā§ FileCheck-3.7 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨