Canada's Dylan Armstrong captured second place in shot put at the Diamond League Shanghai Golden Grand Prix meeting on Saturday.
The 31-year-old of Kamloops, B.C., who is defending the title after finishing first overall in 2011, threw 20.93 metres.
American Reese Hoffa took first place with a throw of 20.98. While fellow countryman Ryan Whiting threw the ball 20.73 metres to complete the podium.
The next Diamond League shot put event will take place during the Prefontaine Classic in Eugene, Ore., on June 2nd 2012.
In other events, Chinese hurdler Liu Xiang has defeated American world champion Jason Richardson in the men's 110-metre hurdles.
Liu and Richardson were even through the first seven hurdles before the Chinese star pulled away to win in 12.97 seconds. American David Oliver finished second in 13.13 and Richardson was third in 13.16.
The race was a rematch of last year's controversial final at the world championships in Daegu, South Korea, in which Liu tangled with Cuban Dayron Robles over the final hurdles. Robles crossed the line first but was disqualified after Liu appealed, giving the gold to Richardson and the silver to Liu.
Robles did not enter the Shanghai meet.
- Asafa Powell held off Michael Rodgers to win the 100 metres, while Veronica Campbell-Brown beat Carmelita Jeter in the women's 200.
- Jamaican Novlene Williams-Mills also won the women's 400, topping last year's world champion, Amantle Montsho of Botswana.
- Americans Angelo Taylor and Justin Gaymon finished 1-2 in the men's 400 hurdles.
- Genzebe Dibaba of Kenya won the women's 1,500 in 3:57.77 and fellow countryman Hagos Gebrhiwet captured the men's 5,000 in 13:11.00. Both times set new meet records.